diff options
Diffstat (limited to 'src/mame/drivers/moo.cpp')
-rw-r--r-- | src/mame/drivers/moo.cpp | 38 |
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) |