summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2017-04-12 15:23:56 -0400
committer AJR <ajrhacker@users.noreply.github.com>2017-04-12 15:23:56 -0400
commitfb163b2d7e1db5fcf0ad1c8e067c22fc2bc134d7 (patch)
tree938b50c6a4ad07e83b843b160df50993968b9b62
parent55a56ecd6116b90e7eb487e8265920c85e713bf9 (diff)
pdp1: Make opcodes an internal enum (nw)
-rw-r--r--src/devices/cpu/pdp1/pdp1.h60
-rw-r--r--src/devices/cpu/pdp1/pdp1dasm.cpp54
-rw-r--r--src/mame/drivers/pdp1.cpp4
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));