So I have a little homebrew computer project with a Z80A MPU, and there's some weird stuff I experienced with it:
The program I made for it as "hello world!" is just an infinite loop:
1:OUT (0),A
2:JP 1
Might not be the exact thing in the ROM, but you get the idea, a foolproof program that should be an infinite loop.
Now after applying voltage and trying it out, appears I don't have IORQ activity at all. I check the address lines, and A15 is changing states like crazy. My guess: For some reason, the program itself was skipped, and the MPU now pretty much does as it pleases.
After this, I shorted the reset pin to ground for a few seconds. All of the sudden, everything goes like normal on the address bus, but still no IORQ.
Just for the heck of it, I measured the non-maskable interrupt pin (NMI), and I saw some ripple there (about 2 volts of ripple, might be more). The NMI pin is actually connected to Vcc through a 10K pull-up resistor. My first guess was that my probe's impedance somehow pulled the NMI pin low, requesting a "ghost interrupt", setting the program counter to 0066H, and never returning.
I soldered a 100nF cap in parallel with the pull-up resistor, and the ripple stopped, my probe doesn't request interrupts anymore, and now I do measure some IORQ activity!
Still, the whole probe requesting interrupts stuff is pretty weird. Anyone have a clearer explanation to why this happens? Could it be the capacitive load of the scope probe itself?