all repos — mgba @ 04e40ff45933a47c055ae1799f1539c5e8f9a109

mGBA Game Boy Advance Emulator

GBA: Fix idle skip state being retained between games
Jeffrey Pfau jeffrey@endrift.com
Mon, 26 Oct 2015 22:03:38 -0700
commit

04e40ff45933a47c055ae1799f1539c5e8f9a109

parent

20cadd8cf1971e677d8be2ddd4881307119c410d

2 files changed, 7 insertions(+), 4 deletions(-)

jump to
M CHANGESCHANGES

@@ -1,6 +1,7 @@

0.3.2: (Future) Bugfixes: - Qt: Use safer isLoaded check in GameController + - GBA: Fix idle skip state being retained between games Misc: - GBA Audio: Implement missing flags on SOUNDCNT_X register
M src/gba/gba.csrc/gba/gba.c

@@ -88,10 +88,6 @@ gba->biosChecksum = GBAChecksum(gba->memory.bios, SIZE_BIOS);

gba->idleOptimization = IDLE_LOOP_REMOVE; gba->idleLoop = IDLE_LOOP_NONE; - gba->lastJump = 0; - gba->haltPending = false; - gba->idleDetectionStep = 0; - gba->idleDetectionFailures = 0; gba->realisticTiming = true; gba->hardCrash = true;

@@ -115,6 +111,7 @@ gba->romVf = 0;

} GBASavedataDeinit(&gba->memory.savedata); + gba->idleLoop = IDLE_LOOP_NONE; } void GBADestroy(struct GBA* gba) {

@@ -169,6 +166,11 @@ GBASIOReset(&gba->sio);

gba->timersEnabled = 0; memset(gba->timers, 0, sizeof(gba->timers)); + + gba->lastJump = 0; + gba->haltPending = false; + gba->idleDetectionStep = 0; + gba->idleDetectionFailures = 0; } void GBASkipBIOS(struct ARMCore* cpu) {