Posted By
crock on 2020-12-03 17:00:28
| Re: Cartridge and raster interrupts
I read this thread a couple of times, and maybe I misunderstood, but the conclusion appears to be that if you are running from a cartridge, you cannot insert your own interrupt handler without bypassing the ROM completely by banking out ROM with $ff3f. Is this correct?
If so, the conclusion in wrong, because I do it in the cart version of Diag264 to test all the interrupt sources. As said, you can only do this via the $0314 vector, and your handler must be copied to RAM, because as mad points out, the kernal handler banks in BASIC and KERNAL via a write to FDD0.
Assuming you didn't need to jump back into the kernal interrupt handler, you need to finish your handler by banking the cartridge back in with a write to $FDD2 or $FDDA, and pulling the registers off the stack.
sta $fdd2 pla tay pla tax pla rti
|