summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/moo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/moo.cpp')
-rw-r--r--src/mame/drivers/moo.cpp38
1 files changed, 4 insertions, 34 deletions
diff --git a/src/mame/drivers/moo.cpp b/src/mame/drivers/moo.cpp
index 117c3c337bc..ce51b8137b0 100644
--- a/src/mame/drivers/moo.cpp
+++ b/src/mame/drivers/moo.cpp
@@ -221,31 +221,11 @@ INTERRUPT_GEN_MEMBER(moo_state::moobl_interrupt)
device.execute().set_input_line(5, HOLD_LINE);
}
-WRITE16_MEMBER(moo_state::sound_cmd1_w)
-{
- if ((data & 0x00ff0000) == 0)
- {
- data &= 0xff;
- m_soundlatch->write(space, 0, data);
- }
-}
-
-WRITE16_MEMBER(moo_state::sound_cmd2_w)
-{
- if ((data & 0x00ff0000) == 0)
- m_soundlatch2->write(space, 0, data & 0xff);
-}
-
WRITE16_MEMBER(moo_state::sound_irq_w)
{
m_soundcpu->set_input_line(0, HOLD_LINE);
}
-READ16_MEMBER(moo_state::sound_status_r)
-{
- return m_soundlatch3->read(space, 0);
-}
-
WRITE8_MEMBER(moo_state::sound_bankswitch_w)
{
membank("bank1")->set_base(memregion("soundcpu")->base() + 0x10000 + (data&0xf)*0x4000);
@@ -330,10 +310,7 @@ static ADDRESS_MAP_START( moo_map, AS_PROGRAM, 16, moo_state )
AM_RANGE(0x0ce000, 0x0ce01f) AM_WRITE(moo_prot_w)
AM_RANGE(0x0d0000, 0x0d001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) /* CCU regs (ignored) */
AM_RANGE(0x0d4000, 0x0d4001) AM_WRITE(sound_irq_w)
- AM_RANGE(0x0d600c, 0x0d600d) AM_WRITE(sound_cmd1_w)
- AM_RANGE(0x0d600e, 0x0d600f) AM_WRITE(sound_cmd2_w)
- AM_RANGE(0x0d6014, 0x0d6015) AM_READ(sound_status_r)
- AM_RANGE(0x0d6000, 0x0d601f) AM_RAM /* sound regs fall through */
+ AM_RANGE(0x0d6000, 0x0d601f) AM_DEVICE8("k054321", k054321_device, main_map, 0x00ff)
AM_RANGE(0x0d8000, 0x0d8007) AM_DEVWRITE("k056832", k056832_device, b_word_w) /* VSCCS regs */
AM_RANGE(0x0da000, 0x0da001) AM_READ_PORT("P1_P3")
AM_RANGE(0x0da002, 0x0da003) AM_READ_PORT("P2_P4")
@@ -396,10 +373,7 @@ static ADDRESS_MAP_START( bucky_map, AS_PROGRAM, 16, moo_state )
AM_RANGE(0x0d0000, 0x0d001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) /* CCU regs (ignored) */
AM_RANGE(0x0d2000, 0x0d20ff) AM_DEVREADWRITE("k054000", k054000_device, lsb_r, lsb_w)
AM_RANGE(0x0d4000, 0x0d4001) AM_WRITE(sound_irq_w)
- AM_RANGE(0x0d600c, 0x0d600d) AM_WRITE(sound_cmd1_w)
- AM_RANGE(0x0d600e, 0x0d600f) AM_WRITE(sound_cmd2_w)
- AM_RANGE(0x0d6014, 0x0d6015) AM_READ(sound_status_r)
- AM_RANGE(0x0d6000, 0x0d601f) AM_RAM /* sound regs fall through */
+ AM_RANGE(0x0d6000, 0x0d601f) AM_DEVICE8("k054321", k054321_device, main_map, 0x00ff)
AM_RANGE(0x0d8000, 0x0d8007) AM_DEVWRITE("k056832", k056832_device, b_word_w) /* VSCCS regs */
AM_RANGE(0x0da000, 0x0da001) AM_READ_PORT("P1_P3")
AM_RANGE(0x0da002, 0x0da003) AM_READ_PORT("P2_P4")
@@ -427,9 +401,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, moo_state )
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe22f) AM_DEVREADWRITE("k054539", k054539_device, read, write)
AM_RANGE(0xec00, 0xec01) AM_DEVREADWRITE("ymsnd", ym2151_device,read,write)
- AM_RANGE(0xf000, 0xf000) AM_DEVWRITE("soundlatch3", generic_latch_8_device, write)
- AM_RANGE(0xf002, 0xf002) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
- AM_RANGE(0xf003, 0xf003) AM_DEVREAD("soundlatch2", generic_latch_8_device, read)
+ AM_RANGE(0xf000, 0xf003) AM_DEVICE("k054321", k054321_device, sound_map)
AM_RANGE(0xf800, 0xf800) AM_WRITE(sound_bankswitch_w)
ADDRESS_MAP_END
@@ -569,9 +541,7 @@ static MACHINE_CONFIG_START( moo, moo_state )
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
- MCFG_GENERIC_LATCH_8_ADD("soundlatch")
- MCFG_GENERIC_LATCH_8_ADD("soundlatch2")
- MCFG_GENERIC_LATCH_8_ADD("soundlatch3")
+ MCFG_K054321_ADD("k054321", ":lspeaker", ":rspeaker")
MCFG_YM2151_ADD("ymsnd", XTAL_32MHz/8) // 4MHz verified
MCFG_SOUND_ROUTE(0, "lspeaker", 0.50)