From 7db12fae966329ed95f256cd0e4fc1604adb127f Mon Sep 17 00:00:00 2001 From: Jeffrey Pfau Date: Sat, 18 Apr 2015 13:53:26 -0700 Subject: [PATCH] GBA Memory: Fix 32-bit loads from unaddress cartridge space --- CHANGES | 1 + src/gba/memory.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) 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 \