GARTHWILSON wrote:
When the "ghost" interrupt hit, it was still legitimately enabled and got noticed by the processor but then got pulled before the ISR got far enough to see who did it.
But
what will have pulled it in this instance? Still not quite understanding the scenario, but I appreciate that this was ages ago and the details are undoubtedly fuzzy!
Quote:
I will comment here that testing with the 65c02 (I think it was a Rockwell one), A falling IRQ\ line even in the last phase-2-high time of an instruction would make the interrupt sequence start immediately after that instruction, not carrying out another one first. This is different from what was said in the link you gave which was apparently about the NMOS 6502.
That's interesting - do you have any detailed docs on the timing differences between the CMOS and NMOS versions? As we can see from Visual6502 in this
somewhat exaggerated example, as long as nIRQ is low during the first half of T0, the interrupt sequence will begin, and this is the
only place the CPU checks whether an interrupt should be taken or not. Its level during any other 6502 timing state appears to be irrelevant. Is the 65C02 different in this respect?
Thanks for the analogy. I'm very much a software guy (my current project involves writing a very precise 6502/6522 simulator amongst other things), but I'm interested in trying to understand what's going on underneath it all, and so these little insights are very useful!