diff options
author | AJR <ajrhacker@users.noreply.github.com> | 2018-04-09 00:24:56 -0400 |
---|---|---|
committer | AJR <ajrhacker@users.noreply.github.com> | 2018-04-09 00:24:56 -0400 |
commit | 1f6c67fc851e73990ed6bf29057c691fb75a4401 (patch) | |
tree | 21f4fb5fe62a99235f193f9b9b654b7c2ebe7b2e | |
parent | 1763d958814f44ebe4f82c7a6cafe1ead1ca0de4 (diff) |
contra.cpp: Acknowledge sound IRQ (nw)
-rw-r--r-- | src/mame/drivers/contra.cpp | 14 | ||||
-rw-r--r-- | src/mame/includes/contra.h | 2 |
2 files changed, 14 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 */ diff --git a/src/mame/includes/contra.h b/src/mame/includes/contra.h index 3c508fd600b..171e0b2c880 100644 --- a/src/mame/includes/contra.h +++ b/src/mame/includes/contra.h @@ -54,6 +54,7 @@ public: required_device<k007121_device> m_k007121_2; DECLARE_WRITE8_MEMBER(contra_bankswitch_w); DECLARE_WRITE8_MEMBER(contra_sh_irqtrigger_w); + DECLARE_WRITE8_MEMBER(sirq_clear_w); DECLARE_WRITE8_MEMBER(contra_coin_counter_w); DECLARE_WRITE8_MEMBER(contra_fg_vram_w); DECLARE_WRITE8_MEMBER(contra_fg_cram_w); @@ -67,6 +68,7 @@ public: TILE_GET_INFO_MEMBER(get_bg_tile_info); TILE_GET_INFO_MEMBER(get_tx_tile_info); virtual void machine_start() override; + virtual void machine_reset() override; virtual void video_start() override; DECLARE_PALETTE_INIT(contra); uint32_t screen_update_contra(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |