diff options
Diffstat (limited to 'src/mame/drivers/contra.cpp')
-rw-r--r-- | src/mame/drivers/contra.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/mame/drivers/contra.cpp b/src/mame/drivers/contra.cpp index 5e1e9ca9041..db2579ed9f2 100644 --- a/src/mame/drivers/contra.cpp +++ b/src/mame/drivers/contra.cpp @@ -42,7 +42,12 @@ WRITE8_MEMBER(contra_state::contra_bankswitch_w) WRITE8_MEMBER(contra_state::contra_sh_irqtrigger_w) { - m_audiocpu->set_input_line(M6809_IRQ_LINE, HOLD_LINE); + m_audiocpu->set_input_line(M6809_IRQ_LINE, ASSERT_LINE); +} + +WRITE8_MEMBER(contra_state::sirq_clear_w) +{ + m_audiocpu->set_input_line(M6809_IRQ_LINE, CLEAR_LINE); } WRITE8_MEMBER(contra_state::contra_coin_counter_w) @@ -97,7 +102,7 @@ void contra_state::sound_map(address_map &map) { map(0x0000, 0x0000).r("soundlatch", FUNC(generic_latch_8_device::read)); map(0x2000, 0x2001).rw("ymsnd", FUNC(ym2151_device::read), FUNC(ym2151_device::write)); - map(0x4000, 0x4000).nopw(); /* read triggers irq reset and latch read (in the hardware only). */ + map(0x4000, 0x4000).w(this, FUNC(contra_state::sirq_clear_w)); /* read triggers irq reset and latch read (in the hardware only). */ map(0x6000, 0x67ff).ram(); map(0x8000, 0xffff).rom(); } @@ -196,6 +201,11 @@ void contra_state::machine_start() membank("bank1")->configure_entries(0, 16, &ROM[0x10000], 0x2000); } +void contra_state::machine_reset() +{ + m_audiocpu->set_input_line(M6809_IRQ_LINE, CLEAR_LINE); +} + MACHINE_CONFIG_START(contra_state::contra) /* basic machine hardware */ |