From c61a23e0ddcff60b78b784492be373bd1d8c840a Mon Sep 17 00:00:00 2001 From: AJR Date: Mon, 1 Apr 2024 19:15:35 -0400 Subject: [PATCH] upd78k2: Correct decoding of ROR4 and ROL4 in disassembler --- src/devices/cpu/upd78k/upd78k2d.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/devices/cpu/upd78k/upd78k2d.cpp b/src/devices/cpu/upd78k/upd78k2d.cpp index 7fcc4bd85a2..45c7fd64342 100644 --- a/src/devices/cpu/upd78k/upd78k2d.cpp +++ b/src/devices/cpu/upd78k/upd78k2d.cpp @@ -14,7 +14,7 @@ offs_t upd78k2_disassembler::dasm_01xx(std::ostream &stream, u8 op2, offs_t pc, if (op2 == 0x05) { u8 op3 = opcodes.r8(pc + 2); - if ((op3 & 0xed) == 0x89) + if ((op3 & 0xed) == 0x8c) { util::stream_format(stream, "%-8s&[%s]", BIT(op3, 4) ? "ROL4" : "ROR4", BIT(op3, 1) ? "HL" : "DE"); return 3 | SUPPORTED; @@ -127,7 +127,7 @@ offs_t upd78k2_disassembler::dasm_05xx(std::ostream &stream, u8 op2, offs_t pc, util::stream_format(stream, "%-8s%s", BIT(op2, 4) ? "CALL" : "BR", s_rp_names[(op2 & 0x06) >> 1]); return 2 | (BIT(op2, 4) ? STEP_OVER : 0) | SUPPORTED; } - else if ((op2 & 0xed) == 0x89) + else if ((op2 & 0xed) == 0x8c) { util::stream_format(stream, "%-8s[%s]", BIT(op2, 4) ? "ROL4" : "ROR4", BIT(op2, 1) ? "HL" : "DE"); return 2 | SUPPORTED;