all repos — mgba @ cd3e304dd8cb2d91965bf5830b2647ddf08cc7ee

mGBA Game Boy Advance Emulator

GBA Memory: Fix misaligned BIOS reads
Jeffrey Pfau jeffrey@endrift.com
Tue, 11 Oct 2016 21:59:57 -0700
commit

cd3e304dd8cb2d91965bf5830b2647ddf08cc7ee

parent

64d8d80eee9bf4890a16ef5e2c7e2d65e583173d

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

jump to
M CHANGESCHANGES

@@ -1,3 +1,7 @@

+0.5.2: (Future) +Bugfixes: + - GBA Memory: Fix misaligned BIOS reads + 0.5.1: (2016-10-05) Bugfixes: - Core: Fix importing save games as read-only
M src/gba/memory.csrc/gba/memory.c

@@ -352,7 +352,7 @@

#define LOAD_BIOS \ if (address < SIZE_BIOS) { \ if (memory->activeRegion == REGION_BIOS) { \ - LOAD_32(value, address, memory->bios); \ + LOAD_32(value, address & -4, memory->bios); \ } else { \ mLOG(GBA_MEM, GAME_ERROR, "Bad BIOS Load32: 0x%08X", address); \ value = memory->biosPrefetch; \

@@ -479,7 +479,7 @@ switch (address >> BASE_OFFSET) {

case REGION_BIOS: if (address < SIZE_BIOS) { if (memory->activeRegion == REGION_BIOS) { - LOAD_16(value, address, memory->bios); + LOAD_16(value, address & -2, memory->bios); } else { mLOG(GBA_MEM, GAME_ERROR, "Bad BIOS Load16: 0x%08X", address); value = (memory->biosPrefetch >> ((address & 2) * 8)) & 0xFFFF;