summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/pps41/pps41base.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/pps41/pps41base.cpp')
-rw-r--r--src/devices/cpu/pps41/pps41base.cpp24
1 files changed, 11 insertions, 13 deletions
diff --git a/src/devices/cpu/pps41/pps41base.cpp b/src/devices/cpu/pps41/pps41base.cpp
index e28b99ff1ab..74352464aab 100644
--- a/src/devices/cpu/pps41/pps41base.cpp
+++ b/src/devices/cpu/pps41/pps41base.cpp
@@ -40,7 +40,8 @@ TODO:
flops with SOS/ROS opcodes
- add MCU mask options, there's one for inverting interrupts
- add serial i/o
-- add MM78
+- add MM78 opcodes
+- add MM78LA
*/
@@ -69,11 +70,6 @@ pps41_base_device::pps41_base_device(const machine_config &mconfig, device_type
// device_start - device-specific startup
//-------------------------------------------------
-enum
-{
- PPS41_PC=1, PPS41_A, PPS41_C, PPS41_B, PPS41_S
-};
-
void pps41_base_device::device_start()
{
m_program = &space(AS_PROGRAM);
@@ -113,6 +109,7 @@ void pps41_base_device::device_start()
m_c_in = 0;
m_c_delay = false;
m_s = 0;
+ m_x = 0;
m_skip = false;
m_skip_count = 0;
@@ -144,6 +141,7 @@ void pps41_base_device::device_start()
save_item(NAME(m_c_in));
save_item(NAME(m_c_delay));
save_item(NAME(m_s));
+ save_item(NAME(m_x));
save_item(NAME(m_skip));
save_item(NAME(m_skip_count));
@@ -155,12 +153,13 @@ void pps41_base_device::device_start()
// register state for debugger
state_add(STATE_GENPC, "GENPC", m_pc).formatstr("%03X").noshow();
state_add(STATE_GENPCBASE, "CURPC", m_prev_pc).formatstr("%03X").noshow();
- state_add(PPS41_PC, "PC", m_pc).formatstr("%03X");
- state_add(PPS41_A, "A", m_a).formatstr("%01X");
- state_add(PPS41_C, "C", m_c_in).formatstr("%01X");
- state_add(PPS41_B, "B", m_b).formatstr("%02X");
- state_add(PPS41_S, "S", m_s).formatstr("%01X");
+ m_state_count = 0;
+ state_add(++m_state_count, "PC", m_pc).formatstr("%03X");
+ state_add(++m_state_count, "A", m_a).formatstr("%01X");
+ state_add(++m_state_count, "C", m_c_in).formatstr("%01X");
+ state_add(++m_state_count, "B", m_b).formatstr("%02X");
+ state_add(++m_state_count, "S", m_s).formatstr("%01X");
set_icountptr(m_icount);
}
@@ -197,8 +196,7 @@ void pps41_base_device::device_reset()
void pps41_base_device::execute_set_input(int line, int state)
{
- // negative voltage, Vdd=0, Vss(GND)=1
- state = (state) ? 0 : 1;
+ state = (state) ? 1 : 0;
switch (line)
{