mirror of
https://github.com/dborth/snes9xgx.git
synced 2024-12-25 02:31:50 +01:00
Backport Only allow instantaneous IRQ when toggling IRQ completely
This commit is contained in:
parent
1d2e9c8836
commit
6d45274416
@ -1382,7 +1382,13 @@ void S9xSetCPU (uint8 Byte, uint16 Address)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ((Byte & 0x30) != (Memory.FillRAM[0x4200] & 0x30))
|
if ((Byte & 0x30) != (Memory.FillRAM[0x4200] & 0x30))
|
||||||
|
{
|
||||||
|
// Only allow instantaneous IRQ if turning it completely on or off
|
||||||
|
if ((Byte & 0x30) == 0 || (Memory.FillRAM[0x4200] & 0x30) == 0)
|
||||||
S9xUpdateIRQPositions(true);
|
S9xUpdateIRQPositions(true);
|
||||||
|
else
|
||||||
|
S9xUpdateIRQPositions(false);
|
||||||
|
}
|
||||||
|
|
||||||
// NMI can trigger immediately during VBlank as long as NMI_read ($4210) wasn't cleard.
|
// NMI can trigger immediately during VBlank as long as NMI_read ($4210) wasn't cleard.
|
||||||
if ((Byte & 0x80) && !(Memory.FillRAM[0x4200] & 0x80) &&
|
if ((Byte & 0x80) && !(Memory.FillRAM[0x4200] & 0x80) &&
|
||||||
|
Loading…
Reference in New Issue
Block a user