From 16c909ad565e67981ae051fe4c8abe1530633041 Mon Sep 17 00:00:00 2001 From: AJR Date: Thu, 20 Oct 2022 00:07:43 -0400 Subject: Revert "v25: IF only masks externally vectored interrupts" This reverts commit bd6e34de43cc8feae70be4f86b2f412e59e5a924. --- src/devices/cpu/nec/v25.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/devices/cpu/nec/v25.cpp b/src/devices/cpu/nec/v25.cpp index cdfeabd1ce2..4b24f752623 100644 --- a/src/devices/cpu/nec/v25.cpp +++ b/src/devices/cpu/nec/v25.cpp @@ -457,7 +457,7 @@ void v25_common_device::external_int() } } } - else if (m_IF && (pending & INT_IRQ)) + else if (pending & INT_IRQ) { /* the actual vector is retrieved after pushing flags */ /* and clearing the IF */ @@ -782,7 +782,12 @@ void v25_common_device::execute_run() /* Dispatch IRQ */ m_prev_ip = m_ip; if (m_no_interrupt==0 && (m_pending_irq & m_unmasked_irq)) - external_int(); + { + if (m_pending_irq & NMI_IRQ) + external_int(); + else if (m_IF) + external_int(); + } /* No interrupt allowed between last instruction and this one */ if (m_no_interrupt) -- cgit v1.2.3