Fix #372: do IRQ() before NTSC_VideoUpdateCycles()

This commit is contained in:
tomcw 2016-11-14 22:23:30 +00:00
parent 074acce2ae
commit 002af587d4
3 changed files with 12 additions and 12 deletions

View File

@ -319,6 +319,10 @@ static DWORD Cpu6502 (DWORD uTotalCycles)
#undef $
}
CheckInterruptSources(uExecutedCycles);
NMI(uExecutedCycles, flagc, flagn, flagv, flagz);
IRQ(uExecutedCycles, flagc, flagn, flagv, flagz);
// NTSC_BEGIN
if (!g_bFullSpeed)
{
@ -327,10 +331,6 @@ static DWORD Cpu6502 (DWORD uTotalCycles)
}
// NTSC_END
CheckInterruptSources(uExecutedCycles);
NMI(uExecutedCycles, flagc, flagn, flagv, flagz);
IRQ(uExecutedCycles, flagc, flagn, flagv, flagz);
if ( IsDebugBreakpointHit() )
break;
} while (uExecutedCycles < uTotalCycles);

View File

@ -322,6 +322,10 @@ static DWORD Cpu65C02 (DWORD uTotalCycles)
#undef $
}
CheckInterruptSources(uExecutedCycles);
NMI(uExecutedCycles, flagc, flagn, flagv, flagz);
IRQ(uExecutedCycles, flagc, flagn, flagv, flagz);
// NTSC_BEGIN
if (!g_bFullSpeed)
{
@ -330,10 +334,6 @@ static DWORD Cpu65C02 (DWORD uTotalCycles)
}
// NTSC_END
CheckInterruptSources(uExecutedCycles);
NMI(uExecutedCycles, flagc, flagn, flagv, flagz);
IRQ(uExecutedCycles, flagc, flagn, flagv, flagz);
if( IsDebugBreakpointHit() )
break;

View File

@ -407,6 +407,10 @@ static DWORD Cpu65D02 (DWORD uTotalCycles)
}
#undef $
CheckInterruptSources(uExecutedCycles);
NMI(uExecutedCycles, flagc, flagn, flagv, flagz);
IRQ(uExecutedCycles, flagc, flagn, flagv, flagz);
// NTSC_BEGIN
if (!g_bFullSpeed)
{
@ -415,10 +419,6 @@ static DWORD Cpu65D02 (DWORD uTotalCycles)
}
// NTSC_END
CheckInterruptSources(uExecutedCycles);
NMI(uExecutedCycles, flagc, flagn, flagv, flagz);
IRQ(uExecutedCycles, flagc, flagn, flagv, flagz);
if( IsDebugBreakpointHit() )
break;