diff --git a/source/CPU/cpu6502.h b/source/CPU/cpu6502.h index 8fc119a1..64b89f56 100644 --- a/source/CPU/cpu6502.h +++ b/source/CPU/cpu6502.h @@ -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); diff --git a/source/CPU/cpu65C02.h b/source/CPU/cpu65C02.h index 0c1c0af6..eb08c471 100644 --- a/source/CPU/cpu65C02.h +++ b/source/CPU/cpu65C02.h @@ -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; diff --git a/source/CPU/cpu65d02.h b/source/CPU/cpu65d02.h index a4eb22c7..44962aef 100644 --- a/source/CPU/cpu65d02.h +++ b/source/CPU/cpu65d02.h @@ -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;