summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/cpu/melps4/melps4.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/cpu/melps4/melps4.c')
-rw-r--r--src/emu/cpu/melps4/melps4.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/emu/cpu/melps4/melps4.c b/src/emu/cpu/melps4/melps4.c
index e6291a485da..1e9b51be0a9 100644
--- a/src/emu/cpu/melps4/melps4.c
+++ b/src/emu/cpu/melps4/melps4.c
@@ -106,6 +106,7 @@ void melps4_cpu_device::device_start()
m_port_d = 0;
m_port_s = 0;
m_port_f = 0;
+ m_port_t = 0;
m_sm = m_sms = false;
m_ba_flag = false;
@@ -115,12 +116,15 @@ void melps4_cpu_device::device_start()
m_inte = 0;
m_intp = 1;
m_irqflag[0] = m_irqflag[1] = m_irqflag[2] = false;
- m_tmr_irq_enabled[0] = m_tmr_irq_enabled[1] = false;
m_int_state = 0;
- m_t_state = 0;
+ m_t_in_state = 0;
m_prohibit_irq = false;
m_possible_irq = false;
+ memset(m_tmr_count, 0, sizeof(m_tmr_count));
+ m_tmr_reload = 0;
+ m_tmr_irq_enabled[0] = m_tmr_irq_enabled[1] = false;
+
m_a = 0;
m_b = 0;
m_e = 0;
@@ -146,6 +150,7 @@ void melps4_cpu_device::device_start()
save_item(NAME(m_port_d));
save_item(NAME(m_port_s));
save_item(NAME(m_port_f));
+ save_item(NAME(m_port_t));
save_item(NAME(m_sm));
save_item(NAME(m_sms));
@@ -156,12 +161,15 @@ void melps4_cpu_device::device_start()
save_item(NAME(m_inte));
save_item(NAME(m_intp));
save_item(NAME(m_irqflag));
- save_item(NAME(m_tmr_irq_enabled));
save_item(NAME(m_int_state));
- save_item(NAME(m_t_state));
+ save_item(NAME(m_t_in_state));
save_item(NAME(m_prohibit_irq));
save_item(NAME(m_possible_irq));
+ save_item(NAME(m_tmr_count));
+ save_item(NAME(m_tmr_reload));
+ save_item(NAME(m_tmr_irq_enabled));
+
save_item(NAME(m_a));
save_item(NAME(m_b));
save_item(NAME(m_e));
@@ -227,7 +235,7 @@ void melps4_cpu_device::device_reset()
write_gen_port(MELPS4_PORTF, 0);
write_gen_port(MELPS4_PORTG, 0);
write_gen_port(MELPS4_PORTU, 0);
- m_write_t(0);
+ m_write_t(0); m_port_t = 0;
}