Astrocade: Fix MT #6281

Initialize interrupt line register with 0xff (prevents initial bogus
interrupts) and clear active interrupts when an interrupt related
register is written (tests would be good to confirm how this works on
real hardware).  [Dirk Best]
This commit is contained in:
Dirk Best 2016-07-16 20:00:13 +02:00
parent df60b8d95a
commit 0291423b06
2 changed files with 5 additions and 1 deletions

View File

@ -57,7 +57,8 @@ public:
m_p3_knob(*this, "P3_KNOB"),
m_p4_knob(*this, "P4_KNOB"),
m_trackball(*this, trackball_inputs),
m_joystick(*this, joystick_inputs)
m_joystick(*this, joystick_inputs),
m_interrupt_scanline(0xff)
{ }
required_device<cpu_device> m_maincpu;

View File

@ -584,14 +584,17 @@ WRITE8_MEMBER(astrocde_state::astrocade_data_chip_register_w)
case 0x0d: /* interrupt feedback */
m_interrupt_vector = data;
m_maincpu->set_input_line(0, CLEAR_LINE);
break;
case 0x0e: /* interrupt enable and mode */
m_interrupt_enabl = data;
m_maincpu->set_input_line(0, CLEAR_LINE);
break;
case 0x0f: /* interrupt line */
m_interrupt_scanline = data;
m_maincpu->set_input_line(0, CLEAR_LINE);
break;
case 0x10: /* master oscillator register */