From d8f5778524c1d23d29b352394d8ab45bdb828d6a Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Wed, 7 Nov 2018 00:18:50 +0100 Subject: [PATCH] ay8910: small batch of MCFG removal (nw) --- src/devices/bus/cpc/playcity.cpp | 8 ++--- src/devices/machine/akiko.h | 26 ----------------- src/mame/audio/cinemat.cpp | 25 ++++++++-------- src/mame/drivers/1942.cpp | 26 ++++++++--------- src/mame/drivers/adp.cpp | 6 ++-- src/mame/drivers/albazc.cpp | 8 ++--- src/mame/drivers/albazg.cpp | 10 +++---- src/mame/drivers/alpha68k.cpp | 18 ++++++------ src/mame/drivers/amstrad.cpp | 24 +++++++-------- src/mame/drivers/atarist.cpp | 50 ++++++++++++++++---------------- src/mame/drivers/bfcobra.cpp | 3 +- src/mame/drivers/bfm_sc1.cpp | 3 +- src/mame/drivers/bfmsys83.cpp | 12 ++++---- src/mame/drivers/bfmsys85.cpp | 3 +- src/mame/drivers/big10.cpp | 24 +++++++-------- src/mame/drivers/bingor.cpp | 4 +-- src/mame/drivers/btime.cpp | 40 ++++++++++++------------- src/mame/drivers/caswin.cpp | 8 ++--- src/mame/drivers/centiped.cpp | 14 ++++----- src/mame/drivers/chanbara.cpp | 10 +++---- src/mame/drivers/cntsteer.cpp | 15 ++++------ src/mame/drivers/compgolf.cpp | 10 +++---- src/mame/drivers/dblcrown.cpp | 3 +- src/mame/drivers/ddenlovr.cpp | 9 ++---- src/mame/drivers/decocass.cpp | 6 ++-- src/mame/drivers/dlair.cpp | 20 ++++++------- src/mame/drivers/equites.cpp | 8 ++--- src/mame/drivers/forte2.cpp | 28 +++++++++--------- src/mame/drivers/jack.cpp | 8 ++--- src/mame/drivers/leland.cpp | 24 +++++++-------- src/mame/drivers/magicard.cpp | 3 +- src/mame/drivers/mc1000.cpp | 12 ++++---- src/mame/drivers/meijinsn.cpp | 7 ++--- src/mame/drivers/mpu12wbk.cpp | 3 +- src/mame/drivers/mpu4dealem.cpp | 8 ++--- src/mame/drivers/msx.cpp | 42 +++++++++++++-------------- src/mame/drivers/pengadvb.cpp | 21 +++++++------- src/mame/drivers/rmhaihai.cpp | 8 ++--- src/mame/drivers/stellafr.cpp | 8 ++--- src/mame/drivers/sv8000.cpp | 12 ++++---- src/mame/includes/btime.h | 40 ++++++++++++------------- src/mame/machine/mpu4.cpp | 30 ++++++++++--------- 42 files changed, 300 insertions(+), 347 deletions(-) diff --git a/src/devices/bus/cpc/playcity.cpp b/src/devices/bus/cpc/playcity.cpp index 160fc1a643b..95a0a5f6c2b 100644 --- a/src/devices/bus/cpc/playcity.cpp +++ b/src/devices/bus/cpc/playcity.cpp @@ -32,10 +32,10 @@ MACHINE_CONFIG_START(cpc_playcity_device::device_add_mconfig) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymz_1",YMZ294,XTAL(4'000'000)) // when timer is not set, operates at 4MHz (interally divided by 2, so equivalent to the ST) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.30) - MCFG_DEVICE_ADD("ymz_2",YMZ294,XTAL(4'000'000)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.30) + YMZ294(config, m_ymz1, XTAL(4'000'000)); // when timer is not set, operates at 4MHz (interally divided by 2, so equivalent to the ST) + m_ymz1->add_route(ALL_OUTPUTS, "rspeaker", 0.30); + YMZ294(config, m_ymz2, XTAL(4'000'000)); + m_ymz2->add_route(ALL_OUTPUTS, "lspeaker", 0.30); // pass-through MCFG_DEVICE_ADD("exp", CPC_EXPANSION_SLOT, 0) diff --git a/src/devices/machine/akiko.h b/src/devices/machine/akiko.h index 3f939f2bf0c..7e8436c50f2 100644 --- a/src/devices/machine/akiko.h +++ b/src/devices/machine/akiko.h @@ -21,32 +21,6 @@ #include "sound/cdda.h" -//************************************************************************** -// INTERFACE CONFIGURATION MACROS -//************************************************************************** - -#define MCFG_AKIKO_ADD(_tag) \ - MCFG_DEVICE_ADD(_tag, AKIKO, 0) - -#define MCFG_AKIKO_MEM_READ_CB(_devcb) \ - downcast(*device).set_mem_r_callback(DEVCB_##_devcb); - -#define MCFG_AKIKO_MEM_WRITE_CB(_devcb) \ - downcast(*device).set_mem_w_callback(DEVCB_##_devcb); - -#define MCFG_AKIKO_INT_CB(_devcb) \ - downcast(*device).set_int_w_callback(DEVCB_##_devcb); - -#define MCFG_AKIKO_SCL_HANDLER(_devcb) \ - downcast(*device).set_scl_handler(DEVCB_##_devcb); - -#define MCFG_AKIKO_SDA_READ_HANDLER(_devcb) \ - downcast(*device).set_sda_read_handler(DEVCB_##_devcb); - -#define MCFG_AKIKO_SDA_WRITE_HANDLER(_devcb) \ - downcast(*device).set_sda_write_handler(DEVCB_##_devcb); - - //************************************************************************** // TYPE DEFINITIONS //************************************************************************** diff --git a/src/mame/audio/cinemat.cpp b/src/mame/audio/cinemat.cpp index 45f203c63f6..5646df01736 100644 --- a/src/mame/audio/cinemat.cpp +++ b/src/mame/audio/cinemat.cpp @@ -1392,8 +1392,8 @@ static const z80_daisy_config daisy_chain[] = }; -MACHINE_CONFIG_START(demon_state::demon_sound) - +void demon_state::demon_sound(machine_config &config) +{ /* basic machine hardware */ z80_device& audiocpu(Z80(config, "audiocpu", 3579545)); audiocpu.set_daisy_config(daisy_chain); @@ -1408,19 +1408,18 @@ MACHINE_CONFIG_START(demon_state::demon_sound) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ay1", AY8910, 3579545) - MCFG_AY8910_PORT_A_READ_CB(READ8(*this, demon_state, sound_porta_r)) - MCFG_AY8910_PORT_B_READ_CB(READ8(*this, demon_state, sound_portb_r)) - MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(*this, demon_state, sound_portb_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) + AY8910(config, m_ay1, 3579545); + m_ay1->port_a_read_callback().set(FUNC(demon_state::sound_porta_r)); + m_ay1->port_b_read_callback().set(FUNC(demon_state::sound_portb_r)); + m_ay1->port_b_write_callback().set(FUNC(demon_state::sound_portb_w)); + m_ay1->add_route(ALL_OUTPUTS, "mono", 0.25); - MCFG_DEVICE_ADD("ay2", AY8910, 3579545) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) + AY8910(config, "ay2", 3579545).add_route(ALL_OUTPUTS, "mono", 0.25); - MCFG_DEVICE_ADD("ay3", AY8910, 3579545) - MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(*this, demon_state, sound_output_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + ay8910_device &ay3(AY8910(config, "ay3", 3579545)); + ay3.port_b_write_callback().set(FUNC(demon_state::sound_output_w)); + ay3.add_route(ALL_OUTPUTS, "mono", 0.25); +} diff --git a/src/mame/drivers/1942.cpp b/src/mame/drivers/1942.cpp index d0ba8577647..ba67e7b30f0 100644 --- a/src/mame/drivers/1942.cpp +++ b/src/mame/drivers/1942.cpp @@ -595,21 +595,19 @@ MACHINE_CONFIG_START(_1942_state::_1942) GENERIC_LATCH_8(config, m_soundlatch); - MCFG_DEVICE_ADD("ay1", AY8910, AUDIO_CLOCK) /* 1.5 MHz */ - MCFG_AY8910_OUTPUT_TYPE(AY8910_RESISTOR_OUTPUT) - MCFG_AY8910_RES_LOADS(10000.0, 10000.0, 10000.0) + ay8910_device &ay1(AY8910(config, "ay1", AUDIO_CLOCK)); /* 1.5 MHz */ + ay1.set_flags(AY8910_RESISTOR_OUTPUT); + ay1.set_resistors_load(10000.0, 10000.0, 10000.0); + ay1.add_route(0, "snd_nl", 1.0, 0); + ay1.add_route(1, "snd_nl", 1.0, 1); + ay1.add_route(2, "snd_nl", 1.0, 2); - MCFG_SOUND_ROUTE(0, "snd_nl", 1.0, 0) - MCFG_SOUND_ROUTE(1, "snd_nl", 1.0, 1) - MCFG_SOUND_ROUTE(2, "snd_nl", 1.0, 2) - - MCFG_DEVICE_ADD("ay2", AY8910, AUDIO_CLOCK) /* 1.5 MHz */ - MCFG_AY8910_OUTPUT_TYPE(AY8910_RESISTOR_OUTPUT) - MCFG_AY8910_RES_LOADS(10000.0, 10000.0, 10000.0) - - MCFG_SOUND_ROUTE(0, "snd_nl", 1.0, 3) - MCFG_SOUND_ROUTE(1, "snd_nl", 1.0, 4) - MCFG_SOUND_ROUTE(2, "snd_nl", 1.0, 5) + ay8910_device &ay2(AY8910(config, "ay2", AUDIO_CLOCK)); /* 1.5 MHz */ + ay2.set_flags(AY8910_RESISTOR_OUTPUT); + ay2.set_resistors_load(10000.0, 10000.0, 10000.0); + ay2.add_route(0, "snd_nl", 1.0, 3); + ay2.add_route(1, "snd_nl", 1.0, 4); + ay2.add_route(2, "snd_nl", 1.0, 5); /* NETLIST configuration using internal AY8910 resistor values */ diff --git a/src/mame/drivers/adp.cpp b/src/mame/drivers/adp.cpp index cd926cf31aa..65eacd3364b 100644 --- a/src/mame/drivers/adp.cpp +++ b/src/mame/drivers/adp.cpp @@ -592,9 +592,9 @@ MACHINE_CONFIG_START(adp_state::quickjac) HD63484(config, m_acrtc, 0).set_addrmap(0, &adp_state::adp_hd63484_map); SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("aysnd", AY8910, 3686400/2) - MCFG_AY8910_PORT_A_READ_CB(IOPORT("PA")) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.10) + ym2149_device &aysnd(YM2149(config, "aysnd", 3686400/2)); + aysnd.port_a_read_callback().set_ioport("PA"); + aysnd.add_route(ALL_OUTPUTS, "mono", 0.10); MACHINE_CONFIG_END diff --git a/src/mame/drivers/albazc.cpp b/src/mame/drivers/albazc.cpp index 267f9d08e56..c612485c4ef 100644 --- a/src/mame/drivers/albazc.cpp +++ b/src/mame/drivers/albazc.cpp @@ -306,10 +306,10 @@ MACHINE_CONFIG_START(albazc_state::hanaroku) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("aysnd", AY8910, 1500000) /* ? MHz */ - MCFG_AY8910_PORT_A_READ_CB(IOPORT("DSW1")) - MCFG_AY8910_PORT_B_READ_CB(IOPORT("DSW2")) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) + ay8910_device &aysnd(AY8910(config, "aysnd", 1500000)); /* ? MHz */ + aysnd.port_a_read_callback().set_ioport("DSW1"); + aysnd.port_b_read_callback().set_ioport("DSW2"); + aysnd.add_route(ALL_OUTPUTS, "mono", 0.50); MACHINE_CONFIG_END diff --git a/src/mame/drivers/albazg.cpp b/src/mame/drivers/albazg.cpp index c3aed14f95a..2a49b54963e 100644 --- a/src/mame/drivers/albazg.cpp +++ b/src/mame/drivers/albazg.cpp @@ -397,11 +397,11 @@ MACHINE_CONFIG_START(albazg_state::yumefuda) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("aysnd", AY8910, MASTER_CLOCK/16) /* guessed to use the same xtal as the crtc */ - MCFG_AY8910_PORT_A_READ_CB(IOPORT("DSW1")) - MCFG_AY8910_PORT_B_READ_CB(IOPORT("DSW2")) - MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(*this, albazg_state, yumefuda_output_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) + ay8910_device &aysnd(AY8910(config, "aysnd", MASTER_CLOCK/16)); /* guessed to use the same xtal as the crtc */ + aysnd.port_a_read_callback().set_ioport("DSW1"); + aysnd.port_b_read_callback().set_ioport("DSW2"); + aysnd.port_a_write_callback().set(FUNC(albazg_state::yumefuda_output_w)); + aysnd.add_route(ALL_OUTPUTS, "mono", 0.50); MACHINE_CONFIG_END /***************************************************************************************/ diff --git a/src/mame/drivers/alpha68k.cpp b/src/mame/drivers/alpha68k.cpp index 7e57fe0eff0..95ecf90fa3f 100644 --- a/src/mame/drivers/alpha68k.cpp +++ b/src/mame/drivers/alpha68k.cpp @@ -2042,9 +2042,9 @@ MACHINE_CONFIG_START(alpha68k_state::jongbou) MCFG_GENERIC_LATCH_8_ADD("soundlatch") - MCFG_DEVICE_ADD("aysnd", AY8910, 2000000) - MCFG_AY8910_PORT_A_READ_CB(READ8("soundlatch", generic_latch_8_device, read)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.65) + ay8910_device &aysnd(AY8910(config, "aysnd", 2000000)); + aysnd.port_a_read_callback().set(m_soundlatch, FUNC(generic_latch_8_device::read)); + aysnd.add_route(ALL_OUTPUTS, "speaker", 0.65); MACHINE_CONFIG_END MACHINE_CONFIG_START(alpha68k_state::alpha68k_I) @@ -2134,9 +2134,9 @@ MACHINE_CONFIG_START(alpha68k_state::alpha68k_II) MCFG_GENERIC_LATCH_8_ADD("soundlatch") - MCFG_DEVICE_ADD("ym1", YM2203, 3000000) - MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(*this, alpha68k_state, porta_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.65) + ym2203_device &ym1(YM2203(config, "ym1", 3000000)); + ym1.port_a_write_callback().set(FUNC(alpha68k_state::porta_w)); + ym1.add_route(ALL_OUTPUTS, "speaker", 0.65); MCFG_DEVICE_ADD("ym2", YM2413, 3.579545_MHz_XTAL) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) @@ -2200,9 +2200,9 @@ MACHINE_CONFIG_START(alpha68k_state::alpha68k_V) MCFG_GENERIC_LATCH_8_ADD("soundlatch") - MCFG_DEVICE_ADD("ym1", YM2203, ALPHA68K_PIXEL_CLOCK / 2) - MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(*this, alpha68k_state, porta_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.65) + ym2203_device &ym1(YM2203(config, "ym1", ALPHA68K_PIXEL_CLOCK / 2)); + ym1.port_a_write_callback().set(FUNC(alpha68k_state::porta_w)); + ym1.add_route(ALL_OUTPUTS, "speaker", 0.65); MCFG_DEVICE_ADD("ym2", YM2413, 3.579545_MHz_XTAL) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) diff --git a/src/mame/drivers/amstrad.cpp b/src/mame/drivers/amstrad.cpp index d099a99b872..0994aedb98d 100644 --- a/src/mame/drivers/amstrad.cpp +++ b/src/mame/drivers/amstrad.cpp @@ -949,9 +949,9 @@ MACHINE_CONFIG_START(amstrad_state::amstrad_base) /* sound hardware */ SPEAKER(config, "mono").front_center(); WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "mono", 0.25); - MCFG_DEVICE_ADD("ay", AY8912, 16_MHz_XTAL / 16) - MCFG_AY8910_PORT_A_READ_CB(READ8(*this, amstrad_state, amstrad_psg_porta_read)) /* portA read */ - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) + AY8912(config, m_ay, 16_MHz_XTAL / 16); + m_ay->port_a_read_callback().set(FUNC(amstrad_state::amstrad_psg_porta_read)); + m_ay->add_route(ALL_OUTPUTS, "mono", 0.25); /* printer */ MCFG_DEVICE_ADD("centronics", CENTRONICS, amstrad_centronics_devices, "printer") @@ -1070,9 +1070,9 @@ MACHINE_CONFIG_START(amstrad_state::cpcplus) /* sound hardware */ SPEAKER(config, "mono").front_center(); WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "mono", 0.25); - MCFG_DEVICE_ADD("ay", AY8912, 40_MHz_XTAL / 40) - MCFG_AY8910_PORT_A_READ_CB(READ8(*this, amstrad_state, amstrad_psg_porta_read)) /* portA read */ - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) + AY8912(config, m_ay, 40_MHz_XTAL / 40); + m_ay->port_a_read_callback().set(FUNC(amstrad_state::amstrad_psg_porta_read)); + m_ay->add_route(ALL_OUTPUTS, "mono", 0.25); /* printer */ MCFG_DEVICE_ADD("centronics", CENTRONICS, centronics_devices, "printer") @@ -1147,9 +1147,9 @@ MACHINE_CONFIG_START(amstrad_state::gx4000) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ay", AY8912, 40_MHz_XTAL / 40) - MCFG_AY8910_PORT_A_READ_CB(READ8(*this, amstrad_state, amstrad_psg_porta_read)) /* portA read */ - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) + AY8912(config, m_ay, 40_MHz_XTAL / 40); + m_ay->port_a_read_callback().set(FUNC(amstrad_state::amstrad_psg_porta_read)); + m_ay->add_route(ALL_OUTPUTS, "mono", 0.25); cpcplus_cartslot(config); @@ -1163,9 +1163,9 @@ MACHINE_CONFIG_START(amstrad_state::aleste) MCFG_MACHINE_START_OVERRIDE(amstrad_state,aleste) MCFG_MACHINE_RESET_OVERRIDE(amstrad_state,aleste) - MCFG_DEVICE_REPLACE("ay", AY8912, 16_MHz_XTAL / 16) - MCFG_AY8910_PORT_A_READ_CB(READ8(*this, amstrad_state, amstrad_psg_porta_read)) /* portA read */ - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) + AY8912(config.replace(), m_ay, 16_MHz_XTAL / 16); + m_ay->port_a_read_callback().set(FUNC(amstrad_state::amstrad_psg_porta_read)); + m_ay->add_route(ALL_OUTPUTS, "mono", 0.25); MCFG_PALETTE_MODIFY("palette") MCFG_PALETTE_ENTRIES(32+64) diff --git a/src/mame/drivers/atarist.cpp b/src/mame/drivers/atarist.cpp index 6b516e01755..36a57fda4ca 100644 --- a/src/mame/drivers/atarist.cpp +++ b/src/mame/drivers/atarist.cpp @@ -2027,12 +2027,12 @@ MACHINE_CONFIG_START(st_state::st) // sound hardware SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD(YM2149_TAG, YM2149, Y2/16) - MCFG_AY8910_OUTPUT_TYPE(AY8910_SINGLE_OUTPUT) - MCFG_AY8910_RES_LOADS(RES_K(1), 0, 0) - MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(*this, st_state, psg_pa_w)) - MCFG_AY8910_PORT_B_WRITE_CB(WRITE8("cent_data_out", output_latch_device, bus_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) + ym2149_device &ym2149(YM2149(config, YM2149_TAG, Y2/16)); + ym2149.set_flags(AY8910_SINGLE_OUTPUT); + ym2149.set_resistors_load(RES_K(1), 0, 0); + ym2149.port_a_write_callback().set(FUNC(st_state::psg_pa_w)); + ym2149.port_b_write_callback().set("cent_data_out", FUNC(output_latch_device::bus_w)); + ym2149.add_route(ALL_OUTPUTS, "mono", 1.00); // devices @@ -2118,12 +2118,12 @@ MACHINE_CONFIG_START(megast_state::megast) // sound hardware SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD(YM2149_TAG, YM2149, Y2/16) - MCFG_AY8910_OUTPUT_TYPE(AY8910_SINGLE_OUTPUT) - MCFG_AY8910_RES_LOADS(RES_K(1), 0, 0) - MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(*this, st_state, psg_pa_w)) - MCFG_AY8910_PORT_B_WRITE_CB(WRITE8("cent_data_out", output_latch_device, bus_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) + ym2149_device &ym2149(YM2149(config, YM2149_TAG, Y2/16)); + ym2149.set_flags(AY8910_SINGLE_OUTPUT); + ym2149.set_resistors_load(RES_K(1), 0, 0); + ym2149.port_a_write_callback().set(FUNC(st_state::psg_pa_w)); + ym2149.port_b_write_callback().set("cent_data_out", FUNC(output_latch_device::bus_w)); + ym2149.add_route(ALL_OUTPUTS, "mono", 1.00); // devices RP5C15(config, RP5C15_TAG, XTAL(32'768)); @@ -2212,13 +2212,13 @@ MACHINE_CONFIG_START(ste_state::ste) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD(YM2149_TAG, YM2149, Y2/16) - MCFG_AY8910_OUTPUT_TYPE(AY8910_SINGLE_OUTPUT) - MCFG_AY8910_RES_LOADS(RES_K(1), 0, 0) - MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(*this, st_state, psg_pa_w)) - MCFG_AY8910_PORT_B_WRITE_CB(WRITE8("cent_data_out", output_latch_device, bus_w)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.50) - MCFG_SOUND_ROUTE(0, "rspeaker", 0.50) + ym2149_device &ym2149(YM2149(config, YM2149_TAG, Y2/16)); + ym2149.set_flags(AY8910_SINGLE_OUTPUT); + ym2149.set_resistors_load(RES_K(1), 0, 0); + ym2149.port_a_write_callback().set(FUNC(st_state::psg_pa_w)); + ym2149.port_b_write_callback().set("cent_data_out", FUNC(output_latch_device::bus_w)); + ym2149.add_route(0, "lspeaker", 0.50); + ym2149.add_route(0, "rspeaker", 0.50); /* MCFG_DEVICE_ADD("custom", CUSTOM, 0) // DAC MCFG_SOUND_ROUTE(0, "rspeaker", 0.50) @@ -2329,12 +2329,12 @@ static MACHINE_CONFIG_START(stbook_state::stbook) // sound hardware SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD(YM3439_TAG, YM3439, U517/8) - MCFG_AY8910_OUTPUT_TYPE(AY8910_SINGLE_OUTPUT) - MCFG_AY8910_RES_LOADS(RES_K(1), 0, 0) - MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(*this, stbook_state, psg_pa_w)) - MCFG_AY8910_PORT_B_WRITE_CB(WRITE8("cent_data_out", output_latch_device, bus_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) + ym3439_device &ym3439(YM3439(config, YM3439_TAG, U517/8)); + ym3439.set_flags(AY8910_SINGLE_OUTPUT); + ym3439.set_resistors_load(RES_K(1), 0, 0); + ym3439.port_a_write_callback().set(FUNC(stbook_state::psg_pa_w)); + ym3439.port_b_write_callback().set("cent_data_out", FUNC(output_latch_device::bus_w)); + ym3439.add_route(ALL_OUTPUTS, "mono", 1.00); MC68901(config, m_mfp, U517/8); m_mfp->set_timer_clock(Y1); diff --git a/src/mame/drivers/bfcobra.cpp b/src/mame/drivers/bfcobra.cpp index 9bd0b24055f..4025c0d7ac1 100644 --- a/src/mame/drivers/bfcobra.cpp +++ b/src/mame/drivers/bfcobra.cpp @@ -1667,8 +1667,7 @@ MACHINE_CONFIG_START(bfcobra_state::bfcobra) SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("aysnd", AY8910, M6809_XTAL / 4) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20) + AY8910(config, "aysnd", M6809_XTAL / 4).add_route(ALL_OUTPUTS, "mono", 0.20); MCFG_DEVICE_ADD("upd", UPD7759) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) diff --git a/src/mame/drivers/bfm_sc1.cpp b/src/mame/drivers/bfm_sc1.cpp index 2d821e531d3..4591f20bb1f 100644 --- a/src/mame/drivers/bfm_sc1.cpp +++ b/src/mame/drivers/bfm_sc1.cpp @@ -1084,8 +1084,7 @@ MACHINE_CONFIG_START(bfm_sc1_state::scorpion1) MCFG_BFMBD1_ADD("vfd0",0) SPEAKER(config, "mono").front_center(); MCFG_GENERIC_LATCH_8_ADD("soundlatch") - MCFG_DEVICE_ADD("aysnd",AY8912, MASTER_CLOCK/4) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) + AY8912(config, "aysnd", MASTER_CLOCK/4).add_route(ALL_OUTPUTS, "mono", 0.25); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); config.set_default_layout(layout_sc1_vfd); diff --git a/src/mame/drivers/bfmsys83.cpp b/src/mame/drivers/bfmsys83.cpp index 74d04f3d704..304923a563c 100644 --- a/src/mame/drivers/bfmsys83.cpp +++ b/src/mame/drivers/bfmsys83.cpp @@ -34,14 +34,14 @@ INPUT_PORTS_END -MACHINE_CONFIG_START(bfmsys83_state::bfmsys83) - MCFG_DEVICE_ADD("maincpu", M6802, 40000000/4) - MCFG_DEVICE_PROGRAM_MAP(memmap) +void bfmsys83_state::bfmsys83(machine_config &config) +{ + M6802(config, m_maincpu, 40000000/4); + m_maincpu->set_addrmap(AS_PROGRAM, &bfmsys83_state::memmap); SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("aysnd",AY8912, 40000000/4) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + AY8912(config, "aysnd", 40000000/4).add_route(ALL_OUTPUTS, "mono", 0.25); +} /* void bfmsys83_state::init_decode() diff --git a/src/mame/drivers/bfmsys85.cpp b/src/mame/drivers/bfmsys85.cpp index b2a02329c8e..88a423de51c 100644 --- a/src/mame/drivers/bfmsys85.cpp +++ b/src/mame/drivers/bfmsys85.cpp @@ -413,8 +413,7 @@ MACHINE_CONFIG_START(bfmsys85_state::bfmsys85) MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(*this, bfmsys85_state, write_acia_clock)) SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("aysnd",AY8912, MASTER_CLOCK/4) // add AY8912 soundchip - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) + AY8912(config, "aysnd", MASTER_CLOCK/4).add_route(ALL_OUTPUTS, "mono", 0.25); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); // load/save nv RAM diff --git a/src/mame/drivers/big10.cpp b/src/mame/drivers/big10.cpp index b201abee938..25f46b8bae7 100644 --- a/src/mame/drivers/big10.cpp +++ b/src/mame/drivers/big10.cpp @@ -228,12 +228,12 @@ INPUT_PORTS_END * Machine Driver * **************************************/ -MACHINE_CONFIG_START(big10_state::big10) - +void big10_state::big10(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, MASTER_CLOCK/6) /* guess */ - MCFG_DEVICE_PROGRAM_MAP(main_map) - MCFG_DEVICE_IO_MAP(main_io) + Z80(config, m_maincpu, MASTER_CLOCK/6); /* guess */ + m_maincpu->set_addrmap(AS_PROGRAM, &big10_state::main_map); + m_maincpu->set_addrmap(AS_IO, &big10_state::main_io); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); @@ -246,14 +246,14 @@ MACHINE_CONFIG_START(big10_state::big10) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("aysnd", AY8910, MASTER_CLOCK/12) /* guess */ - MCFG_AY8910_PORT_A_READ_CB(IOPORT("DSW2")) - MCFG_AY8910_PORT_B_READ_CB(IOPORT("DSW1")) - MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(*this, big10_state, mux_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) + ym2149_device &aysnd(YM2149(config, "aysnd", MASTER_CLOCK/12)); /* guess */ + aysnd.port_a_read_callback().set_ioport("DSW2"); + aysnd.port_b_read_callback().set_ioport("DSW1"); + aysnd.port_a_write_callback().set(FUNC(big10_state::mux_w)); + aysnd.add_route(ALL_OUTPUTS, "mono", 0.30); - MCFG_TICKET_DISPENSER_ADD("hopper", attotime::from_msec(HOPPER_PULSE), TICKET_MOTOR_ACTIVE_LOW, TICKET_STATUS_ACTIVE_LOW ) -MACHINE_CONFIG_END + TICKET_DISPENSER(config, m_hopper, attotime::from_msec(HOPPER_PULSE), TICKET_MOTOR_ACTIVE_LOW, TICKET_STATUS_ACTIVE_LOW); +} /************************************** diff --git a/src/mame/drivers/bingor.cpp b/src/mame/drivers/bingor.cpp index b56168f70df..e8af5057551 100644 --- a/src/mame/drivers/bingor.cpp +++ b/src/mame/drivers/bingor.cpp @@ -807,8 +807,8 @@ MACHINE_CONFIG_START(bingor_state::vip2000) SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ymz", YMZ284, 1250000) // probably clocked by square wave output of 80186 timer 0 - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) + ymz284_device &ymz(YMZ284(config, "ymz", 1250000)); // probably clocked by square wave output of 80186 timer 0 + ymz.add_route(ALL_OUTPUTS, "mono", 0.50); MACHINE_CONFIG_END // I doubt we need to load the eeproms diff --git a/src/mame/drivers/btime.cpp b/src/mame/drivers/btime.cpp index 404b898b6ee..8ae40ea3140 100644 --- a/src/mame/drivers/btime.cpp +++ b/src/mame/drivers/btime.cpp @@ -1311,20 +1311,20 @@ MACHINE_CONFIG_START(btime_state::btime) MCFG_GENERIC_LATCH_8_ADD("soundlatch") MCFG_GENERIC_LATCH_DATA_PENDING_CB(INPUTLINE("audiocpu", 0)) - MCFG_DEVICE_ADD("ay1", AY8910, HCLK2) - MCFG_AY8910_OUTPUT_TYPE(AY8910_DISCRETE_OUTPUT) - MCFG_AY8910_RES_LOADS(RES_K(5), RES_K(5), RES_K(5)) - MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(*this, btime_state, ay_audio_nmi_enable_w)) - MCFG_SOUND_ROUTE(0, "discrete", 1.0, 0) - MCFG_SOUND_ROUTE(1, "discrete", 1.0, 1) - MCFG_SOUND_ROUTE(2, "discrete", 1.0, 2) + ay8910_device &ay1(AY8910(config, "ay1", HCLK2)); + ay1.set_flags(AY8910_DISCRETE_OUTPUT); + ay1.set_resistors_load(RES_K(5), RES_K(5), RES_K(5)); + ay1.port_a_write_callback().set(FUNC(btime_state::ay_audio_nmi_enable_w)); + ay1.add_route(0, "discrete", 1.0, 0); + ay1.add_route(1, "discrete", 1.0, 1); + ay1.add_route(2, "discrete", 1.0, 2); - MCFG_DEVICE_ADD("ay2", AY8910, HCLK2) - MCFG_AY8910_OUTPUT_TYPE(AY8910_DISCRETE_OUTPUT) - MCFG_AY8910_RES_LOADS(RES_K(1), RES_K(5), RES_K(5)) - MCFG_SOUND_ROUTE(0, "discrete", 1.0, 3) - MCFG_SOUND_ROUTE(1, "discrete", 1.0, 4) - MCFG_SOUND_ROUTE(2, "discrete", 1.0, 5) + ay8910_device &ay2(AY8910(config, "ay2", HCLK2)); + ay2.set_flags(AY8910_DISCRETE_OUTPUT); + ay2.set_resistors_load(RES_K(1), RES_K(5), RES_K(5)); + ay2.add_route(0, "discrete", 1.0, 3); + ay2.add_route(1, "discrete", 1.0, 4); + ay2.add_route(2, "discrete", 1.0, 5); MCFG_DEVICE_ADD("discrete", DISCRETE, btime_sound_discrete) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) @@ -1438,14 +1438,14 @@ MACHINE_CONFIG_START(btime_state::zoar) MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1) // 256 * 240, confirmed /* sound hardware */ - MCFG_DEVICE_REPLACE("ay1", AY8910, HCLK1) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.23) - MCFG_AY8910_OUTPUT_TYPE(AY8910_DISCRETE_OUTPUT) - MCFG_AY8910_RES_LOADS(RES_K(5), RES_K(5), RES_K(5)) - MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(*this, btime_state, ay_audio_nmi_enable_w)) + ay8910_device &ay1(AY8910(config.replace(), "ay1", HCLK1)); + ay1.add_route(ALL_OUTPUTS, "mono", 0.23); + ay1.set_flags(AY8910_DISCRETE_OUTPUT); + ay1.set_resistors_load(RES_K(5), RES_K(5), RES_K(5)); + ay1.port_a_write_callback().set(FUNC(btime_state::ay_audio_nmi_enable_w)); - MCFG_DEVICE_REPLACE("ay2", AY8910, HCLK1) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.23) + ay8910_device &ay2(AY8910(config.replace(), "ay2", HCLK1)); + ay2.add_route(ALL_OUTPUTS, "mono", 0.23); MACHINE_CONFIG_END diff --git a/src/mame/drivers/caswin.cpp b/src/mame/drivers/caswin.cpp index 23202452b26..9b666f71de7 100644 --- a/src/mame/drivers/caswin.cpp +++ b/src/mame/drivers/caswin.cpp @@ -358,10 +358,10 @@ MACHINE_CONFIG_START(caswin_state::vvillage) SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("aysnd", AY8910, 4000000 / 4) - MCFG_AY8910_PORT_A_READ_CB(IOPORT("DSW1")) - MCFG_AY8910_PORT_B_READ_CB(IOPORT("DSW2")) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) + ay8910_device &aysnd(AY8910(config, "aysnd", 4000000 / 4)); + aysnd.port_a_read_callback().set_ioport("DSW1"); + aysnd.port_b_read_callback().set_ioport("DSW2"); + aysnd.add_route(ALL_OUTPUTS, "mono", 0.40); MACHINE_CONFIG_END ROM_START( caswin ) diff --git a/src/mame/drivers/centiped.cpp b/src/mame/drivers/centiped.cpp index e72153a50a0..77d4d55f01b 100644 --- a/src/mame/drivers/centiped.cpp +++ b/src/mame/drivers/centiped.cpp @@ -1812,9 +1812,7 @@ MACHINE_CONFIG_START(centiped_state::caterplr) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("aysnd", AY8910, 12096000/8) - - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + AY8910(config, m_aysnd, 12096000/8).add_route(ALL_OUTPUTS, "mono", 1.0); MACHINE_CONFIG_END @@ -1830,9 +1828,9 @@ MACHINE_CONFIG_START(centiped_state::centipdb) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("aysnd", AY8910, 12096000/8) - MCFG_AY8910_PORT_A_READ_CB(READ8(*this, centiped_state, caterplr_unknown_r)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 2.0) + AY8910(config, m_aysnd, 12096000/8); + m_aysnd->port_a_read_callback().set(FUNC(centiped_state::caterplr_unknown_r)); + m_aysnd->add_route(ALL_OUTPUTS, "mono", 2.0); MACHINE_CONFIG_END @@ -1850,9 +1848,7 @@ MACHINE_CONFIG_START(centiped_state::magworm) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("aysnd", AY8912, 12096000/8) // AY-3-8912 at 2/3H - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 2.0) - + AY8912(config, m_aysnd, 12096000/8).add_route(ALL_OUTPUTS, "mono", 2.0); // AY-3-8912 at 2/3H MACHINE_CONFIG_END diff --git a/src/mame/drivers/chanbara.cpp b/src/mame/drivers/chanbara.cpp index 1781d8bb7b9..5ba5acf8554 100644 --- a/src/mame/drivers/chanbara.cpp +++ b/src/mame/drivers/chanbara.cpp @@ -413,11 +413,11 @@ MACHINE_CONFIG_START(chanbara_state::chanbara) SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ymsnd", YM2203, 12000000/8) - MCFG_YM2203_IRQ_HANDLER(INPUTLINE("maincpu", 0)) - MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(*this, chanbara_state, chanbara_ay_out_0_w)) - MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(*this, chanbara_state, chanbara_ay_out_1_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + ym2203_device &ymsnd(YM2203(config, "ymsnd", 12000000/8)); + ymsnd.irq_handler().set_inputline(m_maincpu, 0); + ymsnd.port_a_write_callback().set(FUNC(chanbara_state::chanbara_ay_out_0_w)); + ymsnd.port_b_write_callback().set(FUNC(chanbara_state::chanbara_ay_out_1_w)); + ymsnd.add_route(ALL_OUTPUTS, "mono", 1.0); MACHINE_CONFIG_END diff --git a/src/mame/drivers/cntsteer.cpp b/src/mame/drivers/cntsteer.cpp index 305ffd4bc23..6bf73781ad4 100644 --- a/src/mame/drivers/cntsteer.cpp +++ b/src/mame/drivers/cntsteer.cpp @@ -962,12 +962,11 @@ MACHINE_CONFIG_START(cntsteer_state::cntsteer) GENERIC_LATCH_8(config, m_soundlatch); - MCFG_DEVICE_ADD("ay1", AY8910, 1500000) - MCFG_AY8910_PORT_A_WRITE_CB(WRITE8("dac", dac_byte_interface, data_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) + ay8910_device &ay1(AY8910(config, "ay1", 1500000)); + ay1.port_a_write_callback().set("dac", FUNC(dac_byte_interface::data_w)); + ay1.add_route(ALL_OUTPUTS, "speaker", 0.5); - MCFG_DEVICE_ADD("ay2", AY8910, 1500000) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) + AY8910(config, "ay2", 1500000).add_route(ALL_OUTPUTS, "speaker", 0.5); 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) @@ -1013,11 +1012,9 @@ MACHINE_CONFIG_START(cntsteer_state::zerotrgt) MCFG_GENERIC_LATCH_8_ADD("soundlatch") - MCFG_DEVICE_ADD("ay1", AY8910, 1500000) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) + AY8910(config, "ay1", 1500000).add_route(ALL_OUTPUTS, "speaker", 0.5); - MCFG_DEVICE_ADD("ay2", AY8910, 1500000) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) + AY8910(config, "ay2", 1500000).add_route(ALL_OUTPUTS, "speaker", 0.5); MACHINE_CONFIG_END /***************************************************************************/ diff --git a/src/mame/drivers/compgolf.cpp b/src/mame/drivers/compgolf.cpp index bc5fa770891..c07d5143123 100644 --- a/src/mame/drivers/compgolf.cpp +++ b/src/mame/drivers/compgolf.cpp @@ -245,11 +245,11 @@ MACHINE_CONFIG_START(compgolf_state::compgolf) SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ymsnd", YM2203, 1500000) - MCFG_YM2203_IRQ_HANDLER(INPUTLINE("maincpu", 0)) - MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(*this, compgolf_state, compgolf_scrollx_lo_w)) - MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(*this, compgolf_state, compgolf_scrolly_lo_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + ym2203_device &ymsnd(YM2203(config, "ymsnd", 1500000)); + ymsnd.irq_handler().set_inputline(m_maincpu, 0); + ymsnd.port_a_write_callback().set(FUNC(compgolf_state::compgolf_scrollx_lo_w)); + ymsnd.port_b_write_callback().set(FUNC(compgolf_state::compgolf_scrolly_lo_w)); + ymsnd.add_route(ALL_OUTPUTS, "mono", 1.0); MACHINE_CONFIG_END diff --git a/src/mame/drivers/dblcrown.cpp b/src/mame/drivers/dblcrown.cpp index 0344ddcc062..043709baac6 100644 --- a/src/mame/drivers/dblcrown.cpp +++ b/src/mame/drivers/dblcrown.cpp @@ -632,8 +632,7 @@ MACHINE_CONFIG_START(dblcrown_state::dblcrown) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ymz", YMZ284, SND_CLOCK) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75) + YMZ284(config, "ymz", SND_CLOCK).add_route(ALL_OUTPUTS, "mono", 0.75); MACHINE_CONFIG_END diff --git a/src/mame/drivers/ddenlovr.cpp b/src/mame/drivers/ddenlovr.cpp index da56f1b50e5..13198ea6230 100644 --- a/src/mame/drivers/ddenlovr.cpp +++ b/src/mame/drivers/ddenlovr.cpp @@ -9752,8 +9752,7 @@ MACHINE_CONFIG_START(ddenlovr_state::ddenlovr) MCFG_DEVICE_ADD("ym2413", YM2413, XTAL(28'636'363) / 8) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80) - MCFG_DEVICE_ADD("aysnd", YMZ284, XTAL(28'636'363) / 16) // or /8 ? - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) + YMZ284(config, "aysnd", XTAL(28'636'363) / 16).add_route(ALL_OUTPUTS, "mono", 0.30); // or /8 ? MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(28'636'363) / 28, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80) @@ -10568,8 +10567,7 @@ MACHINE_CONFIG_START(ddenlovr_state::sryudens) MCFG_DEVICE_ADD("ym2413", YM2413, XTAL(28'636'363) / 8) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80) - MCFG_DEVICE_ADD("aysnd", YMZ284, XTAL(28'636'363) / 8) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) + YMZ284(config, "aysnd", XTAL(28'636'363) / 8).add_route(ALL_OUTPUTS, "mono", 0.30); MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(28'636'363) / 28, okim6295_device::PIN7_HIGH) // ? MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80) @@ -10619,8 +10617,7 @@ MACHINE_CONFIG_START(ddenlovr_state::janshinp) MCFG_DEVICE_ADD("ym2413", YM2413, XTAL(28'636'363) / 8) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80) - MCFG_DEVICE_ADD("aysnd", YMZ284, XTAL(28'636'363) / 8) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) + YMZ284(config, "aysnd", XTAL(28'636'363) / 8).add_route(ALL_OUTPUTS, "mono", 0.30); MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(28'636'363) / 28, okim6295_device::PIN7_HIGH) // ? MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80) diff --git a/src/mame/drivers/decocass.cpp b/src/mame/drivers/decocass.cpp index bf2a5560492..df402215443 100644 --- a/src/mame/drivers/decocass.cpp +++ b/src/mame/drivers/decocass.cpp @@ -991,11 +991,9 @@ MACHINE_CONFIG_START(decocass_state::decocass) MCFG_GENERIC_LATCH_8_ADD("soundlatch") MCFG_GENERIC_LATCH_8_ADD("soundlatch2") - MCFG_DEVICE_ADD("ay1", AY8910, HCLK2) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) + AY8910(config, "ay1", HCLK2).add_route(ALL_OUTPUTS, "mono", 0.40); - MCFG_DEVICE_ADD("ay2", AY8910, HCLK2) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) + AY8910(config, "ay2", HCLK2).add_route(ALL_OUTPUTS, "mono", 0.40); MACHINE_CONFIG_END diff --git a/src/mame/drivers/dlair.cpp b/src/mame/drivers/dlair.cpp index c9d94ee9cd6..f49c65b3d76 100644 --- a/src/mame/drivers/dlair.cpp +++ b/src/mame/drivers/dlair.cpp @@ -729,22 +729,22 @@ GFXDECODE_END * *************************************/ -MACHINE_CONFIG_START(dlair_state::dlair_base) - +void dlair_state::dlair_base(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, MASTER_CLOCK_US/4) - MCFG_DEVICE_PROGRAM_MAP(dlus_map) - MCFG_DEVICE_PERIODIC_INT_DRIVER(dlair_state, irq0_line_hold, (double)MASTER_CLOCK_US/8/16/16/16/16) + Z80(config, m_maincpu, MASTER_CLOCK_US/4); + m_maincpu->set_addrmap(AS_PROGRAM, &dlair_state::dlus_map); + m_maincpu->set_periodic_int(FUNC(dlair_state::irq0_line_hold), attotime::from_hz((double)MASTER_CLOCK_US/8/16/16/16/16)); /* sound hardware */ SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("aysnd", AY8910, MASTER_CLOCK_US/8) - MCFG_AY8910_PORT_A_READ_CB(IOPORT("DSW1")) - MCFG_AY8910_PORT_B_READ_CB(IOPORT("DSW2")) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.33) -MACHINE_CONFIG_END + ay8910_device &aysnd(AY8910(config, "aysnd", MASTER_CLOCK_US/8)); + aysnd.port_a_read_callback().set_ioport("DSW1"); + aysnd.port_b_read_callback().set_ioport("DSW2"); + aysnd.add_route(ALL_OUTPUTS, "rspeaker", 0.33); +} MACHINE_CONFIG_START(dlair_state::dlair_pr7820) diff --git a/src/mame/drivers/equites.cpp b/src/mame/drivers/equites.cpp index 5b675dfdcd2..7ae9912fba7 100644 --- a/src/mame/drivers/equites.cpp +++ b/src/mame/drivers/equites.cpp @@ -1073,10 +1073,10 @@ MACHINE_CONFIG_START(equites_state::common_sound) MCFG_SOUND_ROUTE(9, "speaker", 1.0) // pin 2 SOLO 16' (this actually feeds an analog section) MCFG_SOUND_ROUTE(10,"speaker", 0.12) // pin 22 Noise Output (this actually feeds an analog section) - MCFG_DEVICE_ADD("aysnd", AY8910, 6.144_MHz_XTAL/4) /* verified on pcb */ - MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(*this, equites_state, equites_8910porta_w)) - MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(*this, equites_state, equites_8910portb_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.15) + ay8910_device &aysnd(AY8910(config, "aysnd", 6.144_MHz_XTAL/4)); /* verified on pcb */ + aysnd.port_a_write_callback().set(FUNC(equites_state::equites_8910porta_w)); + aysnd.port_b_write_callback().set(FUNC(equites_state::equites_8910portb_w)); + aysnd.add_route(ALL_OUTPUTS, "speaker", 0.15); MCFG_DEVICE_ADD("dac1", DAC_6BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("dac2", DAC_6BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC diff --git a/src/mame/drivers/forte2.cpp b/src/mame/drivers/forte2.cpp index 078a0d8c0cc..c2327fcedd4 100644 --- a/src/mame/drivers/forte2.cpp +++ b/src/mame/drivers/forte2.cpp @@ -61,8 +61,8 @@ private: void io_mem(address_map &map); void program_mem(address_map &map); - DECLARE_READ8_MEMBER(forte2_ay8910_read_input); - DECLARE_WRITE8_MEMBER(forte2_ay8910_set_input_mask); + DECLARE_READ8_MEMBER(ay8910_read_input); + DECLARE_WRITE8_MEMBER(ay8910_set_input_mask); required_device m_maincpu; @@ -102,12 +102,12 @@ static INPUT_PORTS_START( pesadelo ) INPUT_PORTS_END -READ8_MEMBER(forte2_state::forte2_ay8910_read_input) +READ8_MEMBER(forte2_state::ay8910_read_input) { return ioport("IN0")->read() | (m_input_mask & 0x3f); } -WRITE8_MEMBER(forte2_state::forte2_ay8910_set_input_mask) +WRITE8_MEMBER(forte2_state::ay8910_set_input_mask) { /* PSG reg 15, writes 0 at coin insert, 0xff at boot and game over */ m_input_mask = data; @@ -125,12 +125,12 @@ void forte2_state::machine_start() } -MACHINE_CONFIG_START(forte2_state::pesadelo) - +void forte2_state::pesadelo(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, XTAL(3'579'545)) - MCFG_DEVICE_PROGRAM_MAP(program_mem) - MCFG_DEVICE_IO_MAP(io_mem) + Z80(config, m_maincpu, XTAL(3'579'545)); + m_maincpu->set_addrmap(AS_PROGRAM, &forte2_state::program_mem); + m_maincpu->set_addrmap(AS_IO, &forte2_state::io_mem); /* video hardware */ tms9928a_device &vdp(TMS9928A(config, "tms9928a", XTAL(10'738'635))); @@ -141,11 +141,11 @@ MACHINE_CONFIG_START(forte2_state::pesadelo) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("aysnd", AY8910, XTAL(3'579'545)/2) - MCFG_AY8910_PORT_A_READ_CB(READ8(*this, forte2_state, forte2_ay8910_read_input)) - MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(*this, forte2_state, forte2_ay8910_set_input_mask)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) -MACHINE_CONFIG_END + ay8910_device &aysnd(AY8910(config, "aysnd", XTAL(3'579'545)/2)); + aysnd.port_a_read_callback().set(FUNC(forte2_state::ay8910_read_input)); + aysnd.port_b_write_callback().set(FUNC(forte2_state::ay8910_set_input_mask)); + aysnd.add_route(ALL_OUTPUTS, "mono", 0.50); +} void forte2_state::init_pesadelo() { diff --git a/src/mame/drivers/jack.cpp b/src/mame/drivers/jack.cpp index d199e292b00..69cb6553304 100644 --- a/src/mame/drivers/jack.cpp +++ b/src/mame/drivers/jack.cpp @@ -942,10 +942,10 @@ MACHINE_CONFIG_START(jack_state::jack) MCFG_GENERIC_LATCH_8_ADD("soundlatch") MCFG_GENERIC_LATCH_DATA_PENDING_CB(ASSERTLINE("audiocpu", 0)) - MCFG_DEVICE_ADD("aysnd", AY8910, XTAL(18'000'000)/12) - MCFG_AY8910_PORT_A_READ_CB(READ8("soundlatch", generic_latch_8_device,read)) - MCFG_AY8910_PORT_B_READ_CB(READ8(*this, jack_state, timer_r)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + ay8910_device &aysnd(AY8910(config, "aysnd", XTAL(18'000'000)/12)); + aysnd.port_a_read_callback().set(m_soundlatch, FUNC(generic_latch_8_device::read)); + aysnd.port_b_read_callback().set(FUNC(jack_state::timer_r)); + aysnd.add_route(ALL_OUTPUTS, "mono", 1.0); MACHINE_CONFIG_END MACHINE_CONFIG_START(jack_state::treahunt) diff --git a/src/mame/drivers/leland.cpp b/src/mame/drivers/leland.cpp index f8531d9c1c1..7f2a80da015 100644 --- a/src/mame/drivers/leland.cpp +++ b/src/mame/drivers/leland.cpp @@ -999,19 +999,19 @@ MACHINE_CONFIG_START(leland_state::leland) SPEAKER(config, "speaker").front_center(); // only one of the AY sockets is populated - MCFG_DEVICE_ADD("ay8910", AY8910, 10000000/6) - MCFG_AY8910_OUTPUT_TYPE(AY8910_SINGLE_OUTPUT) - MCFG_AY8910_RES_LOADS(1000, 0, 0) - MCFG_AY8910_PORT_A_READ_CB(READ8(*this, leland_state, leland_sound_port_r)) - MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(*this, leland_state, leland_sound_port_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) + AY8910(config, m_ay8910, 10000000/6); + m_ay8910->set_flags(AY8910_SINGLE_OUTPUT); + m_ay8910->set_resistors_load(1000, 0, 0); + m_ay8910->port_a_read_callback().set(FUNC(leland_state::leland_sound_port_r)); + m_ay8910->port_a_write_callback().set(FUNC(leland_state::leland_sound_port_w)); + m_ay8910->add_route(ALL_OUTPUTS, "speaker", 0.25); -// MCFG_DEVICE_ADD("ay8912", AY8912, 10000000/6) -// MCFG_AY8910_OUTPUT_TYPE(AY8910_SINGLE_OUTPUT) -// MCFG_AY8910_RES_LOADS(1000, 0, 0) -// MCFG_AY8910_PORT_A_READ_CB(READ8(*this, leland_state, leland_sound_port_r)) -// MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(*this, leland_state, leland_sound_port_w)) -// MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) +// AY8912(config, m_ay8912, 10000000/6); +// m_ay8912->set_flags(AY8910_SINGLE_OUTPUT); +// m_ay8912->set_resistors_load(1000, 0, 0); +// m_ay8912->port_a_read_callback().set(FUNC(leland_state::leland_sound_port_r)); +// m_ay8912->port_a_write_callback().set(FUNC(leland_state::leland_sound_port_w)); +// m_ay8912->add_route(ALL_OUTPUTS, "speaker", 0.25); MCFG_DEVICE_ADD(m_dac[0], DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.0625) // ls374.u79 + r17-r23 (24k,12k,6.2k,3k,1.5k,750,390,180) MCFG_DEVICE_ADD(m_dac[1], DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.0625) // ls374.u88 + r27-r34 (24k,12k,6.2k,3k,1.5k,750,390,180) diff --git a/src/mame/drivers/magicard.cpp b/src/mame/drivers/magicard.cpp index 55fb5edb424..5c32e4dd1d4 100644 --- a/src/mame/drivers/magicard.cpp +++ b/src/mame/drivers/magicard.cpp @@ -1024,8 +1024,7 @@ MACHINE_CONFIG_START(magicard_state::hotslots) MCFG_DEVICE_PROGRAM_MAP(hotslots_mem) MCFG_DEVICE_REMOVE("saa") - MCFG_DEVICE_ADD("ssg", YMZ284, 4000000) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + YMZ284(config, "ssg", 4000000).add_route(ALL_OUTPUTS, "mono", 1.0); MACHINE_CONFIG_END /************************* diff --git a/src/mame/drivers/mc1000.cpp b/src/mame/drivers/mc1000.cpp index 54c5fa1ac20..c90308fdf4d 100644 --- a/src/mame/drivers/mc1000.cpp +++ b/src/mame/drivers/mc1000.cpp @@ -567,12 +567,12 @@ MACHINE_CONFIG_START(mc1000_state::mc1000) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD(AY8910_TAG, AY8910, 3579545/2) - MCFG_AY8910_OUTPUT_TYPE(AY8910_SINGLE_OUTPUT) - MCFG_AY8910_RES_LOADS(RES_K(2.2), 0, 0) - MCFG_AY8910_PORT_B_READ_CB(READ8(*this, mc1000_state, keydata_r)) - MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(*this, mc1000_state, keylatch_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) + ay8910_device &ay8910(AY8910(config, AY8910_TAG, 3579545/2)); + ay8910.set_flags(AY8910_SINGLE_OUTPUT); + ay8910.set_resistors_load(RES_K(2.2), 0, 0); + ay8910.port_b_read_callback().set(FUNC(mc1000_state::keydata_r)); + ay8910.port_a_write_callback().set(FUNC(mc1000_state::keylatch_w)); + ay8910.add_route(ALL_OUTPUTS, "mono", 0.25); /* devices */ MCFG_CASSETTE_ADD("cassette") diff --git a/src/mame/drivers/meijinsn.cpp b/src/mame/drivers/meijinsn.cpp index 0a2eafda0c9..37910ccabb1 100644 --- a/src/mame/drivers/meijinsn.cpp +++ b/src/mame/drivers/meijinsn.cpp @@ -389,10 +389,9 @@ MACHINE_CONFIG_START(meijinsn_state::meijinsn) MCFG_GENERIC_LATCH_8_ADD("soundlatch") - MCFG_DEVICE_ADD("aysnd", AY8910, 2000000) - MCFG_AY8910_PORT_A_READ_CB(READ8("soundlatch", generic_latch_8_device, read)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75) - + ay8910_device &aysnd(AY8910(config, "aysnd", 2000000)); + aysnd.port_a_read_callback().set(m_soundlatch, FUNC(generic_latch_8_device::read)); + aysnd.add_route(ALL_OUTPUTS, "mono", 0.75); MACHINE_CONFIG_END diff --git a/src/mame/drivers/mpu12wbk.cpp b/src/mame/drivers/mpu12wbk.cpp index 563e0662d3e..4ddf0d3da0c 100644 --- a/src/mame/drivers/mpu12wbk.cpp +++ b/src/mame/drivers/mpu12wbk.cpp @@ -519,8 +519,7 @@ MACHINE_CONFIG_START(mpu12wbk_state::mpu12wbk) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ay8910", AY8910, MASTER_CLOCK/8) /* guess */ - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) + AY8910(config, "ay8910", MASTER_CLOCK/8).add_route(ALL_OUTPUTS, "mono", 1.00); /* clock guessed */ MACHINE_CONFIG_END diff --git a/src/mame/drivers/mpu4dealem.cpp b/src/mame/drivers/mpu4dealem.cpp index 6979f0859b9..3aa12a4916c 100644 --- a/src/mame/drivers/mpu4dealem.cpp +++ b/src/mame/drivers/mpu4dealem.cpp @@ -210,10 +210,10 @@ MACHINE_CONFIG_START(mpu4dealem_state::dealem) mpu4_common(config); SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ay8913",AY8913, MPU4_MASTER_CLOCK/4) - MCFG_AY8910_OUTPUT_TYPE(AY8910_SINGLE_OUTPUT) - MCFG_AY8910_RES_LOADS(820, 0, 0) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + AY8913(config, m_ay8913, MPU4_MASTER_CLOCK/4); + m_ay8913->set_flags(AY8910_SINGLE_OUTPUT); + m_ay8913->set_resistors_load(820, 0, 0); + m_ay8913->add_route(ALL_OUTPUTS, "mono", 1.0); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); diff --git a/src/mame/drivers/msx.cpp b/src/mame/drivers/msx.cpp index 8c3c8c45899..5d1b63fbd0c 100644 --- a/src/mame/drivers/msx.cpp +++ b/src/mame/drivers/msx.cpp @@ -1362,13 +1362,13 @@ MACHINE_CONFIG_START(msx_state::msx) MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "speaker", 0.25); - MCFG_DEVICE_ADD("ay8910", AY8910, 10.738635_MHz_XTAL / 3 / 2) - MCFG_AY8910_OUTPUT_TYPE(AY8910_SINGLE_OUTPUT) - MCFG_AY8910_PORT_A_READ_CB(READ8(*this, msx_state, msx_psg_port_a_r)) - MCFG_AY8910_PORT_B_READ_CB(READ8(*this, msx_state, msx_psg_port_b_r)) - MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(*this, msx_state, msx_psg_port_a_w)) - MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(*this, msx_state, msx_psg_port_b_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.3) + AY8910(config, m_ay8910, 10.738635_MHz_XTAL / 3 / 2); + m_ay8910->set_flags(AY8910_SINGLE_OUTPUT); + m_ay8910->port_a_read_callback().set(FUNC(msx_state::msx_psg_port_a_r)); + m_ay8910->port_b_read_callback().set(FUNC(msx_state::msx_psg_port_b_r)); + m_ay8910->port_a_write_callback().set(FUNC(msx_state::msx_psg_port_a_w)); + m_ay8910->port_b_write_callback().set(FUNC(msx_state::msx_psg_port_b_w)); + m_ay8910->add_route(ALL_OUTPUTS, "speaker", 0.3); /* printer */ MCFG_DEVICE_ADD("centronics", CENTRONICS, centronics_devices, "printer") @@ -1430,13 +1430,13 @@ MACHINE_CONFIG_START(msx2_state::msx2) MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "speaker", 0.25); - MCFG_DEVICE_ADD("ay8910", AY8910, 21.477272_MHz_XTAL / 6 / 2) - MCFG_AY8910_OUTPUT_TYPE(AY8910_SINGLE_OUTPUT) - MCFG_AY8910_PORT_A_READ_CB(READ8(*this, msx2_state, msx_psg_port_a_r)) - MCFG_AY8910_PORT_B_READ_CB(READ8(*this, msx2_state, msx_psg_port_b_r)) - MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(*this, msx2_state, msx_psg_port_a_w)) - MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(*this, msx2_state, msx_psg_port_b_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.3) + AY8910(config, m_ay8910, 21.477272_MHz_XTAL / 6 / 2); + m_ay8910->set_flags(AY8910_SINGLE_OUTPUT); + m_ay8910->port_a_read_callback().set(FUNC(msx2_state::msx_psg_port_a_r)); + m_ay8910->port_b_read_callback().set(FUNC(msx2_state::msx_psg_port_b_r)); + m_ay8910->port_a_write_callback().set(FUNC(msx2_state::msx_psg_port_a_w)); + m_ay8910->port_b_write_callback().set(FUNC(msx2_state::msx_psg_port_b_w)); + m_ay8910->add_route(ALL_OUTPUTS, "speaker", 0.3); /* printer */ MCFG_DEVICE_ADD("centronics", CENTRONICS, centronics_devices, "printer") @@ -1489,13 +1489,13 @@ MACHINE_CONFIG_START(msx2_state::msx2p) MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "speaker", 0.25); - MCFG_DEVICE_ADD("ay8910", AY8910, 21.477272_MHz_XTAL / 6 / 2) - MCFG_AY8910_OUTPUT_TYPE(AY8910_SINGLE_OUTPUT) - MCFG_AY8910_PORT_A_READ_CB(READ8(*this, msx2_state, msx_psg_port_a_r)) - MCFG_AY8910_PORT_B_READ_CB(READ8(*this, msx2_state, msx_psg_port_b_r)) - MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(*this, msx2_state, msx_psg_port_a_w)) - MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(*this, msx2_state, msx_psg_port_b_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.3) + AY8910(config, m_ay8910, 21.477272_MHz_XTAL / 6 / 2); + m_ay8910->set_flags(AY8910_SINGLE_OUTPUT); + m_ay8910->port_a_read_callback().set(FUNC(msx2_state::msx_psg_port_a_r)); + m_ay8910->port_b_read_callback().set(FUNC(msx2_state::msx_psg_port_b_r)); + m_ay8910->port_a_write_callback().set(FUNC(msx2_state::msx_psg_port_a_w)); + m_ay8910->port_b_write_callback().set(FUNC(msx2_state::msx_psg_port_b_w)); + m_ay8910->add_route(ALL_OUTPUTS, "speaker", 0.3); /* printer */ MCFG_DEVICE_ADD("centronics", CENTRONICS, centronics_devices, "printer") diff --git a/src/mame/drivers/pengadvb.cpp b/src/mame/drivers/pengadvb.cpp index b68e6c0dfcb..3b6b8ce6fb5 100644 --- a/src/mame/drivers/pengadvb.cpp +++ b/src/mame/drivers/pengadvb.cpp @@ -215,12 +215,11 @@ WRITE8_MEMBER(pengadvb_state::pengadvb_ppi_port_c_w) ***************************************************************************/ -MACHINE_CONFIG_START(pengadvb_state::pengadvb) - - /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, XTAL(10'738'635)/3) - MCFG_DEVICE_PROGRAM_MAP(program_mem) - MCFG_DEVICE_IO_MAP(io_mem) +void pengadvb_state::pengadvb(machine_config &config) +{ /* basic machine hardware */ + Z80(config, m_maincpu, XTAL(10'738'635)/3); + m_maincpu->set_addrmap(AS_PROGRAM, &pengadvb_state::program_mem); + m_maincpu->set_addrmap(AS_IO, &pengadvb_state::io_mem); ADDRESS_MAP_BANK(config, "page0").set_map(&pengadvb_state::bank_mem).set_options(ENDIANNESS_LITTLE, 8, 18, 0x10000); ADDRESS_MAP_BANK(config, "page1").set_map(&pengadvb_state::bank_mem).set_options(ENDIANNESS_LITTLE, 8, 18, 0x10000); @@ -242,11 +241,11 @@ MACHINE_CONFIG_START(pengadvb_state::pengadvb) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("aysnd", AY8910, XTAL(10'738'635)/6) - MCFG_AY8910_PORT_A_READ_CB(IOPORT("IN0")) - MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(*this, pengadvb_state, pengadvb_psg_port_b_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) -MACHINE_CONFIG_END + ay8910_device &aysnd(AY8910(config, "aysnd", XTAL(10'738'635)/6)); + aysnd.port_a_read_callback().set_ioport("IN0"); + aysnd.port_b_write_callback().set(FUNC(pengadvb_state::pengadvb_psg_port_b_w)); + aysnd.add_route(ALL_OUTPUTS, "mono", 0.50); +} /*************************************************************************** diff --git a/src/mame/drivers/rmhaihai.cpp b/src/mame/drivers/rmhaihai.cpp index f7e5716c93e..6f6cf05a12c 100644 --- a/src/mame/drivers/rmhaihai.cpp +++ b/src/mame/drivers/rmhaihai.cpp @@ -530,10 +530,10 @@ MACHINE_CONFIG_START(rmhaihai_state::rmhaihai) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("aysnd", AY8910, 20000000/16) - MCFG_AY8910_PORT_A_READ_CB(IOPORT("DSW2")) - MCFG_AY8910_PORT_B_READ_CB(IOPORT("DSW1")) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) + ay8910_device &aysnd(AY8910(config, "aysnd", 20000000/16)); + aysnd.port_a_read_callback().set_ioport("DSW2"); + aysnd.port_b_read_callback().set_ioport("DSW1"); + aysnd.add_route(ALL_OUTPUTS, "mono", 0.30); MCFG_DEVICE_ADD("msm", MSM5205, 500000) MCFG_MSM5205_PRESCALER_SELECTOR(SEX_4B) diff --git a/src/mame/drivers/stellafr.cpp b/src/mame/drivers/stellafr.cpp index 62a30cfdded..aaf0cc53787 100644 --- a/src/mame/drivers/stellafr.cpp +++ b/src/mame/drivers/stellafr.cpp @@ -100,10 +100,10 @@ MACHINE_CONFIG_START(stellafr_state::stellafr) MCFG_MC68681_OUTPORT_CALLBACK(WRITE8(*this, stellafr_state, duart_output_w)) SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("aysnd", AY8910, 1000000) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) - MCFG_AY8910_PORT_A_READ_CB(IOPORT("INPUTS")) - MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(*this, stellafr_state, ay8910_portb_w)) + ay8910_device &aysnd(AY8910(config, "aysnd", 1000000)); + aysnd.add_route(ALL_OUTPUTS, "mono", 1.0); + aysnd.port_a_read_callback().set_ioport("INPUTS"); + aysnd.port_b_write_callback().set(FUNC(stellafr_state::ay8910_portb_w)); MACHINE_CONFIG_END diff --git a/src/mame/drivers/sv8000.cpp b/src/mame/drivers/sv8000.cpp index 79d72e1671c..5937dac7408 100644 --- a/src/mame/drivers/sv8000.cpp +++ b/src/mame/drivers/sv8000.cpp @@ -398,12 +398,12 @@ MACHINE_CONFIG_START(sv8000_state::sv8000) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ay8910", AY8910, XTAL(10'738'635)/3/2) /* Exact model and clock not verified */ - MCFG_AY8910_PORT_A_READ_CB(READ8(*this, sv8000_state, ay_port_a_r)) - MCFG_AY8910_PORT_B_READ_CB(READ8(*this, sv8000_state, ay_port_b_r)) - MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(*this, sv8000_state, ay_port_a_w)) - MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(*this, sv8000_state, ay_port_b_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) + ay8910_device &ay8910(AY8910(config, "ay8910", XTAL(10'738'635)/3/2)); /* Exact model and clock not verified */ + ay8910.port_a_read_callback().set(FUNC(sv8000_state::ay_port_a_r)); + ay8910.port_b_read_callback().set(FUNC(sv8000_state::ay_port_b_r)); + ay8910.port_a_write_callback().set(FUNC(sv8000_state::ay_port_a_w)); + ay8910.port_b_write_callback().set(FUNC(sv8000_state::ay_port_b_w)); + ay8910.add_route(ALL_OUTPUTS, "mono", 0.50); /* cartridge */ MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "sv8000_cart") diff --git a/src/mame/includes/btime.h b/src/mame/includes/btime.h index b281c27f0e8..8eb56279862 100644 --- a/src/mame/includes/btime.h +++ b/src/mame/includes/btime.h @@ -132,24 +132,24 @@ public: uint8_t sprite_y_adjust, uint8_t sprite_y_adjust_flip_screen, uint8_t *sprite_ram, offs_t interleave ); - void lnc(machine_config &config); - void disco(machine_config &config); - void mmonkey(machine_config &config); - void bnj(machine_config &config); - void cookrace(machine_config &config); - void wtennis(machine_config &config); - void sdtennis(machine_config &config); - void tisland(machine_config &config); - void zoar(machine_config &config); - void btime(machine_config &config); - void audio_map(address_map &map); - void bnj_map(address_map &map); - void btime_map(address_map &map); - void cookrace_map(address_map &map); - void disco_audio_map(address_map &map); - void disco_map(address_map &map); - void lnc_map(address_map &map); - void mmonkey_map(address_map &map); - void tisland_map(address_map &map); - void zoar_map(address_map &map); + void lnc(machine_config &config); + void disco(machine_config &config); + void mmonkey(machine_config &config); + void bnj(machine_config &config); + void cookrace(machine_config &config); + void wtennis(machine_config &config); + void sdtennis(machine_config &config); + void tisland(machine_config &config); + void zoar(machine_config &config); + void btime(machine_config &config); + void audio_map(address_map &map); + void bnj_map(address_map &map); + void btime_map(address_map &map); + void cookrace_map(address_map &map); + void disco_audio_map(address_map &map); + void disco_map(address_map &map); + void lnc_map(address_map &map); + void mmonkey_map(address_map &map); + void tisland_map(address_map &map); + void zoar_map(address_map &map); }; diff --git a/src/mame/machine/mpu4.cpp b/src/mame/machine/mpu4.cpp index ffce2ac58ea..125a28367d4 100644 --- a/src/mame/machine/mpu4.cpp +++ b/src/mame/machine/mpu4.cpp @@ -3085,25 +3085,27 @@ MACHINE_CONFIG_START(mpu4_state::mpu4base) MACHINE_CONFIG_END -MACHINE_CONFIG_START(mpu4_state::mod2) +void mpu4_state::mod2(machine_config &config) +{ mpu4base(config); - MCFG_DEVICE_ADD("ay8913", AY8913, MPU4_MASTER_CLOCK/4) - MCFG_AY8910_OUTPUT_TYPE(AY8910_SINGLE_OUTPUT) - MCFG_AY8910_RES_LOADS(820, 0, 0) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) + AY8913(config, m_ay8913, MPU4_MASTER_CLOCK/4); + m_ay8913->set_flags(AY8910_SINGLE_OUTPUT); + m_ay8913->set_resistors_load(820, 0, 0); + m_ay8913->add_route(ALL_OUTPUTS, "lspeaker", 1.0); + m_ay8913->add_route(ALL_OUTPUTS, "rspeaker", 1.0); mpu4_std_6reel(config); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(mpu4_state::mod2_alt) +void mpu4_state::mod2_alt(machine_config &config) +{ mpu4base(config); - MCFG_DEVICE_ADD("ay8913", AY8913, MPU4_MASTER_CLOCK/4) - MCFG_AY8910_OUTPUT_TYPE(AY8910_SINGLE_OUTPUT) - MCFG_AY8910_RES_LOADS(820, 0, 0) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) + AY8913(config, m_ay8913, MPU4_MASTER_CLOCK/4); + m_ay8913->set_flags(AY8910_SINGLE_OUTPUT); + m_ay8913->set_resistors_load(820, 0, 0); + m_ay8913->add_route(ALL_OUTPUTS, "lspeaker", 1.0); + m_ay8913->add_route(ALL_OUTPUTS, "rspeaker", 1.0); mpu4_type2_6reel(config); -MACHINE_CONFIG_END +}