diff --git a/cpuexec.cpp b/cpuexec.cpp index 7d00fe30..09af47ac 100644 --- a/cpuexec.cpp +++ b/cpuexec.cpp @@ -243,7 +243,8 @@ void S9xMainLoop (void) CPU.WaitingForInterrupt = FALSE; Registers.PCw++; CPU.Cycles += ONE_CYCLE; - S9xDoHEventProcessing(); + while (CPU.Cycles >= CPU.NextEvent) + S9xDoHEventProcessing(); } S9xUpdateIRQPositions();