diff options
author | Ivan Vangelista <mesgnet@yahoo.it> | 2018-11-18 08:55:46 +0100 |
---|---|---|
committer | Ivan Vangelista <mesgnet@yahoo.it> | 2018-11-18 08:55:46 +0100 |
commit | 8d029da480431d6042e6f49f7088f6696d05dd4d (patch) | |
tree | 85a46f6e2b2bd9f378dc734d21a8110858b9fff2 /src/mame | |
parent | d8420e2c8f3babc90c0be99b8638b9e518317a55 (diff) |
ym2151: removed MCFG macros (nw)
Diffstat (limited to 'src/mame')
136 files changed, 653 insertions, 788 deletions
diff --git a/src/mame/audio/atarijsa.cpp b/src/mame/audio/atarijsa.cpp index aa93f8ef1ee..7ba889a9df1 100644 --- a/src/mame/audio/atarijsa.cpp +++ b/src/mame/audio/atarijsa.cpp @@ -2,7 +2,7 @@ // copyright-holders:Aaron Giles /*************************************************************************** - atarijsa.c + atarijsa.cpp Functions to emulate the Atari "JSA" audio boards @@ -98,13 +98,13 @@ DEFINE_DEVICE_TYPE(ATARI_JSA_IIIS, atari_jsa_iiis_device, "atjsa3s", "Atari JSA void atari_jsa_i_device::atarijsa1_map(address_map &map) { map(0x0000, 0x1fff).ram(); - map(0x2000, 0x2001).rw("ym2151", FUNC(ym2151_device::read), FUNC(ym2151_device::write)); + map(0x2000, 0x2001).rw(m_ym2151, FUNC(ym2151_device::read), FUNC(ym2151_device::write)); map(0x2800, 0x2800).mirror(0x01f9); // N/C - map(0x2802, 0x2802).mirror(0x01f9).r("soundcomm", FUNC(atari_sound_comm_device::sound_command_r)); // /RDP + map(0x2802, 0x2802).mirror(0x01f9).r(m_soundcomm, FUNC(atari_sound_comm_device::sound_command_r)); // /RDP map(0x2804, 0x2804).mirror(0x01f9).r(FUNC(atari_jsa_i_device::rdio_r)); // /RDIO - map(0x2806, 0x2806).mirror(0x01f9).rw("soundcomm", FUNC(atari_sound_comm_device::sound_irq_ack_r), FUNC(atari_sound_comm_device::sound_irq_ack_w)); // R/W=/IRQACK + map(0x2806, 0x2806).mirror(0x01f9).rw(m_soundcomm, FUNC(atari_sound_comm_device::sound_irq_ack_r), FUNC(atari_sound_comm_device::sound_irq_ack_w)); // R/W=/IRQACK map(0x2a00, 0x2a00).mirror(0x01f9).w(FUNC(atari_jsa_i_device::tms5220_voice)); // /VOICE - map(0x2a02, 0x2a02).mirror(0x01f9).w("soundcomm", FUNC(atari_sound_comm_device::sound_response_w)); // /WRP + map(0x2a02, 0x2a02).mirror(0x01f9).w(m_soundcomm, FUNC(atari_sound_comm_device::sound_response_w)); // /WRP map(0x2a04, 0x2a04).mirror(0x01f9).w(FUNC(atari_jsa_i_device::wrio_w)); // /WRIO map(0x2a06, 0x2a06).mirror(0x01f9).w(FUNC(atari_jsa_i_device::mix_w)); // /MIX map(0x2c00, 0x2c0f).mirror(0x03f0).rw(FUNC(atari_jsa_i_device::pokey_r), FUNC(atari_jsa_i_device::pokey_w)); @@ -116,13 +116,13 @@ void atari_jsa_i_device::atarijsa1_map(address_map &map) void atari_jsa_ii_device::atarijsa2_map(address_map &map) { map(0x0000, 0x1fff).ram(); - map(0x2000, 0x2001).rw("ym2151", FUNC(ym2151_device::read), FUNC(ym2151_device::write)); + map(0x2000, 0x2001).rw(m_ym2151, FUNC(ym2151_device::read), FUNC(ym2151_device::write)); map(0x2800, 0x2800).mirror(0x01f9).r(FUNC(atari_jsa_ii_device::oki_r)); // /RDV - map(0x2802, 0x2802).mirror(0x01f9).r("soundcomm", FUNC(atari_sound_comm_device::sound_command_r)); // /RDP + map(0x2802, 0x2802).mirror(0x01f9).r(m_soundcomm, FUNC(atari_sound_comm_device::sound_command_r)); // /RDP map(0x2804, 0x2804).mirror(0x01f9).r(FUNC(atari_jsa_ii_device::rdio_r)); // /RDIO - map(0x2806, 0x2806).mirror(0x01f9).rw("soundcomm", FUNC(atari_sound_comm_device::sound_irq_ack_r), FUNC(atari_sound_comm_device::sound_irq_ack_w)); // R/W=/IRQACK + map(0x2806, 0x2806).mirror(0x01f9).rw(m_soundcomm, FUNC(atari_sound_comm_device::sound_irq_ack_r), FUNC(atari_sound_comm_device::sound_irq_ack_w)); // R/W=/IRQACK map(0x2a00, 0x2a00).mirror(0x01f9).w(FUNC(atari_jsa_ii_device::oki_w)); // /WRV - map(0x2a02, 0x2a02).mirror(0x01f9).w("soundcomm", FUNC(atari_sound_comm_device::sound_response_w)); // /WRP + map(0x2a02, 0x2a02).mirror(0x01f9).w(m_soundcomm, FUNC(atari_sound_comm_device::sound_response_w)); // /WRP map(0x2a04, 0x2a04).mirror(0x01f9).w(FUNC(atari_jsa_ii_device::wrio_w)); // /WRIO map(0x2a06, 0x2a06).mirror(0x01f9).w(FUNC(atari_jsa_ii_device::mix_w)); // /MIX map(0x3000, 0x3fff).bankr("cpubank"); @@ -134,13 +134,13 @@ void atari_jsa_ii_device::atarijsa2_map(address_map &map) void atari_jsa_iii_device::atarijsa3_map(address_map &map) { map(0x0000, 0x1fff).ram(); - map(0x2000, 0x2001).mirror(0x07fe).rw("ym2151", FUNC(ym2151_device::read), FUNC(ym2151_device::write)); + map(0x2000, 0x2001).mirror(0x07fe).rw(m_ym2151, FUNC(ym2151_device::read), FUNC(ym2151_device::write)); map(0x2800, 0x2801).mirror(0x05f8).rw(FUNC(atari_jsa_iii_device::oki_r), FUNC(atari_jsa_iii_device::overall_volume_w)); // /RDV - map(0x2802, 0x2802).mirror(0x05f9).r("soundcomm", FUNC(atari_sound_comm_device::sound_command_r)); // /RDP + map(0x2802, 0x2802).mirror(0x05f9).r(m_soundcomm, FUNC(atari_sound_comm_device::sound_command_r)); // /RDP map(0x2804, 0x2804).mirror(0x05f9).r(FUNC(atari_jsa_iii_device::rdio_r)); // /RDIO - map(0x2806, 0x2806).mirror(0x05f9).rw("soundcomm", FUNC(atari_sound_comm_device::sound_irq_ack_r), FUNC(atari_sound_comm_device::sound_irq_ack_w)); // R/W=/IRQACK + map(0x2806, 0x2806).mirror(0x05f9).rw(m_soundcomm, FUNC(atari_sound_comm_device::sound_irq_ack_r), FUNC(atari_sound_comm_device::sound_irq_ack_w)); // R/W=/IRQACK map(0x2a00, 0x2a01).mirror(0x05f8).w(FUNC(atari_jsa_iii_device::oki_w)); // /WRV - map(0x2a02, 0x2a02).mirror(0x05f9).w("soundcomm", FUNC(atari_sound_comm_device::sound_response_w)); // /WRP + map(0x2a02, 0x2a02).mirror(0x05f9).w(m_soundcomm, FUNC(atari_sound_comm_device::sound_response_w)); // /WRP map(0x2a04, 0x2a04).mirror(0x05f9).w(FUNC(atari_jsa_iii_device::wrio_w)); // /WRIO map(0x2a06, 0x2a06).mirror(0x05f9).w(FUNC(atari_jsa_iii_device::mix_w)); // /MIX map(0x3000, 0x3fff).bankr("cpubank"); @@ -706,14 +706,14 @@ MACHINE_CONFIG_START(atari_jsa_i_device::device_add_mconfig) MCFG_DEVICE_PERIODIC_INT_DEVICE("soundcomm", atari_sound_comm_device, sound_irq_gen, JSA_MASTER_CLOCK/4/16/16/14) // sound hardware - ATARI_SOUND_COMM(config, "soundcomm", "cpu") + ATARI_SOUND_COMM(config, m_soundcomm, "cpu") .int_callback().set(FUNC(atari_jsa_base_device::main_int_write_line)); - MCFG_DEVICE_ADD("ym2151", YM2151, JSA_MASTER_CLOCK) - MCFG_YM2151_IRQ_HANDLER(WRITELINE("soundcomm", atari_sound_comm_device, ym2151_irq_gen)) - MCFG_YM2151_PORT_WRITE_HANDLER(WRITE8(*this, atari_jsa_base_device, ym2151_port_w)) - MCFG_MIXER_ROUTE(0, *this, 0.60, 0) - MCFG_MIXER_ROUTE(1, *this, 0.60, 1) + YM2151(config, m_ym2151, JSA_MASTER_CLOCK); + m_ym2151->irq_handler().set(m_soundcomm, FUNC(atari_sound_comm_device::ym2151_irq_gen)); + m_ym2151->port_write_handler().set(FUNC(atari_jsa_base_device::ym2151_port_w)); + m_ym2151->add_route(0, *this, 0.60, AUTO_ALLOC_INPUT, 0); + m_ym2151->add_route(1, *this, 0.60, AUTO_ALLOC_INPUT, 1); MCFG_DEVICE_ADD("pokey", POKEY, JSA_MASTER_CLOCK/2) MCFG_MIXER_ROUTE(ALL_OUTPUTS, *this, 0.40, 0) @@ -837,13 +837,13 @@ MACHINE_CONFIG_START(atari_jsa_ii_device::device_add_mconfig) MCFG_DEVICE_PERIODIC_INT_DEVICE("soundcomm", atari_sound_comm_device, sound_irq_gen, JSA_MASTER_CLOCK/4/16/16/14) // sound hardware - ATARI_SOUND_COMM(config, "soundcomm", "cpu") + ATARI_SOUND_COMM(config, m_soundcomm, "cpu") .int_callback().set(FUNC(atari_jsa_base_device::main_int_write_line)); - MCFG_DEVICE_ADD("ym2151", YM2151, JSA_MASTER_CLOCK) - MCFG_YM2151_IRQ_HANDLER(WRITELINE("soundcomm", atari_sound_comm_device, ym2151_irq_gen)) - MCFG_YM2151_PORT_WRITE_HANDLER(WRITE8(*this, atari_jsa_base_device, ym2151_port_w)) - MCFG_MIXER_ROUTE(ALL_OUTPUTS, *this, 0.60, 0) + YM2151(config, m_ym2151, JSA_MASTER_CLOCK); + m_ym2151->irq_handler().set(m_soundcomm, FUNC(atari_sound_comm_device::ym2151_irq_gen)); + m_ym2151->port_write_handler().set(FUNC(atari_jsa_base_device::ym2151_port_w)); + m_ym2151->add_route(ALL_OUTPUTS, *this, 0.60, AUTO_ALLOC_INPUT, 0); MCFG_DEVICE_ADD("oki1", OKIM6295, JSA_MASTER_CLOCK/3, okim6295_device::PIN7_HIGH) MCFG_MIXER_ROUTE(ALL_OUTPUTS, *this, 0.75, 0) @@ -920,13 +920,13 @@ MACHINE_CONFIG_START(atari_jsa_iii_device::device_add_mconfig) MCFG_DEVICE_PERIODIC_INT_DEVICE("soundcomm", atari_sound_comm_device, sound_irq_gen, JSA_MASTER_CLOCK/4/16/16/14) // sound hardware - ATARI_SOUND_COMM(config, "soundcomm", "cpu") + ATARI_SOUND_COMM(config, m_soundcomm, "cpu") .int_callback().set(FUNC(atari_jsa_base_device::main_int_write_line)); - MCFG_DEVICE_ADD("ym2151", YM2151, JSA_MASTER_CLOCK) - MCFG_YM2151_IRQ_HANDLER(WRITELINE("soundcomm", atari_sound_comm_device, ym2151_irq_gen)) - MCFG_YM2151_PORT_WRITE_HANDLER(WRITE8(*this, atari_jsa_base_device, ym2151_port_w)) - MCFG_MIXER_ROUTE(ALL_OUTPUTS, *this, 0.60, 0) + YM2151(config, m_ym2151, JSA_MASTER_CLOCK); + m_ym2151->irq_handler().set(m_soundcomm, FUNC(atari_sound_comm_device::ym2151_irq_gen)); + m_ym2151->port_write_handler().set(FUNC(atari_jsa_base_device::ym2151_port_w)); + m_ym2151->add_route(ALL_OUTPUTS, *this, 0.60, AUTO_ALLOC_INPUT, 0); MCFG_DEVICE_ADD("oki1", OKIM6295, JSA_MASTER_CLOCK/3, okim6295_device::PIN7_HIGH) MCFG_DEVICE_ADDRESS_MAP(0, jsa3_oki1_map) diff --git a/src/mame/audio/leland.cpp b/src/mame/audio/leland.cpp index 8235dbf3eac..218b72d8ce6 100644 --- a/src/mame/audio/leland.cpp +++ b/src/mame/audio/leland.cpp @@ -300,9 +300,9 @@ MACHINE_CONFIG_START(wsf_80186_sound_device::device_add_mconfig) MCFG_SOUND_ROUTE(0, "dac9", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac9", -1.0, DAC_VREF_NEG_INPUT) /* sound hardware */ - MCFG_DEVICE_ADD("ymsnd", YM2151, 4000000) - MCFG_SOUND_ROUTE(0, "speaker", 0.40) - MCFG_SOUND_ROUTE(1, "speaker", 0.40) + YM2151(config, m_ymsnd, 4000000); + m_ymsnd->add_route(0, "speaker", 0.40); + m_ymsnd->add_route(1, "speaker", 0.40); PIT8254(config, m_pit[0], 0); m_pit[0]->set_clk<0>(4000000); diff --git a/src/mame/audio/leland.h b/src/mame/audio/leland.h index bf660b6eeed..322b8cae4a1 100644 --- a/src/mame/audio/leland.h +++ b/src/mame/audio/leland.h @@ -62,6 +62,7 @@ protected: optional_device_array<dac_byte_interface, 8> m_dacvol; optional_device_array<pit8254_device, 3> m_pit; optional_device<i80186_cpu_device> m_audiocpu; + optional_device<ym2151_device> m_ymsnd; void ataxx_80186_map_io(address_map &map); void leland_80186_map_io(address_map &map); @@ -83,7 +84,6 @@ private: uint8_t m_ext_active; uint8_t* m_ext_base; - optional_device<ym2151_device> m_ymsnd; required_device<cpu_device> m_master; }; diff --git a/src/mame/audio/s11c_bg.cpp b/src/mame/audio/s11c_bg.cpp index 71fca2276bc..97053be6b50 100644 --- a/src/mame/audio/s11c_bg.cpp +++ b/src/mame/audio/s11c_bg.cpp @@ -29,7 +29,7 @@ s11c_bg_device::s11c_bg_device(const machine_config &mconfig, const char *tag, d void s11c_bg_device::s11c_bg_map(address_map &map) { map(0x0000, 0x07ff).ram(); - map(0x2000, 0x2001).mirror(0x1ffe).rw("ym2151", FUNC(ym2151_device::read), FUNC(ym2151_device::write)); + map(0x2000, 0x2001).mirror(0x1ffe).rw(m_ym2151, FUNC(ym2151_device::read), FUNC(ym2151_device::write)); map(0x4000, 0x4003).mirror(0x1ffc).rw("pia40", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); map(0x6000, 0x67ff).w(FUNC(s11c_bg_device::bg_speech_digit_w)); map(0x6800, 0x6fff).w(FUNC(s11c_bg_device::bg_speech_clock_w)); @@ -62,9 +62,9 @@ MACHINE_CONFIG_START(s11c_bg_device::device_add_mconfig) MCFG_DEVICE_PROGRAM_MAP(s11c_bg_map) MCFG_QUANTUM_TIME(attotime::from_hz(50)) - MCFG_DEVICE_ADD("ym2151", YM2151, XTAL(3'579'545)) // "3.58 MHz" on schematics and parts list - MCFG_YM2151_IRQ_HANDLER(WRITELINE(*this, s11c_bg_device, ym2151_irq_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, *this, 0.25) + YM2151(config, m_ym2151, XTAL(3'579'545)); // "3.58 MHz" on schematics and parts list + m_ym2151->irq_handler().set(FUNC(s11c_bg_device::ym2151_irq_w)); + m_ym2151->add_route(ALL_OUTPUTS, *this, 0.25); MCFG_DEVICE_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, *this, 0.25) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) @@ -76,7 +76,7 @@ MACHINE_CONFIG_START(s11c_bg_device::device_add_mconfig) PIA6821(config, m_pia40, 0); m_pia40->writepa_handler().set("dac", FUNC(dac_byte_interface::data_w)); m_pia40->writepb_handler().set(FUNC(s11c_bg_device::pia40_pb_w)); - m_pia40->ca2_handler().set("ym2151", FUNC(ym2151_device::reset_w)); + m_pia40->ca2_handler().set(m_ym2151, FUNC(ym2151_device::reset_w)); m_pia40->cb2_handler().set(FUNC(s11c_bg_device::pia40_cb2_w)); m_pia40->irqa_handler().set_inputline("bgcpu", M6809_FIRQ_LINE); m_pia40->irqb_handler().set_inputline("bgcpu", INPUT_LINE_NMI); diff --git a/src/mame/audio/williams.cpp b/src/mame/audio/williams.cpp index c8968b1085a..c94bea20c9a 100644 --- a/src/mame/audio/williams.cpp +++ b/src/mame/audio/williams.cpp @@ -504,9 +504,9 @@ MACHINE_CONFIG_START(williams_narc_sound_device::device_add_mconfig) MCFG_DEVICE_ADD("cpu1", MC6809E, NARC_MASTER_CLOCK / 4) MCFG_DEVICE_PROGRAM_MAP(williams_narc_slave_map) - MCFG_DEVICE_ADD("ym2151", YM2151, NARC_FM_CLOCK) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("cpu0", M6809_FIRQ_LINE)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, *this, 0.10) + ym2151_device &ym2151(YM2151(config, "ym2151", NARC_FM_CLOCK)); + ym2151.irq_handler().set_inputline("cpu0", M6809_FIRQ_LINE); + ym2151.add_route(ALL_OUTPUTS, *this, 0.10); MCFG_DEVICE_ADD("dac1", AD7224, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, *this, 0.25) MCFG_DEVICE_ADD("dac2", AD7224, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, *this, 0.25) @@ -758,9 +758,9 @@ MACHINE_CONFIG_START(williams_adpcm_sound_device::device_add_mconfig) MCFG_DEVICE_ADD("cpu", MC6809E, ADPCM_MASTER_CLOCK / 4) MCFG_DEVICE_PROGRAM_MAP(williams_adpcm_map) - MCFG_DEVICE_ADD("ym2151", YM2151, ADPCM_FM_CLOCK) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("cpu", M6809_FIRQ_LINE)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, *this, 0.10) + ym2151_device &ym2151(YM2151(config, "ym2151", ADPCM_FM_CLOCK)); + ym2151.irq_handler().set_inputline("cpu", M6809_FIRQ_LINE); + ym2151.add_route(ALL_OUTPUTS, *this, 0.10); MCFG_DEVICE_ADD("dac", AD7524, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, *this, 0.10) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) diff --git a/src/mame/audio/wpcsnd.cpp b/src/mame/audio/wpcsnd.cpp index 87d75acd4d5..bb34e560a8d 100644 --- a/src/mame/audio/wpcsnd.cpp +++ b/src/mame/audio/wpcsnd.cpp @@ -35,7 +35,7 @@ void wpcsnd_device::wpcsnd_map(address_map &map) { map(0x0000, 0x1fff).ram(); map(0x2000, 0x2000).mirror(0x03ff).w(FUNC(wpcsnd_device::rombank_w)); - map(0x2400, 0x2401).mirror(0x03fe).rw("ym2151", FUNC(ym2151_device::read), FUNC(ym2151_device::write)); + map(0x2400, 0x2401).mirror(0x03fe).rw(m_ym2151, FUNC(ym2151_device::read), FUNC(ym2151_device::write)); map(0x2800, 0x2800).mirror(0x03ff).w("dac", FUNC(dac_byte_interface::data_w)); map(0x2c00, 0x2fff).w(FUNC(wpcsnd_device::bg_speech_digit_w)); map(0x3000, 0x33ff).r(FUNC(wpcsnd_device::latch_r)); @@ -74,9 +74,9 @@ MACHINE_CONFIG_START(wpcsnd_device::device_add_mconfig) MCFG_DEVICE_PROGRAM_MAP(wpcsnd_map) MCFG_QUANTUM_TIME(attotime::from_hz(50)) - MCFG_DEVICE_ADD("ym2151", YM2151, 3580000) - MCFG_YM2151_IRQ_HANDLER(WRITELINE(*this, wpcsnd_device, ym2151_irq_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, *this, 0.25) + YM2151(config, m_ym2151, 3580000); + m_ym2151->irq_handler().set(FUNC(wpcsnd_device::ym2151_irq_w)); + m_ym2151->add_route(ALL_OUTPUTS, *this, 0.25); MCFG_DEVICE_ADD("dac", AD7524, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, *this, 0.25) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) diff --git a/src/mame/drivers/88games.cpp b/src/mame/drivers/88games.cpp index 28ee66b131d..9524301dccd 100644 --- a/src/mame/drivers/88games.cpp +++ b/src/mame/drivers/88games.cpp @@ -348,9 +348,7 @@ MACHINE_CONFIG_START(_88games_state::_88games) GENERIC_LATCH_8(config, "soundlatch"); - MCFG_DEVICE_ADD("ymsnd", YM2151, 3579545) - MCFG_SOUND_ROUTE(0, "mono", 0.75) - MCFG_SOUND_ROUTE(1, "mono", 0.75) + YM2151(config, "ymsnd", 3579545).add_route(0, "mono", 0.75).add_route(1, "mono", 0.75); MCFG_DEVICE_ADD("upd1", UPD7759) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) diff --git a/src/mame/drivers/airraid.cpp b/src/mame/drivers/airraid.cpp index 9dcd18f2065..75e733920d8 100644 --- a/src/mame/drivers/airraid.cpp +++ b/src/mame/drivers/airraid.cpp @@ -411,10 +411,10 @@ MACHINE_CONFIG_START(airraid_state::airraid) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(14'318'181)/4) - MCFG_YM2151_IRQ_HANDLER(WRITELINE("seibu_sound", seibu_sound_device, fm_irqhandler)) - MCFG_SOUND_ROUTE(0, "mono", 0.50) - MCFG_SOUND_ROUTE(1, "mono", 0.50) + ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(14'318'181)/4)); + ymsnd.irq_handler().set(m_seibu_sound, FUNC(seibu_sound_device::fm_irqhandler)); + ymsnd.add_route(0, "mono", 0.50); + ymsnd.add_route(1, "mono", 0.50); MCFG_DEVICE_ADD("seibu_sound", SEIBU_SOUND, 0) MCFG_SEIBU_SOUND_CPU("audiocpu") diff --git a/src/mame/drivers/ajax.cpp b/src/mame/drivers/ajax.cpp index 6f6113ae314..104fce7083c 100644 --- a/src/mame/drivers/ajax.cpp +++ b/src/mame/drivers/ajax.cpp @@ -219,9 +219,7 @@ MACHINE_CONFIG_START(ajax_state::ajax) GENERIC_LATCH_8(config, m_soundlatch); - MCFG_DEVICE_ADD("ymsnd", YM2151, 3579545) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) + YM2151(config, "ymsnd", 3579545).add_route(0, "lspeaker", 1.0).add_route(1, "rspeaker", 1.0); MCFG_DEVICE_ADD("k007232_1", K007232, 3579545) MCFG_K007232_PORT_WRITE_HANDLER(WRITE8(*this, ajax_state, volume_callback0)) diff --git a/src/mame/drivers/aliens.cpp b/src/mame/drivers/aliens.cpp index a41726fe493..6a0742704b3 100644 --- a/src/mame/drivers/aliens.cpp +++ b/src/mame/drivers/aliens.cpp @@ -236,10 +236,10 @@ MACHINE_CONFIG_START(aliens_state::aliens) GENERIC_LATCH_8(config, m_soundlatch); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(3'579'545)) /* verified on pcb */ - MCFG_YM2151_PORT_WRITE_HANDLER(WRITE8(*this, aliens_state,aliens_snd_bankswitch_w)) - MCFG_SOUND_ROUTE(0, "mono", 0.60) - MCFG_SOUND_ROUTE(1, "mono", 0.60) + ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(3'579'545))); /* verified on pcb */ + ymsnd.port_write_handler().set(FUNC(aliens_state::aliens_snd_bankswitch_w)); + ymsnd.add_route(0, "mono", 0.60); + ymsnd.add_route(1, "mono", 0.60); MCFG_DEVICE_ADD("k007232", K007232, XTAL(3'579'545)) /* verified on pcb */ MCFG_K007232_PORT_WRITE_HANDLER(WRITE8(*this, aliens_state, volume_callback)) diff --git a/src/mame/drivers/amspdwy.cpp b/src/mame/drivers/amspdwy.cpp index 55ae5d18448..1fc92a6e013 100644 --- a/src/mame/drivers/amspdwy.cpp +++ b/src/mame/drivers/amspdwy.cpp @@ -280,10 +280,10 @@ MACHINE_CONFIG_START(amspdwy_state::amspdwy) GENERIC_LATCH_8(config, m_soundlatch); m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI); - MCFG_DEVICE_ADD("ymsnd", YM2151, 3000000) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) + YM2151(config, m_ym2151, 3000000); + m_ym2151->irq_handler().set_inputline(m_audiocpu, 0); + m_ym2151->add_route(0, "lspeaker", 1.0); + m_ym2151->add_route(1, "rspeaker", 1.0); MACHINE_CONFIG_END diff --git a/src/mame/drivers/aquarium.cpp b/src/mame/drivers/aquarium.cpp index 1168eff394f..362a36be814 100644 --- a/src/mame/drivers/aquarium.cpp +++ b/src/mame/drivers/aquarium.cpp @@ -324,10 +324,10 @@ MACHINE_CONFIG_START(aquarium_state::aquarium) m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI); m_soundlatch->set_separate_acknowledge(true); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(14'318'181)/4) // clock not verified on pcb - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.45) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.45) + ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(14'318'181)/4)); // clock not verified on pcb + ymsnd.irq_handler().set_inputline(m_audiocpu, 0); + ymsnd.add_route(0, "lspeaker", 0.45); + ymsnd.add_route(1, "rspeaker", 0.45); MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(1'056'000), okim6295_device::PIN7_HIGH) // pin 7 not verified MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.47) diff --git a/src/mame/drivers/asterix.cpp b/src/mame/drivers/asterix.cpp index b43a526d2a2..0c98bff5b64 100644 --- a/src/mame/drivers/asterix.cpp +++ b/src/mame/drivers/asterix.cpp @@ -301,9 +301,7 @@ MACHINE_CONFIG_START(asterix_state::asterix) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(32'000'000)/8) // 4MHz - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) + YM2151(config, "ymsnd", XTAL(32'000'000)/8).add_route(0, "lspeaker", 1.0).add_route(1, "rspeaker", 1.0); // 4MHz MCFG_K053260_ADD("k053260", XTAL(32'000'000)/8) // 4MHz MCFG_SOUND_ROUTE(0, "lspeaker", 0.75) diff --git a/src/mame/drivers/atarisy1.cpp b/src/mame/drivers/atarisy1.cpp index 05b2303b4f4..15efca07abd 100644 --- a/src/mame/drivers/atarisy1.cpp +++ b/src/mame/drivers/atarisy1.cpp @@ -780,10 +780,10 @@ MACHINE_CONFIG_START(atarisy1_state::atarisy1) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, ATARI_CLOCK_14MHz/4) - MCFG_YM2151_IRQ_HANDLER(WRITELINE("soundcomm", atari_sound_comm_device, ym2151_irq_gen)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.80) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.80) + ym2151_device &ymsnd(YM2151(config, "ymsnd", ATARI_CLOCK_14MHz/4)); + ymsnd.irq_handler().set(m_soundcomm, FUNC(atari_sound_comm_device::ym2151_irq_gen)); + ymsnd.add_route(0, "lspeaker", 0.80); + ymsnd.add_route(1, "rspeaker", 0.80); MCFG_DEVICE_ADD("pokey", POKEY, ATARI_CLOCK_14MHz/8) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40) diff --git a/src/mame/drivers/atarisy2.cpp b/src/mame/drivers/atarisy2.cpp index 5b01de2eaf6..cf1e4c95029 100644 --- a/src/mame/drivers/atarisy2.cpp +++ b/src/mame/drivers/atarisy2.cpp @@ -1236,9 +1236,9 @@ MACHINE_CONFIG_START(atarisy2_state::atarisy2) ATARI_SOUND_COMM(config, "soundcomm", "audiocpu").int_callback().set_nop(); SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, SOUND_CLOCK/4) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.60) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.60) + YM2151(config, m_ym2151, SOUND_CLOCK/4); + m_ym2151->add_route(0, "lspeaker", 0.60); + m_ym2151->add_route(1, "rspeaker", 0.60); MCFG_DEVICE_ADD("pokey1", POKEY, SOUND_CLOCK/8) MCFG_POKEY_ALLPOT_R_CB(IOPORT("DSW0")) diff --git a/src/mame/drivers/badlands.cpp b/src/mame/drivers/badlands.cpp index 4228d334fa2..4a04e73c714 100644 --- a/src/mame/drivers/badlands.cpp +++ b/src/mame/drivers/badlands.cpp @@ -483,9 +483,7 @@ MACHINE_CONFIG_START(badlands_state::badlands) .int_callback().set_inputline("maincpu", M68K_IRQ_2); SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ymsnd", YM2151, ATARI_CLOCK_14MHz/4) - MCFG_SOUND_ROUTE(0, "mono", 0.30) - MCFG_SOUND_ROUTE(1, "mono", 0.30) + YM2151(config, "ymsnd", ATARI_CLOCK_14MHz/4).add_route(0, "mono", 0.30).add_route(1, "mono", 0.30); MACHINE_CONFIG_END diff --git a/src/mame/drivers/badlandsbl.cpp b/src/mame/drivers/badlandsbl.cpp index c82eb0a28cd..6531adb9a17 100644 --- a/src/mame/drivers/badlandsbl.cpp +++ b/src/mame/drivers/badlandsbl.cpp @@ -257,9 +257,7 @@ MACHINE_CONFIG_START(badlandsbl_state::badlandsb) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(20'000'000)/8) /* Divisor estimated */ - MCFG_SOUND_ROUTE(0, "mono", 0.30) - MCFG_SOUND_ROUTE(1, "mono", 0.30) + YM2151(config, "ymsnd", XTAL(20'000'000)/8).add_route(0, "mono", 0.30).add_route(1, "mono", 0.30); /* Divisor estimated */ MACHINE_CONFIG_END diff --git a/src/mame/drivers/bigstrkb.cpp b/src/mame/drivers/bigstrkb.cpp index 1196c121e81..07907a455f8 100644 --- a/src/mame/drivers/bigstrkb.cpp +++ b/src/mame/drivers/bigstrkb.cpp @@ -5,7 +5,7 @@ Driver by David Haywood Inputs by Stephh - maybe it could be merged with megasys1.c, could be messy + maybe it could be merged with megasys1.cpp, could be messy todo: @@ -222,7 +222,7 @@ MACHINE_CONFIG_START(bigstrkb_state::bigstrkb) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); -// MCFG_DEVICE_ADD("ymsnd", YM2151, ym2151_config) +// YM2151(config, "ymsnd", 4000000); MCFG_DEVICE_ADD("oki1", OKIM6295, 4000000, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.30) diff --git a/src/mame/drivers/bingoc.cpp b/src/mame/drivers/bingoc.cpp index 09a42d18122..e6a55bd123d 100644 --- a/src/mame/drivers/bingoc.cpp +++ b/src/mame/drivers/bingoc.cpp @@ -209,9 +209,7 @@ MACHINE_CONFIG_START(bingoc_state::bingoc) GENERIC_LATCH_8(config, m_soundlatch); - MCFG_DEVICE_ADD("ymsnd", YM2151, 7159160/2) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) + YM2151(config, "ymsnd", 7159160/2).add_route(0, "lspeaker", 1.0).add_route(1, "rspeaker", 1.0); MCFG_DEVICE_ADD("upd", UPD7759) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) diff --git a/src/mame/drivers/bionicc.cpp b/src/mame/drivers/bionicc.cpp index 73e60278fe0..90509c086cc 100644 --- a/src/mame/drivers/bionicc.cpp +++ b/src/mame/drivers/bionicc.cpp @@ -431,9 +431,7 @@ MACHINE_CONFIG_START(bionicc_state::bionicc) GENERIC_LATCH_8(config, m_soundlatch); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(14'318'181) / 4) - MCFG_SOUND_ROUTE(0, "mono", 0.60) - MCFG_SOUND_ROUTE(1, "mono", 0.60) + YM2151(config, "ymsnd", XTAL(14'318'181) / 4).add_route(0, "mono", 0.60).add_route(1, "mono", 0.60); MACHINE_CONFIG_END diff --git a/src/mame/drivers/blockhl.cpp b/src/mame/drivers/blockhl.cpp index 85eb1801e27..fe6a4f530e7 100644 --- a/src/mame/drivers/blockhl.cpp +++ b/src/mame/drivers/blockhl.cpp @@ -319,9 +319,7 @@ MACHINE_CONFIG_START(blockhl_state::blockhl) GENERIC_LATCH_8(config, "soundlatch"); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(3'579'545)) - MCFG_SOUND_ROUTE(0, "mono", 0.60) - MCFG_SOUND_ROUTE(1, "mono", 0.60) + YM2151(config, "ymsnd", XTAL(3'579'545)).add_route(0, "mono", 0.60).add_route(1, "mono", 0.60); MACHINE_CONFIG_END diff --git a/src/mame/drivers/blockout.cpp b/src/mame/drivers/blockout.cpp index 9686ffde145..3249c589183 100644 --- a/src/mame/drivers/blockout.cpp +++ b/src/mame/drivers/blockout.cpp @@ -332,10 +332,10 @@ MACHINE_CONFIG_START(blockout_state::blockout) GENERIC_LATCH_8(config, m_soundlatch); m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI); - MCFG_DEVICE_ADD("ymsnd", YM2151, AUDIO_CLOCK) - MCFG_YM2151_IRQ_HANDLER(WRITELINE(*this, blockout_state,irq_handler)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.60) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.60) + ym2151_device &ymsnd(YM2151(config, "ymsnd", AUDIO_CLOCK)); + ymsnd.irq_handler().set(FUNC(blockout_state::irq_handler)); + ymsnd.add_route(0, "lspeaker", 0.60); + ymsnd.add_route(1, "rspeaker", 0.60); MCFG_DEVICE_ADD("oki", OKIM6295, 1056000, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50) diff --git a/src/mame/drivers/boogwing.cpp b/src/mame/drivers/boogwing.cpp index bd2a19485ed..79a4ab80c44 100644 --- a/src/mame/drivers/boogwing.cpp +++ b/src/mame/drivers/boogwing.cpp @@ -413,11 +413,11 @@ MACHINE_CONFIG_START(boogwing_state::boogwing) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, SOUND_XTAL/9) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 1)) /* IRQ2 */ - MCFG_YM2151_PORT_WRITE_HANDLER(WRITE8(*this, boogwing_state, sound_bankswitch_w)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.80) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.80) + ym2151_device &ymsnd(YM2151(config, "ymsnd", SOUND_XTAL/9)); + ymsnd.irq_handler().set_inputline(m_audiocpu, 1); /* IRQ2 */ + ymsnd.port_write_handler().set(FUNC(boogwing_state::sound_bankswitch_w)); + ymsnd.add_route(0, "lspeaker", 0.80); + ymsnd.add_route(1, "rspeaker", 0.80); MCFG_DEVICE_ADD("oki1", OKIM6295, SOUND_XTAL/32, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.40) diff --git a/src/mame/drivers/cabal.cpp b/src/mame/drivers/cabal.cpp index 430896381a7..2aac2903299 100644 --- a/src/mame/drivers/cabal.cpp +++ b/src/mame/drivers/cabal.cpp @@ -537,9 +537,9 @@ MACHINE_CONFIG_START(cabal_state::cabal) SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(3'579'545)) /* verified on pcb */ - MCFG_YM2151_IRQ_HANDLER(WRITELINE("seibu_sound", seibu_sound_device, fm_irqhandler)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80) + ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(3'579'545))); /* verified on pcb */ + ymsnd.irq_handler().set(m_seibu_sound, FUNC(seibu_sound_device::fm_irqhandler)); + ymsnd.add_route(ALL_OUTPUTS, "mono", 0.80); MCFG_DEVICE_ADD("adpcm1", SEIBU_ADPCM, 8000) /* it should use the msm5205 */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) @@ -619,9 +619,9 @@ MACHINE_CONFIG_START(cabal_state::cabalbl) GENERIC_LATCH_8(config, "soundlatch2"); GENERIC_LATCH_8(config, "soundlatch3"); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(3'579'545)) /* verified on pcb */ - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS,"mono", 0.80) + ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(3'579'545))); /* verified on pcb */ + ymsnd.irq_handler().set_inputline(m_audiocpu, 0); + ymsnd.add_route(ALL_OUTPUTS, "mono", 0.80); MCFG_DEVICE_ADD("msm1", MSM5205, XTAL(12'000'000)/32) /* verified on pcb (no resonator) */ MCFG_MSM5205_PRESCALER_SELECTOR(SEX_4B) diff --git a/src/mame/drivers/cave.cpp b/src/mame/drivers/cave.cpp index 0b7742e5b34..df20177d6a7 100644 --- a/src/mame/drivers/cave.cpp +++ b/src/mame/drivers/cave.cpp @@ -2528,9 +2528,9 @@ MACHINE_CONFIG_START(cave_state::metmqstr) GENERIC_LATCH_16(config, m_soundlatch); m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI); - MCFG_DEVICE_ADD("ymsnd", YM2151, 16_MHz_XTAL / 4) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.6) + ym2151_device &ymsnd(YM2151(config, "ymsnd", 16_MHz_XTAL / 4)); + ymsnd.irq_handler().set_inputline(m_audiocpu, 0); + ymsnd.add_route(ALL_OUTPUTS, "mono", 0.6); MCFG_DEVICE_ADD("oki1", OKIM6295, 32_MHz_XTAL / 16 , okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5) @@ -2778,9 +2778,9 @@ MACHINE_CONFIG_START(cave_state::sailormn) GENERIC_LATCH_16(config, m_soundlatch); m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI); - MCFG_DEVICE_ADD("ymsnd", YM2151, 16_MHz_XTAL/4) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) + ym2151_device &ymsnd(YM2151(config, "ymsnd", 16_MHz_XTAL / 4)); + ymsnd.irq_handler().set_inputline(m_audiocpu, 0); + ymsnd.add_route(ALL_OUTPUTS, "mono", 0.30); MCFG_DEVICE_ADD("oki1", OKIM6295, 2112000, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) diff --git a/src/mame/drivers/cbuster.cpp b/src/mame/drivers/cbuster.cpp index 697edfd0325..080dd2e1bdc 100644 --- a/src/mame/drivers/cbuster.cpp +++ b/src/mame/drivers/cbuster.cpp @@ -369,9 +369,9 @@ MACHINE_CONFIG_START(cbuster_state::twocrude) MCFG_DEVICE_ADD("ym1", YM2203, XTAL(32'220'000)/24 * 3) /* 1.3425MHz Verified */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60) - MCFG_DEVICE_ADD("ym2", YM2151, XTAL(32'220'000)/9) /* 3.58MHz Verified */ - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 1)) /* IRQ2 */ - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.45) + ym2151_device &ym2(YM2151(config, "ym2", XTAL(32'220'000)/9)); /* 3.58MHz Verified */ + ym2.irq_handler().set_inputline(m_audiocpu, 1); /* IRQ2 */ + ym2.add_route(ALL_OUTPUTS, "mono", 0.45); MCFG_DEVICE_ADD("oki1", OKIM6295, XTAL(32'220'000)/32, okim6295_device::PIN7_HIGH) /* 1.0068MHz Verified */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75) diff --git a/src/mame/drivers/chinagat.cpp b/src/mame/drivers/chinagat.cpp index bc713fc8262..9d56a7cf482 100644 --- a/src/mame/drivers/chinagat.cpp +++ b/src/mame/drivers/chinagat.cpp @@ -593,10 +593,10 @@ MACHINE_CONFIG_START(chinagat_state::chinagat) GENERIC_LATCH_8(config, m_soundlatch); m_soundlatch->data_pending_callback().set_inputline(m_soundcpu, INPUT_LINE_NMI); - MCFG_DEVICE_ADD("ymsnd", YM2151, 3579545) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("soundcpu", 0)) - MCFG_SOUND_ROUTE(0, "mono", 0.80) - MCFG_SOUND_ROUTE(1, "mono", 0.80) + ym2151_device &ymsnd(YM2151(config, "ymsnd", 3579545)); + ymsnd.irq_handler().set_inputline(m_soundcpu, 0); + ymsnd.add_route(0, "mono", 0.80); + ymsnd.add_route(1, "mono", 0.80); MCFG_DEVICE_ADD("oki", OKIM6295, 1065000, okim6295_device::PIN7_HIGH) // pin 7 not verified, clock frequency estimated with recording MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80) @@ -647,10 +647,10 @@ MACHINE_CONFIG_START(chinagat_state::saiyugoub1) GENERIC_LATCH_8(config, m_soundlatch); m_soundlatch->data_pending_callback().set_inputline(m_soundcpu, INPUT_LINE_NMI); - MCFG_DEVICE_ADD("ymsnd", YM2151, 3579545) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("soundcpu", 0)) - MCFG_SOUND_ROUTE(0, "mono", 0.80) - MCFG_SOUND_ROUTE(1, "mono", 0.80) + ym2151_device &ymsnd(YM2151(config, "ymsnd", 3579545)); + ymsnd.irq_handler().set_inputline(m_soundcpu, 0); + ymsnd.add_route(0, "mono", 0.80); + ymsnd.add_route(1, "mono", 0.80); MCFG_DEVICE_ADD("adpcm", MSM5205, 9263750 / 24) MCFG_MSM5205_VCLK_CB(WRITELINE(*this, chinagat_state, saiyugoub1_m5205_irq_w)) /* Interrupt function */ diff --git a/src/mame/drivers/chqflag.cpp b/src/mame/drivers/chqflag.cpp index 7d0fdf7b6a3..9749b29589d 100644 --- a/src/mame/drivers/chqflag.cpp +++ b/src/mame/drivers/chqflag.cpp @@ -372,10 +372,10 @@ MACHINE_CONFIG_START(chqflag_state::chqflag) GENERIC_LATCH_8(config, "soundlatch"); GENERIC_LATCH_8(config, "soundlatch2").data_pending_callback().set_inputline(m_audiocpu, 0); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(3'579'545)) /* verified on pcb */ - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", INPUT_LINE_NMI)) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.00) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.00) + ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(3'579'545))); /* verified on pcb */ + ymsnd.irq_handler().set_inputline(m_audiocpu, INPUT_LINE_NMI); + ymsnd.add_route(0, "lspeaker", 1.00); + ymsnd.add_route(1, "rspeaker", 1.00); MCFG_DEVICE_ADD("k007232_1", K007232, XTAL(3'579'545)) /* verified on pcb */ MCFG_K007232_PORT_WRITE_HANDLER(WRITE8(*this, chqflag_state, volume_callback0)) diff --git a/src/mame/drivers/cischeat.cpp b/src/mame/drivers/cischeat.cpp index 1e727f17f64..aba337d61f9 100644 --- a/src/mame/drivers/cischeat.cpp +++ b/src/mame/drivers/cischeat.cpp @@ -1998,10 +1998,10 @@ MACHINE_CONFIG_START(cischeat_state::bigrun) GENERIC_LATCH_16(config, m_soundlatch2); // TODO: all sound frequencies unverified (assume same as Mega System 1) - MCFG_DEVICE_ADD("ymsnd", YM2151, 7000000/2) - MCFG_YM2151_IRQ_HANDLER(WRITELINE(*this, cischeat_state,sound_irq)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.50) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.50) + ym2151_device &ymsnd(YM2151(config, "ymsnd", 7000000/2)); + ymsnd.irq_handler().set(FUNC(cischeat_state::sound_irq)); + ymsnd.add_route(0, "lspeaker", 0.50); + ymsnd.add_route(1, "rspeaker", 0.50); MCFG_DEVICE_ADD("oki1", OKIM6295, 4000000, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.25) diff --git a/src/mame/drivers/cninja.cpp b/src/mame/drivers/cninja.cpp index cc6ab7678f9..1c36239b5d4 100644 --- a/src/mame/drivers/cninja.cpp +++ b/src/mame/drivers/cninja.cpp @@ -866,11 +866,11 @@ MACHINE_CONFIG_START(cninja_state::cninja) MCFG_DEVICE_ADD("ym1", YM2203, XTAL(32'220'000) / 8) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60) - MCFG_DEVICE_ADD("ym2", YM2151, XTAL(32'220'000) / 9) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 1)) // IRQ2 - MCFG_YM2151_PORT_WRITE_HANDLER(WRITE8(*this, cninja_state,sound_bankswitch_w)) - MCFG_SOUND_ROUTE(0, "mono", 0.45) - MCFG_SOUND_ROUTE(1, "mono", 0.45) + ym2151_device &ym2(YM2151(config, "ym2", XTAL(32'220'000) / 9)); + ym2.irq_handler().set_inputline(m_audiocpu, 1); /* IRQ2 */ + ym2.port_write_handler().set(FUNC(cninja_state::sound_bankswitch_w)); + ym2.add_route(0, "mono", 0.45); + ym2.add_route(1, "mono", 0.45); MCFG_DEVICE_ADD("oki1", OKIM6295, XTAL(32'220'000) / 32, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75) @@ -953,10 +953,10 @@ MACHINE_CONFIG_START(cninja_state::stoneage) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(32'220'000) / 9) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", INPUT_LINE_IRQ0)) - MCFG_SOUND_ROUTE(0, "mono", 0.45) - MCFG_SOUND_ROUTE(1, "mono", 0.45) + ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(32'220'000) / 9)); + ymsnd.irq_handler().set_inputline(m_audiocpu, INPUT_LINE_IRQ0); + ymsnd.add_route(0, "mono", 0.45); + ymsnd.add_route(1, "mono", 0.45); MCFG_DEVICE_ADD("oki1", OKIM6295, XTAL(32'220'000) / 32, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75) @@ -1042,10 +1042,10 @@ MACHINE_CONFIG_START(cninja_state::cninjabl) GENERIC_LATCH_8(config, m_soundlatch); m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(32'220'000) / 9) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", INPUT_LINE_IRQ0)) - MCFG_SOUND_ROUTE(0, "mono", 0.45) - MCFG_SOUND_ROUTE(1, "mono", 0.45) + ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(32'220'000) / 9)); + ymsnd.irq_handler().set_inputline(m_audiocpu, INPUT_LINE_IRQ0); + ymsnd.add_route(0, "mono", 0.45); + ymsnd.add_route(1, "mono", 0.45); MCFG_DEVICE_ADD("oki1", OKIM6295, XTAL(32'220'000) / 32, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75) @@ -1126,11 +1126,11 @@ MACHINE_CONFIG_START(cninja_state::edrandy) MCFG_DEVICE_ADD("ym1", YM2203, XTAL(32'220'000) / 8) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60) - MCFG_DEVICE_ADD("ym2", YM2151, XTAL(32'220'000) / 9) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 1)) // IRQ2 - MCFG_YM2151_PORT_WRITE_HANDLER(WRITE8(*this, cninja_state,sound_bankswitch_w)) - MCFG_SOUND_ROUTE(0, "mono", 0.45) - MCFG_SOUND_ROUTE(1, "mono", 0.45) + ym2151_device &ym2(YM2151(config, "ym2", XTAL(32'220'000) / 9)); + ym2.irq_handler().set_inputline(m_audiocpu, 1); /* IRQ2 */ + ym2.port_write_handler().set(FUNC(cninja_state::sound_bankswitch_w)); + ym2.add_route(0, "mono", 0.45); + ym2.add_route(1, "mono", 0.45); MCFG_DEVICE_ADD("oki1", OKIM6295, XTAL(32'220'000) / 32, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75) @@ -1223,11 +1223,11 @@ MACHINE_CONFIG_START(cninja_state::robocop2) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.60) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.60) - MCFG_DEVICE_ADD("ym2", YM2151, XTAL(32'220'000) / 9) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 1)) // IRQ2 - MCFG_YM2151_PORT_WRITE_HANDLER(WRITE8(*this, cninja_state,sound_bankswitch_w)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.45) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.45) + ym2151_device &ym2(YM2151(config, "ym2", XTAL(32'220'000) / 9)); + ym2.irq_handler().set_inputline(m_audiocpu, 1); /* IRQ2 */ + ym2.port_write_handler().set(FUNC(cninja_state::sound_bankswitch_w)); + ym2.add_route(0, "lspeaker", 0.45); + ym2.add_route(1, "rspeaker", 0.45); MCFG_DEVICE_ADD("oki1", OKIM6295, XTAL(32'220'000) / 32, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.75) @@ -1317,11 +1317,11 @@ MACHINE_CONFIG_START(cninja_state::mutantf) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(32'220'000) / 9) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 1)) // IRQ2 - MCFG_YM2151_PORT_WRITE_HANDLER(WRITE8(*this, cninja_state,sound_bankswitch_w)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.45) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.45) + ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(32'220'000) / 9)); + ymsnd.irq_handler().set_inputline(m_audiocpu, 1); /* IRQ2 */ + ymsnd.port_write_handler().set(FUNC(cninja_state::sound_bankswitch_w)); + ymsnd.add_route(0, "lspeaker", 0.45); + ymsnd.add_route(1, "rspeaker", 0.45); MCFG_DEVICE_ADD("oki1", OKIM6295, XTAL(32'220'000) / 32, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.75) diff --git a/src/mame/drivers/contra.cpp b/src/mame/drivers/contra.cpp index 80d1296b766..5aea7db4cdb 100644 --- a/src/mame/drivers/contra.cpp +++ b/src/mame/drivers/contra.cpp @@ -247,9 +247,7 @@ MACHINE_CONFIG_START(contra_state::contra) GENERIC_LATCH_8(config, "soundlatch"); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(3'579'545)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.60) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.60) + YM2151(config, "ymsnd", XTAL(3'579'545)).add_route(0, "lspeaker", 0.60).add_route(1, "rspeaker", 0.60); MACHINE_CONFIG_END diff --git a/src/mame/drivers/cps1.cpp b/src/mame/drivers/cps1.cpp index 48cc00e8c23..aa9d3aa2800 100644 --- a/src/mame/drivers/cps1.cpp +++ b/src/mame/drivers/cps1.cpp @@ -3412,10 +3412,10 @@ MACHINE_CONFIG_START(cps_state::cps1_10MHz) GENERIC_LATCH_8(config, m_soundlatch); GENERIC_LATCH_8(config, m_soundlatch2); - MCFG_DEVICE_ADD("2151", YM2151, XTAL(3'579'545)) /* verified on pcb */ - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_SOUND_ROUTE(0, "mono", 0.35) - MCFG_SOUND_ROUTE(1, "mono", 0.35) + ym2151_device &ym2151(YM2151(config, "2151", XTAL(3'579'545))); /* verified on pcb */ + ym2151.irq_handler().set_inputline(m_audiocpu, 0); + ym2151.add_route(0, "mono", 0.35); + ym2151.add_route(1, "mono", 0.35); /* CPS PPU is fed by a 16mhz clock,pin 117 outputs a 4mhz clock which is divided by 4 using 2 74ls74 */ MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(16'000'000)/4/4, okim6295_device::PIN7_HIGH) // pin 7 can be changed by the game code, see f006 on z80 diff --git a/src/mame/drivers/crimfght.cpp b/src/mame/drivers/crimfght.cpp index 2f8f73bd6f2..69b5d6d9dbd 100644 --- a/src/mame/drivers/crimfght.cpp +++ b/src/mame/drivers/crimfght.cpp @@ -343,10 +343,10 @@ MACHINE_CONFIG_START(crimfght_state::crimfght) GENERIC_LATCH_8(config, m_soundlatch); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(3'579'545)) /* verified on pcb */ - MCFG_YM2151_PORT_WRITE_HANDLER(WRITE8(*this, crimfght_state, ym2151_ct_w)) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) + ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(3'579'545))); /* verified on pcb */ + ymsnd.port_write_handler().set(FUNC(crimfght_state::ym2151_ct_w)); + ymsnd.add_route(0, "lspeaker", 1.0); + ymsnd.add_route(1, "rspeaker", 1.0); MCFG_DEVICE_ADD("k007232", K007232, XTAL(3'579'545)) /* verified on pcb */ MCFG_K007232_PORT_WRITE_HANDLER(WRITE8(*this, crimfght_state, volume_callback)) diff --git a/src/mame/drivers/darkmist.cpp b/src/mame/drivers/darkmist.cpp index 63c1dd2ea62..84f4548c729 100644 --- a/src/mame/drivers/darkmist.cpp +++ b/src/mame/drivers/darkmist.cpp @@ -266,11 +266,10 @@ MACHINE_CONFIG_START(darkmist_state::darkmist) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ymsnd", YM2151, 14318180/4) /* 3.579545 MHz */ - MCFG_YM2151_IRQ_HANDLER(WRITELINE("t5182", t5182_device, ym2151_irq_handler)) - MCFG_SOUND_ROUTE(0, "mono", 1.0) - MCFG_SOUND_ROUTE(1, "mono", 1.0) - + ym2151_device &ymsnd(YM2151(config, "ymsnd", 14318180/4)); /* 3.579545 MHz */ + ymsnd.irq_handler().set(m_t5182, FUNC(t5182_device::ym2151_irq_handler)); + ymsnd.add_route(0, "mono", 1.0); + ymsnd.add_route(1, "mono", 1.0); MACHINE_CONFIG_END ROM_START( darkmist ) diff --git a/src/mame/drivers/darkseal.cpp b/src/mame/drivers/darkseal.cpp index 6eac007f008..3a2452cd9b0 100644 --- a/src/mame/drivers/darkseal.cpp +++ b/src/mame/drivers/darkseal.cpp @@ -267,10 +267,10 @@ MACHINE_CONFIG_START(darkseal_state::darkseal) MCFG_DEVICE_ADD("ym1", YM2203, XTAL(32'220'000)/8) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.45) - MCFG_DEVICE_ADD("ym2", YM2151, XTAL(32'220'000)/9) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 1)) // IRQ2 - MCFG_SOUND_ROUTE(0, "mono", 0.55) - MCFG_SOUND_ROUTE(1, "mono", 0.55) + ym2151_device &ym2(YM2151(config, "ym2", XTAL(32'220'000)/9)); + ym2.irq_handler().set_inputline(m_audiocpu, 1); // IRQ2 + ym2.add_route(0, "mono", 0.55); + ym2.add_route(1, "mono", 0.55); MCFG_DEVICE_ADD("oki1", OKIM6295, XTAL(32'220'000)/32, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) diff --git a/src/mame/drivers/dassault.cpp b/src/mame/drivers/dassault.cpp index 189b3999d3e..84e418e4425 100644 --- a/src/mame/drivers/dassault.cpp +++ b/src/mame/drivers/dassault.cpp @@ -611,11 +611,11 @@ MACHINE_CONFIG_START(dassault_state::dassault) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40) - MCFG_DEVICE_ADD("ym2", YM2151, XTAL(32'220'000)/9) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 1)) - MCFG_YM2151_PORT_WRITE_HANDLER(WRITE8(*this, dassault_state,sound_bankswitch_w)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.45) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.45) + ym2151_device &ym2(YM2151(config, "ym2", XTAL(32'220'000)/9)); + ym2.irq_handler().set_inputline(m_audiocpu, 1); + ym2.port_write_handler().set(FUNC(dassault_state::sound_bankswitch_w)); + ym2.add_route(0, "lspeaker", 0.45); + ym2.add_route(1, "rspeaker", 0.45); MCFG_DEVICE_ADD("oki1", OKIM6295, XTAL(32'220'000)/32, okim6295_device::PIN7_HIGH) // verified MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50) diff --git a/src/mame/drivers/dblewing.cpp b/src/mame/drivers/dblewing.cpp index bf81eb8dc90..3d38bf262a2 100644 --- a/src/mame/drivers/dblewing.cpp +++ b/src/mame/drivers/dblewing.cpp @@ -416,9 +416,9 @@ MACHINE_CONFIG_START(dblewing_state::dblewing) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(32'220'000)/9) - MCFG_YM2151_IRQ_HANDLER(WRITELINE("soundirq", input_merger_device, in_w<1>)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) + ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(32'220'000)/9)); + ymsnd.irq_handler().set("soundirq", FUNC(input_merger_device::in_w<1>)); + ymsnd.add_route(ALL_OUTPUTS, "mono", 1.0); MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(28'000'000)/28, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) diff --git a/src/mame/drivers/dbz.cpp b/src/mame/drivers/dbz.cpp index 2c5c52a7c7b..6b9a4a4aee8 100644 --- a/src/mame/drivers/dbz.cpp +++ b/src/mame/drivers/dbz.cpp @@ -383,10 +383,10 @@ MACHINE_CONFIG_START(dbz_state::dbz) GENERIC_LATCH_8(config, m_soundlatch); - MCFG_DEVICE_ADD("ymsnd", YM2151, 4000000) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) + ym2151_device &ymsnd(YM2151(config, "ymsnd", 4000000)); + ymsnd.irq_handler().set_inputline(m_audiocpu, 0); + ymsnd.add_route(0, "lspeaker", 1.0); + ymsnd.add_route(1, "rspeaker", 1.0); MCFG_DEVICE_ADD("oki", OKIM6295, 1056000, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) diff --git a/src/mame/drivers/dcon.cpp b/src/mame/drivers/dcon.cpp index 27e1d561ff3..9aecbdfd336 100644 --- a/src/mame/drivers/dcon.cpp +++ b/src/mame/drivers/dcon.cpp @@ -351,10 +351,10 @@ MACHINE_CONFIG_START(dcon_state::sdgndmps) /* PCB number is PB91008 */ /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(14'318'181)/4) - MCFG_YM2151_IRQ_HANDLER(WRITELINE("seibu_sound", seibu_sound_device, fm_irqhandler)) - MCFG_SOUND_ROUTE(0, "mono", 0.50) - MCFG_SOUND_ROUTE(1, "mono", 0.50) + ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(14'318'181)/4)); + ymsnd.irq_handler().set(m_seibu_sound, FUNC(seibu_sound_device::fm_irqhandler)); + ymsnd.add_route(0, "mono", 0.50); + ymsnd.add_route(1, "mono", 0.50); MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(20'000'000)/16, okim6295_device::PIN7_LOW) /* 1.25Mhz? unverified clock & divisor (was 1320000) */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) diff --git a/src/mame/drivers/ddragon.cpp b/src/mame/drivers/ddragon.cpp index e921a615c97..9d839d1c625 100644 --- a/src/mame/drivers/ddragon.cpp +++ b/src/mame/drivers/ddragon.cpp @@ -977,10 +977,10 @@ MACHINE_CONFIG_START(ddragon_state::ddragon) GENERIC_LATCH_8(config, m_soundlatch); m_soundlatch->data_pending_callback().set_inputline(m_soundcpu, M6809_IRQ_LINE); - MCFG_DEVICE_ADD("fmsnd", YM2151, SOUND_CLOCK) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("soundcpu", M6809_FIRQ_LINE)) - MCFG_SOUND_ROUTE(0, "mono", 0.60) - MCFG_SOUND_ROUTE(1, "mono", 0.60) + ym2151_device &fmsnd(YM2151(config, "fmsnd", SOUND_CLOCK)); + fmsnd.irq_handler().set_inputline(m_soundcpu, M6809_FIRQ_LINE); + fmsnd.add_route(0, "mono", 0.60); + fmsnd.add_route(1, "mono", 0.60); MCFG_DEVICE_ADD("adpcm1", MSM5205, MAIN_CLOCK / 32) MCFG_MSM5205_VCLK_CB(WRITELINE(*this, ddragon_state, dd_adpcm_int_1)) /* interrupt function */ @@ -1050,10 +1050,10 @@ MACHINE_CONFIG_START(ddragon_state::ddragon6809) GENERIC_LATCH_8(config, m_soundlatch); m_soundlatch->data_pending_callback().set_inputline(m_soundcpu, M6809_IRQ_LINE); - MCFG_DEVICE_ADD("fmsnd", YM2151, SOUND_CLOCK) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("soundcpu", M6809_FIRQ_LINE)) - MCFG_SOUND_ROUTE(0, "mono", 0.60) - MCFG_SOUND_ROUTE(1, "mono", 0.60) + ym2151_device &fmsnd(YM2151(config, "fmsnd", SOUND_CLOCK)); + fmsnd.irq_handler().set_inputline(m_soundcpu, M6809_FIRQ_LINE); + fmsnd.add_route(0, "mono", 0.60); + fmsnd.add_route(1, "mono", 0.60); MCFG_DEVICE_ADD("adpcm1", MSM5205, MAIN_CLOCK/32) MCFG_MSM5205_VCLK_CB(WRITELINE(*this, ddragon_state, dd_adpcm_int_1)) /* interrupt function */ @@ -1103,10 +1103,10 @@ MACHINE_CONFIG_START(ddragon_state::ddragon2) GENERIC_LATCH_8(config, m_soundlatch); m_soundlatch->data_pending_callback().set_inputline(m_soundcpu, INPUT_LINE_NMI); - MCFG_DEVICE_ADD("fmsnd", YM2151, SOUND_CLOCK) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("soundcpu", 0)) - MCFG_SOUND_ROUTE(0, "mono", 0.60) - MCFG_SOUND_ROUTE(1, "mono", 0.60) + ym2151_device &fmsnd(YM2151(config, "fmsnd", SOUND_CLOCK)); + fmsnd.irq_handler().set_inputline(m_soundcpu, 0); + fmsnd.add_route(0, "mono", 0.60); + fmsnd.add_route(1, "mono", 0.60); MCFG_DEVICE_ADD("oki", OKIM6295, 1056000, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20) diff --git a/src/mame/drivers/ddragon3.cpp b/src/mame/drivers/ddragon3.cpp index 50839b0a88c..c54d94c3d6b 100644 --- a/src/mame/drivers/ddragon3.cpp +++ b/src/mame/drivers/ddragon3.cpp @@ -850,10 +850,10 @@ MACHINE_CONFIG_START(ddragon3_state::ddragon3) GENERIC_LATCH_8(config, m_soundlatch); m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI); - MCFG_DEVICE_ADD("ym2151", YM2151, XTAL(3'579'545)) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.50) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.50) + ym2151_device &ym2151(YM2151(config, "ym2151", XTAL(3'579'545))); + ym2151.irq_handler().set_inputline(m_audiocpu, 0); + ym2151.add_route(0, "lspeaker", 0.50); + ym2151.add_route(1, "rspeaker", 0.50); MCFG_DEVICE_ADD("oki", OKIM6295, 1.056_MHz_XTAL, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.50) @@ -927,10 +927,10 @@ MACHINE_CONFIG_START(wwfwfest_state::wwfwfest) GENERIC_LATCH_8(config, m_soundlatch); m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI); - MCFG_DEVICE_ADD("ym2151", YM2151, XTAL(3'579'545)) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_SOUND_ROUTE(0, "mono", 0.45) - MCFG_SOUND_ROUTE(1, "mono", 0.45) + ym2151_device &ym2151(YM2151(config, "ym2151", XTAL(3'579'545))); + ym2151.irq_handler().set_inputline(m_audiocpu, 0); + ym2151.add_route(0, "mono", 0.45); + ym2151.add_route(1, "mono", 0.45); MCFG_DEVICE_ADD("oki", OKIM6295, 1.056_MHz_XTAL, okim6295_device::PIN7_HIGH) /* Verified - Pin 7 tied to +5VDC */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.90) diff --git a/src/mame/drivers/de_2.cpp b/src/mame/drivers/de_2.cpp index db52cf82502..845856a9a2e 100644 --- a/src/mame/drivers/de_2.cpp +++ b/src/mame/drivers/de_2.cpp @@ -535,9 +535,9 @@ MACHINE_CONFIG_START(de_2_state::de_bg_audio) SPEAKER(config, "bg").front_center(); - MCFG_DEVICE_ADD("ym2151", YM2151, XTAL(3'579'545)) - MCFG_YM2151_IRQ_HANDLER(WRITELINE(*this, de_2_state, ym2151_irq_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bg", 0.50) + YM2151(config, m_ym2151, XTAL(3'579'545)); + m_ym2151->irq_handler().set(FUNC(de_2_state::ym2151_irq_w)); + m_ym2151->add_route(ALL_OUTPUTS, "bg", 0.50); MCFG_DEVICE_ADD("msm5205", MSM5205, XTAL(384'000)) MCFG_MSM5205_VCLK_CB(WRITELINE(*this, de_2_state, msm5205_irq_w)) diff --git a/src/mame/drivers/deadang.cpp b/src/mame/drivers/deadang.cpp index 8c3b1905332..80bbcfbb439 100644 --- a/src/mame/drivers/deadang.cpp +++ b/src/mame/drivers/deadang.cpp @@ -434,10 +434,10 @@ MACHINE_CONFIG_START(popnrun_state::popnrun) MCFG_SEIBU_SOUND_YM_READ_CB(READ8("ymsnd", ym2151_device, read)) MCFG_SEIBU_SOUND_YM_WRITE_CB(WRITE8("ymsnd", ym2151_device, write)) - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(14'318'181)/4) - MCFG_YM2151_IRQ_HANDLER(WRITELINE("seibu_sound", seibu_sound_device, fm_irqhandler)) - MCFG_SOUND_ROUTE(0, "mono", 0.50) - MCFG_SOUND_ROUTE(1, "mono", 0.50) + ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(14'318'181)/4)); + ymsnd.irq_handler().set(m_seibu_sound, FUNC(seibu_sound_device::fm_irqhandler)); + ymsnd.add_route(0, "mono", 0.50); + ymsnd.add_route(1, "mono", 0.50); MACHINE_CONFIG_END diff --git a/src/mame/drivers/deco32.cpp b/src/mame/drivers/deco32.cpp index cb03131bbfa..6f3e0141ad2 100644 --- a/src/mame/drivers/deco32.cpp +++ b/src/mame/drivers/deco32.cpp @@ -1926,11 +1926,11 @@ MACHINE_CONFIG_START(captaven_state::captaven) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(32'220'000)/9) /* verified on pcb */ - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 1)) - MCFG_YM2151_PORT_WRITE_HANDLER(WRITE8(*this, deco32_state, sound_bankswitch_w)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.42) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.42) + YM2151(config, m_ym2151, XTAL(32'220'000)/9); /* verified on pcb */ + m_ym2151->irq_handler().set_inputline(m_audiocpu, 1); + m_ym2151->port_write_handler().set(FUNC(deco32_state::sound_bankswitch_w)); + m_ym2151->add_route(0, "lspeaker", 0.42); + m_ym2151->add_route(1, "rspeaker", 0.42); MCFG_DEVICE_ADD("oki1", OKIM6295, XTAL(32'220'000)/32, okim6295_device::PIN7_HIGH) /* verified on pcb; pin 7 is floating to 2.5V (left unconnected), so I presume High */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) @@ -2011,11 +2011,11 @@ MACHINE_CONFIG_START(fghthist_state::fghthist) GENERIC_LATCH_8(config, m_soundlatch); m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, 0); - MCFG_DEVICE_ADD("ymsnd", YM2151, 32220000/9) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 1)) - MCFG_YM2151_PORT_WRITE_HANDLER(WRITE8(*this, deco32_state, sound_bankswitch_w)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.42) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.42) + YM2151(config, m_ym2151, 32220000/9); + m_ym2151->irq_handler().set_inputline(m_audiocpu, 1); + m_ym2151->port_write_handler().set(FUNC(deco32_state::sound_bankswitch_w)); + m_ym2151->add_route(0, "lspeaker", 0.42); + m_ym2151->add_route(1, "rspeaker", 0.42); MCFG_DEVICE_ADD("oki1", OKIM6295, 32220000/32, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) @@ -2042,26 +2042,23 @@ MACHINE_CONFIG_START(fghthist_state::fghthsta) MACHINE_CONFIG_END // DE-0396-0 -MACHINE_CONFIG_START(fghthist_state::fghthistu) +void fghthist_state::fghthistu(machine_config &config) +{ fghthsta(config); - MCFG_DEVICE_REMOVE("audiocpu") - - MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(32'220'000) / 9) - MCFG_DEVICE_PROGRAM_MAP(z80_sound_map) - MCFG_DEVICE_IO_MAP(z80_sound_io) - MCFG_INPUT_MERGER_ANY_HIGH("sound_irq_merger") - MCFG_INPUT_MERGER_OUTPUT_HANDLER(INPUTLINE("audiocpu", INPUT_LINE_IRQ0)) + Z80(config.replace(), m_audiocpu, XTAL(32'220'000) / 9); + m_audiocpu->set_addrmap(AS_PROGRAM, &fghthist_state::z80_sound_map); + m_audiocpu->set_addrmap(AS_IO, &fghthist_state::z80_sound_io); - MCFG_DEVICE_MODIFY("ioprot") - MCFG_DECO146_SOUNDLATCH_IRQ_CB(WRITELINE("sound_irq_merger", input_merger_any_high_device, in_w<0>)) + INPUT_MERGER_ANY_HIGH(config, "sound_irq_merger").output_handler().set_inputline(m_audiocpu, INPUT_LINE_IRQ0); - MCFG_DEVICE_MODIFY("ymsnd") - MCFG_YM2151_IRQ_HANDLER(WRITELINE("sound_irq_merger", input_merger_any_high_device, in_w<1>)) + m_ioprot->soundlatch_irq_cb().set("sound_irq_merger", FUNC(input_merger_any_high_device::in_w<0>)); - MCFG_SOUND_ROUTE(0, "lspeaker", 0.40) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.40) -MACHINE_CONFIG_END + m_ym2151->irq_handler().set("sound_irq_merger", FUNC(input_merger_any_high_device::in_w<1>)); + m_ym2151->reset_routes(); + m_ym2151->add_route(0, "lspeaker", 0.40); + m_ym2151->add_route(1, "rspeaker", 0.40); +} // DE-0359-2 + Bottom board DE-0360-4 MACHINE_CONFIG_START(dragngun_state::dragngun) @@ -2141,11 +2138,11 @@ MACHINE_CONFIG_START(dragngun_state::dragngun) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, 32220000/9) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 1)) - MCFG_YM2151_PORT_WRITE_HANDLER(WRITE8(*this, deco32_state, sound_bankswitch_w)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.42) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.42) + YM2151(config, m_ym2151, 32220000/9); + m_ym2151->irq_handler().set_inputline(m_audiocpu, 1); + m_ym2151->port_write_handler().set(FUNC(deco32_state::sound_bankswitch_w)); + m_ym2151->add_route(0, "lspeaker", 0.42); + m_ym2151->add_route(1, "rspeaker", 0.42); MCFG_DEVICE_ADD("oki1", OKIM6295, 32220000/32, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) @@ -2184,8 +2181,7 @@ MACHINE_CONFIG_START(dragngun_state::lockloadu) MCFG_DECO16IC_PF1_SIZE(DECO_32x32) MCFG_DECO16IC_PF2_SIZE(DECO_32x32) // lockload definitely wants pf34 half width.. - MCFG_DEVICE_MODIFY("ymsnd") - MCFG_YM2151_PORT_WRITE_HANDLER(WRITE8(*this, dragngun_state, lockload_okibank_lo_w)) + m_ym2151->port_write_handler().set(FUNC(dragngun_state::lockload_okibank_lo_w)); MACHINE_CONFIG_END // DE-0420-1 + Bottom board DE-0421-0 @@ -2272,11 +2268,11 @@ MACHINE_CONFIG_START(dragngun_state::lockload) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, 32220000/9) - MCFG_YM2151_IRQ_HANDLER(WRITELINE("sound_irq_merger", input_merger_any_high_device, in_w<1>)) - MCFG_YM2151_PORT_WRITE_HANDLER(WRITE8(*this, dragngun_state, lockload_okibank_lo_w)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.42) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.42) + YM2151(config, m_ym2151, 32220000/9); + m_ym2151->irq_handler().set("sound_irq_merger", FUNC(input_merger_any_high_device::in_w<1>)); + m_ym2151->port_write_handler().set(FUNC(dragngun_state::lockload_okibank_lo_w)); + m_ym2151->add_route(0, "lspeaker", 0.42); + m_ym2151->add_route(1, "rspeaker", 0.42); MCFG_DEVICE_ADD("oki1", OKIM6295, 32220000/32, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) @@ -2436,11 +2432,11 @@ MACHINE_CONFIG_START(nslasher_state::nslasher) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, 32220000/9) - MCFG_YM2151_IRQ_HANDLER(WRITELINE("sound_irq_merger", input_merger_any_high_device, in_w<1>)) - MCFG_YM2151_PORT_WRITE_HANDLER(WRITE8(*this, deco32_state, sound_bankswitch_w)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.40) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.40) + YM2151(config, m_ym2151, 32220000/9); + m_ym2151->irq_handler().set("sound_irq_merger", FUNC(input_merger_any_high_device::in_w<1>)); + m_ym2151->port_write_handler().set(FUNC(deco32_state::sound_bankswitch_w)); + m_ym2151->add_route(0, "lspeaker", 0.40); + m_ym2151->add_route(1, "rspeaker", 0.40); MCFG_DEVICE_ADD("oki1", OKIM6295, 32220000/32, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.80) @@ -2463,8 +2459,7 @@ MACHINE_CONFIG_START(nslasher_state::nslasheru) MCFG_DEVICE_REMOVE("sound_irq_merger") - MCFG_DEVICE_MODIFY("ymsnd") - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 1)) + m_ym2151->irq_handler().set_inputline(m_audiocpu, 1); m_ioprot->soundlatch_irq_cb().set_inputline("audiocpu", 0); MACHINE_CONFIG_END diff --git a/src/mame/drivers/dietgo.cpp b/src/mame/drivers/dietgo.cpp index 9e8a9702740..a044626a30e 100644 --- a/src/mame/drivers/dietgo.cpp +++ b/src/mame/drivers/dietgo.cpp @@ -262,9 +262,9 @@ MACHINE_CONFIG_START(dietgo_state::dietgo) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(32'220'000)/9) /* verified on pcb */ - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 1)) /* IRQ 2 */ - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.45) + ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(32'220'000)/9)); /* verified on pcb */ + ymsnd.irq_handler().set_inputline(m_audiocpu, 1); /* IRQ2 */ + ymsnd.add_route(ALL_OUTPUTS, "mono", 0.45); MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(32'220'000)/32, okim6295_device::PIN7_HIGH) /* verified on pcb */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60) diff --git a/src/mame/drivers/dooyong.cpp b/src/mame/drivers/dooyong.cpp index a8e5524cdaf..9bf0e84049c 100644 --- a/src/mame/drivers/dooyong.cpp +++ b/src/mame/drivers/dooyong.cpp @@ -1452,10 +1452,10 @@ MACHINE_CONFIG_START(dooyong_z80_state::sound_2151) GENERIC_LATCH_8(config, "soundlatch"); - MCFG_DEVICE_ADD("ymsnd", YM2151, 3.579'545_MHz_XTAL) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_SOUND_ROUTE(0, "mono", 0.50) - MCFG_SOUND_ROUTE(1, "mono", 0.50) + ym2151_device &ymsnd(YM2151(config, "ymsnd", 3.579'545_MHz_XTAL)); + ymsnd.irq_handler().set_inputline(m_audiocpu, 0); + ymsnd.add_route(0, "mono", 0.50); + ymsnd.add_route(1, "mono", 0.50); MCFG_DEVICE_ADD("oki", OKIM6295, 1_MHz_XTAL, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60) @@ -1466,10 +1466,10 @@ MACHINE_CONFIG_START(dooyong_state::sound_2151_4mhz) GENERIC_LATCH_8(config, "soundlatch"); - MCFG_DEVICE_ADD("ymsnd", YM2151, 16_MHz_XTAL/4) /* 4MHz (16MHz/4 for most, 8Mhz/2 for Super-X) */ - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_SOUND_ROUTE(0, "mono", 0.50) - MCFG_SOUND_ROUTE(1, "mono", 0.50) + ym2151_device &ymsnd(YM2151(config, "ymsnd", 16_MHz_XTAL/4)); /* 4MHz (16MHz/4 for most, 8Mhz/2 for Super-X) */ + ymsnd.irq_handler().set_inputline(m_audiocpu, 0); + ymsnd.add_route(0, "mono", 0.50); + ymsnd.add_route(1, "mono", 0.50); MCFG_DEVICE_ADD("oki", OKIM6295, 16_MHz_XTAL/16, okim6295_device::PIN7_HIGH) /* 1MHz (16MHz/16 for most, 8Mhz/8 for Super-X) */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60) diff --git a/src/mame/drivers/exterm.cpp b/src/mame/drivers/exterm.cpp index 68e16e60229..cf84ea42a9a 100644 --- a/src/mame/drivers/exterm.cpp +++ b/src/mame/drivers/exterm.cpp @@ -425,8 +425,7 @@ MACHINE_CONFIG_START(exterm_state::exterm) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) MCFG_SOUND_ROUTE(0, "dacvol", 1.0, DAC_VREF_POS_INPUT) - MCFG_DEVICE_ADD(m_ym2151, YM2151, 4000000) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) + YM2151(config, m_ym2151, 4000000).add_route(ALL_OUTPUTS, "speaker", 1.0); MACHINE_CONFIG_END diff --git a/src/mame/drivers/exzisus.cpp b/src/mame/drivers/exzisus.cpp index 053ac12b093..236b4e258bb 100644 --- a/src/mame/drivers/exzisus.cpp +++ b/src/mame/drivers/exzisus.cpp @@ -264,10 +264,10 @@ MACHINE_CONFIG_START(exzisus_state::exzisus) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ymsnd", YM2151, 4000000) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_SOUND_ROUTE(0, "mono", 0.50) - MCFG_SOUND_ROUTE(1, "mono", 0.50) + ym2151_device &ymsnd(YM2151(config, "ymsnd", 4000000)); + ymsnd.irq_handler().set_inputline("audiocpu", 0); + ymsnd.add_route(0, "mono", 0.50); + ymsnd.add_route(1, "mono", 0.50); MCFG_DEVICE_ADD("ciu", PC060HA, 0) MCFG_PC060HA_MASTER_CPU("cpub") diff --git a/src/mame/drivers/f-32.cpp b/src/mame/drivers/f-32.cpp index 979a48f7b19..df80fe1292a 100644 --- a/src/mame/drivers/f-32.cpp +++ b/src/mame/drivers/f-32.cpp @@ -194,9 +194,9 @@ MACHINE_CONFIG_START(mosaicf2_state::mosaicf2) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(14'318'181)/4) /* 3.579545 MHz */ - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) + ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(14'318'181)/4)); /* 3.579545 MHz */ + ymsnd.add_route(0, "lspeaker", 1.0); + ymsnd.add_route(1, "rspeaker", 1.0); MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(14'318'181)/8, okim6295_device::PIN7_HIGH) /* 1.7897725 MHz */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) @@ -273,9 +273,9 @@ MACHINE_CONFIG_START(mosaicf2_state::royalpk2) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); -// MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(14'318'181)/4) /* 3.579545 MHz */ -// MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) -// MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) +// ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(14'318'181)/4)); /* 3.579545 MHz */ +// ymsnd.add_route(0, "lspeaker", 1.0); +// ymsnd.add_route(1, "rspeaker", 1.0); MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(14'318'181)/8, okim6295_device::PIN7_HIGH) /* 1.7897725 MHz */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) diff --git a/src/mame/drivers/fantland.cpp b/src/mame/drivers/fantland.cpp index 67ae47255b7..39b3d2e8dde 100644 --- a/src/mame/drivers/fantland.cpp +++ b/src/mame/drivers/fantland.cpp @@ -841,9 +841,7 @@ MACHINE_CONFIG_START(fantland_state::fantland) GENERIC_LATCH_8(config, m_soundlatch); - MCFG_DEVICE_ADD("ymsnd", YM2151, 3000000) - MCFG_SOUND_ROUTE(0, "speaker", 0.35) - MCFG_SOUND_ROUTE(1, "speaker", 0.35) + YM2151(config, "ymsnd", 3000000).add_route(0, "speaker", 0.35).add_route(1, "speaker", 0.35); MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) @@ -886,10 +884,10 @@ MACHINE_CONFIG_START(fantland_state::galaxygn) GENERIC_LATCH_8(config, m_soundlatch); - MCFG_DEVICE_ADD("ymsnd", YM2151, 3000000) - MCFG_YM2151_IRQ_HANDLER(WRITELINE(*this, fantland_state, galaxygn_sound_irq)) - MCFG_SOUND_ROUTE(0, "speaker", 1.0) - MCFG_SOUND_ROUTE(1, "speaker", 1.0) + ym2151_device &ymsnd(YM2151(config, "ymsnd", 3000000)); + ymsnd.irq_handler().set(FUNC(fantland_state::galaxygn_sound_irq)); + ymsnd.add_route(0, "speaker", 1.0); + ymsnd.add_route(1, "speaker", 1.0); MACHINE_CONFIG_END diff --git a/src/mame/drivers/fb01.cpp b/src/mame/drivers/fb01.cpp index 018714dbb66..304e680085d 100644 --- a/src/mame/drivers/fb01.cpp +++ b/src/mame/drivers/fb01.cpp @@ -219,10 +219,10 @@ MACHINE_CONFIG_START(fb01_state::fb01) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ym2164", YM2151, XTAL(4'000'000)) - MCFG_YM2151_IRQ_HANDLER(WRITELINE(*this, fb01_state, ym2164_irq_w)) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.00) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.00) + ym2151_device &ym2164(YM2151(config, "ym2164", XTAL(4'000'000))); + ym2164.irq_handler().set(FUNC(fb01_state::ym2164_irq_w)); + ym2164.add_route(0, "lspeaker", 1.00); + ym2164.add_route(1, "rspeaker", 1.00); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); MACHINE_CONFIG_END diff --git a/src/mame/drivers/fcrash.cpp b/src/mame/drivers/fcrash.cpp index 478c3121893..ea196c71bf7 100644 --- a/src/mame/drivers/fcrash.cpp +++ b/src/mame/drivers/fcrash.cpp @@ -1770,10 +1770,10 @@ MACHINE_CONFIG_START(cps_state::kodb) GENERIC_LATCH_8(config, m_soundlatch); - MCFG_DEVICE_ADD("2151", YM2151, XTAL(3'579'545)) /* verified on pcb */ - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_SOUND_ROUTE(0, "mono", 0.35) - MCFG_SOUND_ROUTE(1, "mono", 0.35) + ym2151_device &ym2151(YM2151(config, "2151", XTAL(3'579'545))); /* verified on pcb */ + ym2151.irq_handler().set_inputline(m_audiocpu, 0); + ym2151.add_route(0, "mono", 0.35); + ym2151.add_route(1, "mono", 0.35); /* CPS PPU is fed by a 16mhz clock,pin 117 outputs a 4mhz clock which is divided by 4 using 2 74ls74 */ MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(16'000'000)/4/4, okim6295_device::PIN7_HIGH) // pin 7 can be changed by the game code, see f006 on z80 @@ -1812,10 +1812,10 @@ MACHINE_CONFIG_START(cps_state::mtwinsb) GENERIC_LATCH_8(config, m_soundlatch); GENERIC_LATCH_8(config, m_soundlatch2); - MCFG_DEVICE_ADD("2151", YM2151, XTAL(3'579'545)) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_SOUND_ROUTE(0, "mono", 0.35) - MCFG_SOUND_ROUTE(1, "mono", 0.35) + ym2151_device &ym2151(YM2151(config, "2151", XTAL(3'579'545))); + ym2151.irq_handler().set_inputline(m_audiocpu, 0); + ym2151.add_route(0, "mono", 0.35); + ym2151.add_route(1, "mono", 0.35); MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(16'000'000)/4/4, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) @@ -1852,9 +1852,7 @@ MACHINE_CONFIG_START(cps_state::sf2mdt) GENERIC_LATCH_8(config, m_soundlatch); - MCFG_DEVICE_ADD("2151", YM2151, 3579545) - MCFG_SOUND_ROUTE(0, "mono", 0.35) - MCFG_SOUND_ROUTE(1, "mono", 0.35) + YM2151(config, "2151", XTAL(3'579'545)).add_route(0, "mono", 0.35).add_route(1, "mono", 0.35); /* has 2x MSM5205 instead of OKI6295 */ MCFG_DEVICE_ADD("msm1", MSM5205, 24000000/64) /* ? */ @@ -1905,10 +1903,10 @@ MACHINE_CONFIG_START(cps_state::knightsb) GENERIC_LATCH_8(config, m_soundlatch); - MCFG_DEVICE_ADD("2151", YM2151, 29821000 / 8) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_SOUND_ROUTE(0, "mono", 0.35) - MCFG_SOUND_ROUTE(1, "mono", 0.35) + ym2151_device &ym2151(YM2151(config, "2151", 29821000 / 8)); + ym2151.irq_handler().set_inputline(m_audiocpu, 0); + ym2151.add_route(0, "mono", 0.35); + ym2151.add_route(1, "mono", 0.35); /* has 2x MSM5205 instead of OKI6295 */ MCFG_DEVICE_ADD("msm1", MSM5205, 24000000/64) /* ? */ @@ -2478,10 +2476,10 @@ MACHINE_CONFIG_START(cps_state::sgyxz) GENERIC_LATCH_8(config, m_soundlatch); GENERIC_LATCH_8(config, m_soundlatch2); - MCFG_DEVICE_ADD("2151", YM2151, XTAL(3'579'545)) /* verified on pcb */ - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_SOUND_ROUTE(0, "mono", 0.35) - MCFG_SOUND_ROUTE(1, "mono", 0.35) + ym2151_device &ym2151(YM2151(config, "2151", XTAL(3'579'545))); /* verified on pcb */ + ym2151.irq_handler().set_inputline(m_audiocpu, 0); + ym2151.add_route(0, "mono", 0.35); + ym2151.add_route(1, "mono", 0.35); /* CPS PPU is fed by a 16mhz clock,pin 117 outputs a 4mhz clock which is divided by 4 using 2 74ls74 */ MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(16'000'000)/4/4, okim6295_device::PIN7_HIGH) // pin 7 can be changed by the game code, see f006 on z80 @@ -2790,10 +2788,10 @@ MACHINE_CONFIG_START(cps_state::sf2m1) SPEAKER(config, "mono").front_center(); GENERIC_LATCH_8(config, m_soundlatch); GENERIC_LATCH_8(config, m_soundlatch2); - MCFG_DEVICE_ADD("2151", YM2151, XTAL(3'579'545)) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_SOUND_ROUTE(0, "mono", 0.35) - MCFG_SOUND_ROUTE(1, "mono", 0.35) + ym2151_device &ym2151(YM2151(config, "2151", XTAL(3'579'545))); + ym2151.irq_handler().set_inputline(m_audiocpu, 0); + ym2151.add_route(0, "mono", 0.35); + ym2151.add_route(1, "mono", 0.35); MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(16'000'000)/4/4, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) MACHINE_CONFIG_END @@ -3272,10 +3270,10 @@ MACHINE_CONFIG_START(cps_state::varthb) GENERIC_LATCH_8(config, m_soundlatch); GENERIC_LATCH_8(config, m_soundlatch2); - MCFG_DEVICE_ADD("2151", YM2151, XTAL(3'579'545)) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_SOUND_ROUTE(0, "mono", 0.35) - MCFG_SOUND_ROUTE(1, "mono", 0.35) + ym2151_device &ym2151(YM2151(config, "2151", XTAL(3'579'545))); + ym2151.irq_handler().set_inputline(m_audiocpu, 0); + ym2151.add_route(0, "mono", 0.35); + ym2151.add_route(1, "mono", 0.35); MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(16'000'000)/4/4, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) diff --git a/src/mame/drivers/flkatck.cpp b/src/mame/drivers/flkatck.cpp index 1728c860d22..fcfd7286c6d 100644 --- a/src/mame/drivers/flkatck.cpp +++ b/src/mame/drivers/flkatck.cpp @@ -248,9 +248,7 @@ MACHINE_CONFIG_START(flkatck_state::flkatck) GENERIC_LATCH_8(config, m_soundlatch); - MCFG_DEVICE_ADD("ymsnd", YM2151, 3579545) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) + YM2151(config, "ymsnd", 3579545).add_route(0, "lspeaker", 1.0).add_route(0, "rspeaker", 1.0); MCFG_DEVICE_ADD("k007232", K007232, 3579545) MCFG_K007232_PORT_WRITE_HANDLER(WRITE8(*this, flkatck_state, volume_callback)) diff --git a/src/mame/drivers/funkyjet.cpp b/src/mame/drivers/funkyjet.cpp index ae529c63665..161c288c82d 100644 --- a/src/mame/drivers/funkyjet.cpp +++ b/src/mame/drivers/funkyjet.cpp @@ -356,10 +356,10 @@ MACHINE_CONFIG_START(funkyjet_state::funkyjet) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(32'220'000)/9) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 1)) // IRQ2 - MCFG_SOUND_ROUTE(0, "lspeaker", 0.45) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.45) + ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(32'220'000)/9)); + ymsnd.irq_handler().set_inputline(m_audiocpu, 1); // IRQ2 + ymsnd.add_route(0, "lspeaker", 0.45); + ymsnd.add_route(1, "rspeaker", 0.45); MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(28'000'000)/28, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50) diff --git a/src/mame/drivers/gaiden.cpp b/src/mame/drivers/gaiden.cpp index 129a1bc0ca1..276e10b4d5d 100644 --- a/src/mame/drivers/gaiden.cpp +++ b/src/mame/drivers/gaiden.cpp @@ -874,8 +874,7 @@ MACHINE_CONFIG_START(gaiden_state::drgnbowl) GENERIC_LATCH_8(config, "soundlatch").data_pending_callback().set_inputline(m_audiocpu, 0); - MCFG_DEVICE_ADD("ymsnd", YM2151, 4000000) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) + YM2151(config, "ymsnd", 4000000).add_route(ALL_OUTPUTS, "mono", 0.40); MCFG_DEVICE_ADD("oki", OKIM6295, 1000000, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) diff --git a/src/mame/drivers/gauntlet.cpp b/src/mame/drivers/gauntlet.cpp index 70b6e528c96..76c70197809 100644 --- a/src/mame/drivers/gauntlet.cpp +++ b/src/mame/drivers/gauntlet.cpp @@ -526,9 +526,9 @@ MACHINE_CONFIG_START(gauntlet_state::gauntlet_base) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, ATARI_CLOCK_14MHz/4) - MCFG_SOUND_ROUTE(1, "lspeaker", 0.48) - MCFG_SOUND_ROUTE(0, "rspeaker", 0.48) + YM2151(config, m_ym2151, ATARI_CLOCK_14MHz/4); + m_ym2151->add_route(1, "lspeaker", 0.48); + m_ym2151->add_route(0, "rspeaker", 0.48); MCFG_DEVICE_ADD("pokey", POKEY, ATARI_CLOCK_14MHz/8) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.32) diff --git a/src/mame/drivers/gotcha.cpp b/src/mame/drivers/gotcha.cpp index 099fa5815dd..4476ec6faa4 100644 --- a/src/mame/drivers/gotcha.cpp +++ b/src/mame/drivers/gotcha.cpp @@ -295,10 +295,10 @@ MACHINE_CONFIG_START(gotcha_state::gotcha) GENERIC_LATCH_8(config, "soundlatch"); - MCFG_DEVICE_ADD("ymsnd", YM2151, 14318180/4) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_SOUND_ROUTE(0, "mono", 0.80) - MCFG_SOUND_ROUTE(1, "mono", 0.80) + ym2151_device &ymsnd(YM2151(config, "ymsnd", 14318180/4)); + ymsnd.irq_handler().set_inputline(m_audiocpu, 0); + ymsnd.add_route(0, "mono", 0.80); + ymsnd.add_route(1, "mono", 0.80); MCFG_DEVICE_ADD("oki", OKIM6295, 1000000, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60) diff --git a/src/mame/drivers/gradius3.cpp b/src/mame/drivers/gradius3.cpp index eadbc2855f9..93a648accef 100644 --- a/src/mame/drivers/gradius3.cpp +++ b/src/mame/drivers/gradius3.cpp @@ -328,9 +328,7 @@ MACHINE_CONFIG_START(gradius3_state::gradius3) GENERIC_LATCH_8(config, "soundlatch"); - MCFG_DEVICE_ADD("ymsnd", YM2151, 3579545) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) + YM2151(config, "ymsnd", 3579545).add_route(0, "lspeaker", 1.0).add_route(0, "rspeaker", 1.0); MCFG_DEVICE_ADD("k007232", K007232, 3579545) MCFG_K007232_PORT_WRITE_HANDLER(WRITE8(*this, gradius3_state, volume_callback)) diff --git a/src/mame/drivers/hyprduel.cpp b/src/mame/drivers/hyprduel.cpp index d1eedd0255f..c956983534a 100644 --- a/src/mame/drivers/hyprduel.cpp +++ b/src/mame/drivers/hyprduel.cpp @@ -465,9 +465,9 @@ MACHINE_CONFIG_START(hyprduel_state::hyprduel) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ymsnd", YM2151, 4000000) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("sub", 1)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80) + ym2151_device &ymsnd(YM2151(config, "ymsnd", 4000000)); + ymsnd.irq_handler().set_inputline(m_subcpu, 1); + ymsnd.add_route(ALL_OUTPUTS, "mono", 0.80); MCFG_DEVICE_ADD("oki", OKIM6295, 4000000/16/16*132, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.57) diff --git a/src/mame/drivers/jackal.cpp b/src/mame/drivers/jackal.cpp index f1d37d55095..4debcc73ef4 100644 --- a/src/mame/drivers/jackal.cpp +++ b/src/mame/drivers/jackal.cpp @@ -391,9 +391,7 @@ MACHINE_CONFIG_START(jackal_state::jackal) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, SOUND_CLOCK) // verified on pcb - MCFG_SOUND_ROUTE(0, "lspeaker", 0.50) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.50) + YM2151(config, "ymsnd", SOUND_CLOCK).add_route(0, "lspeaker", 0.50).add_route(1, "rspeaker", 0.50); // verified on pcb MACHINE_CONFIG_END /************************************* diff --git a/src/mame/drivers/kaneko16.cpp b/src/mame/drivers/kaneko16.cpp index f7ae7585f58..d1971bee264 100644 --- a/src/mame/drivers/kaneko16.cpp +++ b/src/mame/drivers/kaneko16.cpp @@ -1952,9 +1952,9 @@ MACHINE_CONFIG_START(kaneko16_state::blazeon) GENERIC_LATCH_8(config, m_soundlatch); m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI); - MCFG_DEVICE_ADD(m_ymsnd, YM2151, 4000000) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) + YM2151(config, m_ymsnd, 4000000); + m_ymsnd->add_route(0, "lspeaker", 1.0); + m_ymsnd->add_route(1, "rspeaker", 1.0); MACHINE_CONFIG_END diff --git a/src/mame/drivers/legionna.cpp b/src/mame/drivers/legionna.cpp index 34d45eb65ed..2a715ccb9d8 100644 --- a/src/mame/drivers/legionna.cpp +++ b/src/mame/drivers/legionna.cpp @@ -1349,10 +1349,10 @@ MACHINE_CONFIG_START(legionna_state::godzilla) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ymsnd", YM2151, 14318180/4) - MCFG_YM2151_IRQ_HANDLER(WRITELINE("seibu_sound", seibu_sound_device, fm_irqhandler)) - MCFG_SOUND_ROUTE(0, "mono", 0.50) - MCFG_SOUND_ROUTE(1, "mono", 0.50) + ym2151_device &ymsnd(YM2151(config, "ymsnd", 14318180/4)); + ymsnd.irq_handler().set(m_seibu_sound, FUNC(seibu_sound_device::fm_irqhandler)); + ymsnd.add_route(0, "mono", 0.50); + ymsnd.add_route(1, "mono", 0.50); MCFG_DEVICE_ADD("oki", OKIM6295, 1320000, okim6295_device::PIN7_LOW) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) @@ -1405,10 +1405,10 @@ MACHINE_CONFIG_START(legionna_state::denjinmk) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ymsnd", YM2151, 14318180/4) - MCFG_YM2151_IRQ_HANDLER(WRITELINE("seibu_sound", seibu_sound_device, fm_irqhandler)) - MCFG_SOUND_ROUTE(0, "mono", 0.50) - MCFG_SOUND_ROUTE(1, "mono", 0.50) + ym2151_device &ymsnd(YM2151(config, "ymsnd", 14318180/4)); + ymsnd.irq_handler().set(m_seibu_sound, FUNC(seibu_sound_device::fm_irqhandler)); + ymsnd.add_route(0, "mono", 0.50); + ymsnd.add_route(1, "mono", 0.50); MCFG_DEVICE_ADD("oki", OKIM6295, 1320000, okim6295_device::PIN7_LOW) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) @@ -1461,10 +1461,10 @@ MACHINE_CONFIG_START(legionna_state::grainbow) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ymsnd", YM2151, 14318180/4) - MCFG_YM2151_IRQ_HANDLER(WRITELINE("seibu_sound", seibu_sound_device, fm_irqhandler)) - MCFG_SOUND_ROUTE(0, "mono", 0.50) - MCFG_SOUND_ROUTE(1, "mono", 0.50) + ym2151_device &ymsnd(YM2151(config, "ymsnd", 14318180/4)); + ymsnd.irq_handler().set(m_seibu_sound, FUNC(seibu_sound_device::fm_irqhandler)); + ymsnd.add_route(0, "mono", 0.50); + ymsnd.add_route(1, "mono", 0.50); MCFG_DEVICE_ADD("oki", OKIM6295, 1320000, okim6295_device::PIN7_LOW) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) diff --git a/src/mame/drivers/lemmings.cpp b/src/mame/drivers/lemmings.cpp index d5fa8836049..d56cfa5728e 100644 --- a/src/mame/drivers/lemmings.cpp +++ b/src/mame/drivers/lemmings.cpp @@ -260,10 +260,10 @@ MACHINE_CONFIG_START(lemmings_state::lemmings) GENERIC_LATCH_8(config, m_soundlatch); - MCFG_DEVICE_ADD("ymsnd", YM2151, 32220000/9) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.45) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.45) + ym2151_device &ymsnd(YM2151(config, "ymsnd", 32220000/9)); + ymsnd.irq_handler().set_inputline(m_audiocpu, 1); + ymsnd.add_route(0, "lspeaker", 0.45); + ymsnd.add_route(1, "rspeaker", 0.45); MCFG_DEVICE_ADD("oki", OKIM6295, 1023924, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50) diff --git a/src/mame/drivers/m107.cpp b/src/mame/drivers/m107.cpp index 7abdc485c7a..6d149ea11c2 100644 --- a/src/mame/drivers/m107.cpp +++ b/src/mame/drivers/m107.cpp @@ -773,10 +773,10 @@ MACHINE_CONFIG_START(m107_state::firebarr) GENERIC_LATCH_8(config, "soundlatch2").data_pending_callback().set(m_upd71059c, FUNC(pic8259_device::ir3_w)); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(14'318'181)/4) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("soundcpu", NEC_INPUT_LINE_INTP0)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.40) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.40) + ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(14'318'181)/4)); + ymsnd.irq_handler().set_inputline(m_soundcpu, NEC_INPUT_LINE_INTP0); + ymsnd.add_route(0, "lspeaker", 0.40); + ymsnd.add_route(1, "rspeaker", 0.40); iremga20_device &ga20(IREMGA20(config, "irem", XTAL(14'318'181)/4)); ga20.add_route(0, "lspeaker", 1.0); diff --git a/src/mame/drivers/m72.cpp b/src/mame/drivers/m72.cpp index 60e6c98ccad..b95dffc2804 100644 --- a/src/mame/drivers/m72.cpp +++ b/src/mame/drivers/m72.cpp @@ -1817,9 +1817,9 @@ MACHINE_CONFIG_START(m72_state::m72_audio_chips) MCFG_DEVICE_ADD("m72", IREM_M72_AUDIO) - MCFG_DEVICE_ADD("ymsnd", YM2151, SOUND_CLOCK) - MCFG_YM2151_IRQ_HANDLER(WRITELINE("soundirq", rst_neg_buffer_device, rst28_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) + ym2151_device &ymsnd(YM2151(config, "ymsnd", SOUND_CLOCK)); + ymsnd.irq_handler().set("soundirq", FUNC(rst_neg_buffer_device::rst28_w)); + ymsnd.add_route(ALL_OUTPUTS, "speaker", 1.0); MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.2) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) diff --git a/src/mame/drivers/m90.cpp b/src/mame/drivers/m90.cpp index 8e41e64b154..fe63826ffa9 100644 --- a/src/mame/drivers/m90.cpp +++ b/src/mame/drivers/m90.cpp @@ -768,10 +768,10 @@ MACHINE_CONFIG_START(m90_state::m90) MCFG_DEVICE_ADD("m72", IREM_M72_AUDIO) - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(3'579'545)) /* verified on pcb */ - MCFG_YM2151_IRQ_HANDLER(WRITELINE("soundirq", rst_neg_buffer_device, rst28_w)) - MCFG_SOUND_ROUTE(0, "speaker", 0.15) - MCFG_SOUND_ROUTE(1, "speaker", 0.15) + ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(3'579'545))); /* verified on pcb */ + ymsnd.irq_handler().set("soundirq", FUNC(rst_neg_buffer_device::rst28_w)); + ymsnd.add_route(0, "speaker", 0.15); + ymsnd.add_route(1, "speaker", 0.15); MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) @@ -880,8 +880,7 @@ MACHINE_CONFIG_START(m90_state::dynablsb) soundlatch.data_pending_callback().set_inputline(m_soundcpu, INPUT_LINE_NMI); soundlatch.set_separate_acknowledge(false); - MCFG_DEVICE_MODIFY("ymsnd") - MCFG_YM2151_IRQ_HANDLER(NOOP) /* this bootleg polls the YM2151 instead of taking interrupts from it */ + subdevice<ym2151_device>("ymsnd")->irq_handler().set_nop(); /* this bootleg polls the YM2151 instead of taking interrupts from it */ MACHINE_CONFIG_END diff --git a/src/mame/drivers/m92.cpp b/src/mame/drivers/m92.cpp index d5764aa32d3..3153a00b69f 100644 --- a/src/mame/drivers/m92.cpp +++ b/src/mame/drivers/m92.cpp @@ -958,10 +958,10 @@ MACHINE_CONFIG_START(m92_state::m92) GENERIC_LATCH_8(config, "soundlatch2").data_pending_callback().set(m_upd71059c, FUNC(pic8259_device::ir3_w)); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(14'318'181)/4) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("soundcpu", NEC_INPUT_LINE_INTP0)) - MCFG_SOUND_ROUTE(0, "mono", 0.40) - MCFG_SOUND_ROUTE(1, "mono", 0.40) + ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(14'318'181)/4)); + ymsnd.irq_handler().set_inputline(m_soundcpu, NEC_INPUT_LINE_INTP0); + ymsnd.add_route(0, "mono", 0.40); + ymsnd.add_route(1, "mono", 0.40); iremga20_device &ga20(IREMGA20(config, "irem", XTAL(14'318'181)/4)); ga20.add_route(ALL_OUTPUTS, "mono", 1.0); diff --git a/src/mame/drivers/madmotor.cpp b/src/mame/drivers/madmotor.cpp index a04bb19a0cc..b0b7b73df8e 100644 --- a/src/mame/drivers/madmotor.cpp +++ b/src/mame/drivers/madmotor.cpp @@ -305,10 +305,10 @@ MACHINE_CONFIG_START(madmotor_state::madmotor) MCFG_DEVICE_ADD("ym1", YM2203, 21470000/6) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) - MCFG_DEVICE_ADD("ym2", YM2151, 21470000/6) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 1)) /* IRQ 2 */ - MCFG_SOUND_ROUTE(0, "mono", 0.45) - MCFG_SOUND_ROUTE(1, "mono", 0.45) + ym2151_device &ym2(YM2151(config, "ym2", 21470000/6)); + ym2.irq_handler().set_inputline(m_audiocpu, 1); /* IRQ2 */ + ym2.add_route(0, "mono", 0.45); + ym2.add_route(1, "mono", 0.45); MCFG_DEVICE_ADD("oki1", OKIM6295, 1023924, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) diff --git a/src/mame/drivers/mainevt.cpp b/src/mame/drivers/mainevt.cpp index 97312ca768c..f0827cb1d4d 100644 --- a/src/mame/drivers/mainevt.cpp +++ b/src/mame/drivers/mainevt.cpp @@ -513,9 +513,7 @@ MACHINE_CONFIG_START(mainevt_state::devstors) GENERIC_LATCH_8(config, "soundlatch"); - MCFG_DEVICE_ADD("ymsnd", YM2151, 3.579545_MHz_XTAL) - MCFG_SOUND_ROUTE(0, "mono", 0.30) - MCFG_SOUND_ROUTE(1, "mono", 0.30) + YM2151(config, "ymsnd", 3.579545_MHz_XTAL).add_route(0, "mono", 0.30).add_route(1, "mono", 0.30); MCFG_DEVICE_ADD("k007232", K007232, 3.579545_MHz_XTAL) MCFG_K007232_PORT_WRITE_HANDLER(WRITE8(*this, mainevt_state, volume_callback)) diff --git a/src/mame/drivers/megasys1.cpp b/src/mame/drivers/megasys1.cpp index 48b7efa4904..0cee8cf3126 100644 --- a/src/mame/drivers/megasys1.cpp +++ b/src/mame/drivers/megasys1.cpp @@ -1722,10 +1722,10 @@ MACHINE_CONFIG_START(megasys1_state::system_A) GENERIC_LATCH_16(config, m_soundlatch); GENERIC_LATCH_16(config, m_soundlatch2); - MCFG_DEVICE_ADD("ymsnd", YM2151, SOUND_CPU_CLOCK/2) /* 3.5MHz (7MHz / 2) verified */ - MCFG_YM2151_IRQ_HANDLER(WRITELINE(*this, megasys1_state,sound_irq)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.80) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.80) + ym2151_device &ymsnd(YM2151(config, "ymsnd", SOUND_CPU_CLOCK/2)); /* 3.5MHz (7MHz / 2) verified */ + ymsnd.irq_handler().set(FUNC(megasys1_state::sound_irq)); + ymsnd.add_route(0, "lspeaker", 0.80); + ymsnd.add_route(1, "rspeaker", 0.80); MCFG_DEVICE_ADD("oki1", OKIM6295, OKI4_SOUND_CLOCK, okim6295_device::PIN7_HIGH) /* 4MHz verified */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.30) diff --git a/src/mame/drivers/metlfrzr.cpp b/src/mame/drivers/metlfrzr.cpp index 8b6da9c5e78..58888eb8867 100644 --- a/src/mame/drivers/metlfrzr.cpp +++ b/src/mame/drivers/metlfrzr.cpp @@ -394,11 +394,10 @@ MACHINE_CONFIG_START(metlfrzr_state::metlfrzr) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(14'318'181) / 4) /* 3.579545 MHz */ - MCFG_YM2151_IRQ_HANDLER(WRITELINE("t5182", t5182_device, ym2151_irq_handler)) - MCFG_SOUND_ROUTE(0, "mono", 1.0) - MCFG_SOUND_ROUTE(1, "mono", 1.0) - + ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(14'318'181) / 4)); /* 3.579545 MHz */ + ymsnd.irq_handler().set("t5182", FUNC(t5182_device::ym2151_irq_handler)); + ymsnd.add_route(0, "mono", 1.0); + ymsnd.add_route(1, "mono", 1.0); MACHINE_CONFIG_END diff --git a/src/mame/drivers/metro.cpp b/src/mame/drivers/metro.cpp index 6575ac23513..8ac503eecf2 100644 --- a/src/mame/drivers/metro.cpp +++ b/src/mame/drivers/metro.cpp @@ -3189,9 +3189,9 @@ MACHINE_CONFIG_START(metro_state::daitorid) GENERIC_LATCH_8(config, m_soundlatch); - MCFG_DEVICE_ADD("ymsnd", YM2151, 3.579545_MHz_XTAL) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", UPD7810_INTF2)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80) + ym2151_device &ymsnd(YM2151(config, "ymsnd", 3.579545_MHz_XTAL)); + ymsnd.irq_handler().set_inputline(m_audiocpu, UPD7810_INTF2); + ymsnd.add_route(ALL_OUTPUTS, "mono", 0.80); MCFG_DEVICE_ADD("oki", OKIM6295, 1200000, okim6295_device::PIN7_HIGH) // sample rate = M6295 clock / 132 MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) @@ -3529,9 +3529,9 @@ MACHINE_CONFIG_START(metro_state::pururun) GENERIC_LATCH_8(config, m_soundlatch); - MCFG_DEVICE_ADD("ymsnd", YM2151, 3.579545_MHz_XTAL) /* Confirmed match to reference video */ - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", UPD7810_INTF2)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80) + ym2151_device &ymsnd(YM2151(config, "ymsnd", 3.579545_MHz_XTAL)); /* Confirmed match to reference video */ + ymsnd.irq_handler().set_inputline(m_audiocpu, UPD7810_INTF2); + ymsnd.add_route(ALL_OUTPUTS, "mono", 0.80); MCFG_DEVICE_ADD("oki", OKIM6295, 3.579545_MHz_XTAL/3, okim6295_device::PIN7_HIGH) // sample rate = M6295 clock / 132 MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) diff --git a/src/mame/drivers/moo.cpp b/src/mame/drivers/moo.cpp index 1aaf6ccd826..daa24c6120b 100644 --- a/src/mame/drivers/moo.cpp +++ b/src/mame/drivers/moo.cpp @@ -548,9 +548,7 @@ MACHINE_CONFIG_START(moo_state::moo) K054321(config, m_k054321, "lspeaker", "rspeaker"); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(32'000'000)/8) // 4MHz verified - MCFG_SOUND_ROUTE(0, "lspeaker", 0.50) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.50) + YM2151(config, "ymsnd", XTAL(32'000'000)/8).add_route(0, "lspeaker", 0.50).add_route(1, "rspeaker", 0.50); // 4MHz verified MCFG_DEVICE_ADD("k054539", K054539, XTAL(18'432'000)) MCFG_SOUND_ROUTE(0, "rspeaker", 0.75) diff --git a/src/mame/drivers/mugsmash.cpp b/src/mame/drivers/mugsmash.cpp index e2871564057..f8a2d19882d 100644 --- a/src/mame/drivers/mugsmash.cpp +++ b/src/mame/drivers/mugsmash.cpp @@ -428,10 +428,10 @@ MACHINE_CONFIG_START(mugsmash_state::mugsmash) GENERIC_LATCH_8(config, m_soundlatch); m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI); - MCFG_DEVICE_ADD("ymsnd", YM2151, 3579545) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.00) /* music */ - MCFG_SOUND_ROUTE(1, "rspeaker", 1.00) + ym2151_device &ymsnd(YM2151(config, "ymsnd", 3579545)); + ymsnd.irq_handler().set_inputline(m_audiocpu, 0); + ymsnd.add_route(0, "lspeaker", 1.00); /* music */ + ymsnd.add_route(1, "rspeaker", 1.00); MCFG_DEVICE_ADD("oki", OKIM6295, 1122000, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50) /* sound fx */ diff --git a/src/mame/drivers/mustache.cpp b/src/mame/drivers/mustache.cpp index 8c3bce539b7..92792b6bfa0 100644 --- a/src/mame/drivers/mustache.cpp +++ b/src/mame/drivers/mustache.cpp @@ -207,10 +207,10 @@ MACHINE_CONFIG_START(mustache_state::mustache) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ymsnd", YM2151, YM_CLOCK) - MCFG_YM2151_IRQ_HANDLER(WRITELINE("t5182", t5182_device, ym2151_irq_handler)) - MCFG_SOUND_ROUTE(0, "mono", 1.0) - MCFG_SOUND_ROUTE(1, "mono", 1.0) + ym2151_device &ymsnd(YM2151(config, "ymsnd", YM_CLOCK)); + ymsnd.irq_handler().set("t5182", FUNC(t5182_device::ym2151_irq_handler)); + ymsnd.add_route(0, "mono", 1.0); + ymsnd.add_route(1, "mono", 1.0); MACHINE_CONFIG_END ROM_START( mustache ) diff --git a/src/mame/drivers/namcos2.cpp b/src/mame/drivers/namcos2.cpp index 3f3b5bc93a7..80279914f30 100644 --- a/src/mame/drivers/namcos2.cpp +++ b/src/mame/drivers/namcos2.cpp @@ -1825,9 +1825,7 @@ MACHINE_CONFIG_START(namcos2_state::base_noio) m_c140->add_route(0, "lspeaker", 0.75); m_c140->add_route(1, "rspeaker", 0.75); - MCFG_DEVICE_ADD("ymsnd", YM2151, YM2151_SOUND_CLOCK) /* 3.579545MHz */ - MCFG_SOUND_ROUTE(0, "lspeaker", 0.80) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.80) + YM2151(config, "ymsnd", YM2151_SOUND_CLOCK).add_route(0, "lspeaker", 0.80).add_route(1, "rspeaker", 0.80); /* 3.579545MHz */ MACHINE_CONFIG_END @@ -1857,17 +1855,16 @@ MACHINE_CONFIG_START(namcos2_state::assaultp) MCFG_QUANTUM_TIME(attotime::from_hz(12000*8)) /* CPU slices per frame - boosted (along with MCU speed) so that the Mode Select works */ MACHINE_CONFIG_END -MACHINE_CONFIG_START(namcos2_state::base3) +void namcos2_state::base3(machine_config &config) +{ base(config); m_c140->reset_routes(); m_c140->add_route(0, "lspeaker", 0.45); m_c140->add_route(1, "rspeaker", 0.45); - MCFG_DEVICE_REPLACE("ymsnd", YM2151, YM2151_SOUND_CLOCK) /* 3.579545MHz */ - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) -MACHINE_CONFIG_END + YM2151(config.replace(), "ymsnd", YM2151_SOUND_CLOCK).add_route(0, "lspeaker", 1.0).add_route(1, "rspeaker", 1.0); /* 3.579545MHz */ +} MACHINE_CONFIG_START(namcos2_state::gollygho) MCFG_DEVICE_ADD("maincpu", M68000, M68K_CPU_CLOCK) /* 12.288MHz (49.152MHz OSC/4) */ @@ -1919,9 +1916,7 @@ MACHINE_CONFIG_START(namcos2_state::gollygho) m_c140->add_route(0, "lspeaker", 0.75); m_c140->add_route(1, "rspeaker", 0.75); - MCFG_DEVICE_ADD("ymsnd", YM2151, YM2151_SOUND_CLOCK) /* 3.579545MHz */ - MCFG_SOUND_ROUTE(0, "lspeaker", 0.80) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.80) + YM2151(config, "ymsnd", YM2151_SOUND_CLOCK).add_route(0, "lspeaker", 0.80).add_route(1, "rspeaker", 0.80); /* 3.579545MHz */ MACHINE_CONFIG_END @@ -1971,9 +1966,7 @@ MACHINE_CONFIG_START(namcos2_state::finallap_noio) m_c140->add_route(0, "lspeaker", 0.75); m_c140->add_route(1, "rspeaker", 0.75); - MCFG_DEVICE_ADD("ymsnd", YM2151, YM2151_SOUND_CLOCK) /* 3.579545MHz */ - MCFG_SOUND_ROUTE(0, "lspeaker", 0.80) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.80) + YM2151(config, "ymsnd", YM2151_SOUND_CLOCK).add_route(0, "lspeaker", 0.80).add_route(1, "rspeaker", 0.80); /* 3.579545MHz */ MACHINE_CONFIG_END MACHINE_CONFIG_START(namcos2_state::finallap) @@ -2052,9 +2045,7 @@ MACHINE_CONFIG_START(namcos2_state::sgunner) m_c140->add_route(0, "lspeaker", 0.75); m_c140->add_route(1, "rspeaker", 0.75); - MCFG_DEVICE_ADD("ymsnd", YM2151, YM2151_SOUND_CLOCK) /* 3.579545MHz */ - MCFG_SOUND_ROUTE(0, "lspeaker", 0.80) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.80) + YM2151(config, "ymsnd", YM2151_SOUND_CLOCK).add_route(0, "lspeaker", 0.80).add_route(1, "rspeaker", 0.80); /* 3.579545MHz */ MACHINE_CONFIG_END MACHINE_CONFIG_START(namcos2_state::sgunner2) @@ -2108,9 +2099,7 @@ MACHINE_CONFIG_START(namcos2_state::sgunner2) m_c140->add_route(0, "lspeaker", 0.75); m_c140->add_route(1, "rspeaker", 0.75); - MCFG_DEVICE_ADD("ymsnd", YM2151, YM2151_SOUND_CLOCK) /* 3.579545MHz */ - MCFG_SOUND_ROUTE(0, "lspeaker", 0.80) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.80) + YM2151(config, "ymsnd", YM2151_SOUND_CLOCK).add_route(0, "lspeaker", 0.80).add_route(1, "rspeaker", 0.80); /* 3.579545MHz */ MACHINE_CONFIG_END MACHINE_CONFIG_START(namcos2_state::suzuka8h) @@ -2167,9 +2156,7 @@ MACHINE_CONFIG_START(namcos2_state::suzuka8h) m_c140->add_route(0, "lspeaker", 0.75); m_c140->add_route(1, "rspeaker", 0.75); - MCFG_DEVICE_ADD("ymsnd", YM2151, YM2151_SOUND_CLOCK) /* 3.579545MHz */ - MCFG_SOUND_ROUTE(0, "lspeaker", 0.80) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.80) + YM2151(config, "ymsnd", YM2151_SOUND_CLOCK).add_route(0, "lspeaker", 0.80).add_route(1, "rspeaker", 0.80); /* 3.579545MHz */ MACHINE_CONFIG_END MACHINE_CONFIG_START(namcos2_state::luckywld) @@ -2244,10 +2231,8 @@ MACHINE_CONFIG_START(namcos2_state::metlhawk) m_c140->add_route(0, "lspeaker", 1.0); m_c140->add_route(1, "rspeaker", 1.0); - MCFG_DEVICE_ADD("ymsnd", YM2151, YM2151_SOUND_CLOCK) /* 3.579545MHz */ -// MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 1)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.80) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.80) + YM2151(config, "ymsnd", YM2151_SOUND_CLOCK).add_route(0, "lspeaker", 0.80).add_route(1, "rspeaker", 0.80); /* 3.579545MHz */ +// ymsnd.irq_handler().set_inputline("audiocpu", 1); MACHINE_CONFIG_END diff --git a/src/mame/drivers/namcos21.cpp b/src/mame/drivers/namcos21.cpp index 5b716da7488..f232fd7710d 100644 --- a/src/mame/drivers/namcos21.cpp +++ b/src/mame/drivers/namcos21.cpp @@ -910,9 +910,7 @@ MACHINE_CONFIG_START(namcos21_state::winrun) m_c140->add_route(0, "lspeaker", 0.50); m_c140->add_route(1, "rspeaker", 0.50); - MCFG_DEVICE_ADD("ymsnd", YM2151, 3579580) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.30) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.30) + YM2151(config, "ymsnd", 3579580).add_route(0, "lspeaker", 0.30).add_route(1, "rspeaker", 0.30); MACHINE_CONFIG_END diff --git a/src/mame/drivers/namcos21_c67.cpp b/src/mame/drivers/namcos21_c67.cpp index 0d719353f49..e49b8a49a9c 100644 --- a/src/mame/drivers/namcos21_c67.cpp +++ b/src/mame/drivers/namcos21_c67.cpp @@ -865,9 +865,7 @@ MACHINE_CONFIG_START(namcos21_c67_state::namcos21) m_c140->add_route(0, "lspeaker", 0.50); m_c140->add_route(1, "rspeaker", 0.50); - MCFG_DEVICE_ADD("ymsnd", YM2151, 3579580) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.30) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.30) + YM2151(config, "ymsnd", 3579580).add_route(0, "lspeaker", 0.30).add_route(1, "rspeaker", 0.30); MACHINE_CONFIG_END MACHINE_CONFIG_START(namcos21_c67_state::aircomb) diff --git a/src/mame/drivers/namcos21_de.cpp b/src/mame/drivers/namcos21_de.cpp index 10bad673d0a..e85de195659 100644 --- a/src/mame/drivers/namcos21_de.cpp +++ b/src/mame/drivers/namcos21_de.cpp @@ -238,9 +238,7 @@ MACHINE_CONFIG_START(namco_de_pcbstack_device::device_add_mconfig) m_c140->add_route(0, "lspeaker", 0.50); m_c140->add_route(1, "rspeaker", 0.50); - MCFG_DEVICE_ADD("ymsnd", YM2151, 3579580) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.30) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.30) + YM2151(config, "ymsnd", 3579580).add_route(0, "lspeaker", 0.30).add_route(1, "rspeaker", 0.30); MACHINE_CONFIG_END diff --git a/src/mame/drivers/namcos86.cpp b/src/mame/drivers/namcos86.cpp index 838a0e97f60..07866feec04 100644 --- a/src/mame/drivers/namcos86.cpp +++ b/src/mame/drivers/namcos86.cpp @@ -1084,9 +1084,7 @@ MACHINE_CONFIG_START(namcos86_state::hopmappy) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ymsnd", YM2151, 3579580) - MCFG_SOUND_ROUTE(0, "mono", 0.0) - MCFG_SOUND_ROUTE(1, "mono", 0.60) /* only right channel is connected */ + YM2151(config, "ymsnd", 3579580).add_route(0, "mono", 0.0).add_route(1, "mono", 0.60); /* only right channel is connected */ MCFG_DEVICE_ADD("namco", NAMCO_CUS30, XTAL(49'152'000)/2048) MCFG_NAMCO_AUDIO_VOICES(8) diff --git a/src/mame/drivers/nemesis.cpp b/src/mame/drivers/nemesis.cpp index a271ecd1c70..f8db2b6d1f3 100644 --- a/src/mame/drivers/nemesis.cpp +++ b/src/mame/drivers/nemesis.cpp @@ -1783,10 +1783,10 @@ MACHINE_CONFIG_START(nemesis_state::salamand) MCFG_SOUND_ROUTE(1, "lspeaker", 0.08) MCFG_SOUND_ROUTE(1, "rspeaker", 0.08) - MCFG_DEVICE_ADD("ymsnd", YM2151, 3579545) -// MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) ... Interrupts _are_ generated, I wonder where they go - MCFG_SOUND_ROUTE(0, "rspeaker", 1.2) // reversed according to MT #4565 - MCFG_SOUND_ROUTE(1, "lspeaker", 1.2) + ym2151_device &ymsnd(YM2151(config, "ymsnd", 3579545)); +// ymsnd.irq_handler().set_inputline(m_audiocpu, 0); ... Interrupts _are_ generated, I wonder where they go + ymsnd.add_route(0, "rspeaker", 1.2); // reversed according to MT #4565 + ymsnd.add_route(1, "lspeaker", 1.2); MACHINE_CONFIG_END @@ -1830,10 +1830,10 @@ MACHINE_CONFIG_START(nemesis_state::blkpnthr) MCFG_SOUND_ROUTE(1, "lspeaker", 0.10) MCFG_SOUND_ROUTE(1, "rspeaker", 0.10) - MCFG_DEVICE_ADD("ymsnd", YM2151, 3579545) -// MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) ... Interrupts _are_ generated, I wonder where they go - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) + ym2151_device &ymsnd(YM2151(config, "ymsnd", 3579545)); +// ymsnd.irq_handler().set_inputline(m_audiocpu, 0); ... Interrupts _are_ generated, I wonder where they go + ymsnd.add_route(0, "lspeaker", 1.0); + ymsnd.add_route(1, "rspeaker", 1.0); MACHINE_CONFIG_END @@ -1988,10 +1988,10 @@ MACHINE_CONFIG_START(nemesis_state::hcrash) MCFG_SOUND_ROUTE(1, "lspeaker", 0.10) MCFG_SOUND_ROUTE(1, "rspeaker", 0.10) - MCFG_DEVICE_ADD("ymsnd", YM2151, 3579545) -// MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) ... Interrupts _are_ generated, I wonder where they go - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) + ym2151_device &ymsnd(YM2151(config, "ymsnd", 3579545)); +// ymsnd.irq_handler().set_inputline(m_audiocpu, 0); ... Interrupts _are_ generated, I wonder where they go + ymsnd.add_route(0, "lspeaker", 1.0); + ymsnd.add_route(1, "rspeaker", 1.0); MACHINE_CONFIG_END /*************************************************************************** diff --git a/src/mame/drivers/nmk16.cpp b/src/mame/drivers/nmk16.cpp index e58253c17de..7aef282cd48 100644 --- a/src/mame/drivers/nmk16.cpp +++ b/src/mame/drivers/nmk16.cpp @@ -5399,10 +5399,10 @@ MACHINE_CONFIG_START(nmk16_state::stagger1) GENERIC_LATCH_8(config, m_soundlatch); m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, 0); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(4'000'000)) /* verified on pcb */ - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.30) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.30) + ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(4'000'000))); /* verified on pcb */ + ymsnd.irq_handler().set_inputline(m_audiocpu, 0); + ymsnd.add_route(0, "lspeaker", 0.30); + ymsnd.add_route(1, "rspeaker", 0.30); MCFG_DEVICE_ADD("oki1", OKIM6295, XTAL(4'000'000)/4, okim6295_device::PIN7_HIGH) /* verified on pcb */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.70) diff --git a/src/mame/drivers/opwolf.cpp b/src/mame/drivers/opwolf.cpp index 768c0f015d3..8ac662a86b7 100644 --- a/src/mame/drivers/opwolf.cpp +++ b/src/mame/drivers/opwolf.cpp @@ -979,11 +979,11 @@ MACHINE_CONFIG_START(opwolf_state::opwolf) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, SOUND_CPU_CLOCK) /* 4 MHz */ - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_YM2151_PORT_WRITE_HANDLER(WRITE8(*this, opwolf_state,sound_bankswitch_w)) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) + ym2151_device &ymsnd(YM2151(config, "ymsnd", SOUND_CPU_CLOCK)); /* 4 MHz */ + ymsnd.irq_handler().set_inputline(m_audiocpu, 0); + ymsnd.port_write_handler().set(FUNC(opwolf_state::sound_bankswitch_w)); + ymsnd.add_route(0, "lspeaker", 1.0); + ymsnd.add_route(1, "rspeaker", 1.0); MCFG_DEVICE_ADD("msm0", MSM5205, 384000) MCFG_MSM5205_VCLK_CB(WRITELINE(*this, opwolf_state, msm5205_vck_w<0>)) @@ -1054,11 +1054,11 @@ MACHINE_CONFIG_START(opwolf_state::opwolfb) /* OSC clocks unknown for the bootle SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, SOUND_CPU_CLOCK) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_YM2151_PORT_WRITE_HANDLER(WRITE8(*this, opwolf_state,sound_bankswitch_w)) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) + ym2151_device &ymsnd(YM2151(config, "ymsnd", SOUND_CPU_CLOCK)); + ymsnd.irq_handler().set_inputline(m_audiocpu, 0); + ymsnd.port_write_handler().set(FUNC(opwolf_state::sound_bankswitch_w)); + ymsnd.add_route(0, "lspeaker", 1.0); + ymsnd.add_route(1, "rspeaker", 1.0); MCFG_DEVICE_ADD("msm0", MSM5205, 384000) MCFG_MSM5205_VCLK_CB(WRITELINE(*this, opwolf_state, msm5205_vck_w<0>)) diff --git a/src/mame/drivers/overdriv.cpp b/src/mame/drivers/overdriv.cpp index cff5b92b5c0..3957ead1706 100644 --- a/src/mame/drivers/overdriv.cpp +++ b/src/mame/drivers/overdriv.cpp @@ -384,9 +384,7 @@ MACHINE_CONFIG_START(overdriv_state::overdriv) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(3'579'545)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.5) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.5) + YM2151(config, "ymsnd", XTAL(3'579'545)).add_route(0, "lspeaker", 0.5).add_route(1, "rspeaker", 0.5); MCFG_K053260_ADD("k053260_1", XTAL(3'579'545)) MCFG_DEVICE_ADDRESS_MAP(0, overdriv_k053260_map) diff --git a/src/mame/drivers/panicr.cpp b/src/mame/drivers/panicr.cpp index d3904332a8c..d238882b2e5 100644 --- a/src/mame/drivers/panicr.cpp +++ b/src/mame/drivers/panicr.cpp @@ -638,11 +638,10 @@ MACHINE_CONFIG_START(panicr_state::panicr) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ymsnd", YM2151, SOUND_CLOCK/4) /* 3.579545 MHz */ - MCFG_YM2151_IRQ_HANDLER(WRITELINE("t5182", t5182_device, ym2151_irq_handler)) - MCFG_SOUND_ROUTE(0, "mono", 1.0) - MCFG_SOUND_ROUTE(1, "mono", 1.0) - + ym2151_device &ymsnd(YM2151(config, "ymsnd", SOUND_CLOCK/4)); /* 3.579545 MHz */ + ymsnd.irq_handler().set(m_t5182, FUNC(t5182_device::ym2151_irq_handler)); + ymsnd.add_route(0, "mono", 1.0); + ymsnd.add_route(1, "mono", 1.0); MACHINE_CONFIG_END diff --git a/src/mame/drivers/parodius.cpp b/src/mame/drivers/parodius.cpp index 70273a3d104..e23ab184b00 100644 --- a/src/mame/drivers/parodius.cpp +++ b/src/mame/drivers/parodius.cpp @@ -273,9 +273,7 @@ MACHINE_CONFIG_START(parodius_state::parodius) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, 3579545) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) + YM2151(config, "ymsnd", 3579545).add_route(0, "lspeaker", 1.0).add_route(1, "rspeaker", 1.0); MCFG_K053260_ADD("k053260", 3579545) MCFG_SOUND_ROUTE(0, "lspeaker", 0.70) diff --git a/src/mame/drivers/raiden2.cpp b/src/mame/drivers/raiden2.cpp index 62105e47c63..79b62c9f224 100644 --- a/src/mame/drivers/raiden2.cpp +++ b/src/mame/drivers/raiden2.cpp @@ -1458,10 +1458,10 @@ MACHINE_CONFIG_START(raiden2_state::raiden2) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(28'636'363)/8) - MCFG_YM2151_IRQ_HANDLER(WRITELINE("seibu_sound", seibu_sound_device, fm_irqhandler)) - MCFG_SOUND_ROUTE(0, "mono", 0.50) - MCFG_SOUND_ROUTE(1, "mono", 0.50) + ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(28'636'363)/8)); + ymsnd.irq_handler().set(m_seibu_sound, FUNC(seibu_sound_device::fm_irqhandler)); + ymsnd.add_route(0, "mono", 0.50); + ymsnd.add_route(1, "mono", 0.50); MCFG_DEVICE_ADD("oki1", OKIM6295, XTAL(28'636'363)/28, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) diff --git a/src/mame/drivers/rastan.cpp b/src/mame/drivers/rastan.cpp index 46bb1fc138a..88c0ab849e4 100644 --- a/src/mame/drivers/rastan.cpp +++ b/src/mame/drivers/rastan.cpp @@ -403,11 +403,11 @@ MACHINE_CONFIG_START(rastan_state::rastan) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(16'000'000)/4) /* verified on pcb */ - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_YM2151_PORT_WRITE_HANDLER(WRITE8(*this, rastan_state,rastan_bankswitch_w)) - MCFG_SOUND_ROUTE(0, "mono", 0.50) - MCFG_SOUND_ROUTE(1, "mono", 0.50) + ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(16'000'000)/4)); /* verified on pcb */ + ymsnd.irq_handler().set_inputline(m_audiocpu, 0); + ymsnd.port_write_handler().set(FUNC(rastan_state::rastan_bankswitch_w)); + ymsnd.add_route(0, "mono", 0.50); + ymsnd.add_route(1, "mono", 0.50); MCFG_DEVICE_ADD("msm", MSM5205, XTAL(384'000)) /* verified on pcb */ MCFG_MSM5205_VCLK_CB(WRITELINE(*this, rastan_state, rastan_msm5205_vck)) /* VCK function */ diff --git a/src/mame/drivers/rbisland.cpp b/src/mame/drivers/rbisland.cpp index 958ced3cea3..39e47760c7b 100644 --- a/src/mame/drivers/rbisland.cpp +++ b/src/mame/drivers/rbisland.cpp @@ -698,11 +698,11 @@ MACHINE_CONFIG_START(rbisland_state::rbisland) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(16'000'000)/4) /* verified on pcb */ - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_YM2151_PORT_WRITE_HANDLER(WRITE8(*this, rbisland_state,bankswitch_w)) - MCFG_SOUND_ROUTE(0, "mono", 0.50) - MCFG_SOUND_ROUTE(1, "mono", 0.50) + ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(16'000'000)/4)); /* verified on pcb */ + ymsnd.irq_handler().set_inputline(m_audiocpu, 0); + ymsnd.port_write_handler().set(FUNC(rbisland_state::bankswitch_w)); + ymsnd.add_route(0, "mono", 0.50); + ymsnd.add_route(1, "mono", 0.50); MCFG_DEVICE_ADD("ciu", PC060HA, 0) MCFG_PC060HA_MASTER_CPU("maincpu") diff --git a/src/mame/drivers/rbmk.cpp b/src/mame/drivers/rbmk.cpp index 0d803d2c4bc..f971b2bef54 100644 --- a/src/mame/drivers/rbmk.cpp +++ b/src/mame/drivers/rbmk.cpp @@ -597,9 +597,9 @@ MACHINE_CONFIG_START(rbmk_state::rbmk) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.47) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.47) - MCFG_DEVICE_ADD("ymsnd", YM2151, 22000000 / 8) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.60) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.60) + YM2151(config, m_ymsnd, 22000000 / 8); + m_ymsnd->add_route(0, "lspeaker", 0.60); + m_ymsnd->add_route(1, "rspeaker", 0.60); MACHINE_CONFIG_END MACHINE_CONFIG_START(rbmk_state::rbspm) diff --git a/src/mame/drivers/rockrage.cpp b/src/mame/drivers/rockrage.cpp index ab33ebb0bc1..4bb347a8a14 100644 --- a/src/mame/drivers/rockrage.cpp +++ b/src/mame/drivers/rockrage.cpp @@ -292,9 +292,7 @@ MACHINE_CONFIG_START(rockrage_state::rockrage) GENERIC_LATCH_8(config, m_soundlatch); - MCFG_DEVICE_ADD("ymsnd", YM2151, 3579545) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.60) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.60) + YM2151(config, "ymsnd", 3579545).add_route(0, "lspeaker", 0.60).add_route(1, "rspeaker", 0.60); MCFG_DEVICE_ADD("vlm", VLM5030, 3579545) MCFG_DEVICE_ADDRESS_MAP(0, rockrage_vlm_map) diff --git a/src/mame/drivers/rohga.cpp b/src/mame/drivers/rohga.cpp index 8005b40fb35..a465c80abe2 100644 --- a/src/mame/drivers/rohga.cpp +++ b/src/mame/drivers/rohga.cpp @@ -948,11 +948,11 @@ MACHINE_CONFIG_START(rohga_state::rohga) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, 32220000/9) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 1)) /* IRQ 2 */ - MCFG_YM2151_PORT_WRITE_HANDLER(WRITE8(*this, rohga_state,sound_bankswitch_w)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.78) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.78) + ym2151_device &ymsnd(YM2151(config, "ymsnd", 32220000/9)); + ymsnd.irq_handler().set_inputline(m_audiocpu, 1); /* IRQ2 */ + ymsnd.port_write_handler().set(FUNC(rohga_state::sound_bankswitch_w)); + ymsnd.add_route(0, "lspeaker", 0.78); + ymsnd.add_route(1, "rspeaker", 0.78); MCFG_DEVICE_ADD("oki1", OKIM6295, 32220000/32, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) @@ -1045,11 +1045,11 @@ MACHINE_CONFIG_START(rohga_state::wizdfire) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, 32220000/9) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 1)) /* IRQ 2 */ - MCFG_YM2151_PORT_WRITE_HANDLER(WRITE8(*this, rohga_state,sound_bankswitch_w)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.80) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.80) + ym2151_device &ymsnd(YM2151(config, "ymsnd", 32220000/9)); + ymsnd.irq_handler().set_inputline(m_audiocpu, 1); /* IRQ2 */ + ymsnd.port_write_handler().set(FUNC(rohga_state::sound_bankswitch_w)); + ymsnd.add_route(0, "lspeaker", 0.80); + ymsnd.add_route(1, "rspeaker", 0.80); MCFG_DEVICE_ADD("oki1", OKIM6295, 32220000/32, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) @@ -1143,11 +1143,11 @@ MACHINE_CONFIG_START(rohga_state::nitrobal) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, 32220000/9) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 1)) /* IRQ 2 */ - MCFG_YM2151_PORT_WRITE_HANDLER(WRITE8(*this, rohga_state,sound_bankswitch_w)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.80) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.80) + ym2151_device &ymsnd(YM2151(config, "ymsnd", 32220000/9)); + ymsnd.irq_handler().set_inputline(m_audiocpu, 1); /* IRQ2 */ + ymsnd.port_write_handler().set(FUNC(rohga_state::sound_bankswitch_w)); + ymsnd.add_route(0, "lspeaker", 0.80); + ymsnd.add_route(1, "rspeaker", 0.80); MCFG_DEVICE_ADD("oki1", OKIM6295, 32220000/32, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) @@ -1235,11 +1235,11 @@ MACHINE_CONFIG_START(rohga_state::schmeisr) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, 32220000/9) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 1)) /* IRQ 2 */ - MCFG_YM2151_PORT_WRITE_HANDLER(WRITE8(*this, rohga_state,sound_bankswitch_w)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.80) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.80) + ym2151_device &ymsnd(YM2151(config, "ymsnd", 32220000/9)); + ymsnd.irq_handler().set_inputline(m_audiocpu, 1); /* IRQ2 */ + ymsnd.port_write_handler().set(FUNC(rohga_state::sound_bankswitch_w)); + ymsnd.add_route(0, "lspeaker", 0.80); + ymsnd.add_route(1, "rspeaker", 0.80); MCFG_DEVICE_ADD("oki1", OKIM6295, 32220000/32, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) diff --git a/src/mame/drivers/rpunch.cpp b/src/mame/drivers/rpunch.cpp index 40a3b33a6d2..2273a1bbd5a 100644 --- a/src/mame/drivers/rpunch.cpp +++ b/src/mame/drivers/rpunch.cpp @@ -492,10 +492,10 @@ MACHINE_CONFIG_START(rpunch_state::rpunch) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ymsnd", YM2151, MASTER_CLOCK/4) - MCFG_YM2151_IRQ_HANDLER(WRITELINE("soundirq", input_merger_device, in_w<1>)) - MCFG_SOUND_ROUTE(0, "mono", 0.50) - MCFG_SOUND_ROUTE(1, "mono", 0.50) + ym2151_device &ymsnd(YM2151(config, "ymsnd", MASTER_CLOCK/4)); + ymsnd.irq_handler().set("soundirq", FUNC(input_merger_device::in_w<1>)); + ymsnd.add_route(0, "mono", 0.50); + ymsnd.add_route(1, "mono", 0.50); MCFG_DEVICE_ADD("upd", UPD7759) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) @@ -544,10 +544,10 @@ MACHINE_CONFIG_START(rpunch_state::svolleybl) SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ymsnd", YM2151, MASTER_CLOCK/4) - MCFG_YM2151_IRQ_HANDLER(WRITELINE("soundirq", input_merger_device, in_w<1>)) - MCFG_SOUND_ROUTE(0, "mono", 0.50) - MCFG_SOUND_ROUTE(1, "mono", 0.50) + ym2151_device &ymsnd(YM2151(config, "ymsnd", MASTER_CLOCK/4)); + ymsnd.irq_handler().set("soundirq", FUNC(input_merger_device::in_w<1>)); + ymsnd.add_route(0, "mono", 0.50); + ymsnd.add_route(1, "mono", 0.50); MCFG_DEVICE_ADD("upd", UPD7759) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) diff --git a/src/mame/drivers/s11.cpp b/src/mame/drivers/s11.cpp index 10917b22ec5..e3e55a08f20 100644 --- a/src/mame/drivers/s11.cpp +++ b/src/mame/drivers/s11.cpp @@ -470,9 +470,9 @@ MACHINE_CONFIG_START(s11_state::s11) MCFG_DEVICE_PROGRAM_MAP(s11_bg_map) SPEAKER(config, "bg").front_center(); - MCFG_DEVICE_ADD("ym2151", YM2151, 3580000) - MCFG_YM2151_IRQ_HANDLER(WRITELINE(*this, s11_state, ym2151_irq_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bg", 0.50) + YM2151(config, m_ym, 3580000); + m_ym->irq_handler().set(FUNC(s11_state::ym2151_irq_w)); + m_ym->add_route(ALL_OUTPUTS, "bg", 0.50); MCFG_DEVICE_ADD("dac1", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bg", 0.25) diff --git a/src/mame/drivers/s11a.cpp b/src/mame/drivers/s11a.cpp index d42e9c79466..ddfc4d8fe4f 100644 --- a/src/mame/drivers/s11a.cpp +++ b/src/mame/drivers/s11a.cpp @@ -261,9 +261,9 @@ MACHINE_CONFIG_START(s11a_state::s11a) MCFG_DEVICE_PROGRAM_MAP(s11a_bg_map) SPEAKER(config, "bg").front_center(); - MCFG_DEVICE_ADD("ym2151", YM2151, XTAL(3'579'545)) - MCFG_YM2151_IRQ_HANDLER(WRITELINE(*this, s11a_state, ym2151_irq_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bg", 0.50) + YM2151(config, m_ym, XTAL(3'579'545)); + m_ym->irq_handler().set(FUNC(s11a_state::ym2151_irq_w)); + m_ym->add_route(ALL_OUTPUTS, "bg", 0.50); MCFG_DEVICE_ADD("dac1", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bg", 0.25) diff --git a/src/mame/drivers/s11b.cpp b/src/mame/drivers/s11b.cpp index d8ac786e597..cc40eaa7be5 100644 --- a/src/mame/drivers/s11b.cpp +++ b/src/mame/drivers/s11b.cpp @@ -339,9 +339,9 @@ MACHINE_CONFIG_START(s11b_state::s11b) MCFG_QUANTUM_TIME(attotime::from_hz(50)) SPEAKER(config, "bg").front_center(); - MCFG_DEVICE_ADD("ym2151", YM2151, 3580000) - MCFG_YM2151_IRQ_HANDLER(WRITELINE(*this, s11b_state, ym2151_irq_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bg", 0.25) + YM2151(config, m_ym, 3580000); + m_ym->irq_handler().set(FUNC(s11b_state::ym2151_irq_w)); + m_ym->add_route(ALL_OUTPUTS, "bg", 0.25); MCFG_DEVICE_ADD("dac1", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bg", 0.25) diff --git a/src/mame/drivers/segahang.cpp b/src/mame/drivers/segahang.cpp index a004ffc2e3c..762820401ef 100644 --- a/src/mame/drivers/segahang.cpp +++ b/src/mame/drivers/segahang.cpp @@ -914,10 +914,10 @@ MACHINE_CONFIG_START(segahang_state::sound_board_2151) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, MASTER_CLOCK_8MHz/2) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("soundcpu", 0)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.43) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.43) + ym2151_device &ymsnd(YM2151(config, "ymsnd", MASTER_CLOCK_8MHz/2)); + ymsnd.irq_handler().set_inputline(m_soundcpu, 0); + ymsnd.add_route(0, "lspeaker", 0.43); + ymsnd.add_route(1, "rspeaker", 0.43); MCFG_DEVICE_ADD("pcm", SEGAPCM, MASTER_CLOCK_8MHz/2) MCFG_SEGAPCM_BANK(BANK_512) diff --git a/src/mame/drivers/segaorun.cpp b/src/mame/drivers/segaorun.cpp index 8fc0481435e..0dcb52288e1 100644 --- a/src/mame/drivers/segaorun.cpp +++ b/src/mame/drivers/segaorun.cpp @@ -1190,9 +1190,7 @@ MACHINE_CONFIG_START(segaorun_state::outrun_base) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, SOUND_CLOCK/4) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.43) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.43) + YM2151(config, "ymsnd", SOUND_CLOCK/4).add_route(0, "lspeaker", 0.43).add_route(1, "rspeaker", 0.43); MCFG_DEVICE_ADD("pcm", SEGAPCM, SOUND_CLOCK/4) MCFG_SEGAPCM_BANK(BANK_512) diff --git a/src/mame/drivers/segas16a.cpp b/src/mame/drivers/segas16a.cpp index 81a3af1935d..448ef191b31 100644 --- a/src/mame/drivers/segas16a.cpp +++ b/src/mame/drivers/segas16a.cpp @@ -2016,9 +2016,9 @@ MACHINE_CONFIG_START(segas16a_state::system16a) GENERIC_LATCH_8(config, m_soundlatch); - MCFG_DEVICE_ADD("ymsnd", YM2151, 4000000) - MCFG_YM2151_PORT_WRITE_HANDLER(WRITE8(*this, segas16a_state, n7751_control_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.43) + YM2151(config, m_ymsnd, 4000000); + m_ymsnd->irq_handler().set(FUNC(segas16a_state::n7751_control_w)); + m_ymsnd->add_route(ALL_OUTPUTS, "speaker", 0.43); MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) @@ -2077,8 +2077,8 @@ MACHINE_CONFIG_START(segas16a_state::system16a_no7751) MCFG_DEVICE_REMOVE("dac") MCFG_DEVICE_REMOVE("vref") - MCFG_DEVICE_REPLACE("ymsnd", YM2151, 4000000) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) + YM2151(config.replace(), m_ymsnd, 4000000); + m_ymsnd->add_route(ALL_OUTPUTS, "speaker", 1.0); MACHINE_CONFIG_END MACHINE_CONFIG_START(segas16a_state::system16a_no7751p) @@ -2111,8 +2111,8 @@ MACHINE_CONFIG_START(segas16a_state::system16a_fd1089a_no7751) MCFG_DEVICE_REMOVE("dac") MCFG_DEVICE_REMOVE("vref") - MCFG_DEVICE_REPLACE("ymsnd", YM2151, 4000000) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) + YM2151(config.replace(), m_ymsnd, 4000000); + m_ymsnd->add_route(ALL_OUTPUTS, "speaker", 1.0); MACHINE_CONFIG_END MACHINE_CONFIG_START(segas16a_state::system16a_fd1089b_no7751) @@ -2124,8 +2124,8 @@ MACHINE_CONFIG_START(segas16a_state::system16a_fd1089b_no7751) MCFG_DEVICE_REMOVE("dac") MCFG_DEVICE_REMOVE("vref") - MCFG_DEVICE_REPLACE("ymsnd", YM2151, 4000000) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) + YM2151(config.replace(), m_ymsnd, 4000000); + m_ymsnd->add_route(ALL_OUTPUTS, "speaker", 1.0); MACHINE_CONFIG_END MACHINE_CONFIG_START(segas16a_state::system16a_fd1094_no7751) @@ -2137,8 +2137,8 @@ MACHINE_CONFIG_START(segas16a_state::system16a_fd1094_no7751) MCFG_DEVICE_REMOVE("dac") MCFG_DEVICE_REMOVE("vref") - MCFG_DEVICE_REPLACE("ymsnd", YM2151, 4000000) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) + YM2151(config.replace(), m_ymsnd, 4000000); + m_ymsnd->add_route(ALL_OUTPUTS, "speaker", 1.0); MACHINE_CONFIG_END diff --git a/src/mame/drivers/segas16b.cpp b/src/mame/drivers/segas16b.cpp index 01970b34c42..a8766678dc7 100644 --- a/src/mame/drivers/segas16b.cpp +++ b/src/mame/drivers/segas16b.cpp @@ -1894,7 +1894,7 @@ void segas16b_state::lockonph_sound_map(address_map &map) void segas16b_state::lockonph_sound_iomap(address_map &map) { map.global_mask(0xff); - map(0x00, 0x01).rw("ymsnd", FUNC(ym2151_device::read), FUNC(ym2151_device::write)); + map(0x00, 0x01).rw(m_ym2151, FUNC(ym2151_device::read), FUNC(ym2151_device::write)); map(0x40, 0x40).nopw(); // ?? map(0x80, 0x80).rw("oki", FUNC(okim6295_device::read), FUNC(okim6295_device::write)); map(0xc0, 0xc0).r(m_soundlatch, FUNC(generic_latch_8_device::read)); @@ -3748,8 +3748,7 @@ MACHINE_CONFIG_START(segas16b_state::system16b) // sound hardware SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ym2151", YM2151, MASTER_CLOCK_8MHz/2) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.43) + YM2151(config, m_ym2151, MASTER_CLOCK_8MHz/2).add_route(ALL_OUTPUTS, "mono", 0.43); MCFG_DEVICE_ADD("upd", UPD7759) MCFG_UPD7759_MD(0) @@ -3950,10 +3949,10 @@ MACHINE_CONFIG_START(segas16b_state::lockonph) GENERIC_LATCH_8(config, m_soundlatch); m_soundlatch->data_pending_callback().set_inputline(m_soundcpu, 0); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(16'000'000)/4) // ?? -// MCFG_YM2151_IRQ_HANDLER(INPUTLINE("soundcpu", 0)) // does set up the timer, but end up with no sound? - MCFG_SOUND_ROUTE(0, "mono", 0.5) - MCFG_SOUND_ROUTE(1, "mono", 0.5) + YM2151(config, m_ym2151, XTAL(16'000'000)/4); // ?? +// m_ym2151->irq_handler().set_inputline(m_soundcpu", 0); // does set up the timer, but end up with no sound? + m_ym2151->add_route(0, "mono", 0.5); + m_ym2151->add_route(1, "mono", 0.5); MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(16'000'000)/16, okim6295_device::PIN7_LOW) // clock / pin not verified MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.2) diff --git a/src/mame/drivers/segas24.cpp b/src/mame/drivers/segas24.cpp index 11d9975a551..1ec64a35a26 100644 --- a/src/mame/drivers/segas24.cpp +++ b/src/mame/drivers/segas24.cpp @@ -1961,10 +1961,10 @@ MACHINE_CONFIG_START(segas24_state::system24) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, 4000000) - MCFG_YM2151_IRQ_HANDLER(WRITELINE(*this, segas24_state,irq_ym)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.50) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.50) + ym2151_device &ymsnd(YM2151(config, "ymsnd", 4000000)); + ymsnd.irq_handler().set(FUNC(segas24_state::irq_ym)); + ymsnd.add_route(0, "lspeaker", 0.50); + ymsnd.add_route(1, "rspeaker", 0.50); MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) diff --git a/src/mame/drivers/segaxbd.cpp b/src/mame/drivers/segaxbd.cpp index 9b9d31c1965..1d2f4d6aa63 100644 --- a/src/mame/drivers/segaxbd.cpp +++ b/src/mame/drivers/segaxbd.cpp @@ -1733,10 +1733,10 @@ MACHINE_CONFIG_START(segaxbd_state::xboard_base_mconfig ) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, SOUND_CLOCK/4) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("soundcpu", 0)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.43) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.43) + ym2151_device &ymsnd(YM2151(config, "ymsnd", SOUND_CLOCK/4)); + ymsnd.irq_handler().set_inputline(m_soundcpu, 0); + ymsnd.add_route(0, "lspeaker", 0.43); + ymsnd.add_route(1, "rspeaker", 0.43); MCFG_DEVICE_ADD("pcm", SEGAPCM, SOUND_CLOCK/4) MCFG_SEGAPCM_BANK(BANK_512) diff --git a/src/mame/drivers/segaybd.cpp b/src/mame/drivers/segaybd.cpp index f2bc0ff7d20..83873f7d587 100644 --- a/src/mame/drivers/segaybd.cpp +++ b/src/mame/drivers/segaybd.cpp @@ -1338,10 +1338,10 @@ MACHINE_CONFIG_START(segaybd_state::yboard) GENERIC_LATCH_8(config, "soundlatch").data_pending_callback().set_inputline(m_soundcpu, INPUT_LINE_NMI); - MCFG_DEVICE_ADD("ymsnd", YM2151, SOUND_CLOCK/8) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("soundcpu", 0)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.43) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.43) + ym2151_device &ymsnd(YM2151(config, "ymsnd", SOUND_CLOCK/8)); + ymsnd.irq_handler().set_inputline(m_soundcpu, 0); + ymsnd.add_route(0, "lspeaker", 0.43); + ymsnd.add_route(1, "rspeaker", 0.43); MCFG_DEVICE_ADD("pcm", SEGAPCM, SOUND_CLOCK/8) MCFG_SEGAPCM_BANK_MASK(BANK_12M, BANK_MASKF8) diff --git a/src/mame/drivers/seta.cpp b/src/mame/drivers/seta.cpp index 4845622f6da..451ff7f4a64 100644 --- a/src/mame/drivers/seta.cpp +++ b/src/mame/drivers/seta.cpp @@ -9405,10 +9405,9 @@ MACHINE_CONFIG_START(seta_state::thunderlbl) MCFG_DEVICE_IO_MAP(thunderlbl_sound_portmap) /* the sound hardware / program is ripped from Tetris (S16B) */ - MCFG_DEVICE_REMOVE("x1snd") + config.device_remove("x1snd"); - MCFG_DEVICE_ADD("ymsnd", YM2151, 10000000/2) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + YM2151(config, "ymsnd", 10000000/2).add_route(ALL_OUTPUTS, "mono", 1.0); GENERIC_LATCH_8(config, m_soundlatch[0]); m_soundlatch[0]->data_pending_callback().set_inputline(m_audiocpu, 0); diff --git a/src/mame/drivers/sf.cpp b/src/mame/drivers/sf.cpp index f5992f378c4..73df678c5b3 100644 --- a/src/mame/drivers/sf.cpp +++ b/src/mame/drivers/sf.cpp @@ -565,10 +565,10 @@ MACHINE_CONFIG_START(sf_state::sfan) GENERIC_LATCH_8(config, m_soundlatch); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(3'579'545)) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.60) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.60) + ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(3'579'545))); + ymsnd.irq_handler().set_inputline(m_audiocpu, 0); + ymsnd.add_route(0, "lspeaker", 0.60); + ymsnd.add_route(1, "rspeaker", 0.60); MCFG_DEVICE_ADD("msm1", MSM5205, 384000) MCFG_MSM5205_PRESCALER_SELECTOR(SEX_4B) /* 8KHz playback ? */ diff --git a/src/mame/drivers/shadfrce.cpp b/src/mame/drivers/shadfrce.cpp index 9150ce7dfdb..a449ec95a30 100644 --- a/src/mame/drivers/shadfrce.cpp +++ b/src/mame/drivers/shadfrce.cpp @@ -563,10 +563,10 @@ MACHINE_CONFIG_START(shadfrce_state::shadfrce) GENERIC_LATCH_8(config, m_soundlatch); m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(3'579'545)) /* verified on pcb */ - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.50) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.50) + ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(3'579'545))); /* verified on pcb */ + ymsnd.irq_handler().set_inputline(m_audiocpu, 0); + ymsnd.add_route(0, "lspeaker", 0.50); + ymsnd.add_route(1, "rspeaker", 0.50); MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(13'495'200)/8, okim6295_device::PIN7_HIGH) /* verified on pcb */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50) diff --git a/src/mame/drivers/shisen.cpp b/src/mame/drivers/shisen.cpp index c8654f930e5..3e6fecca5a9 100644 --- a/src/mame/drivers/shisen.cpp +++ b/src/mame/drivers/shisen.cpp @@ -252,10 +252,10 @@ MACHINE_CONFIG_START(shisen_state::shisen) MCFG_DEVICE_ADD("m72", IREM_M72_AUDIO) - MCFG_DEVICE_ADD("ymsnd", YM2151, 3579545) - MCFG_YM2151_IRQ_HANDLER(WRITELINE("soundirq", rst_neg_buffer_device, rst28_w)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.5) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.5) + ym2151_device &ymsnd(YM2151(config, "ymsnd", 3579545)); + ymsnd.irq_handler().set("soundirq", FUNC(rst_neg_buffer_device::rst28_w)); + ymsnd.add_route(0, "lspeaker", 0.5); + ymsnd.add_route(1, "rspeaker", 0.5); MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.25) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) diff --git a/src/mame/drivers/sidearms.cpp b/src/mame/drivers/sidearms.cpp index a5d763028f7..bebc05c6871 100644 --- a/src/mame/drivers/sidearms.cpp +++ b/src/mame/drivers/sidearms.cpp @@ -734,10 +734,10 @@ MACHINE_CONFIG_START(sidearms_state::whizz) GENERIC_LATCH_8(config, "soundlatch"); - MCFG_DEVICE_ADD("ymsnd", YM2151, 4000000) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_SOUND_ROUTE(0, "mono", 1.0) - MCFG_SOUND_ROUTE(1, "mono", 1.0) + ym2151_device &ymsnd(YM2151(config, "ymsnd", 4000000)); + ymsnd.irq_handler().set_inputline(m_audiocpu, 0); + ymsnd.add_route(0, "mono", 1.0); + ymsnd.add_route(1, "mono", 1.0); MACHINE_CONFIG_END diff --git a/src/mame/drivers/silkroad.cpp b/src/mame/drivers/silkroad.cpp index 2c973489e14..2fd5f31fb9f 100644 --- a/src/mame/drivers/silkroad.cpp +++ b/src/mame/drivers/silkroad.cpp @@ -305,9 +305,7 @@ MACHINE_CONFIG_START(silkroad_state::silkroad) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(3'579'545)) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) + YM2151(config, "ymsnd", XTAL(3'579'545)).add_route(0, "lspeaker", 1.0).add_route(1, "rspeaker", 1.0); MCFG_DEVICE_ADD("oki1", OKIM6295, XTAL(32'000'000)/32, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified (was 1056000) MCFG_DEVICE_ADDRESS_MAP(0, oki_map) diff --git a/src/mame/drivers/silvmil.cpp b/src/mame/drivers/silvmil.cpp index a9002334958..b4ca8b265aa 100644 --- a/src/mame/drivers/silvmil.cpp +++ b/src/mame/drivers/silvmil.cpp @@ -5,7 +5,7 @@ yet another Data East / Tumble Pop derived hardware this one seems similar to (but not identical to) - the crospang.c hardware from F2 system + the crospang.cpp hardware from F2 system also very close to gotcha.c, which was also a Para board. @@ -441,9 +441,9 @@ MACHINE_CONFIG_START(silvmil_state::silvmil) GENERIC_LATCH_8(config, m_soundlatch); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(14'318'181)/4) /* Verified */ - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) + ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(14'318'181)/4)); /* Verified */ + ymsnd.irq_handler().set_inputline("audiocpu", 0); + ymsnd.add_route(ALL_OUTPUTS, "mono", 0.25); MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(4'096'000)/4, okim6295_device::PIN7_HIGH) /* Verified */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) @@ -463,13 +463,11 @@ MACHINE_CONFIG_START(silvmil_state::puzzlove) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) MACHINE_CONFIG_END -MACHINE_CONFIG_START(silvmil_state::puzzlovek) +void silvmil_state::puzzlovek(machine_config &config) +{ puzzlove(config); - MCFG_DEVICE_REMOVE("ymsnd") - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(15'000'000)/4) /* Verified */ - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + subdevice<ym2151_device>("ymsnd")->set_clock(XTAL(15'000'000)/4); /* Verified */ +} ROM_START( silvmil ) diff --git a/src/mame/drivers/simpsons.cpp b/src/mame/drivers/simpsons.cpp index 68ac2aba230..0b0c9b90d88 100644 --- a/src/mame/drivers/simpsons.cpp +++ b/src/mame/drivers/simpsons.cpp @@ -369,11 +369,11 @@ MACHINE_CONFIG_START(simpsons_state::simpsons) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(3'579'545)) /* verified on pcb */ - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) /* only left channel is connected */ - MCFG_SOUND_ROUTE(0, "rspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "lspeaker", 0.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.0) + ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(3'579'545))); /* verified on pcb */ + ymsnd.add_route(0, "lspeaker", 1.0); /* only left channel is connected */ + ymsnd.add_route(0, "rspeaker", 1.0); + ymsnd.add_route(1, "lspeaker", 0.0); + ymsnd.add_route(1, "rspeaker", 0.0); MCFG_DEVICE_ADD("k053260", K053260, XTAL(3'579'545)) /* verified on pcb */ MCFG_SOUND_ROUTE(0, "lspeaker", 0.75) diff --git a/src/mame/drivers/snowbros.cpp b/src/mame/drivers/snowbros.cpp index 8c69aef1f27..ba0cc8f9113 100644 --- a/src/mame/drivers/snowbros.cpp +++ b/src/mame/drivers/snowbros.cpp @@ -1805,10 +1805,10 @@ MACHINE_CONFIG_START(snowbros_state::semicom) config.device_remove("soundlatch2"); /* sound hardware */ - MCFG_DEVICE_REPLACE("ymsnd", YM2151, XTAL(16'000'000)/4) /* 4MHz - Confirmed */ - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("soundcpu", 0)) - MCFG_SOUND_ROUTE(0, "mono", 0.10) - MCFG_SOUND_ROUTE(1, "mono", 0.10) + ym2151_device &ymsnd(YM2151(config.replace(), "ymsnd", XTAL(16'000'000)/4)); /* 4MHz - Confirmed */ + ymsnd.irq_handler().set_inputline(m_soundcpu, 0); + ymsnd.add_route(0, "mono", 0.10); + ymsnd.add_route(1, "mono", 0.10); MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(16'000'000)/16, okim6295_device::PIN7_HIGH) /* 1MHz & pin 7 High - Confirmed */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) @@ -1942,10 +1942,10 @@ MACHINE_CONFIG_START(snowbros_state::finalttr) MCFG_MACHINE_RESET_OVERRIDE (snowbros_state, finalttr ) - MCFG_DEVICE_REPLACE("ymsnd", YM2151, XTAL(3'579'545)) /* possible but less likely 4MHz (12MHz/3) */ - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("soundcpu", 0)) - MCFG_SOUND_ROUTE(0, "mono", 0.08) - MCFG_SOUND_ROUTE(1, "mono", 0.08) + ym2151_device &ymsnd(YM2151(config.replace(), "ymsnd", XTAL(3'579'545))); /* possible but less likely 4MHz (12MHz/3) */ + ymsnd.irq_handler().set_inputline(m_soundcpu, 0); + ymsnd.add_route(0, "mono", 0.08); + ymsnd.add_route(1, "mono", 0.08); MCFG_DEVICE_REPLACE("oki", OKIM6295, 999900, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) diff --git a/src/mame/drivers/supbtime.cpp b/src/mame/drivers/supbtime.cpp index cbfa225b3b5..d2fd9dd8e01 100644 --- a/src/mame/drivers/supbtime.cpp +++ b/src/mame/drivers/supbtime.cpp @@ -379,10 +379,10 @@ MACHINE_CONFIG_START(supbtime_state::supbtime) GENERIC_LATCH_8(config, "soundlatch").data_pending_callback().set_inputline(m_audiocpu, 0); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(32'220'000) / 9) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 1)) // IRQ 2 - MCFG_SOUND_ROUTE(0, "mono", 0.45) - MCFG_SOUND_ROUTE(1, "mono", 0.45) + ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(32'220'000) / 9)); + ymsnd.irq_handler().set_inputline(m_audiocpu, 1); /* IRQ2 */ + ymsnd.add_route(0, "mono", 0.45); + ymsnd.add_route(1, "mono", 0.45); MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(21'477'272) / 20, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) diff --git a/src/mame/drivers/surpratk.cpp b/src/mame/drivers/surpratk.cpp index dfb920ea624..1dce1bae9e1 100644 --- a/src/mame/drivers/surpratk.cpp +++ b/src/mame/drivers/surpratk.cpp @@ -208,10 +208,10 @@ MACHINE_CONFIG_START(surpratk_state::surpratk) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(3'579'545)) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("maincpu", KONAMI_FIRQ_LINE)) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) + ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(3'579'545))); + ymsnd.irq_handler().set_inputline(m_maincpu, KONAMI_FIRQ_LINE); + ymsnd.add_route(0, "lspeaker", 1.0); + ymsnd.add_route(1, "rspeaker", 1.0); MACHINE_CONFIG_END /*************************************************************************** diff --git a/src/mame/drivers/system16.cpp b/src/mame/drivers/system16.cpp index 968a0a70204..2404ac07378 100644 --- a/src/mame/drivers/system16.cpp +++ b/src/mame/drivers/system16.cpp @@ -2070,9 +2070,7 @@ MACHINE_CONFIG_START(segas1x_bootleg_state::z80_ym2151) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, 4000000) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.32) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.32) + YM2151(config, "ymsnd", 4000000).add_route(0, "lspeaker", 0.32).add_route(1, "rspeaker", 0.32); MACHINE_CONFIG_END WRITE_LINE_MEMBER(segas1x_bootleg_state::sound_cause_nmi) @@ -2091,9 +2089,7 @@ MACHINE_CONFIG_START(segas1x_bootleg_state::z80_ym2151_upd7759) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, 4000000) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.32) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.32) + YM2151(config, "ymsnd", 4000000).add_route(0, "lspeaker", 0.32).add_route(1, "rspeaker", 0.32); MCFG_DEVICE_ADD("7759", UPD7759) MCFG_UPD7759_MD(0) @@ -2115,9 +2111,7 @@ MACHINE_CONFIG_START(segas1x_bootleg_state::datsu_ym2151_msm5205) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, 4000000) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.32) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.32) + YM2151(config, "ymsnd", 4000000).add_route(0, "lspeaker", 0.32).add_route(1, "rspeaker", 0.32); MCFG_DEVICE_ADD("5205", MSM5205, 220000) MCFG_MSM5205_VCLK_CB(WRITELINE(*this, segas1x_bootleg_state, tturfbl_msm5205_callback)) diff --git a/src/mame/drivers/taito_x.cpp b/src/mame/drivers/taito_x.cpp index d828680a2f4..f0280a07e32 100644 --- a/src/mame/drivers/taito_x.cpp +++ b/src/mame/drivers/taito_x.cpp @@ -919,10 +919,10 @@ MACHINE_CONFIG_START(taitox_state::daisenpu) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(16'000'000)/4) /* verified on pcb */ - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.45) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.45) + ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(16'000'000)/4)); /* verified on pcb */ + ymsnd.irq_handler().set_inputline(m_audiocpu, 0); + ymsnd.add_route(0, "lspeaker", 0.45); + ymsnd.add_route(1, "rspeaker", 0.45); MCFG_DEVICE_ADD("ciu", PC060HA, 0) MCFG_PC060HA_MASTER_CPU("maincpu") diff --git a/src/mame/drivers/tatsumi.cpp b/src/mame/drivers/tatsumi.cpp index b26bea65e53..9333f1d8b2f 100644 --- a/src/mame/drivers/tatsumi.cpp +++ b/src/mame/drivers/tatsumi.cpp @@ -920,10 +920,10 @@ MACHINE_CONFIG_START(apache3_state::apache3) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, CLOCK_1 / 4) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", INPUT_LINE_IRQ0)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.45) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.45) + YM2151(config, m_ym2151, CLOCK_1 / 4); + m_ym2151->irq_handler().set_inputline(m_audiocpu, INPUT_LINE_IRQ0); + m_ym2151->add_route(0, "lspeaker", 0.45); + m_ym2151->add_route(1, "rspeaker", 0.45); MCFG_DEVICE_ADD("oki", OKIM6295, CLOCK_1 / 4 / 2, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.75) @@ -967,10 +967,10 @@ MACHINE_CONFIG_START(roundup5_state::roundup5) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, CLOCK_1 / 4) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", INPUT_LINE_IRQ0)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.45) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.45) + YM2151(config, m_ym2151, CLOCK_1 / 4); + m_ym2151->irq_handler().set_inputline(m_audiocpu, INPUT_LINE_IRQ0); + m_ym2151->add_route(0, "lspeaker", 0.45); + m_ym2151->add_route(1, "rspeaker", 0.45); MCFG_DEVICE_ADD("oki", OKIM6295, CLOCK_1 / 4 / 2, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.75) @@ -1051,10 +1051,10 @@ MACHINE_CONFIG_START(cyclwarr_state::cyclwarr) GENERIC_LATCH_8(config, m_soundlatch); // m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI); - MCFG_DEVICE_ADD("ymsnd", YM2151, CLOCK_1 / 4) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", INPUT_LINE_IRQ0)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.45) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.45) + YM2151(config, m_ym2151, CLOCK_1 / 4); + m_ym2151->irq_handler().set_inputline(m_audiocpu, INPUT_LINE_IRQ0); + m_ym2151->add_route(0, "lspeaker", 0.45); + m_ym2151->add_route(1, "rspeaker", 0.45); MCFG_DEVICE_ADD("oki", OKIM6295, CLOCK_1 / 8, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.75) diff --git a/src/mame/drivers/tceptor.cpp b/src/mame/drivers/tceptor.cpp index 87d9284cbe0..6eec072bf91 100644 --- a/src/mame/drivers/tceptor.cpp +++ b/src/mame/drivers/tceptor.cpp @@ -364,9 +364,7 @@ MACHINE_CONFIG_START(tceptor_state::tceptor) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(14'318'181)/4) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) + YM2151(config, "ymsnd", XTAL(14'318'181)/4).add_route(0, "lspeaker", 1.0).add_route(1, "rspeaker", 1.0); MCFG_DEVICE_ADD("namco", NAMCO_CUS30, XTAL(49'152'000)/2048) MCFG_NAMCO_AUDIO_VOICES(8) diff --git a/src/mame/drivers/tecmo16.cpp b/src/mame/drivers/tecmo16.cpp index 6e178f12414..b895fc43b89 100644 --- a/src/mame/drivers/tecmo16.cpp +++ b/src/mame/drivers/tecmo16.cpp @@ -398,10 +398,10 @@ MACHINE_CONFIG_START(tecmo16_state::fstarfrc) GENERIC_LATCH_8(config, "soundlatch").data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI); - MCFG_DEVICE_ADD("ymsnd", YM2151, MASTER_CLOCK/6) // 4 MHz - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.60) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.60) + ym2151_device &ymsnd(YM2151(config, "ymsnd", MASTER_CLOCK/6)); // 4 MHz + ymsnd.irq_handler().set_inputline(m_audiocpu, 0); + ymsnd.add_route(0, "lspeaker", 0.60); + ymsnd.add_route(1, "rspeaker", 0.60); MCFG_DEVICE_ADD("oki", OKIM6295, OKI_CLOCK/8, okim6295_device::PIN7_HIGH) // sample rate 1 MHz / 132 MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40) diff --git a/src/mame/drivers/thunderx.cpp b/src/mame/drivers/thunderx.cpp index 0c6085cf828..a9fe79af424 100644 --- a/src/mame/drivers/thunderx.cpp +++ b/src/mame/drivers/thunderx.cpp @@ -679,9 +679,7 @@ MACHINE_CONFIG_START(thunderx_state::scontra) GENERIC_LATCH_8(config, "soundlatch"); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(3'579'545)) /* verified on pcb */ - MCFG_SOUND_ROUTE(0, "mono", 1.0) - MCFG_SOUND_ROUTE(1, "mono", 1.0) + YM2151(config, "ymsnd", XTAL(3'579'545)).add_route(0, "mono", 1.0).add_route(1, "mono", 1.0); /* verified on pcb */ MCFG_DEVICE_ADD("k007232", K007232, XTAL(3'579'545)) /* verified on pcb */ MCFG_K007232_PORT_WRITE_HANDLER(WRITE8(*this, thunderx_state, volume_callback)) diff --git a/src/mame/drivers/tmnt.cpp b/src/mame/drivers/tmnt.cpp index 0aff7e84108..4d9b13fdfda 100644 --- a/src/mame/drivers/tmnt.cpp +++ b/src/mame/drivers/tmnt.cpp @@ -1960,10 +1960,10 @@ MACHINE_CONFIG_START(tmnt_state::cuebrick) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(3'579'545)) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("maincpu", M68K_IRQ_6)) - MCFG_SOUND_ROUTE(0, "mono", 1.0) - MCFG_SOUND_ROUTE(1, "mono", 1.0) + ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(3'579'545))); + ymsnd.irq_handler().set_inputline(m_maincpu, M68K_IRQ_6); + ymsnd.add_route(0, "mono", 1.0); + ymsnd.add_route(1, "mono", 1.0); MACHINE_CONFIG_END @@ -2014,9 +2014,7 @@ MACHINE_CONFIG_START(tmnt_state::mia) GENERIC_LATCH_8(config, "soundlatch"); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(3'579'545)) - MCFG_SOUND_ROUTE(0, "mono", 1.0) - MCFG_SOUND_ROUTE(1, "mono", 1.0) + YM2151(config, "ymsnd", XTAL(3'579'545)).add_route(0, "mono", 1.0).add_route(1, "mono", 1.0); MCFG_DEVICE_ADD("k007232", K007232, XTAL(3'579'545)) MCFG_K007232_PORT_WRITE_HANDLER(WRITE8(*this, tmnt_state, volume_callback)) @@ -2080,9 +2078,7 @@ MACHINE_CONFIG_START(tmnt_state::tmnt) GENERIC_LATCH_8(config, "soundlatch"); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(3'579'545)) - MCFG_SOUND_ROUTE(0, "mono", 1.0) - MCFG_SOUND_ROUTE(1, "mono", 1.0) + YM2151(config, "ymsnd", XTAL(3'579'545)).add_route(0, "mono", 1.0).add_route(1, "mono", 1.0); MCFG_DEVICE_ADD("k007232", K007232, XTAL(3'579'545)) MCFG_K007232_PORT_WRITE_HANDLER(WRITE8(*this, tmnt_state, volume_callback)) @@ -2144,9 +2140,7 @@ MACHINE_CONFIG_START(tmnt_state::punkshot) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(3'579'545)) - MCFG_SOUND_ROUTE(0, "mono", 1.0) - MCFG_SOUND_ROUTE(1, "mono", 1.0) + YM2151(config, "ymsnd", XTAL(3'579'545)).add_route(0, "mono", 1.0).add_route(1, "mono", 1.0); MCFG_K053260_ADD("k053260", XTAL(3'579'545)) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.70) @@ -2200,9 +2194,7 @@ MACHINE_CONFIG_START(tmnt_state::lgtnfght) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(3'579'545)) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) + YM2151(config, "ymsnd", XTAL(3'579'545)).add_route(0, "lspeaker", 1.0).add_route(1, "rspeaker", 1.0); MCFG_K053260_ADD("k053260", XTAL(3'579'545)) MCFG_SOUND_ROUTE(0, "lspeaker", 0.70) @@ -2262,9 +2254,7 @@ MACHINE_CONFIG_START(tmnt_state::blswhstl) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(3'579'545)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.70) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.70) + YM2151(config, "ymsnd", XTAL(3'579'545)).add_route(0, "lspeaker", 0.70).add_route(1, "rspeaker", 0.70); MCFG_K053260_ADD("k053260", XTAL(3'579'545)) MCFG_SOUND_ROUTE(0, "rspeaker", 0.50) /* fixed inverted stereo channels */ @@ -2476,9 +2466,7 @@ MACHINE_CONFIG_START(tmnt_state::tmnt2) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(3'579'545)) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) + YM2151(config, "ymsnd", XTAL(3'579'545)).add_route(0, "lspeaker", 1.0).add_route(1, "rspeaker", 1.0); MCFG_K053260_ADD("k053260", XTAL(3'579'545)) MCFG_SOUND_ROUTE(0, "lspeaker", 0.75) @@ -2536,9 +2524,7 @@ MACHINE_CONFIG_START(tmnt_state::ssriders) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(3'579'545)) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) + YM2151(config, "ymsnd", XTAL(3'579'545)).add_route(0, "lspeaker", 1.0).add_route(1, "rspeaker", 1.0); MCFG_K053260_ADD("k053260", XTAL(3'579'545)) MCFG_SOUND_ROUTE(0, "lspeaker", 0.70) @@ -2640,9 +2626,7 @@ MACHINE_CONFIG_START(tmnt_state::thndrx2) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(3'579'545)) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) + YM2151(config, "ymsnd", XTAL(3'579'545)).add_route(0, "lspeaker", 1.0).add_route(1, "rspeaker", 1.0); MCFG_K053260_ADD("k053260", XTAL(3'579'545)) MCFG_SOUND_ROUTE(0, "lspeaker", 0.75) diff --git a/src/mame/drivers/tomcat.cpp b/src/mame/drivers/tomcat.cpp index f59e5b1f04b..1cb495c4c38 100644 --- a/src/mame/drivers/tomcat.cpp +++ b/src/mame/drivers/tomcat.cpp @@ -383,9 +383,7 @@ MACHINE_CONFIG_START(tomcat_state::tomcat) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50) - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(14'318'181) / 4) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.60) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.60) + YM2151(config, "ymsnd", XTAL(14'318'181)/4).add_route(0, "lspeaker", 0.60).add_route(1, "rspeaker", 0.60); MACHINE_CONFIG_END ROM_START( tomcat ) diff --git a/src/mame/drivers/tumbleb.cpp b/src/mame/drivers/tumbleb.cpp index 0bbb07b7032..666f4a8cad6 100644 --- a/src/mame/drivers/tumbleb.cpp +++ b/src/mame/drivers/tumbleb.cpp @@ -2194,8 +2194,7 @@ MACHINE_CONFIG_START(tumbleb_state::fncywld) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ymsnd", YM2151, 32220000/9) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20) + YM2151(config, "ymsnd", 32220000/9).add_route(ALL_OUTPUTS, "mono", 0.20); MCFG_DEVICE_ADD("oki", OKIM6295, 1023924, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) @@ -2257,9 +2256,9 @@ MACHINE_CONFIG_START(tumbleb_state::htchctch) GENERIC_LATCH_8(config, m_soundlatch); /* on at least hatch catch, cookie & bibi and choky choky the YM2151 clock is connected directly to the Z80 clock so the speed should match */ - MCFG_DEVICE_ADD("ymsnd", YM2151, 15000000/4) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.10) + ym2151_device &ymsnd(YM2151(config, "ymsnd", 15000000/4)); + ymsnd.irq_handler().set_inputline(m_audiocpu, 0); + ymsnd.add_route(ALL_OUTPUTS, "mono", 0.10); /* correct for cookie & bibi and hatch catch, (4096000/4) */ MCFG_DEVICE_ADD("oki", OKIM6295, 1024000, okim6295_device::PIN7_HIGH) @@ -2300,9 +2299,7 @@ MACHINE_CONFIG_START(tumbleb_state::bcstory) MCFG_SCREEN_MODIFY("screen") MCFG_SCREEN_UPDATE_DRIVER(tumbleb_state, screen_update_bcstory) - MCFG_DEVICE_REPLACE("ymsnd", YM2151, 3427190) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.10) + subdevice<ym2151_device>("ymsnd")->set_clock(3427190); MACHINE_CONFIG_END MACHINE_CONFIG_START(tumbleb_state::semibase) @@ -2324,9 +2321,7 @@ MACHINE_CONFIG_START(tumbleb_state::metlsavr) MCFG_PALETTE_MODIFY("palette") MCFG_PALETTE_FORMAT(xxxxBBBBGGGGRRRR) - MCFG_DEVICE_REPLACE("ymsnd", YM2151, 3427190) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.10) + subdevice<ym2151_device>("ymsnd")->set_clock(3427190); MACHINE_CONFIG_END diff --git a/src/mame/drivers/twin16.cpp b/src/mame/drivers/twin16.cpp index bdc95c1a3ab..bba948d0b43 100644 --- a/src/mame/drivers/twin16.cpp +++ b/src/mame/drivers/twin16.cpp @@ -686,9 +686,7 @@ MACHINE_CONFIG_START(twin16_state::twin16) GENERIC_LATCH_8(config, "soundlatch"); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(3'579'545)) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) + YM2151(config, "ymsnd", XTAL(3'579'545)).add_route(0, "lspeaker", 1.0).add_route(1, "rspeaker", 1.0); MCFG_DEVICE_ADD("k007232", K007232, XTAL(3'579'545)) MCFG_K007232_PORT_WRITE_HANDLER(WRITE8(*this, twin16_state, volume_callback)) @@ -741,9 +739,7 @@ MACHINE_CONFIG_START(fround_state::fround) GENERIC_LATCH_8(config, "soundlatch"); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(3'579'545)) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) + YM2151(config, "ymsnd", XTAL(3'579'545)).add_route(0, "lspeaker", 1.0).add_route(1, "rspeaker", 1.0); MCFG_DEVICE_ADD("k007232", K007232, XTAL(3'579'545)) MCFG_K007232_PORT_WRITE_HANDLER(WRITE8(*this, twin16_state, volume_callback)) diff --git a/src/mame/drivers/ultraman.cpp b/src/mame/drivers/ultraman.cpp index e98e746bb14..2445bc0f559 100644 --- a/src/mame/drivers/ultraman.cpp +++ b/src/mame/drivers/ultraman.cpp @@ -230,9 +230,7 @@ MACHINE_CONFIG_START(ultraman_state::ultraman) GENERIC_LATCH_8(config, m_soundlatch); - MCFG_DEVICE_ADD("ymsnd", YM2151, 24000000/6) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) + YM2151(config, "ymsnd", 24000000/6).add_route(0, "lspeaker", 1.0).add_route(1, "rspeaker", 1.0); MCFG_DEVICE_ADD("oki", OKIM6295, 1056000, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50) diff --git a/src/mame/drivers/unico.cpp b/src/mame/drivers/unico.cpp index 501962cf5c4..68800feee9e 100644 --- a/src/mame/drivers/unico.cpp +++ b/src/mame/drivers/unico.cpp @@ -679,9 +679,7 @@ MACHINE_CONFIG_START(zeropnt2_state::zeropnt2) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(14'318'181)/4) /* 3.579545 MHz */ - MCFG_SOUND_ROUTE(0, "lspeaker", 0.70) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.70) + YM2151(config, "ymsnd", XTAL(14'318'181)/4).add_route(0, "lspeaker", 0.70).add_route(1, "rspeaker", 0.70); /* 3.579545 MHz */ MCFG_DEVICE_ADD("oki1", OKIM6295, 32_MHz_XTAL/32, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified MCFG_DEVICE_ADDRESS_MAP(0, zeropnt_oki_map) diff --git a/src/mame/drivers/vamphalf.cpp b/src/mame/drivers/vamphalf.cpp index c717dd59a1d..bb58b2867a6 100644 --- a/src/mame/drivers/vamphalf.cpp +++ b/src/mame/drivers/vamphalf.cpp @@ -1133,9 +1133,7 @@ MACHINE_CONFIG_START(vamphalf_state::sound_ym_oki) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(28'000'000)/8) /* 3.5MHz */ - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) + YM2151(config, "ymsnd", XTAL(28'000'000)/8).add_route(0, "lspeaker", 1.0).add_route(1, "rspeaker", 1.0); /* 3.5MHz */ MCFG_DEVICE_ADD("oki1", OKIM6295, XTAL(28'000'000)/16 , okim6295_device::PIN7_HIGH) /* 1.75MHz */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) @@ -1153,9 +1151,7 @@ MACHINE_CONFIG_START(vamphalf_state::sound_suplup) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(14'318'181)/4) /* 3.579545 MHz */ - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) + YM2151(config, "ymsnd", XTAL(14'318'181)/4).add_route(0, "lspeaker", 1.0).add_route(1, "rspeaker", 1.0); /* 3.579545 MHz */ MCFG_DEVICE_ADD("oki1", OKIM6295, XTAL(14'318'181)/8, okim6295_device::PIN7_HIGH) /* 1.7897725 MHz */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) @@ -1319,9 +1315,7 @@ MACHINE_CONFIG_START(vamphalf_state::aoh) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(3'579'545)) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) + YM2151(config, "ymsnd", XTAL(3'579'545)).add_route(0, "lspeaker", 1.0).add_route(1, "rspeaker", 1.0); MCFG_DEVICE_ADD("oki_1", OKIM6295, XTAL(32'000'000)/8, okim6295_device::PIN7_HIGH) /* 4MHz */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) diff --git a/src/mame/drivers/vaportra.cpp b/src/mame/drivers/vaportra.cpp index 217a7f58cbd..4008e4ccaea 100644 --- a/src/mame/drivers/vaportra.cpp +++ b/src/mame/drivers/vaportra.cpp @@ -277,10 +277,10 @@ MACHINE_CONFIG_START(vaportra_state::vaportra) MCFG_DEVICE_ADD("ym1", YM2203, XTAL(32'220'000)/8) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60) - MCFG_DEVICE_ADD("ym2", YM2151, XTAL(32'220'000)/9) // uses a preset LS163 to force the odd speed - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 1)) /* IRQ 2 */ - MCFG_SOUND_ROUTE(0, "mono", 0.60) - MCFG_SOUND_ROUTE(1, "mono", 0.60) + ym2151_device &ym2(YM2151(config, "ym2", XTAL(32'220'000)/9)); // uses a preset LS163 to force the odd speed + ym2.irq_handler().set_inputline(m_audiocpu, 1); /* IRQ2 */ + ym2.add_route(0, "mono", 0.60); + ym2.add_route(1, "mono", 0.60); MCFG_DEVICE_ADD("oki1", OKIM6295, XTAL(32'220'000)/32, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75) diff --git a/src/mame/drivers/vball.cpp b/src/mame/drivers/vball.cpp index db9d72e77bc..263e7f746a8 100644 --- a/src/mame/drivers/vball.cpp +++ b/src/mame/drivers/vball.cpp @@ -425,10 +425,10 @@ MACHINE_CONFIG_START(vball_state::vball) GENERIC_LATCH_8(config, m_soundlatch); m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI); - MCFG_DEVICE_ADD("ymsnd", YM2151, 3579545) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.60) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.60) + ym2151_device &ymsnd(YM2151(config, "ymsnd", 3579545)); + ymsnd.irq_handler().set_inputline(m_audiocpu, 0); + ymsnd.add_route(0, "lspeaker", 0.60); + ymsnd.add_route(1, "rspeaker", 0.60); MCFG_DEVICE_ADD("oki", OKIM6295, 1056000, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) diff --git a/src/mame/drivers/vendetta.cpp b/src/mame/drivers/vendetta.cpp index 597a56880ed..5f4fadc2f93 100644 --- a/src/mame/drivers/vendetta.cpp +++ b/src/mame/drivers/vendetta.cpp @@ -476,9 +476,7 @@ MACHINE_CONFIG_START(vendetta_state::vendetta) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(3'579'545)) /* verified with PCB */ - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) + YM2151(config, "ymsnd", XTAL(3'579'545)).add_route(0, "lspeaker", 1.0).add_route(1, "rspeaker", 1.0); /* verified with PCB */ MCFG_K053260_ADD("k053260", XTAL(3'579'545)) /* verified with PCB */ MCFG_SOUND_ROUTE(0, "lspeaker", 0.75) diff --git a/src/mame/drivers/vigilant.cpp b/src/mame/drivers/vigilant.cpp index b79b13c8b16..9e1d40a5efe 100644 --- a/src/mame/drivers/vigilant.cpp +++ b/src/mame/drivers/vigilant.cpp @@ -519,10 +519,10 @@ MACHINE_CONFIG_START(vigilant_state::vigilant) MCFG_DEVICE_ADD("m72", IREM_M72_AUDIO) - MCFG_DEVICE_ADD("ymsnd", YM2151, 3579645) - MCFG_YM2151_IRQ_HANDLER(WRITELINE("soundirq", rst_neg_buffer_device, rst28_w)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.55) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.55) + ym2151_device &ymsnd(YM2151(config, "ymsnd", 3579645)); + ymsnd.irq_handler().set("soundirq", FUNC(rst_neg_buffer_device::rst28_w)); + ymsnd.add_route(0, "lspeaker", 0.55); + ymsnd.add_route(1, "rspeaker", 0.55); MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) @@ -634,10 +634,10 @@ MACHINE_CONFIG_START(vigilant_state::kikcubic) MCFG_DEVICE_ADD("m72", IREM_M72_AUDIO) - MCFG_DEVICE_ADD("ymsnd", YM2151, 3579645) - MCFG_YM2151_IRQ_HANDLER(WRITELINE("soundirq", rst_neg_buffer_device, rst28_w)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.55) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.55) + ym2151_device &ymsnd(YM2151(config, "ymsnd", 3579645)); + ymsnd.irq_handler().set("soundirq", FUNC(rst_neg_buffer_device::rst28_w)); + ymsnd.add_route(0, "lspeaker", 0.55); + ymsnd.add_route(1, "rspeaker", 0.55); MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) diff --git a/src/mame/drivers/wecleman.cpp b/src/mame/drivers/wecleman.cpp index 7809e70342e..84639e61952 100644 --- a/src/mame/drivers/wecleman.cpp +++ b/src/mame/drivers/wecleman.cpp @@ -1087,9 +1087,7 @@ MACHINE_CONFIG_START(wecleman_state::wecleman) GENERIC_LATCH_8(config, "soundlatch"); - MCFG_DEVICE_ADD("ymsnd", YM2151, 3579545) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.85) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.85) + YM2151(config, "ymsnd", 3579545).add_route(0, "lspeaker", 0.85).add_route(1, "rspeaker", 0.85); MCFG_DEVICE_ADD("k007232_1", K007232, 3579545) MCFG_K007232_PORT_WRITE_HANDLER(WRITE8(*this, wecleman_state, wecleman_volume_callback)) diff --git a/src/mame/drivers/wwfsstar.cpp b/src/mame/drivers/wwfsstar.cpp index ce855a64b49..a4458c1f6c4 100644 --- a/src/mame/drivers/wwfsstar.cpp +++ b/src/mame/drivers/wwfsstar.cpp @@ -440,10 +440,10 @@ MACHINE_CONFIG_START(wwfsstar_state::wwfsstar) GENERIC_LATCH_8(config, m_soundlatch); m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(3'579'545)) - MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.45) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.45) + ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(3'579'545))); + ymsnd.irq_handler().set_inputline(m_audiocpu, 0); + ymsnd.add_route(0, "lspeaker", 0.45); + ymsnd.add_route(1, "rspeaker", 0.45); MCFG_DEVICE_ADD("oki", OKIM6295, 1.056_MHz_XTAL, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.47) diff --git a/src/mame/drivers/x1.cpp b/src/mame/drivers/x1.cpp index 55c9652d601..6eecebcd390 100644 --- a/src/mame/drivers/x1.cpp +++ b/src/mame/drivers/x1.cpp @@ -2308,9 +2308,9 @@ MACHINE_CONFIG_START(x1_state::x1turbo) m_fdc->drq_wr_callback().set(FUNC(x1_state::fdc_drq_w)); - MCFG_DEVICE_ADD("ym", YM2151, MAIN_CLOCK/8) //option board - MCFG_SOUND_ROUTE(0, "lspeaker", 0.50) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.50) + YM2151(config, m_ym, MAIN_CLOCK/8); //option board + m_ym->add_route(0, "lspeaker", 0.50); + m_ym->add_route(1, "rspeaker", 0.50); MACHINE_CONFIG_END /************************************* diff --git a/src/mame/drivers/xexex.cpp b/src/mame/drivers/xexex.cpp index 226aa4ba573..845494a2321 100644 --- a/src/mame/drivers/xexex.cpp +++ b/src/mame/drivers/xexex.cpp @@ -522,11 +522,11 @@ MACHINE_CONFIG_START(xexex_state::xexex) K054321(config, m_k054321, "lspeaker", "rspeaker"); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(32'000'000)/8) // 4MHz - MCFG_SOUND_ROUTE(0, "filter1_l", 0.50) - MCFG_SOUND_ROUTE(0, "filter1_r", 0.50) - MCFG_SOUND_ROUTE(1, "filter2_l", 0.50) - MCFG_SOUND_ROUTE(1, "filter2_r", 0.50) + ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(32'000'000)/8)); // 4MHz + ymsnd.add_route(0, "filter1_l", 0.50); + ymsnd.add_route(0, "filter1_r", 0.50); + ymsnd.add_route(1, "filter2_l", 0.50); + ymsnd.add_route(1, "filter2_r", 0.50); MCFG_DEVICE_ADD("k054539", K054539, XTAL(18'432'000)) MCFG_K054539_APAN_CB(xexex_state, ym_set_mixing) diff --git a/src/mame/drivers/xmen.cpp b/src/mame/drivers/xmen.cpp index f4a7f6700c4..3b44b500b91 100644 --- a/src/mame/drivers/xmen.cpp +++ b/src/mame/drivers/xmen.cpp @@ -342,9 +342,7 @@ MACHINE_CONFIG_START(xmen_state::xmen) K054321(config, m_k054321, "lspeaker", "rspeaker"); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(16'000'000)/4) /* verified on pcb */ - MCFG_SOUND_ROUTE(0, "lspeaker", 0.20) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.20) + YM2151(config, "ymsnd", XTAL(16'000'000)/4).add_route(0, "lspeaker", 0.20).add_route(1, "rspeaker", 0.20); /* verified on pcb */ MCFG_DEVICE_ADD("k054539", K054539, XTAL(18'432'000)) MCFG_SOUND_ROUTE(0, "rspeaker", 1.00) @@ -408,9 +406,7 @@ MACHINE_CONFIG_START(xmen_state::xmen6p) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2151, XTAL(16'000'000)/4) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.20) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.20) + YM2151(config, "ymsnd", XTAL(16'000'000)/4).add_route(0, "lspeaker", 0.20).add_route(1, "rspeaker", 0.20); MCFG_DEVICE_ADD("k054539", K054539, XTAL(18'432'000)) MCFG_SOUND_ROUTE(0, "rspeaker", 1.00) |