summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/evolution
diff options
context:
space:
mode:
author Olivier Galibert <galibert@pobox.com>2023-10-31 22:16:21 +0100
committer Olivier Galibert <galibert@pobox.com>2023-10-31 22:16:21 +0100
commit22f1d0aa79cbe64273ac42977925d3134e87e3cd (patch)
treea92f5806393ab8e29d473182fb58152d0143ed61 /src/devices/cpu/evolution
parent7e14c8fbe8e757cac36c8ab0f06c6a18079eeeda (diff)
evo: Some progress, kinda hitting a wall though
Diffstat (limited to 'src/devices/cpu/evolution')
-rw-r--r--src/devices/cpu/evolution/evod.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/devices/cpu/evolution/evod.cpp b/src/devices/cpu/evolution/evod.cpp
index 35aa4ae8020..c2d02926be0 100644
--- a/src/devices/cpu/evolution/evod.cpp
+++ b/src/devices/cpu/evolution/evod.cpp
@@ -25,7 +25,8 @@ const evolution_disassembler::instruction evolution_disassembler::instructions[]
{ 0xd800, 0xf900, 1, [](std::ostream &stream, u16 opcode, u16 arg, u32 pc) { util::stream_format(stream, "%s = #%02x", regs[(opcode >> 9) & 3], opcode & 0xff); }},
{ 0xd900, 0xf900, 1, [](std::ostream &stream, u16 opcode, u16 arg, u32 pc) { util::stream_format(stream, "%s = %s ^ #%02x", regs[(opcode >> 9) & 3], regs[(opcode >> 9) & 3], opcode & 0xff); }},
{ 0xe000, 0xf900, 1, [](std::ostream &stream, u16 opcode, u16 arg, u32 pc) { util::stream_format(stream, "%02x <> %s", opcode & 0xff, regs[(opcode >> 9) & 3]); }},
- { 0xe804, 0xf93f, 1, [](std::ostream &stream, u16 opcode, u16 arg, u32 pc) { util::stream_format(stream, "%s = %s - 1", regs[(opcode >> 9) & 3], regs[(opcode >> 6) & 3]); }},
+ { 0xe800, 0xf93c, 1, [](std::ostream &stream, u16 opcode, u16 arg, u32 pc) { util::stream_format(stream, "%s = %s + %x", regs[(opcode >> 9) & 3], regs[(opcode >> 6) & 3], 1 << (opcode & 3)); }},
+ { 0xe804, 0xf93c, 1, [](std::ostream &stream, u16 opcode, u16 arg, u32 pc) { util::stream_format(stream, "%s = %s - %x", regs[(opcode >> 9) & 3], regs[(opcode >> 6) & 3], 1 << (opcode & 3)); }},
{ 0xfc8d, 0xffff, 1, [](std::ostream &stream, u16 opcode, u16 arg, u32 pc) { util::stream_format(stream, "push b"); }},
{ 0xfccd, 0xffff, 1, [](std::ostream &stream, u16 opcode, u16 arg, u32 pc) { util::stream_format(stream, "pull b"); }},
{ 0xfd40, 0xffe0, 2, [](std::ostream &stream, u16 opcode, u16 arg, u32 pc) { util::stream_format(stream, "jsr %06x", ((opcode & 0x1f) << 16) | arg); }},