summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/tms9901.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/tms9901.cpp')
-rw-r--r--src/devices/machine/tms9901.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/devices/machine/tms9901.cpp b/src/devices/machine/tms9901.cpp
index 7f85114128a..bb7148a91a6 100644
--- a/src/devices/machine/tms9901.cpp
+++ b/src/devices/machine/tms9901.cpp
@@ -188,11 +188,18 @@ void tms9901_device::prioritize_interrupts()
// Skip the rightmost bit
uint16_t masked_ints = m_int_line;
- // Do we have a timer interrupt?
- if (m_clock_register != 0 && m_timer_int_pending)
+ // Is the clock enabled?
+ if (m_clock_register != 0)
{
- masked_ints |= (1<<INT3);
- LOGMASKED(LOG_INT, "INT3 (timer) asserted\n");
+ // Disable the actual INT3* input
+ masked_ints &= ~(1<<INT3);
+
+ // Do we have a clock interrupt?
+ if (m_timer_int_pending)
+ {
+ masked_ints |= (1<<INT3);
+ LOGMASKED(LOG_INT, "INT3 (timer) asserted\n");
+ }
}
m_int_level = 1;