View Single Post
Old 14 August 2018, 14:59   #18
modrobert
old bearded fool
 
modrobert's Avatar
 
Join Date: Jan 2010
Location: Bangkok
Age: 56
Posts: 779
I have soldered an NMI (level 7 interrupt) button switch to my ACA1232 in the A1200, there were two vias marked 'NMI' close to the RTC module (under battery socket) on the board, and I compiled a kickstart by following mfilos excellent guide using Remus and added the hrtmon v2.36 module.

So far so good, this worked for a while, pressing the button entered hrtmon, but then after a week or so it failed by just freezing the system (no guru, just frozen until reset or power off) instead of launching hrtmon when pressing the button. I hadn't made any changes on the software side, also checked wiring from button, which was OK.

Then I remembered that after installing the NMI reset switch button and hooking up all the cables I managed to insert my RS-232 serial cable into the parallel port by mistake, and it was in there for some time, during the time I was testing the NMI switch, luckily only pins 2,3,4,5,6,7,8,20,22 were wired in the connector, and the oscilloscope it was connected to was off.

This made me think, so after checking pinouts so no wires could damage the parallel port using my serial RS-232 cable, I connected the serial cable to the parallel port again and now the NMI reset switch worked!

Then I downloaded pardemo from Aminet to test the state of the parallel port with my serial cable inserted, and it read 0x8D from the parallel port data lines (the normal value to read is 0xFF after boot).

This got me interested so I connected a breadboard with all the parallel port data wires hooked up and signal ground. After testing and narrowing it down by moving a 1k resistor between data lines I can confirm that my NMI reset switch hooked up to the ACA1232 only works if parallel port pin 7 (data bit 5) is held low, this gives 0xDF when reading the parallel port.

First I was thinking that it was some code in the kickstart checking for data pins held low on the parallel port during boot, but after searching around it started to seem more like the ACA1232 board (acatune) detecting the parallel port, specifically looking for a JTAG connector there, the pin then would be TCK signal according to some old Buddha JTAG instructions I found.

This is just speculation, but think I might have activated some debug mode for the ACA1232 by accident by having the serial RS-232 cable in the parallel port, and this is the only reason the vias marked 'NMI' on the ACA1232 board actually worked.

I'm assuming the NMI switch problem can be solved by actually soldering diodes to pin 81, 82, 83 with switch towards ground on the expansion connector, but since it was kind of interesting, thought I would share.

Last edited by modrobert; 14 August 2018 at 17:31. Reason: Grammar and spelling.
modrobert is offline  
 
Page generated in 0.04418 seconds with 11 queries