From 563aa1ea39d8821c6d1e17a80c20a6cdb355b83c Mon Sep 17 00:00:00 2001 From: cam900 Date: Sun, 15 Apr 2018 00:04:02 +0900 Subject: asuka.cpp : Cleanups, Reduce duplicates/runtime tag lookup --- src/mame/drivers/asuka.cpp | 20 +++++++------------- src/mame/includes/asuka.h | 30 ++++++++++++++++-------------- 2 files changed, 23 insertions(+), 27 deletions(-) diff --git a/src/mame/drivers/asuka.cpp b/src/mame/drivers/asuka.cpp index a322a657693..8bacf2b22d0 100644 --- a/src/mame/drivers/asuka.cpp +++ b/src/mame/drivers/asuka.cpp @@ -38,7 +38,7 @@ The other games seem identical but Eto is slightly different. 0x400000 - 0x40000f : input ports and dipswitches 0x3a0000 - 0x3a0003 : sprite control 0x3e0000 - 0x3e0003 : communication with sound CPU -0xc00000 - 0xc2000f : TC0100SCN (see taitoic.c) +0xc00000 - 0xc2000f : TC0100SCN (see video/tc0100scn.cpp) 0xd00000 - 0xd007ff : sprite RAM @@ -261,15 +261,9 @@ INTERRUPT_GEN_MEMBER(asuka_state::cadash_interrupt) WRITE8_MEMBER(asuka_state::sound_bankswitch_w) { - membank("audiobank")->set_entry(data & 0x03); + m_audiobank->set_entry(data & 0x03); } -WRITE8_MEMBER(asuka_state::sound_bankswitch_2151_w) -{ - membank("audiobank")->set_entry(data & 0x03); -} - - WRITE_LINE_MEMBER(asuka_state::asuka_msm5205_vck) { @@ -798,7 +792,7 @@ GFXDECODE_END void asuka_state::machine_start() { /* configure the banks */ - membank("audiobank")->configure_entries(0, 4, memregion("audiocpu")->base(), 0x04000); + m_audiobank->configure_entries(0, 4, memregion("audiocpu")->base(), 0x04000); save_item(NAME(m_adpcm_pos)); save_item(NAME(m_adpcm_ff)); @@ -961,7 +955,7 @@ MACHINE_CONFIG_START(asuka_state::asuka) MCFG_YM2151_ADD("ymsnd", XTAL(16'000'000)/4) /* verified on pcb */ MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_YM2151_PORT_WRITE_HANDLER(WRITE8(asuka_state,sound_bankswitch_2151_w)) + MCFG_YM2151_PORT_WRITE_HANDLER(MEMBANK("audiobank")) MCFG_DEVCB_MASK(0x03) MCFG_SOUND_ROUTE(0, "mono", 0.50) MCFG_SOUND_ROUTE(1, "mono", 0.50) @@ -1037,7 +1031,7 @@ MACHINE_CONFIG_START(asuka_state::cadash) MCFG_YM2151_ADD("ymsnd", XTAL(8'000'000)/2) /* verified on pcb */ MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_YM2151_PORT_WRITE_HANDLER(WRITE8(asuka_state,sound_bankswitch_2151_w)) + MCFG_YM2151_PORT_WRITE_HANDLER(MEMBANK("audiobank")) MCFG_DEVCB_MASK(0x03) MCFG_SOUND_ROUTE(0, "mono", 0.50) MCFG_SOUND_ROUTE(1, "mono", 0.50) @@ -1100,7 +1094,7 @@ MACHINE_CONFIG_START(asuka_state::mofflott) MCFG_YM2151_ADD("ymsnd", 4000000) MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_YM2151_PORT_WRITE_HANDLER(WRITE8(asuka_state,sound_bankswitch_2151_w)) + MCFG_YM2151_PORT_WRITE_HANDLER(MEMBANK("audiobank")) MCFG_DEVCB_MASK(0x03) MCFG_SOUND_ROUTE(0, "mono", 0.50) MCFG_SOUND_ROUTE(1, "mono", 0.50) @@ -1171,7 +1165,7 @@ MACHINE_CONFIG_START(asuka_state::eto) MCFG_YM2151_ADD("ymsnd", 4000000) MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_YM2151_PORT_WRITE_HANDLER(WRITE8(asuka_state,sound_bankswitch_2151_w)) + MCFG_YM2151_PORT_WRITE_HANDLER(MEMBANK("audiobank")) MCFG_DEVCB_MASK(0x03) MCFG_SOUND_ROUTE(0, "mono", 0.50) MCFG_SOUND_ROUTE(1, "mono", 0.50) diff --git a/src/mame/includes/asuka.h b/src/mame/includes/asuka.h index c07ec411923..556d34ec6a3 100644 --- a/src/mame/includes/asuka.h +++ b/src/mame/includes/asuka.h @@ -32,19 +32,20 @@ public: }; asuka_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag), - m_cadash_shared_ram(*this, "sharedram"), - m_maincpu(*this, "maincpu"), - m_audiocpu(*this, "audiocpu"), - m_cchip(*this, "cchip"), - m_msm(*this, "msm"), - m_adpcm_select(*this, "adpcm_select"), - m_sound_data(*this, "ymsnd"), - m_pc090oj(*this, "pc090oj"), - m_tc0100scn(*this, "tc0100scn"), - m_tc0110pcr(*this, "tc0110pcr"), - m_tc0220ioc(*this, "tc0220ioc"), - m_cchip_irq_clear(*this, "cchip_irq_clear") + : driver_device(mconfig, type, tag) + , m_cadash_shared_ram(*this, "sharedram") + , m_maincpu(*this, "maincpu") + , m_audiocpu(*this, "audiocpu") + , m_cchip(*this, "cchip") + , m_msm(*this, "msm") + , m_adpcm_select(*this, "adpcm_select") + , m_sound_data(*this, "ymsnd") + , m_pc090oj(*this, "pc090oj") + , m_tc0100scn(*this, "tc0100scn") + , m_tc0110pcr(*this, "tc0110pcr") + , m_tc0220ioc(*this, "tc0220ioc") + , m_cchip_irq_clear(*this, "cchip_irq_clear") + , m_audiobank(*this, "audiobank") { } DECLARE_WRITE8_MEMBER(coin_control_w); @@ -53,7 +54,6 @@ public: DECLARE_READ16_MEMBER(cadash_share_r); DECLARE_WRITE16_MEMBER(cadash_share_w); DECLARE_WRITE16_MEMBER(asuka_spritectrl_w); - DECLARE_WRITE8_MEMBER(sound_bankswitch_2151_w); DECLARE_WRITE8_MEMBER(asuka_msm5205_start_w); DECLARE_WRITE8_MEMBER(asuka_msm5205_stop_w); DECLARE_WRITE8_MEMBER(counters_w); @@ -111,6 +111,8 @@ protected: optional_device m_tc0220ioc; optional_device m_cchip_irq_clear; + + required_memory_bank m_audiobank; }; #endif // MAME_INCLUDES_ASUKA_H -- cgit v1.2.3