diff --git a/CHANGES b/CHANGES index c5b185d04..353b08daa 100644 --- a/CHANGES +++ b/CHANGES @@ -14,6 +14,7 @@ Bugfixes: - Qt: Fix potential crash if a gamepad causes focus to change - GBA Memory: Allow SRAM to be 64kB - Qt: Fix controller axis querying + - GBA Memory: Fix 32-bit loads from unaddress cartridge space Misc: - Qt: Show multiplayer numbers in window title diff --git a/src/gba/memory.c b/src/gba/memory.c index 2c223d4aa..9b945ffcd 100644 --- a/src/gba/memory.c +++ b/src/gba/memory.c @@ -324,7 +324,7 @@ static void GBASetActiveRegion(struct ARMCore* cpu, uint32_t address) { } else { \ GBALog(gba, GBA_LOG_GAME_ERROR, "Out of bounds ROM Load32: 0x%08X", address); \ value = (address >> 1) & 0xFFFF; \ - value |= value << 16; \ + value |= ((address + 2) >> 1) << 16; \ } #define LOAD_SRAM \