@cobbpg as long as you properly check the NMI source (so you can just ignore RESTORE), all it does is waste some cycles. You need a lot of bad luck, but it *can* happen at the most "inconvenient" screen position 😉 (and if you're completely on the edge regarding rastertime, it *could* theoretically completely mess the screen).
No, it's not at all likely. What's always itching me is why hardware was designed hardwiring a keyboard key to the CPU's NMI pin (so, NO way whatsoever to prevent the signal, all you can do is this nasty trick of keeping the line low forever...)
@cobbpg Needing more *precise* timing than the jittering scanline start of course is a reason to need NMI. I just wondered because your original post read like it was "just" a priority thing 😉
I don't understand your second point though, or do you mean a cartridge you don't control (IOW not part of your game project)?
@cobbpg Ah, you mean no bankswitching allowed/possible? Sure, that's though then ... many cartridge games only bank it in while otherwise "inactive" (vblank, or even only level switch ...)
(edit: doesn't RUN/STOP+RESTORE inevitably trigger a warmstart-jump when the kernal is banked in? maybe I don't remember correctly here ...)