From 7f62c836be9496268e1fd2e25cee578653fb3caf Mon Sep 17 00:00:00 2001 From: AJR Date: Tue, 6 Jun 2023 23:21:28 -0400 Subject: z80scc.cpp: Reset Highest IUS command is available on NMOS versions too according to manuals --- src/devices/machine/z80scc.cpp | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/src/devices/machine/z80scc.cpp b/src/devices/machine/z80scc.cpp index 3af75602f2f..4a033c6b5c7 100644 --- a/src/devices/machine/z80scc.cpp +++ b/src/devices/machine/z80scc.cpp @@ -1799,24 +1799,17 @@ void z80scc_channel::do_sccreg_wr0(uint8_t data) priority conditions to request interrupts. This command allows the use of the internal daisy chain (even in systems without an external daisy chain) and is the last operation in an interrupt service routine. */ - if (m_uart->m_variant & z80scc_device::SET_NMOS) - { - logerror("WR0_RESET_HIGHEST_IUS command not supported on NMOS\n"); - } - else + LOGCMD("Reset Highest IUS\n"); + // loop over all interrupt sources + for (auto & elem : m_uart->m_int_state) { - LOGCMD("Reset Highest IUS\n"); - // loop over all interrupt sources - for (auto & elem : m_uart->m_int_state) + // find the first interrupt under service + if (elem & Z80_DAISY_IEO) { - // find the first interrupt under service - if (elem & Z80_DAISY_IEO) - { - LOGCMD("- found IUS bit to clear\n"); - elem = 0; // Clear IUS bit (called IEO in z80 daisy lingo) - m_uart->check_interrupts(); - break; - } + LOGCMD("- found IUS bit to clear\n"); + elem = 0; // Clear IUS bit (called IEO in z80 daisy lingo) + m_uart->check_interrupts(); + break; } } break; -- cgit v1.2.3