summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author R. Belmont <rb6502@users.noreply.github.com>2018-04-19 11:44:03 -0400
committer GitHub <noreply@github.com>2018-04-19 11:44:03 -0400
commitb9ba888fd99376936805edbf51909b4cccbb2433 (patch)
tree5cf89cdc9861cc7213d9e20fc3752a14afe12080
parent77c9818b34be9de02c84d55e2f623200c3db8f42 (diff)
parent563aa1ea39d8821c6d1e17a80c20a6cdb355b83c (diff)
Merge pull request #3459 from cam900/asuka_clean
asuka.cpp : Cleanups, Reduce duplicates/runtime tag lookup, Fix notes
-rw-r--r--src/mame/drivers/asuka.cpp20
-rw-r--r--src/mame/includes/asuka.h30
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<tc0220ioc_device> m_tc0220ioc;
optional_device<timer_device> m_cchip_irq_clear;
+
+ required_memory_bank m_audiobank;
};
#endif // MAME_INCLUDES_ASUKA_H