summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/romp
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2023-03-11 20:16:38 -0500
committer AJR <ajrhacker@users.noreply.github.com>2023-03-11 20:40:39 -0500
commit445e9e20aa6db377236a05d5ab034b2d766d7f2a (patch)
tree220435dc2e1838270adebe1383da48b263686942 /src/devices/cpu/romp
parent671434f7dac6a38a54a41417a994b7b8f47f6b49 (diff)
Interrupt callback rationalization
- Make CPUs pass interrupt return PC as a second argument to standard_irq_callback - Add interrupt return PC to "Stopped at interrupt" message produced by debugger 'gint' command - Add messages to trace logs whenever interrupts are accepted - Attempt to step over interrupt routines for applicable debugger commands - Eliminate standard_irq_callback_member wrapper method - Update many CPU cores to invoke standard_irq_callback at the start of or during interrupt processing, rather than at the end or when the input line changes - Remove IRQ callbacks for some input lines that never cause interrupts - mb88xx, mcs48: Add IRQ callbacks for internal interrupts
Diffstat (limited to 'src/devices/cpu/romp')
-rw-r--r--src/devices/cpu/romp/romp.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/devices/cpu/romp/romp.cpp b/src/devices/cpu/romp/romp.cpp
index 6057c7621d4..c46c7b29f2d 100644
--- a/src/devices/cpu/romp/romp.cpp
+++ b/src/devices/cpu/romp/romp.cpp
@@ -1004,12 +1004,7 @@ void romp_device::execute_set_input(int irqline, int state)
default:
// interrupt lines are active low
if (!state)
- {
m_reqi |= 1U << irqline;
-
- // enable debugger interrupt breakpoints
- standard_irq_callback(irqline);
- }
else
m_reqi &= ~(1U << irqline);
break;
@@ -1111,6 +1106,9 @@ void romp_device::interrupt_check()
{
if (BIT(m_reqi, irl) || BIT(m_scr[IRB], 15 - irl))
{
+ // enable debugger interrupt breakpoints
+ standard_irq_callback(irl, m_scr[IAR]);
+
LOGMASKED(LOG_INTERRUPT, "interrupt_check taking interrupt request level %d\n", irl);
interrupt_enter(irl, m_scr[IAR]);