From fb163b2d7e1db5fcf0ad1c8e067c22fc2bc134d7 Mon Sep 17 00:00:00 2001 From: AJR Date: Wed, 12 Apr 2017 15:23:56 -0400 Subject: pdp1: Make opcodes an internal enum (nw) --- src/devices/cpu/pdp1/pdp1.h | 60 ++++++++++++++++++++------------------- src/devices/cpu/pdp1/pdp1dasm.cpp | 54 +++++++++++++++++------------------ src/mame/drivers/pdp1.cpp | 4 +-- 3 files changed, 60 insertions(+), 58 deletions(-) diff --git a/src/devices/cpu/pdp1/pdp1.h b/src/devices/cpu/pdp1/pdp1.h index 8b6bfa23654..55ff0a5ec6a 100644 --- a/src/devices/cpu/pdp1/pdp1.h +++ b/src/devices/cpu/pdp1/pdp1.h @@ -45,39 +45,41 @@ struct pdp1_reset_param_t #define IOT_NO_COMPLETION_PULSE -1 -#define AND 001 -#define IOR 002 -#define XOR 003 -#define XCT 004 -#define CALJDA 007 -#define LAC 010 -#define LIO 011 -#define DAC 012 -#define DAP 013 -#define DIP 014 -#define DIO 015 -#define DZM 016 -#define ADD 020 -#define SUB 021 -#define IDX 022 -#define ISP 023 -#define SAD 024 -#define SAS 025 -#define MUS_MUL 026 -#define DIS_DIV 027 -#define JMP 030 -#define JSP 031 -#define SKP 032 -#define SFT 033 -#define LAW 034 -#define IOT 035 -#define OPR 037 - - class pdp1_device : public cpu_device , public pdp1_reset_param_t { public: + enum opcode + { + AND = 001, + IOR = 002, + XOR = 003, + XCT = 004, + CALJDA = 007, + LAC = 010, + LIO = 011, + DAC = 012, + DAP = 013, + DIP = 014, + DIO = 015, + DZM = 016, + ADD = 020, + SUB = 021, + IDX = 022, + ISP = 023, + SAD = 024, + SAS = 025, + MUS_MUL = 026, + DIS_DIV = 027, + JMP = 030, + JSP = 031, + SKP = 032, + SFT = 033, + LAW = 034, + IOT = 035, + OPR = 037 + }; + // construction/destruction pdp1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); diff --git a/src/devices/cpu/pdp1/pdp1dasm.cpp b/src/devices/cpu/pdp1/pdp1dasm.cpp index 3313aa83f37..7376b752538 100644 --- a/src/devices/cpu/pdp1/pdp1dasm.cpp +++ b/src/devices/cpu/pdp1/pdp1dasm.cpp @@ -31,31 +31,31 @@ CPU_DISASSEMBLE(pdp1) ib = (md >> 12) & 1; /* */ switch (md >> 13) { - case AND: + case pdp1_device::AND: ea (); util::stream_format(stream, "AND (0%06o)", y); IN; //etime = 10; break; - case IOR: + case pdp1_device::IOR: ea (); util::stream_format(stream, "IOR (0%06o)", y); IN; //etime = 10; break; - case XOR: + case pdp1_device::XOR: ea (); util::stream_format(stream, "XOR (0%06o)", y); IN; //etime = 10; break; - case XCT: + case pdp1_device::XCT: ea (); util::stream_format(stream, "XCT (0%06o)", y); IN; //etime = 5; break; - case CALJDA: + case pdp1_device::CALJDA: { if (ib == 1) util::stream_format(stream, "JDA 0%06o ", y); @@ -64,109 +64,109 @@ CPU_DISASSEMBLE(pdp1) //etime = 10; break; } - case LAC: + case pdp1_device::LAC: ea (); util::stream_format(stream, "LAC (0%06o)", y); IN; //etime = 10; break; - case LIO: + case pdp1_device::LIO: ea (); util::stream_format(stream, "LIO (0%06o)", y); IN; //etime = 10; break; - case DAC: + case pdp1_device::DAC: ea (); util::stream_format(stream, "DAC 0%06o ", y); IN; //etime = 10; break; - case DAP: + case pdp1_device::DAP: ea (); util::stream_format(stream, "DAP 0%06o ", y); IN; //etime = 10; break; - case DIP: + case pdp1_device::DIP: ea (); util::stream_format(stream, "DIP 0%06o ", y); IN; //etime = 10; break; - case DIO: + case pdp1_device::DIO: ea (); util::stream_format(stream, "DIO 0%06o ", y); IN; //etime = 10; break; - case DZM: + case pdp1_device::DZM: ea (); util::stream_format(stream, "DZM 0%06o ", y); IN; //etime = 10; break; - case ADD: + case pdp1_device::ADD: ea (); util::stream_format(stream, "ADD (0%06o)", y); IN; //etime = 10; break; - case SUB: + case pdp1_device::SUB: ea (); util::stream_format(stream, "SUB (0%06o)", y); IN; //etime = 10; break; - case IDX: + case pdp1_device::IDX: ea (); util::stream_format(stream, "IDX (0%06o)", y); IN; //etime = 10; break; - case ISP: + case pdp1_device::ISP: ea (); util::stream_format(stream, "ISP (0%06o)", y); IN; //etime = 10; break; - case SAD: + case pdp1_device::SAD: ea (); util::stream_format(stream, "SAD (0%06o)", y); IN; //etime = 10; break; - case SAS: + case pdp1_device::SAS: ea (); util::stream_format(stream, "SAS (0%06o)", y); IN; //etime = 10; break; - case MUS_MUL: + case pdp1_device::MUS_MUL: ea (); util::stream_format(stream, "MUS (0%06o)", y); IN; //etime = 10; break; - case DIS_DIV: + case pdp1_device::DIS_DIV: ea (); util::stream_format(stream, "DIS (0%06o)", y); IN; //etime = 10; break; - case JMP: + case pdp1_device::JMP: ea (); util::stream_format(stream, "JMP 0%06o ", y); IN; //etime = 5; break; - case JSP: + case pdp1_device::JSP: ea (); util::stream_format(stream, "JSP 0%06o ", y); IN; //etime = 5; break; - case SKP: + case pdp1_device::SKP: { if ((y & 0100) == 0100) util::stream_format(stream, "SZA "); @@ -186,7 +186,7 @@ CPU_DISASSEMBLE(pdp1) //etime = 5; break; } - case SFT: + case pdp1_device::SFT: { int nshift = 0; int mask = md & 0777; @@ -253,16 +253,16 @@ CPU_DISASSEMBLE(pdp1) } break; } - case LAW: + case pdp1_device::LAW: util::stream_format(stream, "LAW 0%06o", y); IN; //etime = 5; break; - case IOT: + case pdp1_device::IOT: util::stream_format(stream, "IOT 0%06o", md); //etime = 10; break; - case OPR: + case pdp1_device::OPR: { if ((y & 04000) == 04000) util::stream_format(stream, "CLI "); diff --git a/src/mame/drivers/pdp1.cpp b/src/mame/drivers/pdp1.cpp index a284054f3ca..8233b3784a1 100644 --- a/src/mame/drivers/pdp1.cpp +++ b/src/mame/drivers/pdp1.cpp @@ -1832,7 +1832,7 @@ INTERRUPT_GEN_MEMBER(pdp1_state::pdp1_interrupt) m_maincpu->pulse_start_clear(); /* pulse Start Clear line */ m_maincpu->set_state_int(PDP1_PC, m_maincpu->state_int(PDP1_TA)); m_maincpu->set_state_int(PDP1_MA, m_maincpu->state_int(PDP1_PC)); - m_maincpu->set_state_int(PDP1_IR, LAC); /* this instruction is actually executed */ + m_maincpu->set_state_int(PDP1_IR, pdp1_device::LAC); /* this instruction is actually executed */ m_maincpu->set_state_int(PDP1_MB, (signed)m_maincpu->space(AS_PROGRAM).read_dword(PDP1_MA<<2)); m_maincpu->set_state_int(PDP1_AC, m_maincpu->state_int(PDP1_MB)); @@ -1843,7 +1843,7 @@ INTERRUPT_GEN_MEMBER(pdp1_state::pdp1_interrupt) m_maincpu->set_state_int(PDP1_PC, m_maincpu->state_int(PDP1_TA)); m_maincpu->set_state_int(PDP1_MA, m_maincpu->state_int(PDP1_PC)); m_maincpu->set_state_int(PDP1_AC, m_maincpu->state_int(PDP1_TW)); - m_maincpu->set_state_int(PDP1_IR, DAC); /* this instruction is actually executed */ + m_maincpu->set_state_int(PDP1_IR, pdp1_device::DAC); /* this instruction is actually executed */ m_maincpu->set_state_int(PDP1_MB, m_maincpu->state_int(PDP1_AC)); m_maincpu->space(AS_PROGRAM).write_dword(m_maincpu->state_int(PDP1_MA)<<2, m_maincpu->state_int(PDP1_MB)); -- cgit v1.2.3