GBA: Fix timing advancing too quickly in rare cases

This commit is contained in:
Vicki Pfau 2020-05-30 17:00:07 -07:00
parent 00aa6476c8
commit d7ecdb5e4e
2 changed files with 2 additions and 1 deletions

View File

@ -11,6 +11,7 @@ Emulation fixes:
- GB Video: Fix state after skipping BIOS (fixes mgba.io/i/1715 and mgba.io/i/1716)
- GB Video: Fix BGPS value after skipping BIOS (fixes mgba.io/i/1717)
- GBA: Add missing RTC overrides for Legendz games
- GBA: Fix timing advancing too quickly in rare cases
- GBA BIOS: Implement dummy sound driver calls
- GBA BIOS: Improve HLE BIOS timing
- GBA BIOS: Reset renderer when RegisterRamReset called (fixes mgba.io/i/1756)

View File

@ -282,7 +282,7 @@ static void GBAProcessEvents(struct ARMCore* cpu) {
mLOG(GBA, FATAL, "Negative cycles passed: %i", cycles);
}
#endif
nextEvent = mTimingTick(&gba->timing, nextEvent + cycles);
nextEvent = mTimingTick(&gba->timing, cycles < nextEvent ? nextEvent : cycles);
} while (gba->cpuBlocked);
cpu->nextEvent = nextEvent;