all repos — mgba @ aa350ea5b7a4048f98c128cae1644cedbfa5a65e

mGBA Game Boy Advance Emulator

GB, GBA: Fix sync to video with frameskip
Vicki Pfau vi@endrift.com
Sun, 03 Sep 2017 22:15:48 -0700
commit

aa350ea5b7a4048f98c128cae1644cedbfa5a65e

parent

140d89b3ba90ebf8cb44ea3f2a462d430d637527

3 files changed, 3 insertions(+), 2 deletions(-)

jump to
M CHANGESCHANGES

@@ -20,6 +20,7 @@ - Qt: Fix sprite export pausing game indefinitely (fixes mgba.io/i/841)

- GB Video: Fix potential hang when ending mode 0 - GB Memory: Fix HDMA count starting in mode 0 (fixes mgba.io/i/855) - GB Memory: Actually load latch time from savestate + - GB, GBA: Fix sync to video with frameskip Misc: - Qt: Don't rebuild library view if style hasn't changed - SDL: Fix 2.0.5 build on macOS under some circumstances
M src/gb/video.csrc/gb/video.c

@@ -265,10 +265,10 @@ }

} GBFrameEnded(video->p); + mCoreSyncPostFrame(video->p->sync); --video->frameskipCounter; if (video->frameskipCounter < 0) { video->renderer->finishFrame(video->renderer); - mCoreSyncPostFrame(video->p->sync); video->frameskipCounter = video->frameskip; } ++video->frameCounter;
M src/gba/video.csrc/gba/video.c

@@ -157,9 +157,9 @@ if (GBARegisterDISPSTATIsVblankIRQ(dispstat)) {

GBARaiseIRQ(video->p, IRQ_VBLANK); } GBAFrameEnded(video->p); + mCoreSyncPostFrame(video->p->sync); --video->frameskipCounter; if (video->frameskipCounter < 0) { - mCoreSyncPostFrame(video->p->sync); video->frameskipCounter = video->frameskip; } ++video->frameCounter;