diff options
Diffstat (limited to 'src/emu/cpu/melps4/melps4.c')
-rw-r--r-- | src/emu/cpu/melps4/melps4.c | 18 |
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; } |