From 4f85c9652de77963177b0a69d6fe01e8b42b1e96 Mon Sep 17 00:00:00 2001 From: Olivier Galibert Date: Wed, 11 Mar 2020 23:09:00 +0100 Subject: Last checkpoint before starting the core itself (nw) --- src/devices/cpu/ks0164/ks0164d.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/devices/cpu/ks0164/ks0164d.cpp b/src/devices/cpu/ks0164/ks0164d.cpp index fb6a777c57c..5aeb65caec4 100644 --- a/src/devices/cpu/ks0164/ks0164d.cpp +++ b/src/devices/cpu/ks0164/ks0164d.cpp @@ -92,7 +92,8 @@ const ks0164_disassembler::instruction ks0164_disassembler::instructions[] { { 0xa87d, 0xf8ff, [](P) -> u32 { u16 imm = opcodes.r16(pc+2); util::stream_format(stream, "%s ?5 %04x", regs[(opcode >> 8) & 7], imm); return 4; } }, { 0xb075, 0xf8ff, [](P) -> u32 { u16 imm = opcodes.r16(pc+2); util::stream_format(stream, "%s = %02x", regs[(opcode >> 8) & 7], imm); return 4; } }, { 0xb07d, 0xf8ff, [](P) -> u32 { u16 imm = opcodes.r16(pc+2); util::stream_format(stream, "%s = %04x", regs[(opcode >> 8) & 7], imm); return 4; } }, - { 0xb875, 0xf8ff, [](P) -> u32 { u16 imm = opcodes.r16(pc+2); util::stream_format(stream, "%s *= %02x", regs[(opcode >> 8) & 7], imm); return 4; } }, + { 0xb875, 0xf8ff, [](P) -> u32 { u16 imm = opcodes.r16(pc+2); util::stream_format(stream, "%s *u= %02x", regs[(opcode >> 8) & 7], imm); return 4; } }, + { 0xb8f5, 0xf8ff, [](P) -> u32 { u16 imm = opcodes.r16(pc+2); util::stream_format(stream, "%s *s= %02x", regs[(opcode >> 8) & 7], imm); return 4; } }, { 0xb87d, 0xf8ff, [](P) -> u32 { u16 imm = opcodes.r16(pc+2); util::stream_format(stream, "%s *= %04x", regs[(opcode >> 8) & 7], imm); return 4; } }, { 0x8006, 0xf88f, [](P) -> u32 { util::stream_format(stream, "%s += (%s).bu", regs[(opcode >> 8) & 7], regs[(opcode >> 4) & 7]); return 2; } }, @@ -179,15 +180,18 @@ const ks0164_disassembler::instruction ks0164_disassembler::instructions[] { { 0xc00c, 0xf80f, [](P) -> u32 { util::stream_format(stream, "%s <<= %x", regs[(opcode >> 8) & 7], (opcode >> 4) & 0xf); return 2; } }, { 0xc80c, 0xf80f, [](P) -> u32 { util::stream_format(stream, "%s >>= %x", regs[(opcode >> 8) & 7], (opcode >> 4) & 0xf); return 2; } }, { 0xc80d, 0xf80f, [](P) -> u32 { util::stream_format(stream, "%s >>s= %x", regs[(opcode >> 8) & 7], (opcode >> 4) & 0xf); return 2; } }, + { 0xc00f, 0xf80f, [](P) -> u32 { util::stream_format(stream, "%s <> 8) & 7], (opcode >> 4) & 0xf); return 2; } }, { 0xc80f, 0xf80f, [](P) -> u32 { util::stream_format(stream, "%s >>c= %x", regs[(opcode >> 8) & 7], (opcode >> 4) & 0xf); return 2; } }, - { 0xd088, 0xf88f, [](P) -> u32 { util::stream_format(stream, "%s = max(%s, %04x)", regs[(opcode >> 8) & 7], regs[(opcode >> 4) & 7], opcodes.r16(pc+2)); return 4; } }, - { 0xd888, 0xf88f, [](P) -> u32 { util::stream_format(stream, "%s = min(%s, %04x)", regs[(opcode >> 8) & 7], regs[(opcode >> 4) & 7], opcodes.r16(pc+2)); return 4; } }, - { 0xd000, 0xf007, [](P) -> u32 { util::stream_format(stream, "d?%d%d%d %s, %s, %04x", opcode & 0x800 ? 1 : 0, opcode & 0x80 ? 1 : 0, opcode & 8 ? 1 : 0, regs[(opcode >> 8) & 7], regs[(opcode >> 4) & 7], opcodes.r16(pc+2)); return 4; } }, + { 0xd008, 0xf88f, [](P) -> u32 { util::stream_format(stream, "%s = maxu(%s, %04x)", regs[(opcode >> 8) & 7], regs[(opcode >> 4) & 7], opcodes.r16(pc+2)); return 4; } }, + { 0xd808, 0xf88f, [](P) -> u32 { util::stream_format(stream, "%s = minu(%s, %04x)", regs[(opcode >> 8) & 7], regs[(opcode >> 4) & 7], opcodes.r16(pc+2)); return 4; } }, + { 0xd088, 0xf88f, [](P) -> u32 { util::stream_format(stream, "%s = maxs(%s, %04x)", regs[(opcode >> 8) & 7], regs[(opcode >> 4) & 7], opcodes.r16(pc+2)); return 4; } }, + { 0xd888, 0xf88f, [](P) -> u32 { util::stream_format(stream, "%s = mins(%s, %04x)", regs[(opcode >> 8) & 7], regs[(opcode >> 4) & 7], opcodes.r16(pc+2)); return 4; } }, { 0xd001, 0xffff, [](P) -> u32 { util::stream_format(stream, "jmp %04x", opcodes.r16(pc+2)); return 4; } }, { 0xd002, 0xffff, [](P) -> u32 { util::stream_format(stream, "jsr %04x", opcodes.r16(pc+2)); return 4; } }, { 0xd003, 0xffff, [](P) -> u32 { util::stream_format(stream, "rts"); return 2; } }, { 0xd004, 0xffff, [](P) -> u32 { util::stream_format(stream, "rti"); return 2; } }, + { 0xd005, 0xf8ff, [](P) -> u32 { util::stream_format(stream, "%s = ~%s", regs[(opcode >> 8) & 7], regs[(opcode >> 8) & 7]); return 2; } }, { 0xd085, 0xf8ff, [](P) -> u32 { util::stream_format(stream, "%s = -%s", regs[(opcode >> 8) & 7], regs[(opcode >> 8) & 7]); return 2; } }, { 0xe008, 0xf80f, [](P) -> u32 { util::stream_format(stream, "btst %s, %x", regs[(opcode >> 8) & 7], (opcode >> 4) & 0xf); return 2; } }, -- cgit v1.2.3