Debugger: Negative PC-relative loads now properly subtract the offset
Jeffrey Pfau jeffrey@endrift.com
Sat, 20 Dec 2014 15:10:54 -0800
2 files changed,
2 insertions(+),
1 deletions(-)
M
CHANGES
→
CHANGES
@@ -12,6 +12,7 @@ - ARM7: Fix LDM writeback to a register already written
- GBA Memory: Don't call into GPIO write calls if GPIO devices are absent - ARM7: Extend prefetch by one stage - GBA BIOS: Fix BIOS prefetch after returning from a SWI + - Debugger: Negative PC-relative loads now properly subtract the offset Misc: - Qt: Disable sync to video by default - GBA: Exit cleanly on FATAL if the port supports it
M
src/arm/decoder.c
→
src/arm/decoder.c
@@ -127,7 +127,7 @@ ADVANCE(1);
int written; if (memory.format & ARM_MEMORY_REGISTER_BASE) { if (memory.baseReg == ARM_PC && memory.format & ARM_MEMORY_IMMEDIATE_OFFSET) { - written = _decodePCRelative(memory.offset.immediate, pc, buffer, blen); + written = _decodePCRelative(memory.format & ARM_MEMORY_OFFSET_SUBTRACT ? -memory.offset.immediate : memory.offset.immediate, pc, buffer, blen); ADVANCE(written); } else { written = _decodeRegister(memory.baseReg, buffer, blen);