From fabd214f57445791de064591bd2cede79fe9e6fe Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Thu, 22 Nov 2018 18:17:56 +0100 Subject: mame/audio: various devcb3ification and demacroification (nw) --- src/devices/machine/68340.h | 45 ----------------- src/mame/audio/atarijsa.h | 26 ---------- src/mame/audio/cage.h | 6 --- src/mame/audio/cmi01a.h | 4 +- src/mame/audio/decobsmt.h | 2 - src/mame/audio/efo_zsu.h | 3 -- src/mame/audio/exidy.h | 17 ++----- src/mame/audio/gottlieb.h | 9 ---- src/mame/audio/lynx.h | 7 +-- src/mame/audio/namco52.h | 25 ++-------- src/mame/audio/namco54.h | 12 +---- src/mame/audio/nichisnd.h | 9 ---- src/mame/audio/rad_eu3a05.h | 4 +- src/mame/audio/s11c_bg.cpp | 7 +-- src/mame/audio/s11c_bg.h | 21 +++----- src/mame/audio/segasnd.cpp | 3 +- src/mame/audio/segasnd.h | 14 +----- src/mame/audio/seibu.h | 23 ++------- src/mame/audio/svis_snd.h | 9 +--- src/mame/audio/taito_zm.h | 5 -- src/mame/audio/taitosnd.h | 18 +------ src/mame/audio/tvc.h | 4 +- src/mame/audio/vicdual-97271p.h | 3 -- src/mame/audio/wpcsnd.h | 11 +--- src/mame/drivers/airraid.cpp | 12 ++--- src/mame/drivers/astrafr.cpp | 29 +++++------ src/mame/drivers/asuka.cpp | 30 +++++------ src/mame/drivers/atarig1.cpp | 7 +-- src/mame/drivers/atarig42.cpp | 7 +-- src/mame/drivers/atarigt.cpp | 34 ++++++------- src/mame/drivers/atarigx2.cpp | 9 ++-- src/mame/drivers/batman.cpp | 7 +-- src/mame/drivers/beathead.cpp | 6 +-- src/mame/drivers/berzerk.cpp | 3 +- src/mame/drivers/bfm_swp.cpp | 4 +- src/mame/drivers/bingowav.cpp | 6 +-- src/mame/drivers/bloodbro.cpp | 14 +++--- src/mame/drivers/blstroid.cpp | 13 ++--- src/mame/drivers/cabal.cpp | 20 ++++---- src/mame/drivers/cedar_magnet.cpp | 2 +- src/mame/drivers/cmi.cpp | 48 +++++++++--------- src/mame/drivers/cpzodiac.cpp | 26 +++++----- src/mame/drivers/csplayh5.cpp | 22 ++++---- src/mame/drivers/cupidon.cpp | 4 +- src/mame/drivers/cyberbal.cpp | 7 +-- src/mame/drivers/cybstorm.cpp | 14 +++--- src/mame/drivers/darius.cpp | 6 +-- src/mame/drivers/dcon.cpp | 22 ++++---- src/mame/drivers/de_3.cpp | 2 +- src/mame/drivers/de_3b.cpp | 2 +- src/mame/drivers/deadang.cpp | 27 ++++------ src/mame/drivers/deco32.cpp | 2 +- src/mame/drivers/drgnmst.cpp | 39 ++++++++++++++- src/mame/drivers/dynduke.cpp | 15 +++--- src/mame/drivers/eprom.cpp | 23 +++++---- src/mame/drivers/esqasr.cpp | 4 +- src/mame/drivers/esqmr.cpp | 4 +- src/mame/drivers/exidy.cpp | 20 ++++---- src/mame/drivers/exzisus.cpp | 6 +-- src/mame/drivers/galaga.cpp | 31 ++++++------ src/mame/drivers/gokidetor.cpp | 6 +-- src/mame/drivers/goodejan.cpp | 11 ++-- src/mame/drivers/gottlieb.cpp | 34 ++++++------- src/mame/drivers/gts80.cpp | 35 ++++++------- src/mame/drivers/gts80a.cpp | 29 +++++------ src/mame/drivers/gts80b.cpp | 69 ++++++++++++++------------ src/mame/drivers/harddriv.cpp | 36 +++++++------- src/mame/drivers/legionna.cpp | 66 +++++++++++++----------- src/mame/drivers/lynx.cpp | 23 +++++---- src/mame/drivers/metalmx.cpp | 6 +-- src/mame/drivers/mlanding.cpp | 4 +- src/mame/drivers/mpu5.cpp | 9 ++-- src/mame/drivers/mustache.cpp | 3 +- src/mame/drivers/ninjaw.cpp | 16 +++--- src/mame/drivers/niyanpai.cpp | 2 +- src/mame/drivers/nmk16.cpp | 22 ++++---- src/mame/drivers/offtwall.cpp | 9 ++-- src/mame/drivers/opwolf.cpp | 12 ++--- src/mame/drivers/othunder.cpp | 6 +-- src/mame/drivers/play_3.cpp | 2 +- src/mame/drivers/pluto5.cpp | 10 ++-- src/mame/drivers/polepos.cpp | 16 +++--- src/mame/drivers/r2dx_v33.cpp | 11 ++-- src/mame/drivers/rad_eu3a05.cpp | 6 +-- src/mame/drivers/rad_eu3a14.cpp | 6 +-- src/mame/drivers/raiden.cpp | 15 +++--- src/mame/drivers/raiden2.cpp | 22 ++++---- src/mame/drivers/rastan.cpp | 6 +-- src/mame/drivers/rbisland.cpp | 6 +-- src/mame/drivers/s11c.cpp | 18 +++---- src/mame/drivers/seattle.cpp | 100 ++++++++++++++++++++++--------------- src/mame/drivers/segag80r.cpp | 2 +- src/mame/drivers/segag80v.cpp | 17 +++---- src/mame/drivers/sengokmj.cpp | 11 ++-- src/mame/drivers/shanghai.cpp | 16 +++--- src/mame/drivers/skullxbo.cpp | 7 +-- src/mame/drivers/slapshot.cpp | 12 ++--- src/mame/drivers/svision.cpp | 8 +-- src/mame/drivers/taito_b.cpp | 102 +++++++++++++++++++------------------- src/mame/drivers/taito_f2.cpp | 18 +++---- src/mame/drivers/taito_h.cpp | 18 +++---- src/mame/drivers/taito_l.cpp | 12 ++--- src/mame/drivers/taito_x.cpp | 24 ++++----- src/mame/drivers/taito_z.cpp | 48 +++++++++--------- src/mame/drivers/taitoair.cpp | 6 +-- src/mame/drivers/thunderj.cpp | 7 +-- src/mame/drivers/toki.cpp | 16 +++--- src/mame/drivers/toobin.cpp | 11 ++-- src/mame/drivers/topspeed.cpp | 6 +-- src/mame/drivers/tvc.cpp | 6 +-- src/mame/drivers/vicdual.cpp | 2 +- src/mame/drivers/victory.cpp | 2 +- src/mame/drivers/vindictr.cpp | 11 ++-- src/mame/drivers/volfied.cpp | 6 +-- src/mame/drivers/warriorb.cpp | 12 ++--- src/mame/drivers/wgp.cpp | 6 +-- src/mame/drivers/whitestar.cpp | 2 +- src/mame/drivers/wpc_an.cpp | 24 +++++---- src/mame/drivers/wpc_dot.cpp | 8 +-- src/mame/drivers/wpc_flip1.cpp | 8 +-- src/mame/drivers/wpc_flip2.cpp | 8 +-- src/mame/drivers/xybots.cpp | 13 ++--- src/mame/drivers/zaxxon.cpp | 4 +- src/mame/drivers/zn.cpp | 6 +-- src/mame/includes/s11c.h | 4 +- 125 files changed, 881 insertions(+), 1012 deletions(-) diff --git a/src/devices/machine/68340.h b/src/devices/machine/68340.h index 38b6c309cb1..e721b76a189 100644 --- a/src/devices/machine/68340.h +++ b/src/devices/machine/68340.h @@ -13,41 +13,6 @@ #include "68340ser.h" #include "68340tmu.h" -//************************************************************************** -// INTERFACE CONFIGURATION MACROS -//************************************************************************** -#define MCFG_MC68340_PA_INPUT_CB(_devcb) \ - downcast(*device).set_pa_in_callback(DEVCB_##_devcb); - -#define MCFG_MC68340_PA_OUTPUT_CB(_devcb) \ - downcast(*device).set_pa_out_callback(DEVCB_##_devcb); - -#define MCFG_MC68340_PB_INPUT_CB(_devcb) \ - downcast(*device).set_pb_in_callback(DEVCB_##_devcb); - -#define MCFG_MC68340_PB_OUTPUT_CB(_devcb) \ - downcast(*device).set_pb_out_callback(DEVCB_##_devcb); - -#define MCFG_MC68340_ADD_CRYSTAL(_crystal) \ - downcast(*device).set_crystal(_crystal); - -#define MCFG_MC68340_TOUT1_OUTPUT_CB(_devcb) \ - downcast(*device).set_tout1_out_callback(DEVCB_##_devcb); - -#define MCFG_MC68340_TIN1_INPUT_CB(_devcb) \ - downcast(*device).set_tin1_out_callback(DEVCB_##_devcb); - -#define MCFG_MC68340_TGATE1_INPUT_CB(_devcb) \ - downcast(*device).set_tgate1_out_callback(DEVCB_##_devcb); - -#define MCFG_MC68340_TOUT2_OUTPUT_CB(_devcb) \ - downcast(*device).set_tout2_out_callback(DEVCB_##_devcb); - -#define MCFG_MC68340_TIN2_INPUT_CB(_devcb) \ - downcast(*device).set_tin2_out_callback(DEVCB_##_devcb); - -#define MCFG_MC68340_TGATE2_INPUT_CB(_devcb) \ - downcast(*device).set_tgate2_out_callback(DEVCB_##_devcb); class m68340_cpu_device : public fscpu32_device { @@ -57,21 +22,11 @@ class m68340_cpu_device : public fscpu32_device public: m68340_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - template devcb_base &set_pa_in_callback(Object &&cb){ return m_pa_in_cb.set_callback (std::forward(cb)); } - template devcb_base &set_pa_out_callback(Object &&cb){ return m_pa_out_cb.set_callback (std::forward(cb)); } - template devcb_base &set_pb_in_callback(Object &&cb){ return m_pb_in_cb.set_callback (std::forward(cb)); } - template devcb_base &set_pb_out_callback(Object &&cb){ return m_pb_out_cb.set_callback (std::forward(cb)); } auto pa_in_callback() { return m_pa_in_cb.bind(); } auto pa_out_callback() { return m_pa_out_cb.bind(); } auto pb_in_callback() { return m_pb_in_cb.bind(); } auto pb_out_callback() { return m_pb_out_cb.bind(); } - template devcb_base &set_tout1_out_callback(Object &&cb){ return m_timer1->m_tout_out_cb.set_callback (std::forward(cb)); } - template devcb_base &set_tin1_in_callback(Object &&cb) { return m_timer1->m_tin_in_cb.set_callback (std::forward(cb)); } - template devcb_base &set_tgate1_in_callback(Object &&cb){ return m_timer1->m_tgate_in_cb.set_callback (std::forward(cb)); } - template devcb_base &set_tout2_out_callback(Object &&cb){ return m_timer2->m_tout_out_cb.set_callback (std::forward(cb)); } - template devcb_base &set_tin2_in_callback(Object &&cb) { return m_timer2->m_tin_in_cb.set_callback (std::forward(cb)); } - template devcb_base &set_tgate2_in_callback(Object &&cb){ return m_timer2->m_tgate_in_cb.set_callback (std::forward(cb)); } auto tout1_out_callback() { return m_timer1->m_tout_out_cb.bind(); } auto tin1_in_callback() { return m_timer1->m_tin_in_cb.bind(); } auto tgate1_in_callback() { return m_timer1->m_tgate_in_cb.bind(); } diff --git a/src/mame/audio/atarijsa.h b/src/mame/audio/atarijsa.h index 30e543311f3..35ef08d9088 100644 --- a/src/mame/audio/atarijsa.h +++ b/src/mame/audio/atarijsa.h @@ -31,31 +31,6 @@ DECLARE_DEVICE_TYPE(ATARI_JSA_III, atari_jsa_iii_device) DECLARE_DEVICE_TYPE(ATARI_JSA_IIIS, atari_jsa_iiis_device) - -//************************************************************************** -// DEVICE CONFIGURATION MACROS -//************************************************************************** - -#define MCFG_ATARI_JSA_I_ADD(_tag, _intcb) \ - MCFG_DEVICE_ADD(_tag, ATARI_JSA_I, 0) \ - downcast(*device).set_main_int_cb(DEVCB_##_intcb); - -#define MCFG_ATARI_JSA_II_ADD(_tag, _intcb) \ - MCFG_DEVICE_ADD(_tag, ATARI_JSA_II, 0) \ - downcast(*device).set_main_int_cb(DEVCB_##_intcb); - -#define MCFG_ATARI_JSA_III_ADD(_tag, _intcb) \ - MCFG_DEVICE_ADD(_tag, ATARI_JSA_III, 0) \ - downcast(*device).set_main_int_cb(DEVCB_##_intcb); - -#define MCFG_ATARI_JSA_IIIS_ADD(_tag, _intcb) \ - MCFG_DEVICE_ADD(_tag, ATARI_JSA_IIIS, 0) \ - downcast(*device).set_main_int_cb(DEVCB_##_intcb); - -#define MCFG_ATARI_JSA_TEST_PORT(_port, _bitnum) \ - downcast(*device).test_read_cb().set_ioport(_port).bit(_bitnum); - - //************************************************************************** // I/O PORT BIT HELPERS //************************************************************************** @@ -83,7 +58,6 @@ protected: public: // configuration - template devcb_base &set_main_int_cb(Object &&cb) { return m_main_int_cb.set_callback(std::forward(cb)); } auto test_read_cb() { return m_test_read_cb.bind(); } auto main_int_cb() { return m_main_int_cb.bind(); } diff --git a/src/mame/audio/cage.h b/src/mame/audio/cage.h index 9beaeac1516..e8230aae377 100644 --- a/src/mame/audio/cage.h +++ b/src/mame/audio/cage.h @@ -16,11 +16,6 @@ #include "machine/timer.h" #include "sound/dmadac.h" -#define MCFG_ATARI_CAGE_IRQ_CALLBACK(_write) \ - downcast(*device).set_irqhandler_callback(DEVCB_##_write); - -#define MCFG_ATARI_CAGE_SPEEDUP(_speedup) \ - downcast(*device).set_speedup(_speedup); class atari_cage_device : public device_t { @@ -35,7 +30,6 @@ public: atari_cage_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); void set_speedup(offs_t speedup) { m_speedup = speedup; } - template devcb_base &set_irqhandler_callback(Object &&cb) { return m_irqhandler.set_callback(std::forward(cb)); } auto irq_handler() { return m_irqhandler.bind(); } void reset_w(int state); diff --git a/src/mame/audio/cmi01a.h b/src/mame/audio/cmi01a.h index 8c8272507ea..97685b7f624 100644 --- a/src/mame/audio/cmi01a.h +++ b/src/mame/audio/cmi01a.h @@ -15,14 +15,12 @@ #define ENV_DIR_DOWN 0 #define ENV_DIR_UP 1 -#define MCFG_CMI01A_IRQ_CALLBACK(_devcb) \ - downcast(*device).set_irq_callback(DEVCB_##_devcb); class cmi01a_device : public device_t, public device_sound_interface { public: cmi01a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - template devcb_base &set_irq_callback(Object &&cb) { return m_irq_cb.set_callback(std::forward(cb)); } + auto irq_callback() { return m_irq_cb.bind(); } DECLARE_WRITE8_MEMBER( write ); DECLARE_READ8_MEMBER( read ); diff --git a/src/mame/audio/decobsmt.h b/src/mame/audio/decobsmt.h index 69f3a95f012..8ecac957a3e 100644 --- a/src/mame/audio/decobsmt.h +++ b/src/mame/audio/decobsmt.h @@ -10,8 +10,6 @@ #define DECOBSMT_TAG "decobsmt" -#define MCFG_DECOBSMT_ADD(_tag) \ - MCFG_DEVICE_ADD(_tag, DECOBSMT, 0) //************************************************************************** // TYPE DEFINITIONS diff --git a/src/mame/audio/efo_zsu.h b/src/mame/audio/efo_zsu.h index 1bfa2111487..8c1fc283400 100644 --- a/src/mame/audio/efo_zsu.h +++ b/src/mame/audio/efo_zsu.h @@ -19,9 +19,6 @@ DECLARE_DEVICE_TYPE(EFO_ZSU, efo_zsu_device) DECLARE_DEVICE_TYPE(EFO_ZSU1, efo_zsu1_device) DECLARE_DEVICE_TYPE(CEDAR_MAGNET_SOUND, cedar_magnet_sound_device) -#define MCFG_CEDAR_MAGNET_SOUND_ADD(_tag) \ - MCFG_DEVICE_ADD(_tag, CEDAR_MAGNET_SOUND, 0) - class efo_zsu_device : public device_t { diff --git a/src/mame/audio/exidy.h b/src/mame/audio/exidy.h index b40d4fd489e..64d9e6602e1 100644 --- a/src/mame/audio/exidy.h +++ b/src/mame/audio/exidy.h @@ -126,25 +126,16 @@ protected: required_device m_pia; }; -#define MCFG_EXIDY_VENTURE_WRITEPA_HANDLER(_devcb) \ - downcast(*device).set_pa_callback(DEVCB_##_devcb); -#define MCFG_EXIDY_VENTURE_WRITEPB_HANDLER(_devcb) \ - downcast(*device).set_pb_callback(DEVCB_##_devcb); -#define MCFG_EXIDY_VENTURE_CA2_HANDLER(_devcb) \ - downcast(*device).set_ca2_callback(DEVCB_##_devcb); -#define MCFG_EXIDY_VENTURE_CB2_HANDLER(_devcb) \ - downcast(*device).set_cb2_callback(DEVCB_##_devcb); - class venture_sound_device : public exidy_sh8253_sound_device { public: venture_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); // configuration access - template devcb_base &set_pa_callback(Object &&object) { return m_pa_callback.set_callback(std::forward(object)); } - template devcb_base &set_pb_callback(Object &&object) { return m_pb_callback.set_callback(std::forward(object)); } - template devcb_base &set_ca2_callback(Object &&object) { return m_ca2_callback.set_callback(std::forward(object)); } - template devcb_base &set_cb2_callback(Object &&object) { return m_cb2_callback.set_callback(std::forward(object)); } + auto pa_callback() { return m_pa_callback.bind(); } + auto pb_callback() { return m_pb_callback.bind(); } + auto ca2_callback() { return m_ca2_callback.bind(); } + auto cb2_callback() { return m_cb2_callback.bind(); } // external access DECLARE_WRITE8_MEMBER(pa_w); diff --git a/src/mame/audio/gottlieb.h b/src/mame/audio/gottlieb.h index a671fef2960..76e72e09de2 100644 --- a/src/mame/audio/gottlieb.h +++ b/src/mame/audio/gottlieb.h @@ -24,15 +24,6 @@ DECLARE_DEVICE_TYPE(GOTTLIEB_SOUND_REV1_VOTRAX, gottlieb_sound_r1_with_votrax_de DECLARE_DEVICE_TYPE(GOTTLIEB_SOUND_REV2, gottlieb_sound_r2_device) - -//************************************************************************** -// DEVICE CONFIGURATION MACROS -//************************************************************************** - -#define MCFG_GOTTLIEB_ENABLE_COBRAM3_MODS() \ - downcast(*device).enable_cobram3_mods(); - - //************************************************************************** // TYPE DEFINITIONS //************************************************************************** diff --git a/src/mame/audio/lynx.h b/src/mame/audio/lynx.h index 0476a39f176..670f3ff2a76 100644 --- a/src/mame/audio/lynx.h +++ b/src/mame/audio/lynx.h @@ -16,7 +16,7 @@ public: DECLARE_READ8_MEMBER(read); DECLARE_WRITE8_MEMBER(write); void count_down(int nr); - template void set_timer_delegate(Object &&cb) { m_timer_delegate = std::forward(cb); } + template void set_timer_delegate(T &&... args) { m_timer_delegate = timer_delegate(std::forward(args)...); } protected: struct LYNX_AUDIO { @@ -82,9 +82,4 @@ protected: DECLARE_DEVICE_TYPE(LYNX_SND, lynx_sound_device) DECLARE_DEVICE_TYPE(LYNX2_SND, lynx2_sound_device) - -#define MCFG_LYNX_SND_SET_TIMER( _class, _method) \ - downcast(*device).set_timer_delegate(lynx_sound_device::timer_delegate(&_class::_method, #_class "::" #_method, nullptr, (_class *)nullptr)); - - #endif // MAME_AUDIO_LYNX_H diff --git a/src/mame/audio/namco52.h b/src/mame/audio/namco52.h index 0412ed14dcb..2fcfaf54f27 100644 --- a/src/mame/audio/namco52.h +++ b/src/mame/audio/namco52.h @@ -6,35 +6,16 @@ #include "sound/discrete.h" #include "cpu/mb88xx/mb88xx.h" -#define MCFG_NAMCO_52XX_ADD(_tag, _clock) \ - MCFG_DEVICE_ADD(_tag, NAMCO_52XX, _clock) - -#define MCFG_NAMCO_52XX_DISCRETE(_tag) \ - downcast(*device).set_discrete(_tag); - -#define MCFG_NAMCO_52XX_BASENODE(_node) \ - downcast(*device).set_basenote(_node); - -#define MCFG_NAMCO_52XX_EXT_CLOCK(_clock) \ - downcast(*device).set_extclock(_clock); - -#define MCFG_NAMCO_52XX_ROMREAD_CB(_devcb) \ - downcast(*device).set_romread_callback(DEVCB_##_devcb); - -#define MCFG_NAMCO_52XX_SI_CB(_devcb) \ - downcast(*device).set_si_callback(DEVCB_##_devcb); - - class namco_52xx_device : public device_t { public: namco_52xx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - void set_discrete(const char *tag) { m_discrete.set_tag(tag); } + template void set_discrete(T &&tag) { m_discrete.set_tag(std::forward(tag)); } void set_basenote(int node) { m_basenode = node; } void set_extclock(attoseconds_t clk) { m_extclock = clk; } - template devcb_base &set_romread_callback(Object &&cb) { return m_romread.set_callback(std::forward(cb)); } - template devcb_base &set_si_callback(Object &&cb) { return m_si.set_callback(std::forward(cb)); } + auto romread_callback() { return m_romread.bind(); } + auto si_callback() { return m_si.bind(); } DECLARE_WRITE8_MEMBER(write); diff --git a/src/mame/audio/namco54.h b/src/mame/audio/namco54.h index 750950ea462..f897bb48271 100644 --- a/src/mame/audio/namco54.h +++ b/src/mame/audio/namco54.h @@ -7,22 +7,12 @@ #include "cpu/mb88xx/mb88xx.h" -#define MCFG_NAMCO_54XX_ADD(_tag, _clock) \ - MCFG_DEVICE_ADD(_tag, NAMCO_54XX, _clock) - -#define MCFG_NAMCO_54XX_DISCRETE(_tag) \ - downcast(*device).set_discrete(_tag); - -#define MCFG_NAMCO_54XX_BASENODE(_node) \ - downcast(*device).set_basenote(_node); - - class namco_54xx_device : public device_t { public: namco_54xx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - void set_discrete(const char *tag) { m_discrete.set_tag(tag); } + template void set_discrete(T &&tag) { m_discrete.set_tag(std::forward(tag)); } void set_basenote(int node) { m_basenode = node; } DECLARE_READ8_MEMBER( K_r ); diff --git a/src/mame/audio/nichisnd.h b/src/mame/audio/nichisnd.h index d653194e1a3..2ae1e6c49ef 100644 --- a/src/mame/audio/nichisnd.h +++ b/src/mame/audio/nichisnd.h @@ -19,15 +19,6 @@ #include "machine/gen_latch.h" - -//************************************************************************** -// INTERFACE CONFIGURATION MACROS -//************************************************************************** - -#define MCFG_NICHISND_ADD(tag) \ - MCFG_DEVICE_ADD((tag), NICHISND, (0)) - - //************************************************************************** // TYPE DEFINITIONS //************************************************************************** diff --git a/src/mame/audio/rad_eu3a05.h b/src/mame/audio/rad_eu3a05.h index 16325185758..12c7369ec50 100644 --- a/src/mame/audio/rad_eu3a05.h +++ b/src/mame/audio/rad_eu3a05.h @@ -4,8 +4,6 @@ #ifndef MAME_AUDIO_RAD_EU3A05_H #define MAME_AUDIO_RAD_EU3A05_H -#define MCFG_RADICA6502_SOUND_SPACE_READ_CB(_devcb) \ - downcast(*device).set_space_read_callback(DEVCB_##_devcb); //************************************************************************** // TYPE DEFINITIONS @@ -18,7 +16,7 @@ class radica6502_sound_device : public device_t, public device_sound_interface public: radica6502_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - template devcb_base &set_space_read_callback(Object &&cb) { return m_space_read_cb.set_callback(std::forward(cb)); } + auto space_read_callback() { return m_space_read_cb.bind(); } DECLARE_WRITE8_MEMBER(radicasi_sound_addr_w); DECLARE_READ8_MEMBER(radicasi_sound_addr_r); diff --git a/src/mame/audio/s11c_bg.cpp b/src/mame/audio/s11c_bg.cpp index 97053be6b50..7ababf96d48 100644 --- a/src/mame/audio/s11c_bg.cpp +++ b/src/mame/audio/s11c_bg.cpp @@ -23,6 +23,7 @@ s11c_bg_device::s11c_bg_device(const machine_config &mconfig, const char *tag, d , m_hc55516(*this, "hc55516_bg") , m_pia40(*this, "pia40") , m_cpubank(*this, "bgbank") + , m_rom(*this, finder_base::DUMMY_TAG) { } @@ -88,11 +89,7 @@ void s11c_bg_device::device_start() void s11c_bg_device::device_reset() { - uint8_t* ROM; - - m_rom = memregion(m_regiontag); - ROM = m_rom->base(); - m_cpubank->configure_entries(0, 8, &ROM[0x10000], 0x8000); + m_cpubank->configure_entries(0, 8, &m_rom[0x10000], 0x8000); m_cpubank->set_entry(0); // reset the CPU again, so that the CPU are starting with the right vectors (otherwise sound may die on reset) m_cpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); diff --git a/src/mame/audio/s11c_bg.h b/src/mame/audio/s11c_bg.h index bc6133bcd52..235520b5ab3 100644 --- a/src/mame/audio/s11c_bg.h +++ b/src/mame/audio/s11c_bg.h @@ -17,31 +17,19 @@ #include "sound/ym2151.h" -#define MCFG_S11C_BG_ROM_REGION(_region) \ - downcast(*device).set_romregion(_region); - - class s11c_bg_device : public device_t, public device_mixer_interface { public: // construction/destruction s11c_bg_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0); - required_device m_cpu; - required_device m_ym2151; - required_device m_hc55516; - required_device m_pia40; - required_memory_bank m_cpubank; - memory_region* m_rom; - - DECLARE_WRITE8_MEMBER(bg_speech_clock_w); DECLARE_WRITE8_MEMBER(bg_speech_digit_w); DECLARE_WRITE8_MEMBER(bgbank_w); void ctrl_w(uint8_t data); void data_w(uint8_t data); - void set_romregion(const char *tag) { m_regiontag = tag; } + template void set_romregion(T &&tag) { m_rom.set_tag(std::forward(tag)); } void s11c_bg_map(address_map &map); protected: @@ -51,7 +39,12 @@ protected: virtual void device_add_mconfig(machine_config &config) override; private: - const char* m_regiontag; + required_device m_cpu; + required_device m_ym2151; + required_device m_hc55516; + required_device m_pia40; + required_memory_bank m_cpubank; + required_region_ptr m_rom; DECLARE_WRITE_LINE_MEMBER(ym2151_irq_w); DECLARE_WRITE8_MEMBER(pia40_pb_w); diff --git a/src/mame/audio/segasnd.cpp b/src/mame/audio/segasnd.cpp index a4d62273cd9..cd8bd9fd149 100644 --- a/src/mame/audio/segasnd.cpp +++ b/src/mame/audio/segasnd.cpp @@ -245,8 +245,7 @@ MACHINE_CONFIG_START(segag80snd_common::sega_speech_board) MCFG_MCS48_PORT_T1_IN_CB(READLINE("segaspeech", speech_sound_device, t1_r)) /* sound hardware */ - MCFG_DEVICE_ADD("segaspeech", SEGASPEECH, 0) - MCFG_SEGASPEECH_INT_CALLBACK(WRITELINE(*this, segag80snd_common, segaspeech_int_w)) + SEGASPEECH(config, "segaspeech", 0).int_cb().set(FUNC(segag80snd_common::segaspeech_int_w)); MCFG_DEVICE_ADD("speech", SP0250, SPEECH_MASTER_CLOCK) MCFG_SP0250_DRQ_CALLBACK(WRITELINE("segaspeech", speech_sound_device, drq_w)) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) diff --git a/src/mame/audio/segasnd.h b/src/mame/audio/segasnd.h index 8e0f902a13e..23a6638e9ab 100644 --- a/src/mame/audio/segasnd.h +++ b/src/mame/audio/segasnd.h @@ -35,15 +35,12 @@ protected: #define SEGASND_SEGASPEECH_REGION "segaspeech:speech" -#define MCFG_SEGASPEECH_INT_CALLBACK(_devcb) \ - downcast(*device).set_int_cb(DEVCB_##_devcb); - class speech_sound_device : public device_t, public device_sound_interface { public: speech_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); - template devcb_base &set_int_cb(Object &&cb) { return m_int_cb.set_callback(std::forward(cb)); } + auto int_cb() { return m_int_cb.bind(); } DECLARE_WRITE8_MEMBER( data_w ); DECLARE_WRITE8_MEMBER( control_w ); @@ -214,13 +211,4 @@ protected: DECLARE_DEVICE_TYPE(SEGAUSBROM, usb_rom_sound_device) - -#define MCFG_SEGAUSB_ADD(_tag, _cputag) \ - MCFG_DEVICE_ADD(_tag, SEGAUSB, 0, _cputag) \ - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) - -#define MCFG_SEGAUSBROM_ADD(_tag, _cputag) \ - MCFG_DEVICE_ADD(_tag, SEGAUSBROM, 0, _cputag) \ - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) - #endif // MAME_AUDIO_SEGASND_H diff --git a/src/mame/audio/seibu.h b/src/mame/audio/seibu.h index d5d0a0a744b..e45ff65a1ea 100644 --- a/src/mame/audio/seibu.h +++ b/src/mame/audio/seibu.h @@ -45,11 +45,11 @@ public: ~seibu_sound_device() {} // configuration - void set_rom_tag(const char *tag) { m_sound_rom.set_tag(tag); } - void set_rombank_tag(const char *tag) { m_rom_bank.set_tag(tag); } - template devcb_base &set_int_callback(Object &&object) { return m_int_cb.set_callback(std::forward(object)); } - template devcb_base &set_ym_read_callback(Object &&object) { return m_ym_read_cb.set_callback(std::forward(object)); } - template devcb_base &set_ym_write_callback(Object &&object) { return m_ym_write_cb.set_callback(std::forward(object)); } + template void set_rom_tag(T &&tag) { m_sound_rom.set_tag(std::forward(tag)); } + template void set_rombank_tag(T &&tag) { m_rom_bank.set_tag(std::forward(tag)); } + auto int_callback() { return m_int_cb.bind(); } + auto ym_read_callback() { return m_ym_read_cb.bind(); } + auto ym_write_callback() { return m_ym_write_cb.bind(); } u8 main_r(offs_t offset); void main_w(offs_t offset, u8 data); @@ -181,19 +181,6 @@ DECLARE_DEVICE_TYPE(SEIBU_ADPCM, seibu_adpcm_device) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) \ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) -#define MCFG_SEIBU_SOUND_CPU(_audiocputag) \ - downcast(*device).set_int_callback(DEVCB_INPUTLINE(_audiocputag, 0)); \ - downcast(*device).set_rom_tag(_audiocputag); - -#define MCFG_SEIBU_SOUND_ROMBANK(_banktag) \ - downcast(*device).set_rombank_tag(_banktag); - -#define MCFG_SEIBU_SOUND_YM_READ_CB(_devcb) \ - downcast(*device).set_ym_read_callback(DEVCB_##_devcb); - -#define MCFG_SEIBU_SOUND_YM_WRITE_CB(_devcb) \ - downcast(*device).set_ym_write_callback(DEVCB_##_devcb); - /**************************************************************************/ #endif // MAME_AUDIO_SEIBU_H diff --git a/src/mame/audio/svis_snd.h b/src/mame/audio/svis_snd.h index 802d3019371..d33ee96d7af 100644 --- a/src/mame/audio/svis_snd.h +++ b/src/mame/audio/svis_snd.h @@ -12,13 +12,6 @@ #pragma once -//************************************************************************** -// TYPE DEFINITIONS -//************************************************************************** - -#define MCFG_SVISION_SOUND_IRQ_CALLBACK(_devcb) \ - downcast(*device).set_irq_cb(DEVCB_##_devcb); - // ======================> svision_sound_device class svision_sound_device : public device_t, public device_sound_interface @@ -35,7 +28,7 @@ public: svision_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); // configuration - template devcb_base &set_irq_cb(Object &&cb) { return m_irq_cb.set_callback(std::forward(cb)); } + auto irq_cb() { return m_irq_cb.bind(); } DECLARE_WRITE8_MEMBER( sounddma_w ); DECLARE_WRITE8_MEMBER( noise_w ); diff --git a/src/mame/audio/taito_zm.h b/src/mame/audio/taito_zm.h index 391aa24c899..e3baf97058a 100644 --- a/src/mame/audio/taito_zm.h +++ b/src/mame/audio/taito_zm.h @@ -57,10 +57,5 @@ private: DECLARE_DEVICE_TYPE(TAITO_ZOOM, taito_zoom_device) -#define MCFG_TAITO_ZOOM_ADD(_tag) \ - MCFG_DEVICE_ADD(_tag, TAITO_ZOOM, 0) - -#define MCFG_TAITO_ZOOM_USE_FLASH \ - downcast(device)->set_use_flash(); #endif // MAME_AUDIO_TAITO_ZM_H diff --git a/src/mame/audio/taitosnd.h b/src/mame/audio/taitosnd.h index a3dc1f2eaba..bbaa98f71a1 100644 --- a/src/mame/audio/taitosnd.h +++ b/src/mame/audio/taitosnd.h @@ -4,20 +4,6 @@ #define MAME_AUDIO_TAITOSND_H -//************************************************************************** -// INTERFACE CONFIGURATION MACROS -//************************************************************************** - -#define MCFG_TC0140SYT_MASTER_CPU(_tag) \ - downcast(*device).set_master_tag(_tag); - -#define MCFG_TC0140SYT_SLAVE_CPU(_tag) \ - downcast(*device).set_slave_tag(_tag); - -#define MCFG_PC060HA_MASTER_CPU(_tag) MCFG_TC0140SYT_MASTER_CPU(_tag) -#define MCFG_PC060HA_SLAVE_CPU(_tag) MCFG_TC0140SYT_SLAVE_CPU(_tag) - - //************************************************************************** // TYPE DEFINITIONS //************************************************************************** @@ -29,8 +15,8 @@ class tc0140syt_device : public device_t public: tc0140syt_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - void set_master_tag(const char *tag) { m_mastercpu.set_tag(tag); } - void set_slave_tag(const char *tag) { m_slavecpu.set_tag(tag); } + template void set_master_tag(T &&tag) { m_mastercpu.set_tag(std::forward(tag)); } + template void set_slave_tag(T &&tag) { m_slavecpu.set_tag(std::forward(tag)); } // MASTER (4-bit bus) control functions DECLARE_WRITE8_MEMBER( master_port_w ); diff --git a/src/mame/audio/tvc.h b/src/mame/audio/tvc.h index 4555598bca7..b8699ea0ecd 100644 --- a/src/mame/audio/tvc.h +++ b/src/mame/audio/tvc.h @@ -11,8 +11,6 @@ #pragma once -#define MCFG_TVC_SOUND_SNDINT_CALLBACK(_write) \ - downcast(*device).set_sndint_wr_callback(DEVCB_##_write); //************************************************************************** // TYPE DEFINITIONS @@ -26,7 +24,7 @@ public: // construction/destruction tvc_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - template devcb_base &set_sndint_wr_callback(Object &&cb) { return m_write_sndint.set_callback(std::forward(cb)); } + auto sndint_wr_callback() { return m_write_sndint.bind(); } DECLARE_WRITE8_MEMBER(write); void reset_divider(); diff --git a/src/mame/audio/vicdual-97271p.h b/src/mame/audio/vicdual-97271p.h index 7f849c26866..fb38409f2df 100644 --- a/src/mame/audio/vicdual-97271p.h +++ b/src/mame/audio/vicdual-97271p.h @@ -7,9 +7,6 @@ #include "sound/samples.h" -#define MCFG_S97271P_ADD(_tag ) \ - MCFG_DEVICE_ADD(_tag, S97271P, 0) - //************************************************************************** // TYPE DEFINITIONS //************************************************************************** diff --git a/src/mame/audio/wpcsnd.h b/src/mame/audio/wpcsnd.h index ff13e1dd78a..71862b44ea8 100644 --- a/src/mame/audio/wpcsnd.h +++ b/src/mame/audio/wpcsnd.h @@ -16,13 +16,6 @@ #include "sound/hc55516.h" -#define MCFG_WPC_ROM_REGION(_region) \ - downcast(*device).set_romregion(_region); - -#define MCFG_WPC_SOUND_REPLY_CALLBACK(_reply) \ - downcast(device)->set_reply_callback(DEVCB_##_reply); - - class wpcsnd_device : public device_t, public device_mixer_interface { public: @@ -48,10 +41,10 @@ public: uint8_t ctrl_r(); uint8_t data_r(); - void set_romregion(const char *tag) { m_rom.set_tag(tag); } + template void set_romregion(T &&tag) { m_rom.set_tag(std::forward(tag)); } // callbacks - template void set_reply_callback(Reply &&cb) { m_reply_cb.set_callback(std::forward(cb)); } + auto reply_callback() { return m_reply_cb.bind(); } void wpcsnd_map(address_map &map); protected: diff --git a/src/mame/drivers/airraid.cpp b/src/mame/drivers/airraid.cpp index 75e733920d8..fc48ccddd4a 100644 --- a/src/mame/drivers/airraid.cpp +++ b/src/mame/drivers/airraid.cpp @@ -416,13 +416,13 @@ MACHINE_CONFIG_START(airraid_state::airraid) 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") - MCFG_SEIBU_SOUND_YM_READ_CB(READ8("ymsnd", ym2151_device, read)) - MCFG_SEIBU_SOUND_YM_WRITE_CB(WRITE8("ymsnd", ym2151_device, write)) + SEIBU_SOUND(config, m_seibu_sound, 0); + m_seibu_sound->int_callback().set_inputline("audiocpu", 0); + m_seibu_sound->set_rom_tag("audiocpu"); + m_seibu_sound->ym_read_callback().set("ymsnd", FUNC(ym2151_device::read)); + m_seibu_sound->ym_write_callback().set("ymsnd", FUNC(ym2151_device::write)); - MCFG_DEVICE_ADD("sei80bu", SEI80BU, 0) - MCFG_DEVICE_ROM("audiocpu") + SEI80BU(config, "sei80bu", 0).set_device_rom_tag("audiocpu"); MACHINE_CONFIG_END diff --git a/src/mame/drivers/astrafr.cpp b/src/mame/drivers/astrafr.cpp index acd401df68c..dd80d010adb 100644 --- a/src/mame/drivers/astrafr.cpp +++ b/src/mame/drivers/astrafr.cpp @@ -312,11 +312,11 @@ MACHINE_START_MEMBER(astrafr_state,astra_2e) MACHINE_CONFIG_START(astrafr_state::astrafr_dual) - MCFG_DEVICE_ADD("maincpu", M68340, 16000000) - MCFG_DEVICE_PROGRAM_MAP(astrafr_master_map) + M68340(config, m_maincpu, 16000000); + m_maincpu->set_addrmap(AS_PROGRAM, &astrafr_state::astrafr_master_map); - MCFG_DEVICE_ADD("slavecpu", M68340, 16000000) - MCFG_DEVICE_PROGRAM_MAP(astrafr_slave_map) + M68340(config, m_slavecpu, 16000000); + m_slavecpu->set_addrmap(AS_PROGRAM, &astrafr_state::astrafr_slave_map); MCFG_MACHINE_START_OVERRIDE(astrafr_state, astra_common ) MACHINE_CONFIG_END @@ -331,13 +331,14 @@ MACHINE_CONFIG_START(astrafr_state::astrafr_dual_37) MCFG_MACHINE_START_OVERRIDE(astrafr_state, astra_37 ) MACHINE_CONFIG_END -MACHINE_CONFIG_START(astrafr_state::astrafr_dual_alt) - MCFG_DEVICE_ADD("maincpu", M68340, 16000000) - MCFG_DEVICE_PROGRAM_MAP(astrafr_master_alt_map) +void astrafr_state::astrafr_dual_alt(machine_config &config) +{ + M68340(config, m_maincpu, 16000000); + m_maincpu->set_addrmap(AS_PROGRAM, &astrafr_state::astrafr_master_alt_map); - MCFG_DEVICE_ADD("slavecpu", M68340, 16000000) - MCFG_DEVICE_PROGRAM_MAP(astrafr_slave_map) -MACHINE_CONFIG_END + M68340(config, m_slavecpu, 16000000); + m_slavecpu->set_addrmap(AS_PROGRAM, &astrafr_state::astrafr_slave_map); +} MACHINE_CONFIG_START(astrafr_state::astrafr_dual_alt_37) astrafr_dual_alt(config); @@ -347,8 +348,8 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(astrafr_state::astra_single) - MCFG_DEVICE_ADD("maincpu", M68340, 16000000) - MCFG_DEVICE_PROGRAM_MAP(astra_map) + M68340(config, m_maincpu, 16000000); + m_maincpu->set_addrmap(AS_PROGRAM, &astrafr_state::astra_map); MCFG_MACHINE_START_OVERRIDE(astrafr_state, astra_common ) MACHINE_CONFIG_END @@ -372,8 +373,8 @@ MACHINE_START_MEMBER(astrafr_state,astra_57) MACHINE_CONFIG_START(astrafr_state::astra_single_alt) - MCFG_DEVICE_ADD("maincpu", M68340, 16000000) - MCFG_DEVICE_PROGRAM_MAP(astra_map) + M68340(config, m_maincpu, 16000000); + m_maincpu->set_addrmap(AS_PROGRAM, &astrafr_state::astra_map); MCFG_MACHINE_START_OVERRIDE(astrafr_state, astra_common ) MACHINE_CONFIG_END diff --git a/src/mame/drivers/asuka.cpp b/src/mame/drivers/asuka.cpp index 2889e08f208..e677acc88a4 100644 --- a/src/mame/drivers/asuka.cpp +++ b/src/mame/drivers/asuka.cpp @@ -904,9 +904,9 @@ MACHINE_CONFIG_START(asuka_state::bonzeadv) MCFG_SOUND_ROUTE(1, "mono", 1.0) MCFG_SOUND_ROUTE(2, "mono", 1.0) - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("maincpu") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0)); + tc0140syt.set_master_tag(m_maincpu); + tc0140syt.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END MACHINE_CONFIG_START(asuka_state::asuka) @@ -974,9 +974,9 @@ MACHINE_CONFIG_START(asuka_state::asuka) LS157(config, m_adpcm_select, 0); m_adpcm_select->out_callback().set("msm", FUNC(msm5205_device::data_w)); - MCFG_DEVICE_ADD("ciu", PC060HA, 0) - MCFG_PC060HA_MASTER_CPU("maincpu") - MCFG_PC060HA_SLAVE_CPU("audiocpu") + pc060ha_device &ciu(PC060HA(config, "ciu", 0)); + ciu.set_master_tag(m_maincpu); + ciu.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END MACHINE_CONFIG_START(asuka_state::cadash) @@ -1041,9 +1041,9 @@ MACHINE_CONFIG_START(asuka_state::cadash) 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") - MCFG_PC060HA_SLAVE_CPU("audiocpu") + pc060ha_device &ciu(PC060HA(config, "ciu", 0)); + ciu.set_master_tag(m_maincpu); + ciu.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END MACHINE_CONFIG_START(asuka_state::mofflott) @@ -1111,9 +1111,9 @@ MACHINE_CONFIG_START(asuka_state::mofflott) LS157(config, m_adpcm_select, 0); m_adpcm_select->out_callback().set("msm", FUNC(msm5205_device::data_w)); - MCFG_DEVICE_ADD("ciu", PC060HA, 0) - MCFG_PC060HA_MASTER_CPU("maincpu") - MCFG_PC060HA_SLAVE_CPU("audiocpu") + pc060ha_device &ciu(PC060HA(config, "ciu", 0)); + ciu.set_master_tag(m_maincpu); + ciu.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END MACHINE_CONFIG_START(asuka_state::eto) @@ -1173,9 +1173,9 @@ MACHINE_CONFIG_START(asuka_state::eto) 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") - MCFG_PC060HA_SLAVE_CPU("audiocpu") + pc060ha_device &ciu(PC060HA(config, "ciu", 0)); + ciu.set_master_tag(m_maincpu); + ciu.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END diff --git a/src/mame/drivers/atarig1.cpp b/src/mame/drivers/atarig1.cpp index 7e01387b401..1954f8f11b0 100644 --- a/src/mame/drivers/atarig1.cpp +++ b/src/mame/drivers/atarig1.cpp @@ -430,9 +430,10 @@ MACHINE_CONFIG_START(atarig1_state::atarig1) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_ATARI_JSA_II_ADD("jsa", INPUTLINE("maincpu", M68K_IRQ_2)) - MCFG_ATARI_JSA_TEST_PORT("IN0", 14) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + ATARI_JSA_II(config, m_jsa, 0); + m_jsa->main_int_cb().set_inputline(m_maincpu, M68K_IRQ_2); + m_jsa->test_read_cb().set_ioport("IN0").bit(14); + m_jsa->add_route(ALL_OUTPUTS, "mono", 1.0); MACHINE_CONFIG_END diff --git a/src/mame/drivers/atarig42.cpp b/src/mame/drivers/atarig42.cpp index 766021b7f13..42b285144b3 100644 --- a/src/mame/drivers/atarig42.cpp +++ b/src/mame/drivers/atarig42.cpp @@ -545,9 +545,10 @@ MACHINE_CONFIG_START(atarig42_state::atarig42) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_ATARI_JSA_III_ADD("jsa", INPUTLINE("maincpu", M68K_IRQ_5)) - MCFG_ATARI_JSA_TEST_PORT("IN2", 6) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + ATARI_JSA_III(config, m_jsa, 0); + m_jsa->main_int_cb().set_inputline(m_maincpu, M68K_IRQ_5); + m_jsa->test_read_cb().set_ioport("IN2").bit(6); + m_jsa->add_route(ALL_OUTPUTS, "mono", 1.0); MACHINE_CONFIG_END MACHINE_CONFIG_START(atarig42_0x200_state::atarig42_0x200) diff --git a/src/mame/drivers/atarigt.cpp b/src/mame/drivers/atarigt.cpp index c5cba11ebf4..3fed7dafbdc 100644 --- a/src/mame/drivers/atarigt.cpp +++ b/src/mame/drivers/atarigt.cpp @@ -821,9 +821,14 @@ MACHINE_CONFIG_START(atarigt_state::atarigt) MCFG_ATARIRLE_ADD("rle", modesc) + /* sound hardware */ + ATARI_CAGE(config, m_cage, 0); + m_cage->irq_handler().set(FUNC(atarigt_state::cage_irq_callback)); + MACHINE_CONFIG_END -MACHINE_CONFIG_START(atarigt_state::tmek) +void atarigt_state::tmek(machine_config &config) +{ atarigt(config); ADC0809(config, m_adc, ATARI_CLOCK_14MHz/16); // should be 447 kHz according to schematics, but that fails the self-test @@ -832,29 +837,22 @@ MACHINE_CONFIG_START(atarigt_state::tmek) m_adc->in_callback<6>().set_ioport("AN2"); m_adc->in_callback<7>().set_ioport("AN3"); - /* sound hardware */ - MCFG_DEVICE_ADD("cage", ATARI_CAGE, 0) - MCFG_ATARI_CAGE_SPEEDUP(0x4fad) - MCFG_ATARI_CAGE_IRQ_CALLBACK(WRITE8(*this, atarigt_state,cage_irq_callback)) -MACHINE_CONFIG_END + m_cage->set_speedup(0x4fad); +} -MACHINE_CONFIG_START(atarigt_state::primrage) +void atarigt_state::primrage(machine_config &config) +{ atarigt(config); - /* sound hardware */ - MCFG_DEVICE_ADD("cage", ATARI_CAGE, 0) - MCFG_ATARI_CAGE_SPEEDUP(0x42f2) - MCFG_ATARI_CAGE_IRQ_CALLBACK(WRITE8(*this, atarigt_state,cage_irq_callback)) -MACHINE_CONFIG_END + m_cage->set_speedup(0x42f2); +} -MACHINE_CONFIG_START(atarigt_state::primrage20) +void atarigt_state::primrage20(machine_config &config) +{ atarigt(config); - /* sound hardware */ - MCFG_DEVICE_ADD("cage", ATARI_CAGE, 0) - MCFG_ATARI_CAGE_SPEEDUP(0x48a4) - MCFG_ATARI_CAGE_IRQ_CALLBACK(WRITE8(*this, atarigt_state,cage_irq_callback)) -MACHINE_CONFIG_END + m_cage->set_speedup(0x48a4); +} /************************************* * diff --git a/src/mame/drivers/atarigx2.cpp b/src/mame/drivers/atarigx2.cpp index 024ae7d833d..5045ab47363 100644 --- a/src/mame/drivers/atarigx2.cpp +++ b/src/mame/drivers/atarigx2.cpp @@ -1523,10 +1523,11 @@ MACHINE_CONFIG_START(atarigx2_state::atarigx2) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_ATARI_JSA_IIIS_ADD("jsa", INPUTLINE("maincpu", M68K_IRQ_5)) - MCFG_ATARI_JSA_TEST_PORT("SERVICE", 6) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) + ATARI_JSA_IIIS(config, m_jsa, 0); + m_jsa->main_int_cb().set_inputline(m_maincpu, M68K_IRQ_5); + m_jsa->test_read_cb().set_ioport("SERVICE").bit(6); + m_jsa->add_route(0, "lspeaker", 1.0); + m_jsa->add_route(1, "rspeaker", 1.0); MACHINE_CONFIG_END diff --git a/src/mame/drivers/batman.cpp b/src/mame/drivers/batman.cpp index 82cdc98ac19..dff51673e27 100644 --- a/src/mame/drivers/batman.cpp +++ b/src/mame/drivers/batman.cpp @@ -215,9 +215,10 @@ MACHINE_CONFIG_START(batman_state::batman) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_ATARI_JSA_III_ADD("jsa", INPUTLINE("maincpu", M68K_IRQ_6)) - MCFG_ATARI_JSA_TEST_PORT("260010", 6) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + ATARI_JSA_III(config, m_jsa, 0); + m_jsa->main_int_cb().set_inputline(m_maincpu, M68K_IRQ_6); + m_jsa->test_read_cb().set_ioport("260010").bit(6); + m_jsa->add_route(ALL_OUTPUTS, "mono", 1.0); MACHINE_CONFIG_END diff --git a/src/mame/drivers/beathead.cpp b/src/mame/drivers/beathead.cpp index ae8374eafbb..9075c4bc8a6 100644 --- a/src/mame/drivers/beathead.cpp +++ b/src/mame/drivers/beathead.cpp @@ -364,9 +364,9 @@ MACHINE_CONFIG_START(beathead_state::beathead) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_ATARI_JSA_III_ADD("jsa", NOOP) - MCFG_ATARI_JSA_TEST_PORT("IN2", 6) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + ATARI_JSA_III(config, m_jsa, 0); + m_jsa->test_read_cb().set_ioport("IN2").bit(6); + m_jsa->add_route(ALL_OUTPUTS, "mono", 1.0); MACHINE_CONFIG_END diff --git a/src/mame/drivers/berzerk.cpp b/src/mame/drivers/berzerk.cpp index ee9608b722e..c73bd9d2eca 100644 --- a/src/mame/drivers/berzerk.cpp +++ b/src/mame/drivers/berzerk.cpp @@ -1142,8 +1142,7 @@ MACHINE_CONFIG_START(berzerk_state::berzerk) MCFG_DEVICE_ADD("speech", S14001A, S14001_CLOCK/16/8) /* placeholder - the clock is software controllable */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) - MCFG_DEVICE_ADD("exidy", EXIDY, 0) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.33) + EXIDY(config, m_custom, 0).add_route(ALL_OUTPUTS, "mono", 0.33); MACHINE_CONFIG_END diff --git a/src/mame/drivers/bfm_swp.cpp b/src/mame/drivers/bfm_swp.cpp index e5eaf96eb4d..737fb1f05f7 100644 --- a/src/mame/drivers/bfm_swp.cpp +++ b/src/mame/drivers/bfm_swp.cpp @@ -204,8 +204,8 @@ void bfm_swp_state::machine_start() MACHINE_CONFIG_START(bfm_swp_state::bfm_swp) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", M68340, 16000000) - MCFG_DEVICE_PROGRAM_MAP(bfm_swp_map) + M68340(config, m_maincpu, 16000000); + m_maincpu->set_addrmap(AS_PROGRAM, &bfm_swp_state::bfm_swp_map); MCFG_SCREEN_ADD("screen", RASTER) diff --git a/src/mame/drivers/bingowav.cpp b/src/mame/drivers/bingowav.cpp index 49b22a99176..3b14bca7142 100644 --- a/src/mame/drivers/bingowav.cpp +++ b/src/mame/drivers/bingowav.cpp @@ -136,9 +136,9 @@ MACHINE_CONFIG_START(bingowav_state::bingowav) MCFG_SOUND_ROUTE(1, "mono", 1.0) MCFG_SOUND_ROUTE(2, "mono", 1.0) - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("maincpu") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0)); + tc0140syt.set_master_tag(m_maincpu); + tc0140syt.set_slave_tag("audiocpu"); MCFG_DEVICE_ADD("termcpu", M68000, 12000000) // actually TMP63803F-16 MCFG_DEVICE_PROGRAM_MAP(bingowav_drive_map) diff --git a/src/mame/drivers/bloodbro.cpp b/src/mame/drivers/bloodbro.cpp index deb7b67873f..e261593be26 100644 --- a/src/mame/drivers/bloodbro.cpp +++ b/src/mame/drivers/bloodbro.cpp @@ -560,11 +560,12 @@ MACHINE_CONFIG_START(bloodbro_state::bloodbro) MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(12'000'000)/12, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) - MCFG_DEVICE_ADD("seibu_sound", SEIBU_SOUND, 0) - MCFG_SEIBU_SOUND_CPU("audiocpu") - MCFG_SEIBU_SOUND_ROMBANK("seibu_bank1") - MCFG_SEIBU_SOUND_YM_READ_CB(READ8("ymsnd", ym3812_device, read)) - MCFG_SEIBU_SOUND_YM_WRITE_CB(WRITE8("ymsnd", ym3812_device, write)) + SEIBU_SOUND(config, m_seibu_sound, 0); + m_seibu_sound->int_callback().set_inputline(m_audiocpu, 0); + m_seibu_sound->set_rom_tag("audiocpu"); + m_seibu_sound->set_rombank_tag("seibu_bank1"); + m_seibu_sound->ym_read_callback().set(m_ymsnd, FUNC(ym3812_device::read)); + m_seibu_sound->ym_write_callback().set(m_ymsnd, FUNC(ym3812_device::write)); MACHINE_CONFIG_END MACHINE_CONFIG_START(bloodbro_state::weststry) @@ -599,8 +600,7 @@ MACHINE_CONFIG_START(bloodbro_state::weststry) MCFG_YM3812_IRQ_HANDLER(WRITELINE(*this, bloodbro_state, weststry_opl_irq_w)) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) - MCFG_DEVICE_MODIFY("seibu_sound") - MCFG_SEIBU_SOUND_YM_WRITE_CB(WRITE8(*this, bloodbro_state, weststry_opl_w)) + m_seibu_sound->ym_write_callback().set(FUNC(bloodbro_state::weststry_opl_w)); MACHINE_CONFIG_END MACHINE_CONFIG_START(bloodbro_state::skysmash) diff --git a/src/mame/drivers/blstroid.cpp b/src/mame/drivers/blstroid.cpp index b67ddbf7e53..cf8c6cc6633 100644 --- a/src/mame/drivers/blstroid.cpp +++ b/src/mame/drivers/blstroid.cpp @@ -209,12 +209,13 @@ MACHINE_CONFIG_START(blstroid_state::blstroid) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_ATARI_JSA_I_ADD("jsa", INPUTLINE("maincpu", M68K_IRQ_4)) - MCFG_ATARI_JSA_TEST_PORT("IN0", 7) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) - MCFG_DEVICE_REMOVE("jsa:pokey") - MCFG_DEVICE_REMOVE("jsa:tms") + ATARI_JSA_I(config, m_jsa, 0); + m_jsa->main_int_cb().set_inputline(m_maincpu, M68K_IRQ_4); + m_jsa->test_read_cb().set_ioport("IN0").bit(7); + m_jsa->add_route(0, "lspeaker", 1.0); + m_jsa->add_route(1, "rspeaker", 1.0); + config.device_remove("jsa:pokey"); + config.device_remove("jsa:tms"); MACHINE_CONFIG_END diff --git a/src/mame/drivers/cabal.cpp b/src/mame/drivers/cabal.cpp index 2aac2903299..def1ebdb952 100644 --- a/src/mame/drivers/cabal.cpp +++ b/src/mame/drivers/cabal.cpp @@ -513,8 +513,7 @@ MACHINE_CONFIG_START(cabal_state::cabal) MCFG_DEVICE_OPCODES_MAP(sound_decrypted_opcodes_map) MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("seibu_sound", seibu_sound_device, im0_vector_cb) - MCFG_DEVICE_ADD("sei80bu", SEI80BU, 0) - MCFG_DEVICE_ROM("audiocpu") + SEI80BU(config, "sei80bu", 0).set_device_rom_tag("audiocpu"); /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -530,10 +529,11 @@ MACHINE_CONFIG_START(cabal_state::cabal) MCFG_PALETTE_FORMAT(xxxxBBBBGGGGRRRR) /* sound hardware */ - MCFG_DEVICE_ADD("seibu_sound", SEIBU_SOUND, 0) - MCFG_SEIBU_SOUND_CPU("audiocpu") - MCFG_SEIBU_SOUND_YM_READ_CB(READ8("ymsnd", ym2151_device, read)) - MCFG_SEIBU_SOUND_YM_WRITE_CB(WRITE8("ymsnd", ym2151_device, write)) + SEIBU_SOUND(config, m_seibu_sound, 0); + m_seibu_sound->int_callback().set_inputline(m_audiocpu, 0); + m_seibu_sound->set_rom_tag("audiocpu"); + m_seibu_sound->ym_read_callback().set("ymsnd", FUNC(ym2151_device::read)); + m_seibu_sound->ym_write_callback().set("ymsnd", FUNC(ym2151_device::write)); SPEAKER(config, "mono").front_center(); @@ -541,11 +541,9 @@ MACHINE_CONFIG_START(cabal_state::cabal) 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) + SEIBU_ADPCM(config, m_adpcm1, 8000).add_route(ALL_OUTPUTS, "mono", 0.40); /* it should use the msm5205 */ - MCFG_DEVICE_ADD("adpcm2", SEIBU_ADPCM, 8000) /* it should use the msm5205 */ - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) + SEIBU_ADPCM(config, m_adpcm2, 8000).add_route(ALL_OUTPUTS, "mono", 0.40); /* it should use the msm5205 */ MACHINE_CONFIG_END MACHINE_CONFIG_START(cabal_state::cabalt) @@ -564,7 +562,7 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(cabal_state::cabalbl2) cabal(config); - MCFG_DEVICE_REMOVE("sei80bu") + config.device_remove("sei80bu"); MCFG_DEVICE_MODIFY("audiocpu") MCFG_DEVICE_PROGRAM_MAP(cabalbl2_sound_map) diff --git a/src/mame/drivers/cedar_magnet.cpp b/src/mame/drivers/cedar_magnet.cpp index 2187c04669c..0a603ee4565 100644 --- a/src/mame/drivers/cedar_magnet.cpp +++ b/src/mame/drivers/cedar_magnet.cpp @@ -804,7 +804,7 @@ MACHINE_CONFIG_START(cedar_magnet_state::cedar_magnet) MCFG_PALETTE_ADD("palette", 0x400) - MCFG_CEDAR_MAGNET_SOUND_ADD("cedtop") + CEDAR_MAGNET_SOUND(config, m_cedsound, 0); MCFG_CEDAR_MAGNET_PLANE_ADD("cedplane0") MCFG_CEDAR_MAGNET_PLANE_ADD("cedplane1") MCFG_CEDAR_MAGNET_SPRITE_ADD("cedsprite") diff --git a/src/mame/drivers/cmi.cpp b/src/mame/drivers/cmi.cpp index 40e5fc17011..6867b9ae80e 100644 --- a/src/mame/drivers/cmi.cpp +++ b/src/mame/drivers/cmi.cpp @@ -2300,30 +2300,30 @@ MACHINE_CONFIG_START(cmi_state::cmi2x) SPEAKER(config, "mono").front_center(); // Channel cards - MCFG_DEVICE_ADD("cmi01a_0", CMI01A_CHANNEL_CARD, 0) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) - MCFG_CMI01A_IRQ_CALLBACK(WRITELINE(*this, cmi_state, channel_irq<0>)) - MCFG_DEVICE_ADD("cmi01a_1", CMI01A_CHANNEL_CARD, 0) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) - MCFG_CMI01A_IRQ_CALLBACK(WRITELINE(*this, cmi_state, channel_irq<1>)) - MCFG_DEVICE_ADD("cmi01a_2", CMI01A_CHANNEL_CARD, 0) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) - MCFG_CMI01A_IRQ_CALLBACK(WRITELINE(*this, cmi_state, channel_irq<2>)) - MCFG_DEVICE_ADD("cmi01a_3", CMI01A_CHANNEL_CARD, 0) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) - MCFG_CMI01A_IRQ_CALLBACK(WRITELINE(*this, cmi_state, channel_irq<3>)) - MCFG_DEVICE_ADD("cmi01a_4", CMI01A_CHANNEL_CARD, 0) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) - MCFG_CMI01A_IRQ_CALLBACK(WRITELINE(*this, cmi_state, channel_irq<4>)) - MCFG_DEVICE_ADD("cmi01a_5", CMI01A_CHANNEL_CARD, 0) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) - MCFG_CMI01A_IRQ_CALLBACK(WRITELINE(*this, cmi_state, channel_irq<5>)) - MCFG_DEVICE_ADD("cmi01a_6", CMI01A_CHANNEL_CARD, 0) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) - MCFG_CMI01A_IRQ_CALLBACK(WRITELINE(*this, cmi_state, channel_irq<6>)) - MCFG_DEVICE_ADD("cmi01a_7", CMI01A_CHANNEL_CARD, 0) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) - MCFG_CMI01A_IRQ_CALLBACK(WRITELINE(*this, cmi_state, channel_irq<7>)) + cmi01a_device &cmi01a_0(CMI01A_CHANNEL_CARD(config, "cmi01a_0", 0)); + cmi01a_0.add_route(ALL_OUTPUTS, "mono", 0.25); + cmi01a_0.irq_callback().set(FUNC(cmi_state::channel_irq<0>)); + cmi01a_device &cmi01a_1(CMI01A_CHANNEL_CARD(config, "cmi01a_1", 0)); + cmi01a_1.add_route(ALL_OUTPUTS, "mono", 0.25); + cmi01a_1.irq_callback().set(FUNC(cmi_state::channel_irq<0>)); + cmi01a_device &cmi01a_2(CMI01A_CHANNEL_CARD(config, "cmi01a_2", 0)); + cmi01a_2.add_route(ALL_OUTPUTS, "mono", 0.25); + cmi01a_2.irq_callback().set(FUNC(cmi_state::channel_irq<0>)); + cmi01a_device &cmi01a_3(CMI01A_CHANNEL_CARD(config, "cmi01a_3", 0)); + cmi01a_3.add_route(ALL_OUTPUTS, "mono", 0.25); + cmi01a_3.irq_callback().set(FUNC(cmi_state::channel_irq<0>)); + cmi01a_device &cmi01a_4(CMI01A_CHANNEL_CARD(config, "cmi01a_4", 0)); + cmi01a_4.add_route(ALL_OUTPUTS, "mono", 0.25); + cmi01a_4.irq_callback().set(FUNC(cmi_state::channel_irq<0>)); + cmi01a_device &cmi01a_5(CMI01A_CHANNEL_CARD(config, "cmi01a_5", 0)); + cmi01a_5.add_route(ALL_OUTPUTS, "mono", 0.25); + cmi01a_5.irq_callback().set(FUNC(cmi_state::channel_irq<0>)); + cmi01a_device &cmi01a_6(CMI01A_CHANNEL_CARD(config, "cmi01a_6", 0)); + cmi01a_6.add_route(ALL_OUTPUTS, "mono", 0.25); + cmi01a_6.irq_callback().set(FUNC(cmi_state::channel_irq<0>)); + cmi01a_device &cmi01a_7(CMI01A_CHANNEL_CARD(config, "cmi01a_7", 0)); + cmi01a_7.add_route(ALL_OUTPUTS, "mono", 0.25); + cmi01a_7.irq_callback().set(FUNC(cmi_state::channel_irq<0>)); MACHINE_CONFIG_END ROM_START( cmi2x ) diff --git a/src/mame/drivers/cpzodiac.cpp b/src/mame/drivers/cpzodiac.cpp index 39011926d72..c3411be59f1 100644 --- a/src/mame/drivers/cpzodiac.cpp +++ b/src/mame/drivers/cpzodiac.cpp @@ -160,8 +160,8 @@ static const z80_daisy_config daisy_chain[] = { nullptr } }; -MACHINE_CONFIG_START(cpzodiac_state::cpzodiac) - +void cpzodiac_state::cpzodiac(machine_config &config) +{ /* basic machine hardware */ Z80(config, m_maincpu, 12_MHz_XTAL/2); m_maincpu->set_addrmap(AS_PROGRAM, &cpzodiac_state::main_map); @@ -190,17 +190,17 @@ MACHINE_CONFIG_START(cpzodiac_state::cpzodiac) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2610B, 16_MHz_XTAL/2) - MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.25) - MCFG_SOUND_ROUTE(0, "rspeaker", 0.25) - MCFG_SOUND_ROUTE(1, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(2, "rspeaker", 1.0) - - MCFG_DEVICE_ADD("syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("maincpu") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") -MACHINE_CONFIG_END + ym2610_device &ymsnd(YM2610B(config, "ymsnd", 16_MHz_XTAL/2)); + ymsnd.irq_handler().set_inputline(m_audiocpu, 0); + ymsnd.add_route(0, "lspeaker", 0.25); + ymsnd.add_route(0, "rspeaker", 0.25); + ymsnd.add_route(1, "lspeaker", 1.0); + ymsnd.add_route(2, "rspeaker", 1.0); + + tc0140syt_device &syt(TC0140SYT(config, "syt", 0)); + syt.set_master_tag(m_maincpu); + syt.set_slave_tag(m_audiocpu); +} /*************************************************************************** diff --git a/src/mame/drivers/csplayh5.cpp b/src/mame/drivers/csplayh5.cpp index 5cd9cff8a47..6ac1e75b7ec 100644 --- a/src/mame/drivers/csplayh5.cpp +++ b/src/mame/drivers/csplayh5.cpp @@ -358,23 +358,23 @@ WRITE16_MEMBER(csplayh5_state::tmp68301_parallel_port_w) } -MACHINE_CONFIG_START(csplayh5_state::csplayh5) - +void csplayh5_state::csplayh5(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD(m_maincpu,M68000,16000000) /* TMP68301-16 */ - MCFG_DEVICE_PROGRAM_MAP(csplayh5_map) - MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("tmp68301", tmp68301_device, irq_callback) + M68000(config, m_maincpu, 16000000); /* TMP68301-16 */ + m_maincpu->set_addrmap(AS_PROGRAM, &csplayh5_state::csplayh5_map); + m_maincpu->set_irq_acknowledge_callback("tmp68301", FUNC(tmp68301_device::irq_callback)); - MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", csplayh5_state, csplayh5_irq, "screen", 0, 1) + TIMER(config, "scantimer", 0).configure_scanline(timer_device::expired_delegate(FUNC(csplayh5_state::csplayh5_irq), this), "screen", 0, 1); TMP68301(config, m_tmp68301, 0); m_tmp68301->set_cputag(m_maincpu); m_tmp68301->out_parallel_callback().set(FUNC(csplayh5_state::tmp68301_parallel_port_w)); #if USE_H8 - MCFG_DEVICE_ADD("subcpu", H83002, DVD_CLOCK/2) /* unknown divider */ - MCFG_DEVICE_PROGRAM_MAP(csplayh5_sub_map) - MCFG_DEVICE_IO_MAP(csplayh5_sub_io_map) + h830002_device &subcpu(H83002(config, "subcpu", DVD_CLOCK/2)); /* unknown divider */ + subcpu.set_addrmap(AS_PROGRAM, &csplayh5_state::csplayh5_sub_map); + subcpu.set_addrmap(AS_IO, &csplayh5_state::csplayh5_sub_io_map); ide_controller_device &ide(IDE_CONTROLLER(config, "ide").options(ata_devices, "hdd", nullptr, true)); // dvd ide.irq_handler().set(FUNC(csplayh5_state::ide_irq)); @@ -390,8 +390,8 @@ MACHINE_CONFIG_START(csplayh5_state::csplayh5) SCREEN(config, "screen", SCREEN_TYPE_RASTER); /* sound hardware */ - MCFG_NICHISND_ADD("nichisnd") -MACHINE_CONFIG_END + NICHISND(config, m_nichisnd, 0); +} /*************************************************************************** diff --git a/src/mame/drivers/cupidon.cpp b/src/mame/drivers/cupidon.cpp index 192cf2cd772..96cdaf46259 100644 --- a/src/mame/drivers/cupidon.cpp +++ b/src/mame/drivers/cupidon.cpp @@ -104,8 +104,8 @@ INPUT_PORTS_END MACHINE_CONFIG_START(cupidon_state::cupidon) - MCFG_DEVICE_ADD("maincpu", M68340, 16000000) // The access to 3FF00 at the start would suggest this is a 68340 so probably 16 or 25 mhz? - MCFG_DEVICE_PROGRAM_MAP(cupidon_map) + M68340(config, m_maincpu, 16000000); // The access to 3FF00 at the start would suggest this is a 68340 so probably 16 or 25 mhz? + m_maincpu->set_addrmap(AS_PROGRAM, &cupidon_state::cupidon_map); MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_REFRESH_RATE(60) diff --git a/src/mame/drivers/cyberbal.cpp b/src/mame/drivers/cyberbal.cpp index 50668f0de90..17da5f86f78 100644 --- a/src/mame/drivers/cyberbal.cpp +++ b/src/mame/drivers/cyberbal.cpp @@ -524,9 +524,10 @@ MACHINE_CONFIG_START(cyberbal2p_state::cyberbal2p) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_ATARI_JSA_II_ADD("jsa", INPUTLINE("maincpu", M68K_IRQ_3)) - MCFG_ATARI_JSA_TEST_PORT("IN2", 15) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + ATARI_JSA_II(config, m_jsa, 0); + m_jsa->main_int_cb().set_inputline(m_maincpu, M68K_IRQ_3); + m_jsa->test_read_cb().set_ioport("IN2").bit(15); + m_jsa->add_route(ALL_OUTPUTS, "mono", 1.0); MACHINE_CONFIG_END diff --git a/src/mame/drivers/cybstorm.cpp b/src/mame/drivers/cybstorm.cpp index 4734db056e6..f1deca086a0 100644 --- a/src/mame/drivers/cybstorm.cpp +++ b/src/mame/drivers/cybstorm.cpp @@ -255,18 +255,20 @@ MACHINE_CONFIG_START(cybstorm_state::round2) MACHINE_CONFIG_END -MACHINE_CONFIG_START(cybstorm_state::cybstorm) +void cybstorm_state::cybstorm(machine_config &config) +{ round2(config); /* sound hardware */ SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_ATARI_JSA_IIIS_ADD("jsa", INPUTLINE("maincpu", M68K_IRQ_6)) - MCFG_ATARI_JSA_TEST_PORT("9F0010", 22) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) -MACHINE_CONFIG_END + ATARI_JSA_IIIS(config, m_jsa, 0); + m_jsa->main_int_cb().set_inputline(m_maincpu, M68K_IRQ_6); + m_jsa->test_read_cb().set_ioport("9F0010").bit(22); + m_jsa->add_route(0, "lspeaker", 1.0); + m_jsa->add_route(1, "rspeaker", 1.0); +} diff --git a/src/mame/drivers/darius.cpp b/src/mame/drivers/darius.cpp index 4b3e540fa6e..6ef500bdcee 100644 --- a/src/mame/drivers/darius.cpp +++ b/src/mame/drivers/darius.cpp @@ -819,9 +819,9 @@ MACHINE_CONFIG_START(darius_state::darius) FILTER_VOLUME(config, "msm5205.l").add_route(ALL_OUTPUTS, "lspeaker", 1.0); FILTER_VOLUME(config, "msm5205.r").add_route(ALL_OUTPUTS, "rspeaker", 1.0); - MCFG_DEVICE_ADD("ciu", PC060HA, 0) - MCFG_PC060HA_MASTER_CPU("maincpu") - MCFG_PC060HA_SLAVE_CPU("audiocpu") + pc060ha_device &ciu(PC060HA(config, "ciu", 0)); + ciu.set_master_tag(m_maincpu); + ciu.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END diff --git a/src/mame/drivers/dcon.cpp b/src/mame/drivers/dcon.cpp index b81d6f1a5d9..5423c71d718 100644 --- a/src/mame/drivers/dcon.cpp +++ b/src/mame/drivers/dcon.cpp @@ -313,11 +313,12 @@ MACHINE_CONFIG_START(dcon_state::dcon) MCFG_DEVICE_ADD("oki", OKIM6295, 1320000, okim6295_device::PIN7_LOW) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) - MCFG_DEVICE_ADD("seibu_sound", SEIBU_SOUND, 0) - MCFG_SEIBU_SOUND_CPU("audiocpu") - MCFG_SEIBU_SOUND_ROMBANK("seibu_bank1") - MCFG_SEIBU_SOUND_YM_READ_CB(READ8("ymsnd", ym3812_device, read)) - MCFG_SEIBU_SOUND_YM_WRITE_CB(WRITE8("ymsnd", ym3812_device, write)) + SEIBU_SOUND(config, m_seibu_sound, 0); + m_seibu_sound->int_callback().set_inputline("audiocpu", 0); + m_seibu_sound->set_rom_tag("audiocpu"); + m_seibu_sound->set_rombank_tag("seibu_bank1"); + m_seibu_sound->ym_read_callback().set("ymsnd", FUNC(ym3812_device::read)); + m_seibu_sound->ym_write_callback().set("ymsnd", FUNC(ym3812_device::write)); MACHINE_CONFIG_END MACHINE_CONFIG_START(dcon_state::sdgndmps) /* PCB number is PB91008 */ @@ -359,11 +360,12 @@ MACHINE_CONFIG_START(dcon_state::sdgndmps) /* PCB number is PB91008 */ 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) - MCFG_DEVICE_ADD("seibu_sound", SEIBU_SOUND, 0) - MCFG_SEIBU_SOUND_CPU("audiocpu") - MCFG_SEIBU_SOUND_ROMBANK("seibu_bank1") - MCFG_SEIBU_SOUND_YM_READ_CB(READ8("ymsnd", ym2151_device, read)) - MCFG_SEIBU_SOUND_YM_WRITE_CB(WRITE8("ymsnd", ym2151_device, write)) + SEIBU_SOUND(config, m_seibu_sound, 0); + m_seibu_sound->int_callback().set_inputline("audiocpu", 0); + m_seibu_sound->set_rom_tag("audiocpu"); + m_seibu_sound->set_rombank_tag("seibu_bank1"); + m_seibu_sound->ym_read_callback().set("ymsnd", FUNC(ym2151_device::read)); + m_seibu_sound->ym_write_callback().set("ymsnd", FUNC(ym2151_device::write)); MACHINE_CONFIG_END /***************************************************************************/ diff --git a/src/mame/drivers/de_3.cpp b/src/mame/drivers/de_3.cpp index d5e5e5e9fad..a7fca4be73b 100644 --- a/src/mame/drivers/de_3.cpp +++ b/src/mame/drivers/de_3.cpp @@ -404,7 +404,7 @@ MACHINE_CONFIG_START(de_3_state::de_3) genpin_audio(config); - MCFG_DECOBSMT_ADD(DECOBSMT_TAG) + DECOBSMT(config, m_decobsmt, 0); MACHINE_CONFIG_END diff --git a/src/mame/drivers/de_3b.cpp b/src/mame/drivers/de_3b.cpp index ad256e2fea6..b8d9c45f1d5 100644 --- a/src/mame/drivers/de_3b.cpp +++ b/src/mame/drivers/de_3b.cpp @@ -248,7 +248,7 @@ MACHINE_CONFIG_START(de_3b_state::de_3b) genpin_audio(config); /* sound hardware */ - MCFG_DECOBSMT_ADD(DECOBSMT_TAG) + DECOBSMT(config, m_decobsmt, 0); MCFG_DECODMD_TYPE3_ADD("decodmd",":cpu3") MACHINE_CONFIG_END diff --git a/src/mame/drivers/deadang.cpp b/src/mame/drivers/deadang.cpp index 80bbcfbb439..287f1a3fe30 100644 --- a/src/mame/drivers/deadang.cpp +++ b/src/mame/drivers/deadang.cpp @@ -360,8 +360,7 @@ MACHINE_CONFIG_START(deadang_state::deadang) MCFG_DEVICE_OPCODES_MAP(sound_decrypted_opcodes_map) MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("seibu_sound", seibu_sound_device, im0_vector_cb) - MCFG_DEVICE_ADD("sei80bu", SEI80BU, 0) - MCFG_DEVICE_ROM("audiocpu") + SEI80BU(config, "sei80bu", 0).set_device_rom_tag("audiocpu"); MCFG_QUANTUM_TIME(attotime::from_hz(60)) // the game stops working with higher interleave rates.. @@ -383,11 +382,12 @@ MACHINE_CONFIG_START(deadang_state::deadang) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("seibu_sound", SEIBU_SOUND, 0) - MCFG_SEIBU_SOUND_CPU("audiocpu") - MCFG_SEIBU_SOUND_ROMBANK("seibu_bank1") - MCFG_SEIBU_SOUND_YM_READ_CB(READ8("ym1", ym2203_device, read)) - MCFG_SEIBU_SOUND_YM_WRITE_CB(WRITE8("ym1", ym2203_device, write)) + SEIBU_SOUND(config, m_seibu_sound, 0); + m_seibu_sound->int_callback().set_inputline("audiocpu", 0); + m_seibu_sound->set_rom_tag("audiocpu"); + m_seibu_sound->set_rombank_tag("seibu_bank1"); + m_seibu_sound->ym_read_callback().set("ym1", FUNC(ym2203_device::read)); + m_seibu_sound->ym_write_callback().set("ym1", FUNC(ym2203_device::write)); MCFG_DEVICE_ADD("ym1", YM2203, XTAL(14'318'181)/4) MCFG_YM2203_IRQ_HANDLER(WRITELINE("seibu_sound", seibu_sound_device, fm_irqhandler)) @@ -396,11 +396,9 @@ MACHINE_CONFIG_START(deadang_state::deadang) MCFG_DEVICE_ADD("ym2", YM2203, XTAL(14'318'181)/4) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15) - MCFG_DEVICE_ADD("adpcm1", SEIBU_ADPCM, 8000) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) + SEIBU_ADPCM(config, m_adpcm1, 8000).add_route(ALL_OUTPUTS, "mono", 0.40); - MCFG_DEVICE_ADD("adpcm2", SEIBU_ADPCM, 8000) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) + SEIBU_ADPCM(config, m_adpcm2, 8000).add_route(ALL_OUTPUTS, "mono", 0.40); MACHINE_CONFIG_END MACHINE_CONFIG_START(popnrun_state::popnrun) @@ -428,11 +426,8 @@ MACHINE_CONFIG_START(popnrun_state::popnrun) MCFG_DEVICE_REMOVE("adpcm1") MCFG_DEVICE_REMOVE("adpcm2") - MCFG_DEVICE_MODIFY("seibu_sound") - MCFG_SEIBU_SOUND_CPU("audiocpu") - MCFG_SEIBU_SOUND_ROMBANK("seibu_bank1") - MCFG_SEIBU_SOUND_YM_READ_CB(READ8("ymsnd", ym2151_device, read)) - MCFG_SEIBU_SOUND_YM_WRITE_CB(WRITE8("ymsnd", ym2151_device, write)) + m_seibu_sound->ym_read_callback().set("ymsnd", FUNC(ym2151_device::read)); + m_seibu_sound->ym_write_callback().set("ymsnd", FUNC(ym2151_device::write)); ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(14'318'181)/4)); ymsnd.irq_handler().set(m_seibu_sound, FUNC(seibu_sound_device::fm_irqhandler)); diff --git a/src/mame/drivers/deco32.cpp b/src/mame/drivers/deco32.cpp index 6f3e0141ad2..9e1a0ef5721 100644 --- a/src/mame/drivers/deco32.cpp +++ b/src/mame/drivers/deco32.cpp @@ -2352,7 +2352,7 @@ MACHINE_CONFIG_START(nslasher_state::tattass) m_ioprot->set_interface_scramble_interleave(); /* sound hardware */ - MCFG_DECOBSMT_ADD(DECOBSMT_TAG) + DECOBSMT(config, m_decobsmt, 0); MACHINE_CONFIG_END MACHINE_CONFIG_START(nslasher_state::nslasher) diff --git a/src/mame/drivers/drgnmst.cpp b/src/mame/drivers/drgnmst.cpp index d8c835086ec..846e30e1e8e 100644 --- a/src/mame/drivers/drgnmst.cpp +++ b/src/mame/drivers/drgnmst.cpp @@ -449,6 +449,42 @@ ROM_START( drgnmst ) ROM_LOAD16_BYTE( "dm1008", 0x000000, 0x100000, CRC(b8572be3) SHA1(29aab76821e0a56033cf06b0a1890b11804da8d8) ) ROM_END +ROM_START( drgnmst2 ) // only the maincpu ROMs were provided for this set + ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 Code */ + ROM_LOAD16_BYTE( "even", 0x00000, 0x80000, CRC(63eae56a) SHA1(24939923be09dea523d74ecd72d7d1587469b6dc) ) + ROM_LOAD16_BYTE( "odd", 0x00001, 0x80000, CRC(35734a49) SHA1(8e9b40ca68c1dd3b2d6c262b833f71333fb43209) ) + + ROM_REGION( 0x400, "audiocpu", ROMREGION_ERASE00 ) /* PIC16C55 Code */ +// ROM_LOAD( "pic16c55", 0x0000, 0x400, CRC(531c9f8d) SHA1(8ec180b0566f2ce1e08f0347e5ad402c73b44049) ) + /* ROM will be copied here by the init code from the USER1 region */ + + ROM_REGION( 0x1000, "user1", 0 ) + ROM_LOAD( "pic16c55.hex", 0x000, 0x0b7b, CRC(f17011e7) SHA1(8f3bd94ffb528f661eed77d89e5b772442d2f5a6) ) + + ROM_REGION( 0x140000, "oki1", 0 ) /* OKI-0 Samples */ + ROM_LOAD( "dm1001", 0x00000, 0x100000, CRC(63566f7f) SHA1(0fe6cb67a5d99cd54e46e9889ea121097756b9ef) ) + + ROM_REGION( 0x200000, "oki2", 0 ) /* OKI-1 Samples */ + ROM_LOAD( "dm1002", 0x00000, 0x200000, CRC(0f1a874e) SHA1(8efc39f8ff7e6e7138b19959bd083b9df002acca) ) + + ROM_REGION( 0x800000, "gfx1", 0 ) /* Sprites (16x16x4) */ + ROM_LOAD16_BYTE( "dm1003", 0x000000, 0x080000, CRC(0ca10e81) SHA1(abebd8437764110278c8b7e583d846db27e205ec) ) + ROM_CONTINUE(0x400000, 0x080000) + ROM_CONTINUE(0x100000, 0x080000) + ROM_CONTINUE(0x500000, 0x080000) + ROM_LOAD16_BYTE( "dm1005", 0x000001, 0x080000, CRC(4c2b1db5) SHA1(35d799cd13540e2aca1d1164291fe4c9938ed0ce) ) + ROM_CONTINUE(0x400001, 0x080000) + ROM_CONTINUE(0x100001, 0x080000) + ROM_CONTINUE(0x500001, 0x080000) + ROM_LOAD16_BYTE( "dm1004", 0x200000, 0x040000, CRC(1a9ac249) SHA1(c15c7399dcb24dcab05887e3711e5b31bb7f31e8) ) + ROM_CONTINUE(0x600000, 0x040000) + ROM_LOAD16_BYTE( "dm1006", 0x200001, 0x040000, CRC(c46da6fc) SHA1(f2256f02c833bc1074681729bd2b95fa6f3350cf) ) + ROM_CONTINUE(0x600001, 0x040000) + + ROM_REGION( 0x200000, "gfx2", 0 ) /* BG Tiles (8x8x4, 16x16x4 and 32x32x4) */ + ROM_LOAD16_BYTE( "dm1007", 0x000001, 0x100000, CRC(d5ad81c4) SHA1(03df467b218682a02245a6e8f500ab83de382448) ) + ROM_LOAD16_BYTE( "dm1008", 0x000000, 0x100000, CRC(b8572be3) SHA1(29aab76821e0a56033cf06b0a1890b11804da8d8) ) +ROM_END uint8_t drgnmst_state::drgnmst_asciitohex( uint8_t data ) { @@ -531,4 +567,5 @@ void drgnmst_state::init_drgnmst() } -GAME( 1994, drgnmst, 0, drgnmst, drgnmst, drgnmst_state, init_drgnmst, ROT0, "Unico", "Dragon Master", MACHINE_SUPPORTS_SAVE ) +GAME( 1994, drgnmst, 0, drgnmst, drgnmst, drgnmst_state, init_drgnmst, ROT0, "Unico", "Dragon Master (set 1)", MACHINE_SUPPORTS_SAVE ) +GAME( 1994, drgnmst2, drgnmst, drgnmst, drgnmst, drgnmst_state, init_drgnmst, ROT0, "Unico", "Dragon Master (set 2)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/drivers/dynduke.cpp b/src/mame/drivers/dynduke.cpp index f6bb951a762..6550ebc3c1f 100644 --- a/src/mame/drivers/dynduke.cpp +++ b/src/mame/drivers/dynduke.cpp @@ -327,8 +327,8 @@ MACHINE_CONFIG_START(dynduke_state::dynduke) MCFG_DEVICE_OPCODES_MAP(sound_decrypted_opcodes_map) MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("seibu_sound", seibu_sound_device, im0_vector_cb) - MCFG_DEVICE_ADD("sei80bu", SEI80BU, 0) - MCFG_DEVICE_PROGRAM_MAP(sei80bu_encrypted_full_map) + sei80bu_device &sei80bu(SEI80BU(config, "sei80bu", 0)); + sei80bu.set_addrmap(AS_PROGRAM, &dynduke_state::sei80bu_encrypted_full_map); MCFG_QUANTUM_TIME(attotime::from_hz(3600)) @@ -360,11 +360,12 @@ MACHINE_CONFIG_START(dynduke_state::dynduke) MCFG_DEVICE_ADD("oki", OKIM6295, 1320000, okim6295_device::PIN7_LOW) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) - MCFG_DEVICE_ADD("seibu_sound", SEIBU_SOUND, 0) - MCFG_SEIBU_SOUND_CPU("audiocpu") - MCFG_SEIBU_SOUND_ROMBANK("seibu_bank1") - MCFG_SEIBU_SOUND_YM_READ_CB(READ8("ymsnd", ym3812_device, read)) - MCFG_SEIBU_SOUND_YM_WRITE_CB(WRITE8("ymsnd", ym3812_device, write)) + SEIBU_SOUND(config, m_seibu_sound, 0); + m_seibu_sound->int_callback().set_inputline("audiocpu", 0); + m_seibu_sound->set_rom_tag("audiocpu"); + m_seibu_sound->set_rombank_tag("seibu_bank1"); + m_seibu_sound->ym_read_callback().set("ymsnd", FUNC(ym3812_device::read)); + m_seibu_sound->ym_write_callback().set("ymsnd", FUNC(ym3812_device::write)); MACHINE_CONFIG_END MACHINE_CONFIG_START(dynduke_state::dbldyn) diff --git a/src/mame/drivers/eprom.cpp b/src/mame/drivers/eprom.cpp index f8d8ea48bc9..18354c320e9 100644 --- a/src/mame/drivers/eprom.cpp +++ b/src/mame/drivers/eprom.cpp @@ -424,10 +424,11 @@ MACHINE_CONFIG_START(eprom_state::eprom) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_ATARI_JSA_I_ADD("jsa", INPUTLINE("maincpu", M68K_IRQ_6)) - MCFG_ATARI_JSA_TEST_PORT("260010", 1) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) - MCFG_DEVICE_REMOVE("jsa:pokey") + ATARI_JSA_I(config, m_jsa, 0); + m_jsa->main_int_cb().set_inputline(m_maincpu, M68K_IRQ_6); + m_jsa->test_read_cb().set_ioport("260010").bit(1); + m_jsa->add_route(ALL_OUTPUTS, "mono", 1.0); + config.device_remove("jsa:pokey"); MACHINE_CONFIG_END @@ -466,9 +467,10 @@ MACHINE_CONFIG_START(eprom_state::klaxp) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_ATARI_JSA_II_ADD("jsa", INPUTLINE("maincpu", M68K_IRQ_6)) - MCFG_ATARI_JSA_TEST_PORT("260010", 1) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + ATARI_JSA_II(config, m_jsa, 0); + m_jsa->main_int_cb().set_inputline(m_maincpu, M68K_IRQ_6); + m_jsa->test_read_cb().set_ioport("260010").bit(1); + m_jsa->add_route(ALL_OUTPUTS, "mono", 1.0); MACHINE_CONFIG_END @@ -513,9 +515,10 @@ MACHINE_CONFIG_START(eprom_state::guts) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_ATARI_JSA_II_ADD("jsa", INPUTLINE("maincpu", M68K_IRQ_6)) - MCFG_ATARI_JSA_TEST_PORT("260010", 1) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + ATARI_JSA_II(config, m_jsa, 0); + m_jsa->main_int_cb().set_inputline(m_maincpu, M68K_IRQ_6); + m_jsa->test_read_cb().set_ioport("260010").bit(1); + m_jsa->add_route(ALL_OUTPUTS, "mono", 1.0); MACHINE_CONFIG_END diff --git a/src/mame/drivers/esqasr.cpp b/src/mame/drivers/esqasr.cpp index 787fec516a3..327b2267b1b 100644 --- a/src/mame/drivers/esqasr.cpp +++ b/src/mame/drivers/esqasr.cpp @@ -151,8 +151,8 @@ MACHINE_CONFIG_START(esqasr_state::asr) MACHINE_CONFIG_END MACHINE_CONFIG_START(esqasr_state::asrx) - MCFG_DEVICE_ADD("maincpu", M68340, XTAL(16'000'000)) // 68340 - MCFG_DEVICE_PROGRAM_MAP(asrx_map) + M68340(config, m_maincpu, XTAL(16'000'000)); + m_maincpu->set_addrmap(AS_PROGRAM, &esqasr_state::asrx_map); MCFG_DEVICE_ADD("esp", ES5510, XTAL(10'000'000)) // Actually ES5511 MCFG_DEVICE_DISABLE() diff --git a/src/mame/drivers/esqmr.cpp b/src/mame/drivers/esqmr.cpp index 5f1f387b7d8..8c4f556638b 100644 --- a/src/mame/drivers/esqmr.cpp +++ b/src/mame/drivers/esqmr.cpp @@ -254,8 +254,8 @@ READ16_MEMBER(esqmr_state::esq5506_read_adc) } MACHINE_CONFIG_START(esqmr_state::mr) - MCFG_DEVICE_ADD("maincpu", M68340, XTAL(16'000'000)) - MCFG_DEVICE_PROGRAM_MAP(mr_map) + M68340(config, m_maincpu, XTAL(16'000'000)); + m_maincpu->set_addrmap(AS_PROGRAM, &esqmr_state::mr_map); MCFG_ESQ2X40_SQ1_ADD("sq1vfd") diff --git a/src/mame/drivers/exidy.cpp b/src/mame/drivers/exidy.cpp index a9ac5f528a5..de262b538c4 100644 --- a/src/mame/drivers/exidy.cpp +++ b/src/mame/drivers/exidy.cpp @@ -918,11 +918,11 @@ MACHINE_CONFIG_START(exidy_state::venture) pia.ca2_handler().set("soundbd", FUNC(venture_sound_device::cb_w)); pia.cb2_handler().set("soundbd", FUNC(venture_sound_device::ca_w)); - MCFG_DEVICE_ADD("soundbd", EXIDY_VENTURE, 0) - MCFG_EXIDY_VENTURE_WRITEPA_HANDLER(WRITE8("pia", pia6821_device, portb_w)) - MCFG_EXIDY_VENTURE_WRITEPB_HANDLER(WRITE8("pia", pia6821_device, porta_w)) - MCFG_EXIDY_VENTURE_CA2_HANDLER(WRITELINE("pia", pia6821_device, cb1_w)) - MCFG_EXIDY_VENTURE_CB2_HANDLER(WRITELINE("pia", pia6821_device, ca1_w)) + venture_sound_device &soundbd(EXIDY_VENTURE(config, "soundbd", 0)); + soundbd.pa_callback().set("pia", FUNC(pia6821_device::portb_w)); + soundbd.pb_callback().set("pia", FUNC(pia6821_device::porta_w)); + soundbd.ca2_callback().set("pia", FUNC(pia6821_device::cb1_w)); + soundbd.cb2_callback().set("pia", FUNC(pia6821_device::ca1_w)); MACHINE_CONFIG_END @@ -954,11 +954,11 @@ MACHINE_CONFIG_START(exidy_state::mtrap) pia.ca2_handler().set("soundbd", FUNC(venture_sound_device::cb_w)); pia.cb2_handler().set("soundbd", FUNC(venture_sound_device::ca_w)); - MCFG_DEVICE_ADD("soundbd", EXIDY_MTRAP, 0) - MCFG_EXIDY_VENTURE_WRITEPA_HANDLER(WRITE8("pia", pia6821_device, portb_w)) - MCFG_EXIDY_VENTURE_WRITEPB_HANDLER(WRITE8("pia", pia6821_device, porta_w)) - MCFG_EXIDY_VENTURE_CA2_HANDLER(WRITELINE("pia", pia6821_device, cb1_w)) - MCFG_EXIDY_VENTURE_CB2_HANDLER(WRITELINE("pia", pia6821_device, ca1_w)) + mtrap_sound_device &soundbd(EXIDY_MTRAP(config, "soundbd", 0)); + soundbd.pa_callback().set("pia", FUNC(pia6821_device::portb_w)); + soundbd.pb_callback().set("pia", FUNC(pia6821_device::porta_w)); + soundbd.ca2_callback().set("pia", FUNC(pia6821_device::cb1_w)); + soundbd.cb2_callback().set("pia", FUNC(pia6821_device::ca1_w)); MACHINE_CONFIG_END diff --git a/src/mame/drivers/exzisus.cpp b/src/mame/drivers/exzisus.cpp index 236b4e258bb..814db23a991 100644 --- a/src/mame/drivers/exzisus.cpp +++ b/src/mame/drivers/exzisus.cpp @@ -269,9 +269,9 @@ MACHINE_CONFIG_START(exzisus_state::exzisus) 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") - MCFG_PC060HA_SLAVE_CPU("audiocpu") + pc060ha_device &ciu(PC060HA(config, "ciu", 0)); + ciu.set_master_tag("cpub"); + ciu.set_slave_tag("audiocpu"); MACHINE_CONFIG_END diff --git a/src/mame/drivers/galaga.cpp b/src/mame/drivers/galaga.cpp index fe83bbb85c6..c5deb9401eb 100644 --- a/src/mame/drivers/galaga.cpp +++ b/src/mame/drivers/galaga.cpp @@ -1616,17 +1616,16 @@ MACHINE_CONFIG_START(bosco_state::bosco) MCFG_NAMCO_51XX_OUTPUT_0_CB(WRITE8(*this, galaga_state,out_0)) MCFG_NAMCO_51XX_OUTPUT_1_CB(WRITE8(*this, galaga_state,out_1)) + namco_52xx_device &n52xx(NAMCO_52XX(config, "52xx", MASTER_CLOCK/6/2)); /* 1.536 MHz */ + n52xx.set_discrete("discrete"); + n52xx.set_basenote(NODE_04); + n52xx.set_extclock(ATTOSECONDS_IN_NSEC(PERIOD_OF_555_ASTABLE_NSEC(RES_K(33), RES_K(10), CAP_U(0.0047)))); + n52xx.romread_callback().set(FUNC(galaga_state::namco_52xx_rom_r)); + n52xx.si_callback().set(FUNC(galaga_state::namco_52xx_si_r)); - MCFG_NAMCO_52XX_ADD("52xx", MASTER_CLOCK/6/2) /* 1.536 MHz */ - MCFG_NAMCO_52XX_DISCRETE("discrete") - MCFG_NAMCO_52XX_BASENODE(NODE_04) - MCFG_NAMCO_52XX_EXT_CLOCK(ATTOSECONDS_IN_NSEC(PERIOD_OF_555_ASTABLE_NSEC(RES_K(33), RES_K(10), CAP_U(0.0047)))) - MCFG_NAMCO_52XX_ROMREAD_CB(READ8(*this, galaga_state,namco_52xx_rom_r)) - MCFG_NAMCO_52XX_SI_CB(READ8(*this, galaga_state,namco_52xx_si_r)) - - MCFG_NAMCO_54XX_ADD("54xx", MASTER_CLOCK/6/2) /* 1.536 MHz */ - MCFG_NAMCO_54XX_DISCRETE("discrete") - MCFG_NAMCO_54XX_BASENODE(NODE_01) + namco_54xx_device &n54xx(NAMCO_54XX(config, "54xx", MASTER_CLOCK/6/2)); /* 1.536 MHz */ + n54xx.set_discrete("discrete"); + n54xx.set_basenote(NODE_01); MCFG_NAMCO_06XX_ADD("06xx_0", MASTER_CLOCK/6/64) MCFG_NAMCO_06XX_MAINCPU("maincpu") @@ -1708,9 +1707,9 @@ MACHINE_CONFIG_START(galaga_state::galaga) MCFG_NAMCO_51XX_OUTPUT_0_CB(WRITE8(*this, galaga_state,out_0)) MCFG_NAMCO_51XX_OUTPUT_1_CB(WRITE8(*this, galaga_state,out_1)) - MCFG_NAMCO_54XX_ADD("54xx", MASTER_CLOCK/6/2) /* 1.536 MHz */ - MCFG_NAMCO_54XX_DISCRETE("discrete") - MCFG_NAMCO_54XX_BASENODE(NODE_01) + namco_54xx_device &n54xx(NAMCO_54XX(config, "54xx", MASTER_CLOCK/6/2)); /* 1.536 MHz */ + n54xx.set_discrete("discrete"); + n54xx.set_basenote(NODE_01); MCFG_NAMCO_06XX_ADD("06xx", MASTER_CLOCK/6/64) MCFG_NAMCO_06XX_MAINCPU("maincpu") @@ -1812,9 +1811,9 @@ MACHINE_CONFIG_START(xevious_state::xevious) MCFG_NAMCO_51XX_OUTPUT_0_CB(WRITE8(*this, galaga_state,out_0)) MCFG_NAMCO_51XX_OUTPUT_1_CB(WRITE8(*this, galaga_state,out_1)) - MCFG_NAMCO_54XX_ADD("54xx", MASTER_CLOCK/6/2) /* 1.536 MHz */ - MCFG_NAMCO_54XX_DISCRETE("discrete") - MCFG_NAMCO_54XX_BASENODE(NODE_01) + namco_54xx_device &n54xx(NAMCO_54XX(config, "54xx", MASTER_CLOCK/6/2)); /* 1.536 MHz */ + n54xx.set_discrete("discrete"); + n54xx.set_basenote(NODE_01); MCFG_NAMCO_06XX_ADD("06xx", MASTER_CLOCK/6/64) MCFG_NAMCO_06XX_MAINCPU("maincpu") diff --git a/src/mame/drivers/gokidetor.cpp b/src/mame/drivers/gokidetor.cpp index 756ec1e24cc..0a76a92b090 100644 --- a/src/mame/drivers/gokidetor.cpp +++ b/src/mame/drivers/gokidetor.cpp @@ -143,9 +143,9 @@ MACHINE_CONFIG_START(gokidetor_state::gokidetor) MCFG_DEVICE_ADD("soundcpu", Z80, 4000000) MCFG_DEVICE_PROGRAM_MAP(sound_map) - MCFG_DEVICE_ADD("ciu", PC060HA, 0) - MCFG_PC060HA_MASTER_CPU("maincpu") - MCFG_PC060HA_SLAVE_CPU("soundcpu") + pc060ha_device &ciu(PC060HA(config, "ciu", 0)); + ciu.set_master_tag(m_maincpu); + ciu.set_slave_tag("soundcpu"); SPEAKER(config, "mono").front_center(); diff --git a/src/mame/drivers/goodejan.cpp b/src/mame/drivers/goodejan.cpp index 7bdb995c9c2..693c009b0ac 100644 --- a/src/mame/drivers/goodejan.cpp +++ b/src/mame/drivers/goodejan.cpp @@ -691,11 +691,12 @@ MACHINE_CONFIG_START(goodejan_state::goodejan) MCFG_DEVICE_ADD("oki", OKIM6295, GOODEJAN_MHZ2/16, okim6295_device::PIN7_LOW) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) - MCFG_DEVICE_ADD("seibu_sound", SEIBU_SOUND, 0) - MCFG_SEIBU_SOUND_CPU("audiocpu") - MCFG_SEIBU_SOUND_ROMBANK("seibu_bank1") - MCFG_SEIBU_SOUND_YM_READ_CB(READ8("ymsnd", ym3812_device, read)) - MCFG_SEIBU_SOUND_YM_WRITE_CB(WRITE8("ymsnd", ym3812_device, write)) + seibu_sound_device &seibu_sound(SEIBU_SOUND(config, "seibu_sound", 0)); + seibu_sound.int_callback().set_inputline("audiocpu", 0); + seibu_sound.set_rom_tag("audiocpu"); + seibu_sound.set_rombank_tag("seibu_bank1"); + seibu_sound.ym_read_callback().set("ymsnd", FUNC(ym3812_device::read)); + seibu_sound.ym_write_callback().set("ymsnd", FUNC(ym3812_device::write)); MACHINE_CONFIG_END MACHINE_CONFIG_START(goodejan_state::totmejan) diff --git a/src/mame/drivers/gottlieb.cpp b/src/mame/drivers/gottlieb.cpp index 1599f87248e..c669a50d62c 100644 --- a/src/mame/drivers/gottlieb.cpp +++ b/src/mame/drivers/gottlieb.cpp @@ -1780,24 +1780,21 @@ MACHINE_CONFIG_START(gottlieb_state::gottlieb_core) MACHINE_CONFIG_END -MACHINE_CONFIG_START(gottlieb_state::gottlieb1) +void gottlieb_state::gottlieb1(machine_config &config) +{ gottlieb_core(config); - MCFG_DEVICE_ADD("r1sound", GOTTLIEB_SOUND_REV1) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) -MACHINE_CONFIG_END - + GOTTLIEB_SOUND_REV1(config, m_r1_sound, 0).add_route(ALL_OUTPUTS, "speaker", 1.0); +} -MACHINE_CONFIG_START(gottlieb_state::gottlieb2) +void gottlieb_state::gottlieb2(machine_config &config) +{ gottlieb_core(config); - MCFG_DEVICE_ADD("r2sound", GOTTLIEB_SOUND_REV2) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) -MACHINE_CONFIG_END - + GOTTLIEB_SOUND_REV2(config, m_r2_sound, 0).add_route(ALL_OUTPUTS, "speaker", 1.0); +} MACHINE_CONFIG_START(gottlieb_state::g2laser) gottlieb_core(config); - MCFG_DEVICE_ADD("r2sound", GOTTLIEB_SOUND_REV2) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) + GOTTLIEB_SOUND_REV2(config, m_r2_sound, 0).add_route(ALL_OUTPUTS, "speaker", 1.0); MCFG_LASERDISC_PR8210_ADD("laserdisc") MCFG_LASERDISC_AUDIO(laserdisc_device::audio_delegate(&gottlieb_state::laserdisc_audio_process, this)) @@ -1820,11 +1817,11 @@ MACHINE_CONFIG_END *************************************/ -MACHINE_CONFIG_START(gottlieb_state::gottlieb1_votrax) +void gottlieb_state::gottlieb1_votrax(machine_config &config) +{ gottlieb_core(config); - MCFG_DEVICE_ADD("r1sound", GOTTLIEB_SOUND_REV1_VOTRAX) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) -MACHINE_CONFIG_END + GOTTLIEB_SOUND_REV1_VOTRAX(config, m_r1_sound, 0).add_route(ALL_OUTPUTS, "speaker", 1.0); +} MACHINE_CONFIG_START(gottlieb_state::reactor) @@ -1859,9 +1856,8 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(gottlieb_state::cobram3) gottlieb_core(config); - MCFG_DEVICE_ADD("r2sound", GOTTLIEB_SOUND_REV2) - MCFG_GOTTLIEB_ENABLE_COBRAM3_MODS() - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) + GOTTLIEB_SOUND_REV2(config, m_r2_sound, 0).add_route(ALL_OUTPUTS, "speaker", 1.0); + m_r2_sound->enable_cobram3_mods(); MCFG_LASERDISC_PR8210_ADD("laserdisc") MCFG_LASERDISC_AUDIO(laserdisc_device::audio_delegate(&gottlieb_state::laserdisc_audio_process, this)) diff --git a/src/mame/drivers/gts80.cpp b/src/mame/drivers/gts80.cpp index 7b0c703f21c..8c89c74a897 100644 --- a/src/mame/drivers/gts80.cpp +++ b/src/mame/drivers/gts80.cpp @@ -356,10 +356,11 @@ void gts80_state::init_gts80() } /* with Sound Board */ -MACHINE_CONFIG_START(gts80_state::gts80) +void gts80_state::gts80(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", M6502, XTAL(3'579'545)/4) - MCFG_DEVICE_PROGRAM_MAP(gts80_map) + M6502(config, m_maincpu, XTAL(3'579'545)/4); + m_maincpu->set_addrmap(AS_PROGRAM, >s80_state::gts80_map); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1); // must be 1 @@ -391,26 +392,26 @@ MACHINE_CONFIG_START(gts80_state::gts80) /* Sound */ genpin_audio(config); SPEAKER(config, "speaker").front_center(); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(gts80_state::gts80_s) +void gts80_state::gts80_s(machine_config &config) +{ gts80(config); - MCFG_DEVICE_ADD("r0sound", GOTTLIEB_SOUND_REV0) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) -MACHINE_CONFIG_END + GOTTLIEB_SOUND_REV0(config, m_r0_sound, 0).add_route(ALL_OUTPUTS, "speaker", 1.0); +} -MACHINE_CONFIG_START(gts80_state::gts80_hh) +void gts80_state::gts80_hh(machine_config &config) +{ gts80(config); - MCFG_DEVICE_ADD("r1sound", GOTTLIEB_SOUND_REV1) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) -MACHINE_CONFIG_END + GOTTLIEB_SOUND_REV1(config, m_r1_sound, 0).add_route(ALL_OUTPUTS, "speaker", 1.0); +} -MACHINE_CONFIG_START(gts80_state::gts80_ss) +void gts80_state::gts80_ss(machine_config &config) +{ gts80(config); - MCFG_DEVICE_ADD("r1sound", GOTTLIEB_SOUND_REV1) - //MCFG_DEVICE_ADD("r1sound", GOTTLIEB_SOUND_REV1_WITH_VOTRAX) // votrax crashes - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) -MACHINE_CONFIG_END + GOTTLIEB_SOUND_REV1(config, m_r1_sound, 0).add_route(ALL_OUTPUTS, "speaker", 1.0); + //GOTTLIEB_SOUND_REV1_VOTRAX(config, m_r1_sound, 0).add_route(ALL_OUTPUTS, "speaker", 1.0); // votrax crashes +} /*------------------------------------------------------------------- / Black Hole #668 diff --git a/src/mame/drivers/gts80a.cpp b/src/mame/drivers/gts80a.cpp index 4d33211026e..68fb7a4ff29 100644 --- a/src/mame/drivers/gts80a.cpp +++ b/src/mame/drivers/gts80a.cpp @@ -347,10 +347,11 @@ void gts80a_state::init_gts80a() } /* with Sound Board */ -MACHINE_CONFIG_START(gts80a_state::gts80a) +void gts80a_state::gts80a(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", M6502, XTAL(3'579'545)/4) - MCFG_DEVICE_PROGRAM_MAP(gts80a_map) + M6502(config, m_maincpu, XTAL(3'579'545)/4); + m_maincpu->set_addrmap(AS_PROGRAM, >s80a_state::gts80a_map); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1); // must be 1 @@ -382,21 +383,21 @@ MACHINE_CONFIG_START(gts80a_state::gts80a) /* Sound */ genpin_audio(config); SPEAKER(config, "speaker").front_center(); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(gts80a_state::gts80a_s) +void gts80a_state::gts80a_s(machine_config &config) +{ gts80a(config); - MCFG_DEVICE_ADD("r0sound", GOTTLIEB_SOUND_REV0) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) -MACHINE_CONFIG_END + GOTTLIEB_SOUND_REV0(config, m_r0_sound, 0).add_route(ALL_OUTPUTS, "speaker", 1.0); +} -MACHINE_CONFIG_START(gts80a_state::gts80a_ss) - gts80a(config); - MCFG_DEVICE_ADD("r1sound", GOTTLIEB_SOUND_REV1) - //MCFG_DEVICE_ADD("r1sound", GOTTLIEB_SOUND_REV1_WITH_VOTRAX, 0) // votrax crashes - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) -MACHINE_CONFIG_END +void gts80a_state::gts80a_ss(machine_config &config) +{ + gts80a(config); + GOTTLIEB_SOUND_REV1(config, m_r1_sound, 0).add_route(ALL_OUTPUTS, "speaker", 1.0); + //GOTTLIEB_SOUND_REV1_VOTRAX(config, m_r1_sound, 0).add_route(ALL_OUTPUTS, "speaker", 1.0); // votrax crashes +} class caveman_state : public gts80a_state diff --git a/src/mame/drivers/gts80b.cpp b/src/mame/drivers/gts80b.cpp index 7ffcf93a53d..50089e3be7c 100644 --- a/src/mame/drivers/gts80b.cpp +++ b/src/mame/drivers/gts80b.cpp @@ -388,10 +388,11 @@ void gts80b_state::init_gts80b() } /* with Sound Board */ -MACHINE_CONFIG_START(gts80b_state::gts80b) +void gts80b_state::gts80b(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", M6502, XTAL(3'579'545)/4) - MCFG_DEVICE_PROGRAM_MAP(gts80b_map) + M6502(config, m_maincpu, XTAL(3'579'545)/4); + m_maincpu->set_addrmap(AS_PROGRAM, >s80b_state::gts80b_map); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1); // must be 1 @@ -423,48 +424,52 @@ MACHINE_CONFIG_START(gts80b_state::gts80b) /* Sound */ genpin_audio(config); SPEAKER(config, "speaker").front_center(); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(gts80b_state::gts80b_s) +void gts80b_state::gts80b_s(machine_config &config) +{ gts80b(config); - MCFG_DEVICE_ADD("r0sound", GOTTLIEB_SOUND_REV0) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) -MACHINE_CONFIG_END - -//static MACHINE_CONFIG_START( gts80b_ss ) -//static gts80b(config); -// MCFG_DEVICE_ADD("r1sound", GOTTLIEB_SOUND_REV1) -// //MCFG_DEVICE_ADD("r1sound", GOTTLIEB_SOUND_REV1_WITH_VOTRAX0) // votrax crashes -// MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) -//MACHINE_CONFIG_END - -MACHINE_CONFIG_START(gts80b_state::gts80b_s1) + GOTTLIEB_SOUND_REV0(config, m_r0_sound, 0).add_route(ALL_OUTPUTS, "speaker", 1.0); +} + +//void gts80b_state::gts80b_ss(machine_config &config) +//{ +// gts80b(config); +// GOTTLIEB_SOUND_REV1(config, m_r1_sound, 0).add_route(ALL_OUTPUTS, "speaker", 1.0); +// //GOTTLIEB_SOUND_REV1_VOTRAX(config, m_r1_sound, 0).add_route(ALL_OUTPUTS, "speaker", 1.0); // votrax crashes +//} + +void gts80b_state::gts80b_s1(machine_config &config) +{ gts80b(config); - /* related to src/mame/audio/gottlieb.c? */ -// MCFG_IMPORT_FROM(gts80s_b1) -MACHINE_CONFIG_END + /* related to src/mame/audio/gottlieb.cpp? */ +// gts80s_b1(config); +} -MACHINE_CONFIG_START(gts80b_state::gts80b_s2) +void gts80b_state::gts80b_s2(machine_config &config) +{ gts80b(config); - /* related to src/mame/audio/gottlieb.c? */ -// MCFG_IMPORT_FROM(gts80s_b2) -MACHINE_CONFIG_END + /* related to src/mame/audio/gottlieb.cpp? */ +// gts80s_b2(config); +} -MACHINE_CONFIG_START(gts80b_state::gts80b_s3) +void gts80b_state::gts80b_s3(machine_config &config) +{ gts80b(config); - /* related to src/mame/audio/gottlieb.c? */ -// MCFG_IMPORT_FROM(gts80s_b3) -MACHINE_CONFIG_END + /* related to src/mame/audio/gottlieb.cpp? */ +// gts80s_b3(config); +} -MACHINE_CONFIG_START(gts80b_state::bonebstr) +void gts80b_state::bonebstr(machine_config &config) +{ gts80b(config); - /* related to src/mame/audio/gottlieb.c? */ -// MCFG_IMPORT_FROM(gts80s_b3a) -MACHINE_CONFIG_END + /* related to src/mame/audio/gottlieb.cpp? */ +// gts80s_b3a(config); +} /*------------------------------------------------------------------- diff --git a/src/mame/drivers/harddriv.cpp b/src/mame/drivers/harddriv.cpp index 986e7aaff7f..f4f866cb8b3 100644 --- a/src/mame/drivers/harddriv.cpp +++ b/src/mame/drivers/harddriv.cpp @@ -1525,7 +1525,7 @@ MACHINE_CONFIG_START(harddriv_state::driver_msp) MCFG_TMS340X0_OUTPUT_INT_CB(WRITELINE(*this, harddriv_state, hdmsp_irq_gen)) MCFG_VIDEO_SET_SCREEN("screen") - MCFG_DEVICE_REMOVE("slapstic") + config.device_remove("slapstic"); MACHINE_CONFIG_END @@ -1564,7 +1564,7 @@ MACHINE_CONFIG_START(harddriv_state::multisync_msp) MCFG_TMS340X0_OUTPUT_INT_CB(WRITELINE(*this, harddriv_state, hdmsp_irq_gen)) MCFG_VIDEO_SET_SCREEN("screen") - MCFG_DEVICE_REMOVE("slapstic") + config.device_remove("slapstic"); MACHINE_CONFIG_END @@ -1580,7 +1580,7 @@ MACHINE_CONFIG_START(harddriv_state::multisync2) MCFG_DEVICE_MODIFY("gsp") MCFG_DEVICE_PROGRAM_MAP(multisync2_gsp_map) - MCFG_DEVICE_REMOVE("slapstic") + config.device_remove("slapstic"); MACHINE_CONFIG_END @@ -1864,7 +1864,7 @@ MACHINE_CONFIG_START(stunrun_board_device_state::device_add_mconfig) MCFG_DEVICE_MODIFY("gsp") MCFG_TMS340X0_PIXEL_CLOCK(5000000) /* pixel clock */ adsp(config); /* ADSP board */ - MCFG_DEVICE_REMOVE("slapstic") + config.device_remove("slapstic"); /* video hardware */ MCFG_SCREEN_MODIFY("screen") @@ -1873,9 +1873,10 @@ MACHINE_CONFIG_START(stunrun_board_device_state::device_add_mconfig) /* sund hardware */ SPEAKER(config, "mono").front_center(); - MCFG_ATARI_JSA_II_ADD("jsa", WRITELINE(*this, harddriv_state, sound_int_write_line)) - MCFG_ATARI_JSA_TEST_PORT("IN0", 5) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + ATARI_JSA_II(config, m_jsa, 0); + m_jsa->main_int_cb().set(FUNC(harddriv_state::sound_int_write_line)); + m_jsa->test_read_cb().set_ioport("IN0").bit(5); + m_jsa->add_route(ALL_OUTPUTS, "mono", 1.0); MACHINE_CONFIG_END /* Steel Talons */ @@ -1927,22 +1928,23 @@ MACHINE_CONFIG_START(steeltal_board_device_state::device_add_mconfig) /* basic machine hardware */ /* multisync board with MSP */ ds3(config); /* DS III board */ - MCFG_DEVICE_REMOVE("ds3sdsp") /* DS III sound components are not present */ - MCFG_DEVICE_REMOVE("ds3xdsp") - MCFG_DEVICE_REMOVE("ldac") - MCFG_DEVICE_REMOVE("rdac") - MCFG_DEVICE_REMOVE("vref") - MCFG_DEVICE_REMOVE("lspeaker") - MCFG_DEVICE_REMOVE("rspeaker") + config.device_remove("ds3sdsp"); /* DS III sound components are not present */ + config.device_remove("ds3xdsp"); + config.device_remove("ldac"); + config.device_remove("rdac"); + config.device_remove("vref"); + config.device_remove("lspeaker"); + config.device_remove("rspeaker"); MCFG_ASIC65_ADD("asic65", ASIC65_STEELTAL) /* ASIC65 on DSPCOM board */ /* sund hardware */ SPEAKER(config, "mono").front_center(); - MCFG_ATARI_JSA_III_ADD("jsa", WRITELINE(*this, harddriv_state, sound_int_write_line)) - MCFG_ATARI_JSA_TEST_PORT("IN0", 5) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + ATARI_JSA_III(config, m_jsa, 0); + m_jsa->main_int_cb().set(FUNC(harddriv_state::sound_int_write_line)); + m_jsa->test_read_cb().set_ioport("IN0").bit(5); + m_jsa->add_route(ALL_OUTPUTS, "mono", 1.0); MACHINE_CONFIG_END /* Street Drivin' */ diff --git a/src/mame/drivers/legionna.cpp b/src/mame/drivers/legionna.cpp index 3eb966cd12d..e1753fc0ce4 100644 --- a/src/mame/drivers/legionna.cpp +++ b/src/mame/drivers/legionna.cpp @@ -1243,11 +1243,12 @@ MACHINE_CONFIG_START(legionna_state::legionna) MCFG_DEVICE_ADD("oki", OKIM6295, 1320000, okim6295_device::PIN7_LOW) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) - MCFG_DEVICE_ADD("seibu_sound", SEIBU_SOUND, 0) - MCFG_SEIBU_SOUND_CPU("audiocpu") - MCFG_SEIBU_SOUND_ROMBANK("seibu_bank1") - MCFG_SEIBU_SOUND_YM_READ_CB(READ8("ymsnd", ym3812_device, read)) - MCFG_SEIBU_SOUND_YM_WRITE_CB(WRITE8("ymsnd", ym3812_device, write)) + SEIBU_SOUND(config, m_seibu_sound, 0); + m_seibu_sound->int_callback().set_inputline(m_audiocpu, 0); + m_seibu_sound->set_rom_tag("audiocpu"); + m_seibu_sound->set_rombank_tag("seibu_bank1"); + m_seibu_sound->ym_read_callback().set("ymsnd", FUNC(ym3812_device::read)); + m_seibu_sound->ym_write_callback().set("ymsnd", FUNC(ym3812_device::write)); MACHINE_CONFIG_END @@ -1298,11 +1299,12 @@ MACHINE_CONFIG_START(legionna_state::heatbrl) MCFG_DEVICE_ADD("oki", OKIM6295, 1320000, okim6295_device::PIN7_LOW) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) - MCFG_DEVICE_ADD("seibu_sound", SEIBU_SOUND, 0) - MCFG_SEIBU_SOUND_CPU("audiocpu") - MCFG_SEIBU_SOUND_ROMBANK("seibu_bank1") - MCFG_SEIBU_SOUND_YM_READ_CB(READ8("ymsnd", ym3812_device, read)) - MCFG_SEIBU_SOUND_YM_WRITE_CB(WRITE8("ymsnd", ym3812_device, write)) + SEIBU_SOUND(config, m_seibu_sound, 0); + m_seibu_sound->int_callback().set_inputline(m_audiocpu, 0); + m_seibu_sound->set_rom_tag("audiocpu"); + m_seibu_sound->set_rombank_tag("seibu_bank1"); + m_seibu_sound->ym_read_callback().set("ymsnd", FUNC(ym3812_device::read)); + m_seibu_sound->ym_write_callback().set("ymsnd", FUNC(ym3812_device::write)); MACHINE_CONFIG_END MACHINE_CONFIG_START(legionna_state::godzilla) @@ -1356,11 +1358,12 @@ MACHINE_CONFIG_START(legionna_state::godzilla) MCFG_DEVICE_ADD("oki", OKIM6295, 1320000, okim6295_device::PIN7_LOW) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) - MCFG_DEVICE_ADD("seibu_sound", SEIBU_SOUND, 0) - MCFG_SEIBU_SOUND_CPU("audiocpu") - MCFG_SEIBU_SOUND_ROMBANK("seibu_bank1") - MCFG_SEIBU_SOUND_YM_READ_CB(READ8("ymsnd", ym2151_device, read)) - MCFG_SEIBU_SOUND_YM_WRITE_CB(WRITE8("ymsnd", ym2151_device, write)) + SEIBU_SOUND(config, m_seibu_sound, 0); + m_seibu_sound->int_callback().set_inputline(m_audiocpu, 0); + m_seibu_sound->set_rom_tag("audiocpu"); + m_seibu_sound->set_rombank_tag("seibu_bank1"); + m_seibu_sound->ym_read_callback().set("ymsnd", FUNC(ym2151_device::read)); + m_seibu_sound->ym_write_callback().set("ymsnd", FUNC(ym2151_device::write)); MACHINE_CONFIG_END MACHINE_CONFIG_START(legionna_state::denjinmk) @@ -1411,11 +1414,12 @@ MACHINE_CONFIG_START(legionna_state::denjinmk) MCFG_DEVICE_ADD("oki", OKIM6295, 1320000, okim6295_device::PIN7_LOW) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) - MCFG_DEVICE_ADD("seibu_sound", SEIBU_SOUND, 0) - MCFG_SEIBU_SOUND_CPU("audiocpu") - MCFG_SEIBU_SOUND_ROMBANK("seibu_bank1") - MCFG_SEIBU_SOUND_YM_READ_CB(READ8("ymsnd", ym2151_device, read)) - MCFG_SEIBU_SOUND_YM_WRITE_CB(WRITE8("ymsnd", ym2151_device, write)) + SEIBU_SOUND(config, m_seibu_sound, 0); + m_seibu_sound->int_callback().set_inputline(m_audiocpu, 0); + m_seibu_sound->set_rom_tag("audiocpu"); + m_seibu_sound->set_rombank_tag("seibu_bank1"); + m_seibu_sound->ym_read_callback().set("ymsnd", FUNC(ym2151_device::read)); + m_seibu_sound->ym_write_callback().set("ymsnd", FUNC(ym2151_device::write)); MACHINE_CONFIG_END MACHINE_CONFIG_START(legionna_state::grainbow) @@ -1466,11 +1470,12 @@ MACHINE_CONFIG_START(legionna_state::grainbow) MCFG_DEVICE_ADD("oki", OKIM6295, 1320000, okim6295_device::PIN7_LOW) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) - MCFG_DEVICE_ADD("seibu_sound", SEIBU_SOUND, 0) - MCFG_SEIBU_SOUND_CPU("audiocpu") - MCFG_SEIBU_SOUND_ROMBANK("seibu_bank1") - MCFG_SEIBU_SOUND_YM_READ_CB(READ8("ymsnd", ym2151_device, read)) - MCFG_SEIBU_SOUND_YM_WRITE_CB(WRITE8("ymsnd", ym2151_device, write)) + SEIBU_SOUND(config, m_seibu_sound, 0); + m_seibu_sound->int_callback().set_inputline(m_audiocpu, 0); + m_seibu_sound->set_rom_tag("audiocpu"); + m_seibu_sound->set_rombank_tag("seibu_bank1"); + m_seibu_sound->ym_read_callback().set("ymsnd", FUNC(ym2151_device::read)); + m_seibu_sound->ym_write_callback().set("ymsnd", FUNC(ym2151_device::write)); MACHINE_CONFIG_END @@ -1521,11 +1526,12 @@ MACHINE_CONFIG_START(legionna_state::cupsoc) MCFG_DEVICE_ADD("oki", OKIM6295, 1320000, okim6295_device::PIN7_LOW) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) - MCFG_DEVICE_ADD("seibu_sound", SEIBU_SOUND, 0) - MCFG_SEIBU_SOUND_CPU("audiocpu") - MCFG_SEIBU_SOUND_ROMBANK("seibu_bank1") - MCFG_SEIBU_SOUND_YM_READ_CB(READ8("ymsnd", ym3812_device, read)) - MCFG_SEIBU_SOUND_YM_WRITE_CB(WRITE8("ymsnd", ym3812_device, write)) + SEIBU_SOUND(config, m_seibu_sound, 0); + m_seibu_sound->int_callback().set_inputline(m_audiocpu, 0); + m_seibu_sound->set_rom_tag("audiocpu"); + m_seibu_sound->set_rombank_tag("seibu_bank1"); + m_seibu_sound->ym_read_callback().set("ymsnd", FUNC(ym3812_device::read)); + m_seibu_sound->ym_write_callback().set("ymsnd", FUNC(ym3812_device::write)); MACHINE_CONFIG_END MACHINE_CONFIG_START(legionna_state::cupsocs) diff --git a/src/mame/drivers/lynx.cpp b/src/mame/drivers/lynx.cpp index 5695d10e2c6..0bce8a5dd10 100644 --- a/src/mame/drivers/lynx.cpp +++ b/src/mame/drivers/lynx.cpp @@ -96,9 +96,9 @@ MACHINE_CONFIG_START(lynx_state::lynx) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("custom", LYNX_SND, 0) - MCFG_LYNX_SND_SET_TIMER(lynx_state, sound_cb) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) + LYNX_SND(config, m_sound, 0); + m_sound->set_timer_delegate(FUNC(lynx_state::sound_cb), this); + m_sound->add_route(ALL_OUTPUTS, "mono", 0.50); /* devices */ MCFG_QUICKLOAD_ADD("quickload", lynx_state, lynx, "o", 0) @@ -113,19 +113,20 @@ MACHINE_CONFIG_START(lynx_state::lynx) MACHINE_CONFIG_END #if 0 -static MACHINE_CONFIG_START( lynx2 ) +void lynx_state::lynx2(machine_config &config) +{ lynx(config); /* sound hardware */ - MCFG_DEVICE_REMOVE("mono") + config.device_remove("mono"); SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_REMOVE("lynx") - MCFG_DEVICE_ADD("custom", LYNX2_SND, 0) - MCFG_LYNX_SND_SET_TIMER(lynx_state, sound_cb) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.50) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.50) -MACHINE_CONFIG_END + config.device_remove("lynx"); + LYNX2_SND(config.replace(), m_sound, 0); + m_sound->set_timer_delegate(FUNC(lynx_state::sound_cb), this); + m_sound->add_route(0, "lspeaker", 0.50); + m_sound->add_route(1, "rspeaker", 0.50); +} #endif /* these 2 dumps are saved from an running machine, diff --git a/src/mame/drivers/metalmx.cpp b/src/mame/drivers/metalmx.cpp index ce1ae95b486..7fc272b7c45 100644 --- a/src/mame/drivers/metalmx.cpp +++ b/src/mame/drivers/metalmx.cpp @@ -697,9 +697,9 @@ MACHINE_CONFIG_START(metalmx_state::metalmx) MCFG_PALETTE_ADD_RRRRRGGGGGGBBBBB("palette") - MCFG_DEVICE_ADD("cage", ATARI_CAGE, 0) - MCFG_ATARI_CAGE_SPEEDUP(0) // TODO: speedup address - MCFG_ATARI_CAGE_IRQ_CALLBACK(WRITE8(*this, metalmx_state,cage_irq_callback)) + ATARI_CAGE(config, m_cage, 0); + m_cage->set_speedup(0); // TODO: speedup address + m_cage->irq_handler().set(FUNC(metalmx_state::cage_irq_callback)); MACHINE_CONFIG_END diff --git a/src/mame/drivers/mlanding.cpp b/src/mame/drivers/mlanding.cpp index feb2a1a93c5..83f551b399d 100644 --- a/src/mame/drivers/mlanding.cpp +++ b/src/mame/drivers/mlanding.cpp @@ -967,8 +967,8 @@ void mlanding_state::mlanding(machine_config &config) m_ctc->zc_callback<0>().set(FUNC(mlanding_state::z80ctc_to0)); pc060ha_device& ciu(PC060HA(config, "ciu", 0)); - ciu.set_master_tag("maincpu"); - ciu.set_slave_tag("audiocpu"); + ciu.set_master_tag(m_maincpu); + ciu.set_slave_tag(m_audiocpu); config.m_minimum_quantum = attotime::from_hz(600); diff --git a/src/mame/drivers/mpu5.cpp b/src/mame/drivers/mpu5.cpp index cb28537aba4..2ee65220b1b 100644 --- a/src/mame/drivers/mpu5.cpp +++ b/src/mame/drivers/mpu5.cpp @@ -546,15 +546,16 @@ void mpu5_state::machine_start() } -MACHINE_CONFIG_START(mpu5_state::mpu5) - MCFG_DEVICE_ADD("maincpu", M68340, 16000000) // ? - MCFG_DEVICE_PROGRAM_MAP(mpu5_map) +void mpu5_state::mpu5(machine_config &config) +{ + M68340(config, m_maincpu, 16000000); // ? + m_maincpu->set_addrmap(AS_PROGRAM, &mpu5_state::mpu5_map); config.set_default_layout(layout_mpu5); SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); /* unknown sound */ -MACHINE_CONFIG_END +} #include "mpu5.hxx" diff --git a/src/mame/drivers/mustache.cpp b/src/mame/drivers/mustache.cpp index 92792b6bfa0..5400b2e1024 100644 --- a/src/mame/drivers/mustache.cpp +++ b/src/mame/drivers/mustache.cpp @@ -187,8 +187,7 @@ MACHINE_CONFIG_START(mustache_state::mustache) MCFG_DEVICE_OPCODES_MAP(decrypted_opcodes_map) MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", mustache_state, scanline, "screen", 0, 1) - MCFG_DEVICE_ADD("sei80bu", SEI80BU, 0) - MCFG_DEVICE_ROM("maincpu") + SEI80BU(config, "sei80bu", 0).set_device_rom_tag("maincpu"); MCFG_DEVICE_ADD("t5182", T5182, 0) diff --git a/src/mame/drivers/ninjaw.cpp b/src/mame/drivers/ninjaw.cpp index 3cfeace6270..88f78b4797e 100644 --- a/src/mame/drivers/ninjaw.cpp +++ b/src/mame/drivers/ninjaw.cpp @@ -844,11 +844,11 @@ MACHINE_CONFIG_START(ninjaw_state::ninjaw) FILTER_VOLUME(config, "2610.2.l").add_route(ALL_OUTPUTS, "lspeaker", 1.0); FILTER_VOLUME(config, "2610.2.r").add_route(ALL_OUTPUTS, "rspeaker", 1.0); -// MCFG_DEVICE_ADD("subwoofer", SUBWOOFER, 0) +// SUBWOOFER(config, "subwoofer", 0); - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("maincpu") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + TC0140SYT(config, m_tc0140syt, 0); + m_tc0140syt->set_master_tag(m_maincpu); + m_tc0140syt->set_slave_tag("audiocpu"); MACHINE_CONFIG_END @@ -960,11 +960,11 @@ MACHINE_CONFIG_START(ninjaw_state::darius2) FILTER_VOLUME(config, "2610.2.l").add_route(ALL_OUTPUTS, "lspeaker", 1.0); FILTER_VOLUME(config, "2610.2.r").add_route(ALL_OUTPUTS, "rspeaker", 1.0); -// MCFG_DEVICE_ADD("subwoofer", SUBWOOFER, 0) +// SUBWOOFER(config, "subwoofer", 0); - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("maincpu") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + TC0140SYT(config, m_tc0140syt, 0); + m_tc0140syt->set_master_tag(m_maincpu); + m_tc0140syt->set_slave_tag("audiocpu"); MACHINE_CONFIG_END diff --git a/src/mame/drivers/niyanpai.cpp b/src/mame/drivers/niyanpai.cpp index c086914e2c9..74ea1878ff3 100644 --- a/src/mame/drivers/niyanpai.cpp +++ b/src/mame/drivers/niyanpai.cpp @@ -717,7 +717,7 @@ MACHINE_CONFIG_START(niyanpai_state::niyanpai) MCFG_PALETTE_ADD("palette", 256*3) /* sound hardware */ - MCFG_NICHISND_ADD("nichisnd") + NICHISND(config, "nichisnd", 0); MACHINE_CONFIG_END MACHINE_CONFIG_START(niyanpai_state::musobana) diff --git a/src/mame/drivers/nmk16.cpp b/src/mame/drivers/nmk16.cpp index 7aef282cd48..f6352035a98 100644 --- a/src/mame/drivers/nmk16.cpp +++ b/src/mame/drivers/nmk16.cpp @@ -4128,11 +4128,12 @@ MACHINE_CONFIG_START(nmk16_state::mustangb) MCFG_DEVICE_ADD("oki", OKIM6295, 1320000, okim6295_device::PIN7_LOW) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) - MCFG_DEVICE_ADD("seibu_sound", SEIBU_SOUND, 0) - MCFG_SEIBU_SOUND_CPU("audiocpu") - MCFG_SEIBU_SOUND_ROMBANK("seibu_bank1") - MCFG_SEIBU_SOUND_YM_READ_CB(READ8("ymsnd", ym3812_device, read)) - MCFG_SEIBU_SOUND_YM_WRITE_CB(WRITE8("ymsnd", ym3812_device, write)) + seibu_sound_device &seibu_sound(SEIBU_SOUND(config, "seibu_sound", 0)); + seibu_sound.int_callback().set_inputline(m_audiocpu, 0); + seibu_sound.set_rom_tag("audiocpu"); + seibu_sound.set_rombank_tag("seibu_bank1"); + seibu_sound.ym_read_callback().set("ymsnd", FUNC(ym3812_device::read)); + seibu_sound.ym_write_callback().set("ymsnd", FUNC(ym3812_device::write)); MACHINE_CONFIG_END #define BIOSHIP_CRYSTAL1 10000000 @@ -4315,11 +4316,12 @@ MACHINE_CONFIG_START(nmk16_state::tdragonb) /* bootleg using Raiden sound har MCFG_DEVICE_ADD("oki", OKIM6295, 1320000, okim6295_device::PIN7_LOW) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) - MCFG_DEVICE_ADD("seibu_sound", SEIBU_SOUND, 0) - MCFG_SEIBU_SOUND_CPU("audiocpu") - MCFG_SEIBU_SOUND_ROMBANK("seibu_bank1") - MCFG_SEIBU_SOUND_YM_READ_CB(READ8("ymsnd", ym3812_device, read)) - MCFG_SEIBU_SOUND_YM_WRITE_CB(WRITE8("ymsnd", ym3812_device, write)) + seibu_sound_device &seibu_sound(SEIBU_SOUND(config, "seibu_sound", 0)); + seibu_sound.int_callback().set_inputline(m_audiocpu, 0); + seibu_sound.set_rom_tag("audiocpu"); + seibu_sound.set_rombank_tag("seibu_bank1"); + seibu_sound.ym_read_callback().set("ymsnd", FUNC(ym3812_device::read)); + seibu_sound.ym_write_callback().set("ymsnd", FUNC(ym3812_device::write)); MACHINE_CONFIG_END MACHINE_CONFIG_START(nmk16_state::tdragon) diff --git a/src/mame/drivers/offtwall.cpp b/src/mame/drivers/offtwall.cpp index 3e368aa11fc..66f0f30e074 100644 --- a/src/mame/drivers/offtwall.cpp +++ b/src/mame/drivers/offtwall.cpp @@ -365,10 +365,11 @@ MACHINE_CONFIG_START(offtwall_state::offtwall) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_ATARI_JSA_III_ADD("jsa", INPUTLINE("maincpu", M68K_IRQ_6)) - MCFG_ATARI_JSA_TEST_PORT("260010", 6) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) - MCFG_DEVICE_REMOVE("jsa:oki1") + ATARI_JSA_III(config, m_jsa, 0); + m_jsa->main_int_cb().set_inputline(m_maincpu, M68K_IRQ_6); + m_jsa->test_read_cb().set_ioport("260010").bit(6); + m_jsa->add_route(ALL_OUTPUTS, "mono", 1.0); + config.device_remove("jsa:oki1"); MACHINE_CONFIG_END diff --git a/src/mame/drivers/opwolf.cpp b/src/mame/drivers/opwolf.cpp index 8ac662a86b7..bf41d28caff 100644 --- a/src/mame/drivers/opwolf.cpp +++ b/src/mame/drivers/opwolf.cpp @@ -997,9 +997,9 @@ MACHINE_CONFIG_START(opwolf_state::opwolf) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) - MCFG_DEVICE_ADD("ciu", PC060HA, 0) - MCFG_PC060HA_MASTER_CPU("maincpu") - MCFG_PC060HA_SLAVE_CPU("audiocpu") + pc060ha_device &ciu(PC060HA(config, "ciu", 0)); + ciu.set_master_tag(m_maincpu); + ciu.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END MACHINE_CONFIG_START(opwolf_state::opwolfp) @@ -1072,9 +1072,9 @@ MACHINE_CONFIG_START(opwolf_state::opwolfb) /* OSC clocks unknown for the bootle MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) - MCFG_DEVICE_ADD("ciu", PC060HA, 0) - MCFG_PC060HA_MASTER_CPU("maincpu") - MCFG_PC060HA_SLAVE_CPU("audiocpu") + pc060ha_device &ciu(PC060HA(config, "ciu", 0)); + ciu.set_master_tag(m_maincpu); + ciu.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END diff --git a/src/mame/drivers/othunder.cpp b/src/mame/drivers/othunder.cpp index 412f2cd8223..4ea806dd725 100644 --- a/src/mame/drivers/othunder.cpp +++ b/src/mame/drivers/othunder.cpp @@ -672,9 +672,9 @@ MACHINE_CONFIG_START(othunder_state::othunder) FILTER_VOLUME(config, "2610.2l").add_route(ALL_OUTPUTS, "speaker", 1.0); FILTER_VOLUME(config, "2610.2r").add_route(ALL_OUTPUTS, "speaker", 1.0); - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("maincpu") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + TC0140SYT(config, m_tc0140syt, 0); + m_tc0140syt->set_master_tag(m_maincpu); + m_tc0140syt->set_slave_tag(m_audiocpu); MACHINE_CONFIG_END diff --git a/src/mame/drivers/play_3.cpp b/src/mame/drivers/play_3.cpp index 7559a52b34f..2bbedc27b12 100644 --- a/src/mame/drivers/play_3.cpp +++ b/src/mame/drivers/play_3.cpp @@ -538,7 +538,7 @@ MACHINE_CONFIG_START(play_3_state::sklflite) MCFG_DEVICE_REMOVE("lspeaker") MCFG_DEVICE_REMOVE("rspeaker") - MCFG_DEVICE_ADD("zsu", EFO_ZSU1, 0) + EFO_ZSU1(config, m_zsu, 0); MACHINE_CONFIG_END diff --git a/src/mame/drivers/pluto5.cpp b/src/mame/drivers/pluto5.cpp index e3e8edc4994..83c2c1f5ace 100644 --- a/src/mame/drivers/pluto5.cpp +++ b/src/mame/drivers/pluto5.cpp @@ -256,16 +256,16 @@ void pluto5_state::machine_start() } -MACHINE_CONFIG_START(pluto5_state::pluto5) - MCFG_DEVICE_ADD("maincpu", M68340, 16000000) - MCFG_DEVICE_PROGRAM_MAP(pluto5_map) - +void pluto5_state::pluto5(machine_config &config) +{ + M68340(config, m_maincpu, 16000000); + m_maincpu->set_addrmap(AS_PROGRAM, &pluto5_state::pluto5_map); SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); /* unknown sound */ -MACHINE_CONFIG_END +} ROM_START( hb_cr ) ROM_REGION( 0x400000, "maincpu", ROMREGION_ERASE00 ) diff --git a/src/mame/drivers/polepos.cpp b/src/mame/drivers/polepos.cpp index 6c4ff79c299..763d1abb9d5 100644 --- a/src/mame/drivers/polepos.cpp +++ b/src/mame/drivers/polepos.cpp @@ -871,11 +871,11 @@ MACHINE_CONFIG_START(polepos_state::polepos) n51xx.output_callback<0>().set(FUNC(polepos_state::out_0)); n51xx.output_callback<1>().set(FUNC(polepos_state::out_1)); - MCFG_NAMCO_52XX_ADD("52xx", MASTER_CLOCK/8/2) /* 1.536 MHz */ - MCFG_NAMCO_52XX_DISCRETE("discrete") - MCFG_NAMCO_52XX_BASENODE(NODE_04) - MCFG_NAMCO_52XX_ROMREAD_CB(READ8(*this, polepos_state,namco_52xx_rom_r)) - MCFG_NAMCO_52XX_SI_CB(READ8(*this, polepos_state,namco_52xx_si_r)) + namco_52xx_device &n52xx(NAMCO_52XX(config, "52xx", MASTER_CLOCK/8/2)); /* 1.536 MHz */ + n52xx.set_discrete("discrete"); + n52xx.set_basenote(NODE_04); + n52xx.romread_callback().set(FUNC(polepos_state::namco_52xx_rom_r)); + n52xx.si_callback().set(FUNC(polepos_state::namco_52xx_si_r)); namco_53xx_device &n53xx(NAMCO_53XX(config, "53xx", MASTER_CLOCK/8/2)); /* 1.536 MHz */ n53xx.k_port_callback().set(FUNC(polepos_state::namco_53xx_k_r)); @@ -884,9 +884,9 @@ MACHINE_CONFIG_START(polepos_state::polepos) n53xx.input_callback<2>().set_ioport("DSWA").mask(0x0f); n53xx.input_callback<3>().set_ioport("DSWA").rshift(4); - MCFG_NAMCO_54XX_ADD("54xx", MASTER_CLOCK/8/2) /* 1.536 MHz */ - MCFG_NAMCO_54XX_DISCRETE("discrete") - MCFG_NAMCO_54XX_BASENODE(NODE_01) + namco_54xx_device &n54xx(NAMCO_54XX(config, "54xx", MASTER_CLOCK/8/2)); /* 1.536 MHz */ + n54xx.set_discrete("discrete"); + n54xx.set_basenote(NODE_01); MCFG_NAMCO_06XX_ADD("06xx", MASTER_CLOCK/8/64) MCFG_NAMCO_06XX_MAINCPU("maincpu") diff --git a/src/mame/drivers/r2dx_v33.cpp b/src/mame/drivers/r2dx_v33.cpp index fcec4ceb702..e7b1fec67bf 100644 --- a/src/mame/drivers/r2dx_v33.cpp +++ b/src/mame/drivers/r2dx_v33.cpp @@ -861,11 +861,12 @@ MACHINE_CONFIG_START(r2dx_v33_state::nzerotea) MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(28'636'363)/28, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) - MCFG_DEVICE_ADD("seibu_sound", SEIBU_SOUND, 0) - MCFG_SEIBU_SOUND_CPU("audiocpu") - MCFG_SEIBU_SOUND_ROMBANK("seibu_bank1") - MCFG_SEIBU_SOUND_YM_READ_CB(READ8("ymsnd", ym3812_device, read)) - MCFG_SEIBU_SOUND_YM_WRITE_CB(WRITE8("ymsnd", ym3812_device, write)) + SEIBU_SOUND(config, m_seibu_sound, 0); + m_seibu_sound->int_callback().set_inputline("audiocpu", 0); + m_seibu_sound->set_rom_tag("audiocpu"); + m_seibu_sound->set_rombank_tag("seibu_bank1"); + m_seibu_sound->ym_read_callback().set("ymsnd", FUNC(ym3812_device::read)); + m_seibu_sound->ym_write_callback().set("ymsnd", FUNC(ym3812_device::write)); MACHINE_CONFIG_END MACHINE_CONFIG_START(r2dx_v33_state::zerotm2k) diff --git a/src/mame/drivers/rad_eu3a05.cpp b/src/mame/drivers/rad_eu3a05.cpp index ac3dd468a64..3023e666128 100644 --- a/src/mame/drivers/rad_eu3a05.cpp +++ b/src/mame/drivers/rad_eu3a05.cpp @@ -1173,9 +1173,9 @@ MACHINE_CONFIG_START(radica_eu3a05_state::radicasi) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("6ch_sound", RADICA6502_SOUND, 8000) - MCFG_RADICA6502_SOUND_SPACE_READ_CB(READ8(*this, radica_eu3a05_state, read_full_space)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + radica6502_sound_device &sound(RADICA6502_SOUND(config, "6ch_sound", 8000)); + sound.space_read_callback().set(FUNC(radica_eu3a05_state::read_full_space)); + sound.add_route(ALL_OUTPUTS, "mono", 1.0); MACHINE_CONFIG_END diff --git a/src/mame/drivers/rad_eu3a14.cpp b/src/mame/drivers/rad_eu3a14.cpp index bd423e5e2eb..10533b5ca2d 100644 --- a/src/mame/drivers/rad_eu3a14.cpp +++ b/src/mame/drivers/rad_eu3a14.cpp @@ -799,9 +799,9 @@ MACHINE_CONFIG_START(radica_eu3a14_state::radica_eu3a14) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("6ch_sound", RADICA6502_SOUND, 8000) - MCFG_RADICA6502_SOUND_SPACE_READ_CB(READ8(*this, radica_eu3a14_state, read_full_space)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + radica6502_sound_device &sound(RADICA6502_SOUND(config, "6ch_sound", 8000)); + sound.space_read_callback().set(FUNC(radica_eu3a14_state::read_full_space)); + sound.add_route(ALL_OUTPUTS, "mono", 1.0); MACHINE_CONFIG_END diff --git a/src/mame/drivers/raiden.cpp b/src/mame/drivers/raiden.cpp index cc649d603df..d20fe51f384 100644 --- a/src/mame/drivers/raiden.cpp +++ b/src/mame/drivers/raiden.cpp @@ -376,11 +376,12 @@ MACHINE_CONFIG_START(raiden_state::raiden) MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(12'000'000)/12, okim6295_device::PIN7_HIGH) // frequency and pin 7 verified MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) - MCFG_DEVICE_ADD("seibu_sound", SEIBU_SOUND, 0) - MCFG_SEIBU_SOUND_CPU("audiocpu") - MCFG_SEIBU_SOUND_ROMBANK("seibu_bank1") - MCFG_SEIBU_SOUND_YM_READ_CB(READ8("ymsnd", ym3812_device, read)) - MCFG_SEIBU_SOUND_YM_WRITE_CB(WRITE8("ymsnd", ym3812_device, write)) + SEIBU_SOUND(config, m_seibu_sound, 0); + m_seibu_sound->int_callback().set_inputline("audiocpu", 0); + m_seibu_sound->set_rom_tag("audiocpu"); + m_seibu_sound->set_rombank_tag("seibu_bank1"); + m_seibu_sound->ym_read_callback().set("ymsnd", FUNC(ym3812_device::read)); + m_seibu_sound->ym_write_callback().set("ymsnd", FUNC(ym3812_device::write)); MACHINE_CONFIG_END MACHINE_CONFIG_START(raiden_state::raidene) @@ -389,8 +390,8 @@ MACHINE_CONFIG_START(raiden_state::raidene) MCFG_DEVICE_PROGRAM_MAP(raiden_sound_map) MCFG_DEVICE_OPCODES_MAP(raiden_sound_decrypted_opcodes_map) - MCFG_DEVICE_ADD("sei80bu", SEI80BU, 0) - MCFG_DEVICE_PROGRAM_MAP(sei80bu_encrypted_full_map) + sei80bu_device &sei80bu(SEI80BU(config, "sei80bu", 0)); + sei80bu.set_addrmap(AS_PROGRAM, &raiden_state::sei80bu_encrypted_full_map); MACHINE_CONFIG_END MACHINE_CONFIG_START(raiden_state::raidenu) diff --git a/src/mame/drivers/raiden2.cpp b/src/mame/drivers/raiden2.cpp index 8d0cc366d12..98ce5b9245d 100644 --- a/src/mame/drivers/raiden2.cpp +++ b/src/mame/drivers/raiden2.cpp @@ -1469,11 +1469,12 @@ MACHINE_CONFIG_START(raiden2_state::raiden2) MCFG_DEVICE_ADD("oki2", OKIM6295, XTAL(28'636'363)/28, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) - MCFG_DEVICE_ADD("seibu_sound", SEIBU_SOUND, 0) - MCFG_SEIBU_SOUND_CPU("audiocpu") - MCFG_SEIBU_SOUND_ROMBANK("seibu_bank1") - MCFG_SEIBU_SOUND_YM_READ_CB(READ8("ymsnd", ym2151_device, read)) - MCFG_SEIBU_SOUND_YM_WRITE_CB(WRITE8("ymsnd", ym2151_device, write)) + SEIBU_SOUND(config, m_seibu_sound, 0); + m_seibu_sound->int_callback().set_inputline("audiocpu", 0); + m_seibu_sound->set_rom_tag("audiocpu"); + m_seibu_sound->set_rombank_tag("seibu_bank1"); + m_seibu_sound->ym_read_callback().set("ymsnd", FUNC(ym2151_device::read)); + m_seibu_sound->ym_write_callback().set("ymsnd", FUNC(ym2151_device::write)); MACHINE_CONFIG_END MACHINE_CONFIG_START(raiden2_state::xsedae) @@ -1542,11 +1543,12 @@ MACHINE_CONFIG_START(raiden2_state::zeroteam) MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(28'636'363)/28, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) - MCFG_DEVICE_ADD("seibu_sound", SEIBU_SOUND, 0) - MCFG_SEIBU_SOUND_CPU("audiocpu") - MCFG_SEIBU_SOUND_ROMBANK("seibu_bank1") - MCFG_SEIBU_SOUND_YM_READ_CB(READ8("ymsnd", ym3812_device, read)) - MCFG_SEIBU_SOUND_YM_WRITE_CB(WRITE8("ymsnd", ym3812_device, write)) + SEIBU_SOUND(config, m_seibu_sound, 0); + m_seibu_sound->int_callback().set_inputline("audiocpu", 0); + m_seibu_sound->set_rom_tag("audiocpu"); + m_seibu_sound->set_rombank_tag("seibu_bank1"); + m_seibu_sound->ym_read_callback().set("ymsnd", FUNC(ym3812_device::read)); + m_seibu_sound->ym_write_callback().set("ymsnd", FUNC(ym3812_device::write)); MACHINE_CONFIG_END /* ROM LOADING */ diff --git a/src/mame/drivers/rastan.cpp b/src/mame/drivers/rastan.cpp index 88c0ab849e4..1de15916f1b 100644 --- a/src/mame/drivers/rastan.cpp +++ b/src/mame/drivers/rastan.cpp @@ -417,9 +417,9 @@ MACHINE_CONFIG_START(rastan_state::rastan) LS157(config, m_adpcm_sel, 0); m_adpcm_sel->out_callback().set("msm", FUNC(msm5205_device::data_w)); - MCFG_DEVICE_ADD("ciu", PC060HA, 0) - MCFG_PC060HA_MASTER_CPU("maincpu") - MCFG_PC060HA_SLAVE_CPU("audiocpu") + pc060ha_device &ciu(PC060HA(config, "ciu", 0)); + ciu.set_master_tag(m_maincpu); + ciu.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END diff --git a/src/mame/drivers/rbisland.cpp b/src/mame/drivers/rbisland.cpp index 39e47760c7b..554dcbbd983 100644 --- a/src/mame/drivers/rbisland.cpp +++ b/src/mame/drivers/rbisland.cpp @@ -704,9 +704,9 @@ MACHINE_CONFIG_START(rbisland_state::rbisland) 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") - MCFG_PC060HA_SLAVE_CPU("audiocpu") + pc060ha_device &ciu(PC060HA(config, "ciu", 0)); + ciu.set_master_tag(m_maincpu); + ciu.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END diff --git a/src/mame/drivers/s11c.cpp b/src/mame/drivers/s11c.cpp index fb4c3f12cde..ed4d76732d6 100644 --- a/src/mame/drivers/s11c.cpp +++ b/src/mame/drivers/s11c.cpp @@ -135,7 +135,7 @@ WRITE8_MEMBER( s11c_state::bgbank_w ) // popmessage("BG bank set to %02x (%i)",data,bank); } */ -MACHINE_RESET_MEMBER( s11c_state, s11c ) +void s11c_state::machine_reset() { // membank("bgbank")->set_entry(0); // reset the CPUs again, so that the CPUs are starting with the right vectors (otherwise sound may die on reset) @@ -153,11 +153,11 @@ void s11c_state::init_s11c() timer->adjust(attotime::from_ticks(S11_IRQ_CYCLES,E_CLOCK),1); } -MACHINE_CONFIG_START(s11c_state::s11c) +void s11c_state::s11c(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", M6808, XTAL(4'000'000)) - MCFG_DEVICE_PROGRAM_MAP(s11c_main_map) - MCFG_MACHINE_RESET_OVERRIDE(s11c_state, s11c) + M6808(config, m_maincpu, XTAL(4'000'000)); + m_maincpu->set_addrmap(AS_PROGRAM, &s11c_state::s11c_main_map); /* Video */ config.set_default_layout(layout_s11c); @@ -217,10 +217,10 @@ MACHINE_CONFIG_START(s11c_state::s11c) /* Add the background music card */ SPEAKER(config, "speaker").front_center(); - MCFG_DEVICE_ADD("bgm", S11C_BG) - MCFG_S11C_BG_ROM_REGION(":bgcpu") - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) -MACHINE_CONFIG_END + S11C_BG(config, m_bg); + m_bg->set_romregion("bgcpu"); + m_bg->add_route(ALL_OUTPUTS, "speaker", 1.0); +} /*-------------------- / Bugs Bunny Birthday Ball 11/90 diff --git a/src/mame/drivers/seattle.cpp b/src/mame/drivers/seattle.cpp index ce601f41db3..e51977934c4 100644 --- a/src/mame/drivers/seattle.cpp +++ b/src/mame/drivers/seattle.cpp @@ -1891,7 +1891,8 @@ INPUT_PORTS_END * Machine drivers * *************************************/ -MACHINE_CONFIG_START(seattle_state::seattle_common) +void seattle_state::seattle_common(machine_config &config) +{ /* basic machine hardware */ R5000LE(config, m_maincpu, SYSTEM_CLOCK * 3); @@ -1930,10 +1931,11 @@ MACHINE_CONFIG_START(seattle_state::seattle_common) m_screen->set_size(640, 480); m_screen->set_visarea(0, 640 - 1, 0, 480 - 1); m_screen->set_screen_update(PCI_ID_VIDEO, FUNC(voodoo_1_pci_device::screen_update)); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(seattle_state::phoenixsa) +void seattle_state::phoenixsa(machine_config &config) +{ seattle_common(config); R4700LE(config.replace(), m_maincpu, SYSTEM_CLOCK * 2); m_maincpu->set_icache_size(16384); @@ -1942,38 +1944,43 @@ MACHINE_CONFIG_START(seattle_state::phoenixsa) m_galileo->set_simm0_size(0x00200000); m_galileo->set_simm1_size(0x00200000); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(seattle_state::seattle150) +void seattle_state::seattle150(machine_config &config) +{ seattle_common(config); R5000LE(config.replace(), m_maincpu, SYSTEM_CLOCK * 3); m_maincpu->set_icache_size(16384); m_maincpu->set_dcache_size(16384); m_maincpu->set_system_clock(SYSTEM_CLOCK); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(seattle_state::seattle150_widget) +void seattle_state::seattle150_widget(machine_config &config) +{ seattle150(config); SMC91C94(config, m_ethernet, 0); m_ethernet->irq_handler().set(FUNC(seattle_state::ethernet_interrupt)); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(seattle_state::seattle200) +void seattle_state::seattle200(machine_config &config) +{ seattle150(config); m_maincpu->set_clock(SYSTEM_CLOCK * 4); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(seattle_state::seattle200_widget) +void seattle_state::seattle200_widget(machine_config &config) +{ seattle200(config); SMC91C94(config, m_ethernet, 0); m_ethernet->irq_handler().set(FUNC(seattle_state::ethernet_interrupt)); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(seattle_state::flagstaff) +void seattle_state::flagstaff(machine_config &config) +{ seattle150(config); m_maincpu->set_clock(SYSTEM_CLOCK * 4); @@ -1984,11 +1991,12 @@ MACHINE_CONFIG_START(seattle_state::flagstaff) m_voodoo->set_fbmem(2); m_voodoo->set_tmumem(4, 4); -MACHINE_CONFIG_END +} // Per game configurations -MACHINE_CONFIG_START(seattle_state::wg3dh) +void seattle_state::wg3dh(machine_config &config) +{ phoenixsa(config); dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, "dcs", 0)); dcs.set_dram_in_mb(2); @@ -1999,10 +2007,11 @@ MACHINE_CONFIG_START(seattle_state::wg3dh) m_ioasic->set_upper(310/* others? */); m_ioasic->set_yearoffs(80); m_ioasic->irq_handler().set(FUNC(seattle_state::ioasic_irq)); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(seattle_state::mace) +void seattle_state::mace(machine_config &config) +{ seattle150(config); dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, "dcs", 0)); dcs.set_dram_in_mb(2); @@ -2013,9 +2022,10 @@ MACHINE_CONFIG_START(seattle_state::mace) m_ioasic->set_upper(319/* others? */); m_ioasic->set_yearoffs(80); m_ioasic->irq_handler().set(FUNC(seattle_state::ioasic_irq)); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(seattle_state::sfrush) +void seattle_state::sfrush(machine_config &config) +{ flagstaff(config); atari_cage_seattle_device &cage(ATARI_CAGE_SEATTLE(config, "cage", 0)); cage.set_speedup(0x5236); @@ -2027,9 +2037,10 @@ MACHINE_CONFIG_START(seattle_state::sfrush) m_ioasic->set_yearoffs(100); m_ioasic->irq_handler().set(FUNC(seattle_state::ioasic_irq)); m_ioasic->aux_output_handler().set(FUNC(seattle_state::wheel_board_w)); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(seattle_state::sfrushrk) +void seattle_state::sfrushrk(machine_config &config) +{ flagstaff(config); atari_cage_seattle_device &cage(ATARI_CAGE_SEATTLE(config, "cage", 0)); cage.set_speedup(0x5329); @@ -2041,14 +2052,16 @@ MACHINE_CONFIG_START(seattle_state::sfrushrk) m_ioasic->set_yearoffs(100); m_ioasic->irq_handler().set(FUNC(seattle_state::ioasic_irq)); m_ioasic->aux_output_handler().set(FUNC(seattle_state::wheel_board_w)); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(seattle_state::sfrushrkw) +void seattle_state::sfrushrkw(machine_config &config) +{ sfrushrk(config); m_ioasic->set_shuffle(MIDWAY_IOASIC_STANDARD); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(seattle_state::calspeed) +void seattle_state::calspeed(machine_config &config) +{ seattle150_widget(config); dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, "dcs", 0)); dcs.set_dram_in_mb(2); @@ -2060,9 +2073,10 @@ MACHINE_CONFIG_START(seattle_state::calspeed) m_ioasic->set_yearoffs(100); m_ioasic->irq_handler().set(FUNC(seattle_state::ioasic_irq)); m_ioasic->set_auto_ack(1); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(seattle_state::vaportrx) +void seattle_state::vaportrx(machine_config &config) +{ seattle200_widget(config); dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, "dcs", 0)); dcs.set_dram_in_mb(2); @@ -2073,9 +2087,10 @@ MACHINE_CONFIG_START(seattle_state::vaportrx) m_ioasic->set_upper(324/* 334? unknown */); m_ioasic->set_yearoffs(100); m_ioasic->irq_handler().set(FUNC(seattle_state::ioasic_irq)); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(seattle_state::biofreak) +void seattle_state::biofreak(machine_config &config) +{ seattle150(config); dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, "dcs", 0)); dcs.set_dram_in_mb(2); @@ -2086,9 +2101,10 @@ MACHINE_CONFIG_START(seattle_state::biofreak) m_ioasic->set_upper(231/* no alternates */); m_ioasic->set_yearoffs(80); m_ioasic->irq_handler().set(FUNC(seattle_state::ioasic_irq)); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(seattle_state::blitz) +void seattle_state::blitz(machine_config &config) +{ seattle150(config); dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, "dcs", 0)); dcs.set_dram_in_mb(2); @@ -2099,9 +2115,10 @@ MACHINE_CONFIG_START(seattle_state::blitz) m_ioasic->set_upper(444/* or 528 */); m_ioasic->set_yearoffs(80); m_ioasic->irq_handler().set(FUNC(seattle_state::ioasic_irq)); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(seattle_state::blitz99) +void seattle_state::blitz99(machine_config &config) +{ seattle150(config); dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, "dcs", 0)); dcs.set_dram_in_mb(2); @@ -2112,9 +2129,10 @@ MACHINE_CONFIG_START(seattle_state::blitz99) m_ioasic->set_upper(481/* or 484 or 520 */); m_ioasic->set_yearoffs(80); m_ioasic->irq_handler().set(FUNC(seattle_state::ioasic_irq)); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(seattle_state::blitz2k) +void seattle_state::blitz2k(machine_config &config) +{ seattle150(config); dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, "dcs", 0)); dcs.set_dram_in_mb(2); @@ -2125,9 +2143,10 @@ MACHINE_CONFIG_START(seattle_state::blitz2k) m_ioasic->set_upper(494/* or 498 */); m_ioasic->set_yearoffs(80); m_ioasic->irq_handler().set(FUNC(seattle_state::ioasic_irq)); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(seattle_state::carnevil) +void seattle_state::carnevil(machine_config &config) +{ seattle150(config); dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, "dcs", 0)); dcs.set_dram_in_mb(2); @@ -2138,9 +2157,10 @@ MACHINE_CONFIG_START(seattle_state::carnevil) m_ioasic->set_upper(469/* 469 or 486 or 528 */); m_ioasic->set_yearoffs(80); m_ioasic->irq_handler().set(FUNC(seattle_state::ioasic_irq)); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(seattle_state::hyprdriv) +void seattle_state::hyprdriv(machine_config &config) +{ seattle200_widget(config); dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, "dcs", 0)); dcs.set_dram_in_mb(2); @@ -2151,7 +2171,7 @@ MACHINE_CONFIG_START(seattle_state::hyprdriv) m_ioasic->set_upper(469/* unknown */); m_ioasic->set_yearoffs(80); m_ioasic->irq_handler().set(FUNC(seattle_state::ioasic_irq)); -MACHINE_CONFIG_END +} /************************************* * diff --git a/src/mame/drivers/segag80r.cpp b/src/mame/drivers/segag80r.cpp index 6613695585d..791b7840ca3 100644 --- a/src/mame/drivers/segag80r.cpp +++ b/src/mame/drivers/segag80r.cpp @@ -945,7 +945,7 @@ MACHINE_CONFIG_START(segag80r_state::pignewt) SPEAKER(config, "speaker").front_center(); /* sound boards */ - MCFG_SEGAUSB_ADD("usbsnd", "maincpu") + SEGAUSB(config, m_usbsnd, 0, m_maincpu).add_route(ALL_OUTPUTS, "speaker", 1.0); MACHINE_CONFIG_END diff --git a/src/mame/drivers/segag80v.cpp b/src/mame/drivers/segag80v.cpp index 19e5b5e2639..9e085848812 100644 --- a/src/mame/drivers/segag80v.cpp +++ b/src/mame/drivers/segag80v.cpp @@ -958,23 +958,22 @@ MACHINE_CONFIG_START(segag80v_state::zektor) MACHINE_CONFIG_END -MACHINE_CONFIG_START(segag80v_state::tacscan) +void segag80v_state::tacscan(machine_config &config) +{ g80v_base(config); /* universal sound board */ - MCFG_SEGAUSB_ADD("usbsnd", "maincpu") -MACHINE_CONFIG_END + SEGAUSB(config, m_usb, 0, m_maincpu).add_route(ALL_OUTPUTS, "speaker", 1.0); +} -MACHINE_CONFIG_START(segag80v_state::startrek) - g80v_base(config); +void segag80v_state::startrek(machine_config &config) +{ + tacscan(config); /* speech board */ sega_speech_board(config); - - /* universal sound board */ - MCFG_SEGAUSB_ADD("usbsnd", "maincpu") -MACHINE_CONFIG_END +} diff --git a/src/mame/drivers/sengokmj.cpp b/src/mame/drivers/sengokmj.cpp index c19c8c990ed..3c575ae739c 100644 --- a/src/mame/drivers/sengokmj.cpp +++ b/src/mame/drivers/sengokmj.cpp @@ -617,11 +617,12 @@ MACHINE_CONFIG_START(sengokmj_state::sengokmj) MCFG_DEVICE_ADD("oki", OKIM6295, 1320000, okim6295_device::PIN7_LOW) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) - MCFG_DEVICE_ADD("seibu_sound", SEIBU_SOUND, 0) - MCFG_SEIBU_SOUND_CPU("audiocpu") - MCFG_SEIBU_SOUND_ROMBANK("seibu_bank1") - MCFG_SEIBU_SOUND_YM_READ_CB(READ8("ymsnd", ym3812_device, read)) - MCFG_SEIBU_SOUND_YM_WRITE_CB(WRITE8("ymsnd", ym3812_device, write)) + seibu_sound_device &seibu_sound(SEIBU_SOUND(config, "seibu_sound", 0)); + seibu_sound.int_callback().set_inputline("audiocpu", 0); + seibu_sound.set_rom_tag("audiocpu"); + seibu_sound.set_rombank_tag("seibu_bank1"); + seibu_sound.ym_read_callback().set("ymsnd", FUNC(ym3812_device::read)); + seibu_sound.ym_write_callback().set("ymsnd", FUNC(ym3812_device::write)); MACHINE_CONFIG_END diff --git a/src/mame/drivers/shanghai.cpp b/src/mame/drivers/shanghai.cpp index ac4a70008f7..73194377012 100644 --- a/src/mame/drivers/shanghai.cpp +++ b/src/mame/drivers/shanghai.cpp @@ -507,14 +507,14 @@ MACHINE_CONFIG_START(shanghai_state::kothello) ymsnd.port_b_read_callback().set_ioport("DSW2"); ymsnd.add_route(ALL_OUTPUTS, "mono", 0.15); - MCFG_DEVICE_ADD("seibu_sound", SEIBU_SOUND, 0) - MCFG_SEIBU_SOUND_CPU("audiocpu") - MCFG_SEIBU_SOUND_ROMBANK("seibu_bank1") - MCFG_SEIBU_SOUND_YM_READ_CB(READ8("ymsnd", ym2203_device, read)) - MCFG_SEIBU_SOUND_YM_WRITE_CB(WRITE8("ymsnd", ym2203_device, write)) - - MCFG_DEVICE_ADD("adpcm", SEIBU_ADPCM, 8000) // actually MSM5205 - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80) + seibu_sound_device &seibu_sound(SEIBU_SOUND(config, "seibu_sound", 0)); + seibu_sound.int_callback().set_inputline("audiocpu", 0); + seibu_sound.set_rom_tag("audiocpu"); + seibu_sound.set_rombank_tag("seibu_bank1"); + seibu_sound.ym_read_callback().set("ymsnd", FUNC(ym2203_device::read)); + seibu_sound.ym_write_callback().set("ymsnd", FUNC(ym2203_device::write)); + + SEIBU_ADPCM(config, "adpcm", 8000).add_route(ALL_OUTPUTS, "mono", 0.80); // actually MSM5205 MACHINE_CONFIG_END /*************************************************************************** diff --git a/src/mame/drivers/skullxbo.cpp b/src/mame/drivers/skullxbo.cpp index cbe3436ccad..881b0d30157 100644 --- a/src/mame/drivers/skullxbo.cpp +++ b/src/mame/drivers/skullxbo.cpp @@ -259,9 +259,10 @@ MACHINE_CONFIG_START(skullxbo_state::skullxbo) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_ATARI_JSA_II_ADD("jsa", INPUTLINE("maincpu", M68K_IRQ_4)) - MCFG_ATARI_JSA_TEST_PORT("FF5802", 7) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + ATARI_JSA_II(config, m_jsa, 0); + m_jsa->main_int_cb().set_inputline(m_maincpu, M68K_IRQ_4); + m_jsa->test_read_cb().set_ioport("FF5802").bit(7); + m_jsa->add_route(ALL_OUTPUTS, "mono", 1.0); MACHINE_CONFIG_END diff --git a/src/mame/drivers/slapshot.cpp b/src/mame/drivers/slapshot.cpp index ea0554982c6..5d77a50d950 100644 --- a/src/mame/drivers/slapshot.cpp +++ b/src/mame/drivers/slapshot.cpp @@ -498,9 +498,9 @@ MACHINE_CONFIG_START(slapshot_state::slapshot) MCFG_DEVICE_ADD("mk48t08", MK48T08, 0) - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("maincpu") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + TC0140SYT(config, m_tc0140syt, 0); + m_tc0140syt->set_master_tag(m_maincpu); + m_tc0140syt->set_slave_tag("audiocpu"); MACHINE_CONFIG_END MACHINE_CONFIG_START(slapshot_state::opwolf3) @@ -567,9 +567,9 @@ MACHINE_CONFIG_START(slapshot_state::opwolf3) MCFG_DEVICE_ADD("mk48t08", MK48T08, 0) - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("maincpu") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + TC0140SYT(config, m_tc0140syt, 0); + m_tc0140syt->set_master_tag(m_maincpu); + m_tc0140syt->set_slave_tag("audiocpu"); MACHINE_CONFIG_END /*************************************************************************** diff --git a/src/mame/drivers/svision.cpp b/src/mame/drivers/svision.cpp index bc61757ba84..f1a0f0472c7 100644 --- a/src/mame/drivers/svision.cpp +++ b/src/mame/drivers/svision.cpp @@ -505,10 +505,10 @@ MACHINE_CONFIG_START(svision_state::svision_base) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD(m_sound, SVISION_SND, 4000000, m_maincpu, m_bank1) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.50) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.50) - MCFG_SVISION_SOUND_IRQ_CALLBACK(WRITELINE(*this, svision_state, sound_irq_w)); + SVISION_SND(config, m_sound, 4000000, m_maincpu, m_bank1); + m_sound->add_route(0, "lspeaker", 0.50); + m_sound->add_route(1, "rspeaker", 0.50); + m_sound->irq_cb().set(FUNC(svision_state::sound_irq_w)); MCFG_GENERIC_CARTSLOT_ADD(m_cart, generic_plain_slot, "svision_cart") MCFG_GENERIC_EXTENSIONS("bin,ws,sv") diff --git a/src/mame/drivers/taito_b.cpp b/src/mame/drivers/taito_b.cpp index 3482b979065..469b22787de 100644 --- a/src/mame/drivers/taito_b.cpp +++ b/src/mame/drivers/taito_b.cpp @@ -1780,9 +1780,9 @@ MACHINE_CONFIG_START(taitob_state::rastsag2) MCFG_SOUND_ROUTE(1, "mono", 1.0) MCFG_SOUND_ROUTE(2, "mono", 1.0) - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("maincpu") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0)); + tc0140syt.set_master_tag(m_maincpu); + tc0140syt.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END @@ -1839,9 +1839,9 @@ MACHINE_CONFIG_START(taitob_state::masterw) ymsnd.add_route(2, "mono", 0.25); ymsnd.add_route(3, "mono", 0.80); - MCFG_DEVICE_ADD("ciu", PC060HA, 0) - MCFG_PC060HA_MASTER_CPU("maincpu") - MCFG_PC060HA_SLAVE_CPU("audiocpu") + pc060ha_device &ciu(PC060HA(config, "ciu", 0)); + ciu.set_master_tag(m_maincpu); + ciu.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END @@ -1915,9 +1915,9 @@ MACHINE_CONFIG_START(taitob_state::ashura) MCFG_SOUND_ROUTE(1, "mono", 1.0) MCFG_SOUND_ROUTE(2, "mono", 1.0) - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("maincpu") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0)); + tc0140syt.set_master_tag(m_maincpu); + tc0140syt.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END @@ -1973,9 +1973,9 @@ MACHINE_CONFIG_START(taitob_state::crimec) MCFG_SOUND_ROUTE(1, "mono", 1.0) MCFG_SOUND_ROUTE(2, "mono", 1.0) - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("maincpu") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0)); + tc0140syt.set_master_tag(m_maincpu); + tc0140syt.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END @@ -2036,9 +2036,9 @@ MACHINE_CONFIG_START(taitob_state::hitice) MCFG_DEVICE_ADD("oki", OKIM6295, 1056000, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) - MCFG_DEVICE_ADD("ciu", PC060HA, 0) - MCFG_PC060HA_MASTER_CPU("maincpu") - MCFG_PC060HA_SLAVE_CPU("audiocpu") + pc060ha_device &ciu(PC060HA(config, "ciu", 0)); + ciu.set_master_tag(m_maincpu); + ciu.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END @@ -2094,9 +2094,9 @@ MACHINE_CONFIG_START(taitob_state::rambo3p) MCFG_SOUND_ROUTE(1, "mono", 1.0) MCFG_SOUND_ROUTE(2, "mono", 1.0) - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("maincpu") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0)); + tc0140syt.set_master_tag(m_maincpu); + tc0140syt.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END @@ -2151,9 +2151,9 @@ MACHINE_CONFIG_START(taitob_state::rambo3) MCFG_SOUND_ROUTE(1, "mono", 1.0) MCFG_SOUND_ROUTE(2, "mono", 1.0) - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("maincpu") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0)); + tc0140syt.set_master_tag(m_maincpu); + tc0140syt.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END @@ -2214,9 +2214,9 @@ MACHINE_CONFIG_START(taitob_state::pbobble) MCFG_SOUND_ROUTE(1, "mono", 1.0) MCFG_SOUND_ROUTE(2, "mono", 1.0) - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("maincpu") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0)); + tc0140syt.set_master_tag(m_maincpu); + tc0140syt.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END @@ -2277,9 +2277,9 @@ MACHINE_CONFIG_START(taitob_state::spacedx) MCFG_SOUND_ROUTE(1, "mono", 1.0) MCFG_SOUND_ROUTE(2, "mono", 1.0) - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("maincpu") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0)); + tc0140syt.set_master_tag(m_maincpu); + tc0140syt.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END @@ -2334,9 +2334,9 @@ MACHINE_CONFIG_START(taitob_state::spacedxo) MCFG_SOUND_ROUTE(1, "mono", 1.0) MCFG_SOUND_ROUTE(2, "mono", 1.0) - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("maincpu") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0)); + tc0140syt.set_master_tag(m_maincpu); + tc0140syt.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END @@ -2397,9 +2397,9 @@ MACHINE_CONFIG_START(taitob_state::qzshowby) MCFG_SOUND_ROUTE(1, "mono", 1.0) MCFG_SOUND_ROUTE(2, "mono", 1.0) - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("maincpu") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0)); + tc0140syt.set_master_tag(m_maincpu); + tc0140syt.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END @@ -2459,9 +2459,9 @@ MACHINE_CONFIG_START(taitob_state::viofight) MCFG_DEVICE_ADD("oki", OKIM6295, 4.224_MHz_XTAL / 4, okim6295_device::PIN7_HIGH) // 1.056MHz clock frequency, but pin 7 not verified MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) - MCFG_DEVICE_ADD("ciu", PC060HA, 0) - MCFG_PC060HA_MASTER_CPU("maincpu") - MCFG_PC060HA_SLAVE_CPU("audiocpu") + pc060ha_device &ciu(PC060HA(config, "ciu", 0)); + ciu.set_master_tag(m_maincpu); + ciu.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END @@ -2516,9 +2516,9 @@ MACHINE_CONFIG_START(taitob_state::silentd) MCFG_SOUND_ROUTE(1, "mono", 1.0) MCFG_SOUND_ROUTE(2, "mono", 1.0) - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("maincpu") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0)); + tc0140syt.set_master_tag(m_maincpu); + tc0140syt.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END @@ -2573,9 +2573,9 @@ MACHINE_CONFIG_START(taitob_state::selfeena) MCFG_SOUND_ROUTE(1, "mono", 1.0) MCFG_SOUND_ROUTE(2, "mono", 1.0) - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("maincpu") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0)); + tc0140syt.set_master_tag(m_maincpu); + tc0140syt.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END #if 0 @@ -2639,9 +2639,9 @@ MACHINE_CONFIG_START(taitob_state::ryujin) MCFG_SOUND_ROUTE(1, "mono", 1.0) MCFG_SOUND_ROUTE(2, "mono", 1.0) - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("maincpu") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0)); + tc0140syt.set_master_tag(m_maincpu); + tc0140syt.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END #if 0 @@ -2703,9 +2703,9 @@ MACHINE_CONFIG_START(taitob_state::sbm) MCFG_SOUND_ROUTE(1, "mono", 1.0) MCFG_SOUND_ROUTE(2, "mono", 1.0) - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("maincpu") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0)); + tc0140syt.set_master_tag(m_maincpu); + tc0140syt.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END MACHINE_CONFIG_START(taitob_c_state::realpunc) @@ -2761,9 +2761,9 @@ MACHINE_CONFIG_START(taitob_c_state::realpunc) MCFG_SOUND_ROUTE(1, "mono", 1.0) MCFG_SOUND_ROUTE(2, "mono", 1.0) - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("maincpu") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0)); + tc0140syt.set_master_tag(m_maincpu); + tc0140syt.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END /*************************************************************************** diff --git a/src/mame/drivers/taito_f2.cpp b/src/mame/drivers/taito_f2.cpp index 41436d1b3ee..7b9b1aaac33 100644 --- a/src/mame/drivers/taito_f2.cpp +++ b/src/mame/drivers/taito_f2.cpp @@ -2889,9 +2889,9 @@ MACHINE_CONFIG_START(taitof2_state::taito_f2) MCFG_SOUND_ROUTE(1, "lspeaker", 1.0) MCFG_SOUND_ROUTE(2, "rspeaker", 1.0) - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("maincpu") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0)); + tc0140syt.set_master_tag(m_maincpu); + tc0140syt.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END MACHINE_CONFIG_START(taitof2_state::taito_f2_tc0220ioc ) @@ -3799,9 +3799,9 @@ MACHINE_CONFIG_START(taitof2_state::cameltrya) MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(4'224'000)/4, okim6295_device::PIN7_HIGH) /* verified on pcb */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.10) - MCFG_DEVICE_ADD("ciu", PC060HA, 0) - MCFG_PC060HA_MASTER_CPU("maincpu") - MCFG_PC060HA_SLAVE_CPU("audiocpu") + pc060ha_device &ciu(PC060HA(config, "ciu", 0)); + ciu.set_master_tag(m_maincpu); + ciu.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END @@ -3862,9 +3862,9 @@ MACHINE_CONFIG_START(taitof2_state::driveout) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("maincpu") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0)); + tc0140syt.set_master_tag(m_maincpu); + tc0140syt.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END diff --git a/src/mame/drivers/taito_h.cpp b/src/mame/drivers/taito_h.cpp index 74af09f8b44..1f1dd869f4e 100644 --- a/src/mame/drivers/taito_h.cpp +++ b/src/mame/drivers/taito_h.cpp @@ -694,9 +694,9 @@ MACHINE_CONFIG_START(taitoh_state::syvalion) MCFG_SOUND_ROUTE(1, "mono", 1.0) MCFG_SOUND_ROUTE(2, "mono", 1.0) - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("maincpu") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0)); + tc0140syt.set_master_tag(m_maincpu); + tc0140syt.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END @@ -750,9 +750,9 @@ MACHINE_CONFIG_START(taitoh_state::recordbr) MCFG_SOUND_ROUTE(1, "mono", 1.0) MCFG_SOUND_ROUTE(2, "mono", 1.0) - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("maincpu") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0)); + tc0140syt.set_master_tag(m_maincpu); + tc0140syt.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END @@ -817,9 +817,9 @@ MACHINE_CONFIG_START(taitoh_state::dleague) MCFG_SOUND_ROUTE(1, "mono", 1.0) MCFG_SOUND_ROUTE(2, "mono", 1.0) - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("maincpu") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0)); + tc0140syt.set_master_tag(m_maincpu); + tc0140syt.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END diff --git a/src/mame/drivers/taito_l.cpp b/src/mame/drivers/taito_l.cpp index d142e73ec63..b25abd27916 100644 --- a/src/mame/drivers/taito_l.cpp +++ b/src/mame/drivers/taito_l.cpp @@ -1518,9 +1518,9 @@ MACHINE_CONFIG_START(fhawk_state::fhawk) ymsnd.add_route(2, "mono", 0.20); ymsnd.add_route(3, "mono", 0.80); - MCFG_DEVICE_ADD("ciu", PC060HA, 0) - MCFG_PC060HA_MASTER_CPU("slave") - MCFG_PC060HA_SLAVE_CPU("audiocpu") + pc060ha_device &ciu(PC060HA(config, "ciu", 0)); + ciu.set_master_tag("slave"); + ciu.set_slave_tag(m_audio_cpu); MACHINE_CONFIG_END @@ -1588,9 +1588,9 @@ MACHINE_CONFIG_START(taitol_2cpu_state::raimais) ymsnd.add_route(1, "mono", 1.0); ymsnd.add_route(2, "mono", 1.0); - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("slave") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0)); + tc0140syt.set_master_tag("slave"); + tc0140syt.set_slave_tag(m_audio_cpu); MACHINE_CONFIG_END diff --git a/src/mame/drivers/taito_x.cpp b/src/mame/drivers/taito_x.cpp index f0280a07e32..ef42d027573 100644 --- a/src/mame/drivers/taito_x.cpp +++ b/src/mame/drivers/taito_x.cpp @@ -878,9 +878,9 @@ MACHINE_CONFIG_START(taitox_state::superman) MCFG_SOUND_ROUTE(1, "lspeaker", 1.0) MCFG_SOUND_ROUTE(2, "rspeaker", 1.0) - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("maincpu") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0)); + tc0140syt.set_master_tag(m_maincpu); + tc0140syt.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END MACHINE_CONFIG_START(taitox_state::daisenpu) @@ -924,9 +924,9 @@ MACHINE_CONFIG_START(taitox_state::daisenpu) 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") - MCFG_PC060HA_SLAVE_CPU("audiocpu") + pc060ha_device &ciu(PC060HA(config, "ciu", 0)); + ciu.set_master_tag(m_maincpu); + ciu.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END MACHINE_CONFIG_START(taitox_state::gigandes) @@ -972,9 +972,9 @@ MACHINE_CONFIG_START(taitox_state::gigandes) MCFG_SOUND_ROUTE(1, "lspeaker", 1.0) MCFG_SOUND_ROUTE(2, "rspeaker", 1.0) - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("maincpu") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0)); + tc0140syt.set_master_tag(m_maincpu); + tc0140syt.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END MACHINE_CONFIG_START(taitox_state::ballbros) @@ -1020,9 +1020,9 @@ MACHINE_CONFIG_START(taitox_state::ballbros) MCFG_SOUND_ROUTE(1, "lspeaker", 1.0) MCFG_SOUND_ROUTE(2, "rspeaker", 1.0) - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("maincpu") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0)); + tc0140syt.set_master_tag(m_maincpu); + tc0140syt.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END MACHINE_CONFIG_START(taitox_state::kyustrkr) diff --git a/src/mame/drivers/taito_z.cpp b/src/mame/drivers/taito_z.cpp index 28af9ac056d..5f53d8195d9 100644 --- a/src/mame/drivers/taito_z.cpp +++ b/src/mame/drivers/taito_z.cpp @@ -3247,9 +3247,9 @@ MACHINE_CONFIG_START(taitoz_state::contcirc) FILTER_VOLUME(config, "2610.2.r").add_route(ALL_OUTPUTS, "rear", 1.0); FILTER_VOLUME(config, "2610.2.l").add_route(ALL_OUTPUTS, "front", 1.0); - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("sub") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + TC0140SYT(config, m_tc0140syt, 0); + m_tc0140syt->set_master_tag(m_subcpu); + m_tc0140syt->set_slave_tag(m_audiocpu); MACHINE_CONFIG_END @@ -3321,9 +3321,9 @@ MACHINE_CONFIG_START(taitoz_state::chasehq) FILTER_VOLUME(config, "2610.2.r").add_route(ALL_OUTPUTS, "rear", 1.0); FILTER_VOLUME(config, "2610.2.l").add_route(ALL_OUTPUTS, "front", 1.0); - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("sub") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + TC0140SYT(config, m_tc0140syt, 0); + m_tc0140syt->set_master_tag(m_subcpu); + m_tc0140syt->set_slave_tag(m_audiocpu); MACHINE_CONFIG_END @@ -3397,9 +3397,9 @@ MACHINE_CONFIG_START(taitoz_state::enforce) FILTER_VOLUME(config, "2610.2.r").add_route(ALL_OUTPUTS, "rspeaker", 1.0); FILTER_VOLUME(config, "2610.2.l").add_route(ALL_OUTPUTS, "lspeaker", 1.0); - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("sub") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + TC0140SYT(config, m_tc0140syt, 0); + m_tc0140syt->set_master_tag(m_subcpu); + m_tc0140syt->set_slave_tag(m_audiocpu); MACHINE_CONFIG_END MACHINE_CONFIG_START(taitoz_state::bshark_base) @@ -3554,9 +3554,9 @@ MACHINE_CONFIG_START(taitoz_state::sci) FILTER_VOLUME(config, "2610.2.r").add_route(ALL_OUTPUTS, "rspeaker", 1.0); FILTER_VOLUME(config, "2610.2.l").add_route(ALL_OUTPUTS, "lspeaker", 1.0); - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("sub") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + TC0140SYT(config, m_tc0140syt, 0); + m_tc0140syt->set_master_tag(m_subcpu); + m_tc0140syt->set_slave_tag(m_audiocpu); MACHINE_CONFIG_END @@ -3637,9 +3637,9 @@ MACHINE_CONFIG_START(taitoz_state::nightstr) FILTER_VOLUME(config, "2610.2.r").add_route(ALL_OUTPUTS, "rear", 1.0); FILTER_VOLUME(config, "2610.2.l").add_route(ALL_OUTPUTS, "front", 1.0); - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("sub") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + TC0140SYT(config, m_tc0140syt, 0); + m_tc0140syt->set_master_tag(m_subcpu); + m_tc0140syt->set_slave_tag(m_audiocpu); MACHINE_CONFIG_END @@ -3713,9 +3713,9 @@ MACHINE_CONFIG_START(taitoz_state::aquajack) FILTER_VOLUME(config, "2610.2.r").add_route(ALL_OUTPUTS, "rspeaker", 1.0); FILTER_VOLUME(config, "2610.2.l").add_route(ALL_OUTPUTS, "lspeaker", 1.0); - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("sub") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + TC0140SYT(config, m_tc0140syt, 0); + m_tc0140syt->set_master_tag(m_subcpu); + m_tc0140syt->set_slave_tag(m_audiocpu); MACHINE_CONFIG_END @@ -3862,9 +3862,9 @@ MACHINE_CONFIG_START(taitoz_state::dblaxle) FILTER_VOLUME(config, "2610.2.r").add_route(ALL_OUTPUTS, "rspeaker", 1.0); FILTER_VOLUME(config, "2610.2.l").add_route(ALL_OUTPUTS, "lspeaker", 1.0); - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("sub") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + TC0140SYT(config, m_tc0140syt, 0); + m_tc0140syt->set_master_tag(m_subcpu); + m_tc0140syt->set_slave_tag(m_audiocpu); MACHINE_CONFIG_END @@ -3935,9 +3935,9 @@ MACHINE_CONFIG_START(taitoz_state::racingb) FILTER_VOLUME(config, "2610.2.r").add_route(ALL_OUTPUTS, "rspeaker", 1.0); FILTER_VOLUME(config, "2610.2.l").add_route(ALL_OUTPUTS, "lspeaker", 1.0); - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("sub") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + TC0140SYT(config, m_tc0140syt, 0); + m_tc0140syt->set_master_tag(m_subcpu); + m_tc0140syt->set_slave_tag(m_audiocpu); MACHINE_CONFIG_END diff --git a/src/mame/drivers/taitoair.cpp b/src/mame/drivers/taitoair.cpp index 5973c5b82e5..5e1ad21fd31 100644 --- a/src/mame/drivers/taitoair.cpp +++ b/src/mame/drivers/taitoair.cpp @@ -761,9 +761,9 @@ MACHINE_CONFIG_START(taitoair_state::airsys) MCFG_SOUND_ROUTE(1, "mono", 0.60) MCFG_SOUND_ROUTE(2, "mono", 0.60) - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("maincpu") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0)); + tc0140syt.set_master_tag(m_maincpu); + tc0140syt.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END diff --git a/src/mame/drivers/thunderj.cpp b/src/mame/drivers/thunderj.cpp index 454eadf302f..fcb435d9f19 100644 --- a/src/mame/drivers/thunderj.cpp +++ b/src/mame/drivers/thunderj.cpp @@ -278,9 +278,10 @@ MACHINE_CONFIG_START(thunderj_state::thunderj) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_ATARI_JSA_II_ADD("jsa", INPUTLINE("maincpu", M68K_IRQ_6)) - MCFG_ATARI_JSA_TEST_PORT("260012", 1) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + ATARI_JSA_II(config, m_jsa, 0); + m_jsa->main_int_cb().set_inputline(m_maincpu, M68K_IRQ_6); + m_jsa->test_read_cb().set_ioport("260012").bit(1); + m_jsa->add_route(ALL_OUTPUTS, "mono", 1.0); MACHINE_CONFIG_END diff --git a/src/mame/drivers/toki.cpp b/src/mame/drivers/toki.cpp index d763090e806..bbfa168650a 100644 --- a/src/mame/drivers/toki.cpp +++ b/src/mame/drivers/toki.cpp @@ -504,8 +504,7 @@ MACHINE_CONFIG_START(toki_state::toki) /* KOYO 20.000MHz near the cpu */ MCFG_DEVICE_OPCODES_MAP(toki_audio_opcodes_map) MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("seibu_sound", seibu_sound_device, im0_vector_cb) - MCFG_DEVICE_ADD("sei80bu", SEI80BU, 0) - MCFG_DEVICE_ROM("audiocpu") + SEI80BU(config, "sei80bu", 0).set_device_rom_tag("audiocpu"); /* video hardware */ MCFG_DEVICE_ADD("spriteram", BUFFERED_SPRITERAM16) @@ -532,16 +531,17 @@ MACHINE_CONFIG_START(toki_state::toki) /* KOYO 20.000MHz near the cpu */ MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(12'000'000)/12, okim6295_device::PIN7_HIGH) // verified on pcb MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) - MCFG_DEVICE_ADD("seibu_sound", SEIBU_SOUND, 0) - MCFG_SEIBU_SOUND_CPU("audiocpu") - MCFG_SEIBU_SOUND_ROMBANK("seibu_bank1") - MCFG_SEIBU_SOUND_YM_READ_CB(READ8("ymsnd", ym3812_device, read)) - MCFG_SEIBU_SOUND_YM_WRITE_CB(WRITE8("ymsnd", ym3812_device, write)) + SEIBU_SOUND(config, m_seibu_sound, 0); + m_seibu_sound->int_callback().set_inputline(m_audiocpu, 0); + m_seibu_sound->set_rom_tag(m_audiocpu_rom); + m_seibu_sound->set_rombank_tag("seibu_bank1"); + m_seibu_sound->ym_read_callback().set("ymsnd", FUNC(ym3812_device::read)); + m_seibu_sound->ym_write_callback().set("ymsnd", FUNC(ym3812_device::write)); MACHINE_CONFIG_END MACHINE_CONFIG_START(toki_state::jujuba) toki(config); - MCFG_DEVICE_REMOVE("sei80bu") + config.device_remove("sei80bu"); MCFG_DEVICE_MODIFY("audiocpu") MCFG_DEVICE_PROGRAM_MAP(jujuba_audio_map) diff --git a/src/mame/drivers/toobin.cpp b/src/mame/drivers/toobin.cpp index 9680b31309d..3d20b1a0730 100644 --- a/src/mame/drivers/toobin.cpp +++ b/src/mame/drivers/toobin.cpp @@ -231,11 +231,12 @@ MACHINE_CONFIG_START(toobin_state::toobin) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_ATARI_JSA_I_ADD("jsa", WRITELINE(*this, toobin_state, sound_int_write_line)) - MCFG_ATARI_JSA_TEST_PORT("FF9000", 12) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) - MCFG_DEVICE_REMOVE("jsa:tms") + ATARI_JSA_I(config, m_jsa, 0); + m_jsa->main_int_cb().set(FUNC(toobin_state::sound_int_write_line)); + m_jsa->test_read_cb().set_ioport("FF9000").bit(12); + m_jsa->add_route(0, "lspeaker", 1.0); + m_jsa->add_route(1, "rspeaker", 1.0); + config.device_remove("jsa:tms"); MACHINE_CONFIG_END diff --git a/src/mame/drivers/topspeed.cpp b/src/mame/drivers/topspeed.cpp index 625952c3149..169ea82ffc3 100644 --- a/src/mame/drivers/topspeed.cpp +++ b/src/mame/drivers/topspeed.cpp @@ -595,9 +595,9 @@ MACHINE_CONFIG_START(topspeed_state::topspeed) MCFG_PC080SN_OFFSETS(0, 8) MCFG_PC080SN_GFXDECODE("gfxdecode") - MCFG_DEVICE_ADD("ciu", PC060HA, 0) - MCFG_PC060HA_MASTER_CPU("maincpu") - MCFG_PC060HA_SLAVE_CPU("audiocpu") + pc060ha_device &ciu(PC060HA(config, "ciu", 0)); + ciu.set_master_tag(m_maincpu); + ciu.set_slave_tag(m_audiocpu); TC0040IOC(config, m_tc0040ioc, 0); m_tc0040ioc->read_0_callback().set_ioport("DSWA"); diff --git a/src/mame/drivers/tvc.cpp b/src/mame/drivers/tvc.cpp index 709891e1542..bebe32faa9f 100644 --- a/src/mame/drivers/tvc.cpp +++ b/src/mame/drivers/tvc.cpp @@ -795,9 +795,9 @@ MACHINE_CONFIG_START(tvc_state::tvc) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("custom", TVC_SOUND, 0) - MCFG_TVC_SOUND_SNDINT_CALLBACK(WRITELINE(*this, tvc_state, int_ff_set)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75) + TVC_SOUND(config, m_sound, 0); + m_sound->sndint_wr_callback().set(FUNC(tvc_state::int_ff_set)); + m_sound->add_route(ALL_OUTPUTS, "mono", 0.75); MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer") MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(*this, tvc_state, centronics_ack)) diff --git a/src/mame/drivers/vicdual.cpp b/src/mame/drivers/vicdual.cpp index 539ccd3e326..d639d393048 100644 --- a/src/mame/drivers/vicdual.cpp +++ b/src/mame/drivers/vicdual.cpp @@ -2613,7 +2613,7 @@ MACHINE_CONFIG_START(nsub_state::nsub) MCFG_MACHINE_RESET_OVERRIDE(nsub_state, nsub) /* audio hardware */ - MCFG_S97271P_ADD("s97271p") + S97271P(config, m_s97271p, 0); MACHINE_CONFIG_END diff --git a/src/mame/drivers/victory.cpp b/src/mame/drivers/victory.cpp index b71305b08a8..55feaf98659 100644 --- a/src/mame/drivers/victory.cpp +++ b/src/mame/drivers/victory.cpp @@ -241,7 +241,7 @@ MACHINE_CONFIG_START(victory_state::victory) /* audio hardware */ - MCFG_DEVICE_ADD("soundbd", EXIDY_VICTORY, 0) + EXIDY_VICTORY(config, "soundbd", 0); MACHINE_CONFIG_END diff --git a/src/mame/drivers/vindictr.cpp b/src/mame/drivers/vindictr.cpp index cf8e550b45b..c4cd67568dc 100644 --- a/src/mame/drivers/vindictr.cpp +++ b/src/mame/drivers/vindictr.cpp @@ -213,11 +213,12 @@ MACHINE_CONFIG_START(vindictr_state::vindictr) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_ATARI_JSA_I_ADD("jsa", INPUTLINE("maincpu", M68K_IRQ_6)) - MCFG_ATARI_JSA_TEST_PORT("260010", 1) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "lspeaker", 1.0) - MCFG_DEVICE_REMOVE("jsa:tms") + ATARI_JSA_I(config, m_jsa, 0); + m_jsa->main_int_cb().set_inputline(m_maincpu, M68K_IRQ_6); + m_jsa->test_read_cb().set_ioport("260010").bit(12); + m_jsa->add_route(0, "lspeaker", 1.0); + m_jsa->add_route(1, "rspeaker", 1.0); + config.device_remove("jsa:tms"); MACHINE_CONFIG_END diff --git a/src/mame/drivers/volfied.cpp b/src/mame/drivers/volfied.cpp index 287d5f7af39..47c3745104f 100644 --- a/src/mame/drivers/volfied.cpp +++ b/src/mame/drivers/volfied.cpp @@ -289,9 +289,9 @@ MACHINE_CONFIG_START(volfied_state::volfied) ymsnd.add_route(2, "mono", 0.15); ymsnd.add_route(3, "mono", 0.60); - MCFG_DEVICE_ADD("ciu", PC060HA, 0) - MCFG_PC060HA_MASTER_CPU("maincpu") - MCFG_PC060HA_SLAVE_CPU("audiocpu") + pc060ha_device &ciu(PC060HA(config, "ciu", 0)); + ciu.set_master_tag(m_maincpu); + ciu.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END diff --git a/src/mame/drivers/warriorb.cpp b/src/mame/drivers/warriorb.cpp index f2bd0bdbe3a..2e1f9a6a816 100644 --- a/src/mame/drivers/warriorb.cpp +++ b/src/mame/drivers/warriorb.cpp @@ -513,9 +513,9 @@ MACHINE_CONFIG_START(warriorb_state::darius2d) FILTER_VOLUME(config, "2610.2.l").add_route(ALL_OUTPUTS, "lspeaker", 1.0); FILTER_VOLUME(config, "2610.2.r").add_route(ALL_OUTPUTS, "rspeaker", 1.0); - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("maincpu") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + TC0140SYT(config, m_tc0140syt, 0); + m_tc0140syt->set_master_tag(m_maincpu); + m_tc0140syt->set_slave_tag("audiocpu"); MACHINE_CONFIG_END @@ -598,9 +598,9 @@ MACHINE_CONFIG_START(warriorb_state::warriorb) FILTER_VOLUME(config, "2610.2.l").add_route(ALL_OUTPUTS, "lspeaker", 1.0); FILTER_VOLUME(config, "2610.2.r").add_route(ALL_OUTPUTS, "rspeaker", 1.0); - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("maincpu") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + TC0140SYT(config, m_tc0140syt, 0); + m_tc0140syt->set_master_tag(m_maincpu); + m_tc0140syt->set_slave_tag("audiocpu"); MACHINE_CONFIG_END diff --git a/src/mame/drivers/wgp.cpp b/src/mame/drivers/wgp.cpp index 9774b15cbd7..db1fbfd3fbe 100644 --- a/src/mame/drivers/wgp.cpp +++ b/src/mame/drivers/wgp.cpp @@ -967,9 +967,9 @@ MACHINE_CONFIG_START(wgp_state::wgp) MCFG_SOUND_ROUTE(1, "lspeaker", 1.0) MCFG_SOUND_ROUTE(2, "rspeaker", 1.0) - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("sub") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + TC0140SYT(config, m_tc0140syt, 0); + m_tc0140syt->set_master_tag(m_subcpu); + m_tc0140syt->set_slave_tag(m_audiocpu); MACHINE_CONFIG_END diff --git a/src/mame/drivers/whitestar.cpp b/src/mame/drivers/whitestar.cpp index ba9d842bb5d..4778c7837ab 100644 --- a/src/mame/drivers/whitestar.cpp +++ b/src/mame/drivers/whitestar.cpp @@ -120,7 +120,7 @@ MACHINE_CONFIG_START(whitestar_state::whitestar) MCFG_DEVICE_PERIODIC_INT_DRIVER(whitestar_state, whitestar_firq_interrupt, 976) // value taken from PinMAME /* sound hardware */ - MCFG_DECOBSMT_ADD(DECOBSMT_TAG) + DECOBSMT(config, m_decobsmt, 0); MCFG_DECODMD_TYPE2_ADD("decodmd",":dmdcpu") MACHINE_CONFIG_END diff --git a/src/mame/drivers/wpc_an.cpp b/src/mame/drivers/wpc_an.cpp index 317ccca254d..d3f70a8fb64 100644 --- a/src/mame/drivers/wpc_an.cpp +++ b/src/mame/drivers/wpc_an.cpp @@ -346,24 +346,26 @@ MACHINE_CONFIG_START(wpc_an_state::wpc_an_base) config.set_default_layout(layout_wpc_an); MACHINE_CONFIG_END -MACHINE_CONFIG_START(wpc_an_state::wpc_an) +void wpc_an_state::wpc_an(machine_config &config) +{ wpc_an_base(config); SPEAKER(config, "speaker").front_center(); - MCFG_DEVICE_ADD("wpcsnd", WPCSND) - MCFG_WPC_ROM_REGION("sound1") - MCFG_WPC_SOUND_REPLY_CALLBACK(WRITELINE(*this, wpc_an_state,wpcsnd_reply_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) -MACHINE_CONFIG_END + WPCSND(config, m_wpcsnd); + m_wpcsnd->set_romregion("sound1"); + m_wpcsnd->reply_callback().set(FUNC(wpc_an_state::wpcsnd_reply_w)); + m_wpcsnd->add_route(ALL_OUTPUTS, "speaker", 1.0); +} -MACHINE_CONFIG_START(wpc_an_state::wpc_an_dd) +void wpc_an_state::wpc_an_dd(machine_config &config) +{ wpc_an_base(config); SPEAKER(config, "speaker").front_center(); - MCFG_DEVICE_ADD("bg", S11C_BG) - MCFG_S11C_BG_ROM_REGION(":sound1") - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) -MACHINE_CONFIG_END + S11C_BG(config, m_bg); + m_bg->set_romregion("sound1"); + m_bg->add_route(ALL_OUTPUTS, "speaker", 1.0); +} /*----------------- / Dr. Dude #2016 diff --git a/src/mame/drivers/wpc_dot.cpp b/src/mame/drivers/wpc_dot.cpp index b1fe1de42a0..cb107306d37 100644 --- a/src/mame/drivers/wpc_dot.cpp +++ b/src/mame/drivers/wpc_dot.cpp @@ -306,10 +306,10 @@ MACHINE_CONFIG_START(wpc_dot_state::wpc_dot) MCFG_WPC_DMDBANK(WRITE8(*this, wpc_dot_state,wpc_dmdbank_w)) SPEAKER(config, "speaker").front_center(); - MCFG_DEVICE_ADD("wpcsnd", WPCSND) - MCFG_WPC_ROM_REGION("sound1") - MCFG_WPC_SOUND_REPLY_CALLBACK(WRITELINE(*this, wpc_dot_state,wpcsnd_reply_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) + WPCSND(config, m_wpcsnd); + m_wpcsnd->set_romregion("sound1"); + m_wpcsnd->reply_callback().set(FUNC(wpc_dot_state::wpcsnd_reply_w)); + m_wpcsnd->add_route(ALL_OUTPUTS, "speaker", 1.0); screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_native_aspect(); diff --git a/src/mame/drivers/wpc_flip1.cpp b/src/mame/drivers/wpc_flip1.cpp index 3a524f5e925..4c6e238c02c 100644 --- a/src/mame/drivers/wpc_flip1.cpp +++ b/src/mame/drivers/wpc_flip1.cpp @@ -172,10 +172,10 @@ MACHINE_CONFIG_START(wpc_flip1_state::wpc_flip1) MCFG_WPC_DMDBANK(WRITE8(*this, wpc_flip1_state,wpc_dmdbank_w)) SPEAKER(config, "speaker").front_center(); - MCFG_DEVICE_ADD("wpcsnd", WPCSND) - MCFG_WPC_ROM_REGION("sound1") - MCFG_WPC_SOUND_REPLY_CALLBACK(WRITELINE(*this, wpc_flip1_state,wpcsnd_reply_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) + WPCSND(config, m_wpcsnd); + m_wpcsnd->set_romregion("sound1"); + m_wpcsnd->reply_callback().set(FUNC(wpc_flip1_state::wpcsnd_reply_w)); + m_wpcsnd->add_route(ALL_OUTPUTS, "speaker", 1.0); screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_native_aspect(); diff --git a/src/mame/drivers/wpc_flip2.cpp b/src/mame/drivers/wpc_flip2.cpp index bd4a7e2eb62..00ce8370d3e 100644 --- a/src/mame/drivers/wpc_flip2.cpp +++ b/src/mame/drivers/wpc_flip2.cpp @@ -201,10 +201,10 @@ MACHINE_CONFIG_START(wpc_flip2_state::wpc_flip2) MCFG_WPC_DMDBANK(WRITE8(*this, wpc_flip2_state,wpc_dmdbank_w)) SPEAKER(config, "speaker").front_center(); - MCFG_DEVICE_ADD("wpcsnd", WPCSND) - MCFG_WPC_ROM_REGION("sound1") - MCFG_WPC_SOUND_REPLY_CALLBACK(WRITELINE(*this, wpc_flip2_state,wpcsnd_reply_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) + WPCSND(config, m_wpcsnd); + m_wpcsnd->set_romregion("sound1"); + m_wpcsnd->reply_callback().set(FUNC(wpc_flip2_state::wpcsnd_reply_w)); + m_wpcsnd->add_route(ALL_OUTPUTS, "speaker", 1.0); screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_native_aspect(); diff --git a/src/mame/drivers/xybots.cpp b/src/mame/drivers/xybots.cpp index e2776e33491..40d9889547a 100644 --- a/src/mame/drivers/xybots.cpp +++ b/src/mame/drivers/xybots.cpp @@ -210,12 +210,13 @@ MACHINE_CONFIG_START(xybots_state::xybots) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_ATARI_JSA_I_ADD("jsa", INPUTLINE("maincpu", M68K_IRQ_2)) - MCFG_ATARI_JSA_TEST_PORT("FFE200", 8) - MCFG_SOUND_ROUTE(0, "rspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "lspeaker", 1.0) - MCFG_DEVICE_REMOVE("jsa:pokey") - MCFG_DEVICE_REMOVE("jsa:tms") + ATARI_JSA_I(config, m_jsa, 0); + m_jsa->main_int_cb().set_inputline(m_maincpu, M68K_IRQ_2); + m_jsa->test_read_cb().set_ioport("FFE200").bit(8); + m_jsa->add_route(0, "rspeaker", 1.0); + m_jsa->add_route(1, "lspeaker", 1.0); + config.device_remove("jsa:pokey"); + config.device_remove("jsa:tms"); MACHINE_CONFIG_END diff --git a/src/mame/drivers/zaxxon.cpp b/src/mame/drivers/zaxxon.cpp index af814c7a61c..7bfe407bb8d 100644 --- a/src/mame/drivers/zaxxon.cpp +++ b/src/mame/drivers/zaxxon.cpp @@ -1011,7 +1011,7 @@ MACHINE_CONFIG_START(zaxxon_state::razmataze) MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes") MCFG_SEGACRPT_SET_SIZE(0x6000) - MCFG_DEVICE_REMOVE("ppi8255") + config.device_remove("ppi8255"); /* video hardware */ MCFG_VIDEO_START_OVERRIDE(zaxxon_state,razmataz) @@ -1020,7 +1020,7 @@ MACHINE_CONFIG_START(zaxxon_state::razmataze) /* sound hardware */ SPEAKER(config, "speaker").front_center(); - MCFG_SEGAUSBROM_ADD("usbsnd", "maincpu") + SEGAUSBROM(config, "usbsnd", 0, m_maincpu).add_route(ALL_OUTPUTS, "speaker", 1.0); MACHINE_CONFIG_END MACHINE_CONFIG_START(zaxxon_state::ixion) diff --git a/src/mame/drivers/zn.cpp b/src/mame/drivers/zn.cpp index 2b250e8602b..dc7bf9ec9d9 100644 --- a/src/mame/drivers/zn.cpp +++ b/src/mame/drivers/zn.cpp @@ -1163,9 +1163,9 @@ MACHINE_CONFIG_START(zn_state::coh1000ta) MB3773(config, "mb3773"); - MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0) - MCFG_TC0140SYT_MASTER_CPU("maincpu") - MCFG_TC0140SYT_SLAVE_CPU("audiocpu") + tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0)); + tc0140syt.set_master_tag(m_maincpu); + tc0140syt.set_slave_tag(m_audiocpu); MACHINE_CONFIG_END WRITE8_MEMBER(zn_state::fx1b_fram_w) diff --git a/src/mame/includes/s11c.h b/src/mame/includes/s11c.h index 539c01947fb..cabdfaf44b3 100644 --- a/src/mame/includes/s11c.h +++ b/src/mame/includes/s11c.h @@ -22,8 +22,10 @@ public: void init_s11c(); +protected: + virtual void machine_reset() override; + private: - DECLARE_MACHINE_RESET(s11c); void s11c_main_map(address_map &map); void s11c_audio_map(address_map &map); -- cgit v1.2.3