mirror of https://github.com/mgba-emu/mgba.git
GBA Memory: Fix alignment of LDM/STM on SRAM
This commit is contained in:
parent
555a7404d6
commit
da3198ff2a
1
CHANGES
1
CHANGES
|
@ -11,6 +11,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:
|
||||
- GBA Audio: Implement missing flags on SOUNDCNT_X register
|
||||
|
||||
|
|
|
@ -1095,7 +1095,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:
|
||||
|
@ -1208,7 +1210,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:
|
||||
|
|
Loading…
Reference in New Issue