diff options
Diffstat (limited to 'src/devices/cpu/nec/v25.cpp')
-rw-r--r-- | src/devices/cpu/nec/v25.cpp | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/devices/cpu/nec/v25.cpp b/src/devices/cpu/nec/v25.cpp index 9800540a04c..e9018051938 100644 --- a/src/devices/cpu/nec/v25.cpp +++ b/src/devices/cpu/nec/v25.cpp @@ -194,6 +194,7 @@ void v25_common_device::device_reset() m_ParityVal = 1; m_pending_irq = 0; m_unmasked_irq = INT_IRQ | NMI_IRQ; + m_macro_service = 0; m_bankswitch_irq = 0; m_priority_inttu = 7; m_priority_intd = 7; @@ -205,9 +206,7 @@ void v25_common_device::device_reset() m_irq_state = 0; m_poll_state = 1; m_mode_state = m_MF = (m_v25v35_decryptiontable) ? 0 : 1; - m_intp_state[0] = 0; - m_intp_state[1] = 0; - m_intp_state[2] = 0; + m_intm = 0; m_halted = 0; m_TM0 = m_MD0 = m_TM1 = m_MD1 = 0; @@ -464,6 +463,12 @@ void v25_common_device::device_start() for (i = 0; i < 4; i++) m_timers[i] = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(v25_common_device::v25_timer_callback),this)); + std::fill_n(&m_intp_state[0], 3, 0); + std::fill_n(&m_ems[0], 3, 0); + std::fill_n(&m_srms[0], 2, 0); + std::fill_n(&m_stms[0], 2, 0); + std::fill_n(&m_tmms[0], 3, 0); + save_item(NAME(m_intp_state)); save_item(NAME(m_ip)); @@ -484,12 +489,17 @@ void v25_common_device::device_start() save_item(NAME(m_ParityVal)); save_item(NAME(m_pending_irq)); save_item(NAME(m_unmasked_irq)); + save_item(NAME(m_macro_service)); save_item(NAME(m_bankswitch_irq)); save_item(NAME(m_priority_inttu)); save_item(NAME(m_priority_intd)); save_item(NAME(m_priority_intp)); save_item(NAME(m_priority_ints0)); save_item(NAME(m_priority_ints1)); + save_item(NAME(m_ems)); + save_item(NAME(m_srms)); + save_item(NAME(m_stms)); + save_item(NAME(m_tmms)); save_item(NAME(m_IRQS)); save_item(NAME(m_ISPR)); save_item(NAME(m_nmi_state)); @@ -497,6 +507,7 @@ void v25_common_device::device_start() save_item(NAME(m_poll_state)); save_item(NAME(m_mode_state)); save_item(NAME(m_no_interrupt)); + save_item(NAME(m_intm)); save_item(NAME(m_halted)); save_item(NAME(m_TM0)); save_item(NAME(m_MD0)); |