From c65da9b69de1ab50cb2ba76a582b70fd9e32f9dc Mon Sep 17 00:00:00 2001 From: "Andrei I. Holub" Date: Thu, 21 May 2026 15:08:42 -0400 Subject: [PATCH] Allowed 'Run to Next Interrupt on this CPU' not just for standard_irq but daisy as well --- src/devices/cpu/z80/z80.lst | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/devices/cpu/z80/z80.lst b/src/devices/cpu/z80/z80.lst index 05f8592cb..63651bdd3 100644 --- a/src/devices/cpu/z80/z80.lst +++ b/src/devices/cpu/z80/z80.lst @@ -920,7 +920,13 @@ macro irqfetch { // fetch the IRQ vector device_z80daisy_interface *intf = daisy_get_irq_device(); - m_tmp_irq_vector = (intf != nullptr) ? intf->z80daisy_irq_ack() : standard_irq_callback(0, m_pc.w); + if (intf != nullptr) { + m_tmp_irq_vector = intf->z80daisy_irq_ack(); + if (debugger_enabled()) + device_execute_interface::device().debug()->interrupt_hook(0, m_pc.w); + } else { + m_tmp_irq_vector = standard_irq_callback(0, m_pc.w); + } LOGMASKED(LOG_INT, "single INT m_tmp_irq_vector $%02x\n", m_tmp_irq_vector); } @@ -929,7 +935,13 @@ macro t6a84:irqfetch // fetch the IRQ vector paged_irqfetch(); device_z80daisy_interface *intf = daisy_get_irq_device(); - m_tmp_irq_vector = (intf != nullptr) ? intf->z80daisy_irq_ack() : standard_irq_callback(0, m_pc.w); + if (intf != nullptr) { + m_tmp_irq_vector = intf->z80daisy_irq_ack(); + if (debugger_enabled()) + device_execute_interface::device().debug()->interrupt_hook(0, m_pc.w); + } else { + m_tmp_irq_vector = standard_irq_callback(0, m_pc.w); + } LOGMASKED(LOG_INT, "single INT m_tmp_irq_vector $%02x\n", m_tmp_irq_vector); }