GBA Memory: Fix alignment of LDM/STM on SRAM
Jeffrey Pfau jeffrey@endrift.com
Fri, 06 Nov 2015 21:08:29 -0800
2 files changed,
7 insertions(+),
2 deletions(-)
M
CHANGES
→
CHANGES
@@ -21,6 +21,7 @@ - ARM7: Fix sign of unaligned LDRSH
- GBA BIOS: Fix CpuSet on 0x01XXXXXX addresses - GBA Memory: Fix DMA behavior for SRAM accesses - GBA Memory: Fix Store8 to OBJ VRAM + - GBA Memory: Fix alignment of LDM/STM on SRAM Misc: - Qt: Window size command line options are now supported - Qt: Increase usability of key mapper
M
src/gba/memory.c
→
src/gba/memory.c
@@ -1111,7 +1111,9 @@ address += offset;
} uint32_t addressMisalign = address & 0x3; - address &= 0xFFFFFFFC; + if (address >> BASE_OFFSET < REGION_CART_SRAM) { + address &= 0xFFFFFFFC; + } switch (address >> BASE_OFFSET) { case REGION_BIOS:@@ -1224,7 +1226,9 @@ address += offset;
} uint32_t addressMisalign = address & 0x3; - address &= 0xFFFFFFFC; + if (address >> BASE_OFFSET < REGION_CART_SRAM) { + address &= 0xFFFFFFFC; + } switch (address >> BASE_OFFSET) { case REGION_WORKING_RAM: