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:
parent
400b04b690
commit
d48964b642
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue