diff options
| author | 2012-06-28 17:29:44 +0000 | |
|---|---|---|
| committer | 2012-06-28 17:29:44 +0000 | |
| commit | fccd495eb3c4d266095d64761916c78c1ee2107e (patch) | |
| tree | 8ba78630bfe2ec110959c97f6d9f870f69aaa1aa /src | |
| parent | 28c8aa3851d522fc22c85887d6325813d2565190 (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.c | 5 |
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); |
