From c503b71229cac479d2bfc48a5ca3c64248e4fcc4 Mon Sep 17 00:00:00 2001 From: Jeffrey Pfau Date: Thu, 8 Oct 2015 19:52:38 -0700 Subject: [PATCH] ARM7: Fix instruction decoding of Thumb shifts --- CHANGES | 1 + src/arm/decoder-thumb.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index 52d1219c9..13956dcd1 100644 --- a/CHANGES +++ b/CHANGES @@ -17,6 +17,7 @@ Bugfixes: - GBA: Fix autodetect problems with some bad dumps of Super Mario Advance 2 - GBA Memory: Fix bad BIOS Load16 on big endian - GBA Memory: Fix bad Load8 on big endian + - ARM7: Fix instruction decoding of Thumb shifts Misc: - Qt: Remove useless help icons in dialogs - GBA: Attempting to save a screenshot-style savestate should be allowed without libpng diff --git a/src/arm/decoder-thumb.c b/src/arm/decoder-thumb.c index 27338ed4f..da0b156cd 100644 --- a/src/arm/decoder-thumb.c +++ b/src/arm/decoder-thumb.c @@ -18,7 +18,7 @@ #define DEFINE_IMMEDIATE_5_DECODER_DATA_THUMB(NAME, MNEMONIC) \ DEFINE_THUMB_DECODER(NAME, MNEMONIC, \ - info->op3.immediate = (opcode >> 6) & 0x0007; \ + info->op3.immediate = (opcode >> 6) & 0x001F; \ info->op1.reg = opcode & 0x0007; \ info->op2.reg = (opcode >> 3) & 0x0007; \ info->affectsCPSR = 1; \