diff --git a/ppu.cpp b/ppu.cpp index 001a4a23..cf904b55 100644 --- a/ppu.cpp +++ b/ppu.cpp @@ -1566,7 +1566,8 @@ void S9xSetCPU (uint8 Byte, uint16 Address) CPU.IRQTransition = FALSE; } - S9xUpdateIRQPositions(false); + if ((Byte & 0x30) != (Memory.FillRAM[0x4200] & 0x30)) + S9xUpdateIRQPositions(false); // NMI can trigger immediately during VBlank as long as NMI_read ($4210) wasn't cleard. if ((Byte & 0x80) && !(Memory.FillRAM[0x4200] & 0x80) &&