Only allow instantaneous IRQ when toggling IRQ completely.
This commit is contained in:
parent
0e559cd046
commit
d1e078e570
8
ppu.cpp
8
ppu.cpp
@ -1381,7 +1381,13 @@ void S9xSetCPU (uint8 Byte, uint16 Address)
|
||||
}
|
||||
|
||||
if ((Byte & 0x30) != (Memory.FillRAM[0x4200] & 0x30))
|
||||
S9xUpdateIRQPositions(true);
|
||||
{
|
||||
// Only allow instantaneous IRQ if turning it completely on or off
|
||||
if ((Byte & 0x30) == 0 || (Memory.FillRAM[0x4200] & 0x30) == 0)
|
||||
S9xUpdateIRQPositions(true);
|
||||
else
|
||||
S9xUpdateIRQPositions(false);
|
||||
}
|
||||
|
||||
// NMI can trigger immediately during VBlank as long as NMI_read ($4210) wasn't cleard.
|
||||
if ((Byte & 0x80) && !(Memory.FillRAM[0x4200] & 0x80) &&
|
||||
|
Loading…
Reference in New Issue
Block a user