(I know that this has been asked before, but the search feature is down).
Does the 6502 wait until an opcode is finished before servicing an interrupt? On what cycle of the BRK opcode does the NMI need to fire to mess it up? Since the last cycle, and the first cycle of an opcode are shared (pipelining) at what point is the interrupt executed? What happens if an NMI and an IRQ fire at the same time? What happens if one interrupts the other?
Phew...
Does the 6502 wait until an opcode is finished before servicing an interrupt? On what cycle of the BRK opcode does the NMI need to fire to mess it up? Since the last cycle, and the first cycle of an opcode are shared (pipelining) at what point is the interrupt executed? What happens if an NMI and an IRQ fire at the same time? What happens if one interrupts the other?
Phew...