GBA Memory: Fix alignment of LDM/STM on SRAM

This commit is contained in:
Jeffrey Pfau 2015-11-06 21:08:29 -08:00
parent 16e2aec6df
commit a9956087bc
2 changed files with 7 additions and 2 deletions

View File

@ -21,6 +21,7 @@ Bugfixes:
- 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

View File

@ -1111,7 +1111,9 @@ uint32_t GBALoadMultiple(struct ARMCore* cpu, uint32_t address, int mask, enum L
}
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 @@ uint32_t GBAStoreMultiple(struct ARMCore* cpu, uint32_t address, int mask, enum
}
uint32_t addressMisalign = address & 0x3;
address &= 0xFFFFFFFC;
if (address >> BASE_OFFSET < REGION_CART_SRAM) {
address &= 0xFFFFFFFC;
}
switch (address >> BASE_OFFSET) {
case REGION_WORKING_RAM: