summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Michael Zapf <michael.zapf@mizapf.de>2012-06-28 17:29:44 +0000
committer Michael Zapf <michael.zapf@mizapf.de>2012-06-28 17:29:44 +0000
commitfccd495eb3c4d266095d64761916c78c1ee2107e (patch)
tree8ba78630bfe2ec110959c97f6d9f870f69aaa1aa /src
parent28c8aa3851d522fc22c85887d6325813d2565190 (diff)
Fixed some issues with the LOAD interrupt (NMI) and an uninitialized variable [Michael Zapf] (nw)
Diffstat (limited to 'src')
-rw-r--r--src/emu/cpu/tms9900/tms9900.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/emu/cpu/tms9900/tms9900.c b/src/emu/cpu/tms9900/tms9900.c
index 86c724c2f96..498e03ae402 100644
--- a/src/emu/cpu/tms9900/tms9900.c
+++ b/src/emu/cpu/tms9900/tms9900.c
@@ -192,6 +192,8 @@ void tms99xx_device::device_start()
state_add(STATE_GENFLAGS, "status", m_state_any).callimport().callexport().formatstr("%16s").noshow();
build_command_lookup_table();
+
+ m_program = NULL;
}
void tms99xx_device::device_stop()
@@ -1079,6 +1081,8 @@ void tms99xx_device::execute_run()
if (m_load_state)
{
if (VERBOSE>4) LOG("tms99xx: LOAD interrupt\n");
+ m_irq_level = LOAD_INT;
+ m_irq_state = false;
service_interrupt();
}
else
@@ -2515,7 +2519,6 @@ void tms99xx_device::alu_int()
break;
case 5:
PC = m_current_value & m_prgaddr_mask;
- m_irq_level = get_intlevel(ASSERT_LINE);
if (m_irq_level > 0 )
{
ST = (ST & 0xfff0) | (m_irq_level - 1);