diff --git a/cpuexec.cpp b/cpuexec.cpp index cdcc2a91..0b4c58ec 100644 --- a/cpuexec.cpp +++ b/cpuexec.cpp @@ -239,6 +239,8 @@ void S9xMainLoop (void) { CPU.WaitingForInterrupt = FALSE; Registers.PCw++; + CPU.Cycles += ONE_CYCLE * 2; + S9xDoHEventProcessing(); } S9xUpdateIRQPositions(); diff --git a/ppu.cpp b/ppu.cpp index 9cab99f1..9640f561 100644 --- a/ppu.cpp +++ b/ppu.cpp @@ -336,7 +336,7 @@ void S9xUpdateIRQPositions (void) if (CPU.V_Counter == PPU.VTimerPosition) Timings.NextIRQTimer = 0; else - Timings.NextIRQTimer = CyclesUntilNext (ONE_DOT_CYCLE + Timings.IRQTriggerCycles, PPU.VTimerPosition); + Timings.NextIRQTimer = CyclesUntilNext (Timings.IRQTriggerCycles, PPU.VTimerPosition); } else {