From d3653127571b8fe1421e5d5acaa8f4c6d5dbfca1 Mon Sep 17 00:00:00 2001 From: Vicki Pfau Date: Fri, 7 Feb 2025 18:02:53 -0800 Subject: [PATCH] ARM Debugger: Fix disassembly of ror r0 barrel shift (fixes #3412) --- CHANGES | 1 + src/arm/decoder-arm.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index a4057d775..035e9ae8c 100644 --- a/CHANGES +++ b/CHANGES @@ -22,6 +22,7 @@ Emulation fixes: - GBA Video: Disable BG target 1 blending when OBJ blending (fixes mgba.io/i/2722) - GBA Video: Improve emulation of window start/end conditions (fixes mgba.io/i/1945) Other fixes: + - ARM Debugger: Fix disassembly of ror r0 barrel shift (fixes mgba.io/i/3412) - Core: Fix inconsistencies with setting game-specific overrides (fixes mgba.io/i/2963) - Debugger: Fix writing to specific segment in command-line debugger - FFmpeg: Fix failing to record videos with CRF video (fixes mgba.io/i/3368) diff --git a/src/arm/decoder-arm.c b/src/arm/decoder-arm.c index 73d1717e9..074c04314 100644 --- a/src/arm/decoder-arm.c +++ b/src/arm/decoder-arm.c @@ -36,7 +36,7 @@ #define ADDR_MODE_1_ASR ADDR_MODE_1_SHIFT(ASR) #define ADDR_MODE_1_ROR \ ADDR_MODE_1_SHIFT(ROR) \ - if (!info->op3.shifterImm) { \ + if ((info->operandFormat & ARM_OPERAND_SHIFT_IMMEDIATE_3) && !info->op3.shifterImm) { \ info->op3.shifterOp = ARM_SHIFT_RRX; \ }