6502X: According to the datasheet, RDY must be high in order for interrupts to trigger

- this has implications for C64, as it may cause VIC interrupts to fire quite later than they currently do
This commit is contained in:
SaxxonPike 2019-07-06 00:00:51 -05:00
parent 400b04b690
commit d48964b642
1 changed files with 5 additions and 1 deletions

View File

@ -528,7 +528,7 @@ namespace BizHawk.Emulation.Cores.Components.M6502
{
get
{
return NMI || (IRQ && !FlagI);
return RDY && (NMI || (IRQ && !FlagI));
}
}
@ -560,6 +560,10 @@ namespace BizHawk.Emulation.Cores.Components.M6502
void Fetch1()
{
rdy_freeze = !RDY;
if (!RDY)
return;
my_iflag = FlagI;
FlagI = iflag_pending;
if (!branch_irq_hack)