all repos — mgba @ f6cb2c4a0a4f8c29837b66a34f8090ed25f2560f

mGBA Game Boy Advance Emulator

ARM: Fix LDM^ writeback to user-mode register
Vicki Pfau vi@endrift.com
Fri, 26 Jun 2020 01:17:19 -0700
commit

f6cb2c4a0a4f8c29837b66a34f8090ed25f2560f

parent

8da1cdc63d0e13bad27b7224f8f33a023e0041b9

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

jump to
M CHANGESCHANGES

@@ -1,5 +1,6 @@

0.8.3: (Future) Emulation fixes: + - ARM: Fix LDM^ writeback to user-mode register - GB Memory: Fix OAM DMA from top 8 kB - GB MBC: Fix MBC1 RAM enable bit selection - GB MBC: Fix MBC2 bit selection
M src/arm/isa-arm.csrc/arm/isa-arm.c

@@ -439,9 +439,9 @@ int rs = opcode & 0x0000FFFF; \

uint32_t address = cpu->gprs[rn]; \ S_PRE; \ address = cpu->memory. LS ## Multiple(cpu, address, rs, LSM_ ## DIRECTION, &currentCycles); \ + WRITEBACK; \ S_POST; \ - POST_BODY; \ - WRITEBACK;) + POST_BODY;) #define DEFINE_LOAD_STORE_MULTIPLE_INSTRUCTION_ARM(NAME, LS, POST_BODY) \