diff --git a/CHANGES b/CHANGES index ed77f6d8a..a18f456b1 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,7 @@ +0.9.1: (Future) +Emulation fixes: + - GBA Memory: Fix loading Thumb savestates when in ARM mode + 0.9.0: (2021-03-28) Features: - e-Reader card scanning diff --git a/src/gba/memory.c b/src/gba/memory.c index e6e3a6b2d..e93b57743 100644 --- a/src/gba/memory.c +++ b/src/gba/memory.c @@ -345,7 +345,7 @@ static void GBASetActiveRegion(struct ARMCore* cpu, uint32_t address) { cpu->memory.activeSeqCycles16 = memory->waitstatesSeq16[memory->activeRegion]; cpu->memory.activeNonseqCycles32 = memory->waitstatesNonseq32[memory->activeRegion]; cpu->memory.activeNonseqCycles16 = memory->waitstatesNonseq16[memory->activeRegion]; - cpu->memory.activeMask &= -(cpu->executionMode == MODE_THUMB ? WORD_SIZE_THUMB : WORD_SIZE_ARM); + cpu->memory.activeMask &= -(cpu->cpsr.t ? WORD_SIZE_THUMB : WORD_SIZE_ARM); } #define LOAD_BAD \