diff --git a/CHANGES b/CHANGES index 2e2c72a2d..bd68c106f 100644 --- a/CHANGES +++ b/CHANGES @@ -30,6 +30,7 @@ Bugfixes: - Qt: Fix timezone issues with time overrides - Qt: Fix sprite export pausing game indefinitely (fixes mgba.io/i/841) - ARM: Fix MSR when T bit is set + - GB Video: Fix potential hang when ending mode 0 Misc: - GBA Timer: Use global cycles for timers - GBA: Extend oddly-sized ROMs to full address space (fixes mgba.io/i/722) diff --git a/src/gb/video.c b/src/gb/video.c index f7d56aa80..5ed2ab641 100644 --- a/src/gb/video.c +++ b/src/gb/video.c @@ -227,6 +227,7 @@ void _endMode0(struct mTiming* timing, void* context, uint32_t cyclesLate) { video->mode = 1; video->modeEvent.callback = _endMode1; + mTimingDeschedule(&video->p->timing, &video->frameEvent); mTimingSchedule(&video->p->timing, &video->frameEvent, -cyclesLate); if (!_statIRQAsserted(video, oldStat) && GBRegisterSTATIsOAMIRQ(video->stat)) {