summaryrefslogtreecommitdiffstatshomepage
path: root/src/tools
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2018-01-23 15:11:19 -0500
committer AJR <ajrhacker@users.noreply.github.com>2018-01-23 15:16:01 -0500
commit19d57d9419b85d4dc7426ce7f016814920964307 (patch)
treedb76d8fbd25b880ffdaa6115973ec0c35dda49fe /src/tools
parent1b17d9882e14c1b00f08049e160224ddf8d098e6 (diff)
mcs48: More specific emulation of Intel 8021
- Separate disassembler for i802x (including unemulated 8022 instructions) - Provide separate (though mostly just more limited) 8021 opcode table - Writes to 8021 P0 no longer go through memory space
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/unidasm.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/tools/unidasm.cpp b/src/tools/unidasm.cpp
index 3234a510ff1..7378734b598 100644
--- a/src/tools/unidasm.cpp
+++ b/src/tools/unidasm.cpp
@@ -337,6 +337,7 @@ static const dasm_table_entry dasm_table[] =
{ "i4004", le, 0, []() -> util::disasm_interface * { return new i4004_disassembler; } },
{ "i4040", le, 0, []() -> util::disasm_interface * { return new i4040_disassembler; } },
{ "i8008", le, 0, []() -> util::disasm_interface * { return new i8008_disassembler; } },
+ { "i802x", le, 0, []() -> util::disasm_interface * { return new mcs48_disassembler(false, true); } },
{ "i8051", le, 0, []() -> util::disasm_interface * { return new i8051_disassembler; } },
{ "i8052", le, 0, []() -> util::disasm_interface * { return new i8052_disassembler; } },
{ "i8085", le, 0, []() -> util::disasm_interface * { return new i8085_disassembler; } },
@@ -382,7 +383,7 @@ static const dasm_table_entry dasm_table[] =
{ "mb86233", le, -2, []() -> util::disasm_interface * { return new mb86233_disassembler; } },
{ "mb86235", le, -3, []() -> util::disasm_interface * { return new mb86235_disassembler; } },
{ "mb88", le, 0, []() -> util::disasm_interface * { return new mb88_disassembler; } },
- { "mcs48", le, 0, []() -> util::disasm_interface * { return new mcs48_disassembler(false); } },
+ { "mcs48", le, 0, []() -> util::disasm_interface * { return new mcs48_disassembler(false, false); } },
{ "minx", le, 0, []() -> util::disasm_interface * { return new minx_disassembler; } },
{ "mips3be", be, 0, []() -> util::disasm_interface * { return new mips3_disassembler; } },
{ "mips3le", le, 0, []() -> util::disasm_interface * { return new mips3_disassembler; } },
@@ -459,7 +460,7 @@ static const dasm_table_entry dasm_table[] =
{ "upd7807", le, 0, []() -> util::disasm_interface * { return new upd7807_disassembler; } },
{ "upd7810", le, 0, []() -> util::disasm_interface * { return new upd7810_disassembler; } },
{ "upd78c05", le, 0, []() -> util::disasm_interface * { return new upd78c05_disassembler; } },
- { "upi41", le, 0, []() -> util::disasm_interface * { return new mcs48_disassembler(true); } },
+ { "upi41", le, 0, []() -> util::disasm_interface * { return new mcs48_disassembler(true, false); } },
{ "v60", le, 0, []() -> util::disasm_interface * { return new v60_disassembler; } },
{ "v810", le, 0, []() -> util::disasm_interface * { return new v810_disassembler; } },
{ "x86_16", le, 0, []() -> util::disasm_interface * { i386_unidasm.mode = 16; return new i386_disassembler(&i386_unidasm); } },