diff --git a/CHANGES b/CHANGES index 175d91d93..0275d4d6c 100644 --- a/CHANGES +++ b/CHANGES @@ -8,6 +8,7 @@ Emulation fixes: - GBA Video: Don't iterate affine backgrounds when disabled - GBA Video: Delay enabling backgrounds in bitmap modes (fixes mgba.io/i/1668) Other fixes: + - ARM Decoder: Fix decoding of lsl r0 (fixes mgba.io/i/2349) - FFmpeg: Don't attempt to use YUV 4:2:0 for lossless videos (fixes mgba.io/i/2084) - GB Video: Fix memory leak when reseting SGB games - GBA: Fix out of bounds ROM accesses on patched ROMs smaller than 32 MiB diff --git a/src/arm/decoder-arm.c b/src/arm/decoder-arm.c index 895c82fcd..1a7052c83 100644 --- a/src/arm/decoder-arm.c +++ b/src/arm/decoder-arm.c @@ -24,7 +24,7 @@ #define ADDR_MODE_1_LSL \ ADDR_MODE_1_SHIFT(LSL) \ - if (!info->op3.shifterImm) { \ + if ((info->operandFormat & ARM_OPERAND_SHIFT_IMMEDIATE_3) && !info->op3.shifterImm) { \ info->operandFormat &= ~ARM_OPERAND_SHIFT_IMMEDIATE_3; \ info->op3.shifterOp = ARM_SHIFT_NONE; \ }