diff options
-rw-r--r-- | src/devices/bus/a2bus/a2midi.cpp | 10 | ||||
-rw-r--r-- | src/devices/bus/c64/midi_maplin.cpp | 10 | ||||
-rw-r--r-- | src/devices/bus/c64/midi_namesoft.cpp | 10 | ||||
-rw-r--r-- | src/devices/bus/c64/midi_passport.cpp | 10 | ||||
-rw-r--r-- | src/devices/bus/c64/midi_sci.cpp | 10 | ||||
-rw-r--r-- | src/devices/bus/c64/midi_siel.cpp | 10 | ||||
-rw-r--r-- | src/devices/bus/isa/gus.cpp | 10 | ||||
-rw-r--r-- | src/devices/bus/isa/p1_sound.cpp | 5 | ||||
-rw-r--r-- | src/devices/bus/midi/midi.h | 8 | ||||
-rw-r--r-- | src/devices/bus/midi/midiinport.cpp | 9 | ||||
-rw-r--r-- | src/devices/bus/midi/midioutport.cpp | 7 | ||||
-rw-r--r-- | src/devices/bus/msx_cart/bm_012.cpp | 12 | ||||
-rw-r--r-- | src/devices/bus/nes_ctrl/miracle.cpp | 10 | ||||
-rw-r--r-- | src/devices/bus/snes_ctrl/miracle.cpp | 10 | ||||
-rw-r--r-- | src/devices/bus/x68k/x68k_midi.cpp | 14 | ||||
-rw-r--r-- | src/devices/imagedev/midiin.h | 5 | ||||
-rw-r--r-- | src/devices/imagedev/midiout.h | 8 | ||||
-rw-r--r-- | src/devices/machine/mpu401.cpp | 10 | ||||
-rw-r--r-- | src/devices/video/pc_vga.cpp | 14 | ||||
-rw-r--r-- | src/devices/video/pc_vga.h | 15 | ||||
-rw-r--r-- | src/mame/drivers/fb01.cpp | 7 | ||||
-rw-r--r-- | src/mame/drivers/prophet600.cpp | 17 |
22 files changed, 94 insertions, 127 deletions
diff --git a/src/devices/bus/a2bus/a2midi.cpp b/src/devices/bus/a2bus/a2midi.cpp index 7f7cde4fd03..881e280225b 100644 --- a/src/devices/bus/a2bus/a2midi.cpp +++ b/src/devices/bus/a2bus/a2midi.cpp @@ -32,7 +32,8 @@ DEFINE_DEVICE_TYPE(A2BUS_MIDI, a2bus_midi_device, "a2midi", "6850 MIDI card") // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(a2bus_midi_device::device_add_mconfig) +void a2bus_midi_device::device_add_mconfig(machine_config &config) +{ PTM6840(config, m_ptm, 1021800); m_ptm->set_external_clocks(1021800.0f, 1021800.0f, 1021800.0f); m_ptm->irq_callback().set(FUNC(a2bus_midi_device::ptm_irq_w)); @@ -41,14 +42,13 @@ MACHINE_CONFIG_START(a2bus_midi_device::device_add_mconfig) m_acia->txd_handler().set("mdout", FUNC(midi_port_device::write_txd)); m_acia->irq_handler().set(FUNC(a2bus_midi_device::acia_irq_w)); - MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") - MCFG_MIDI_RX_HANDLER(WRITELINE(MIDI_ACIA_TAG, acia6850_device, write_rxd)) + MIDI_PORT(config, "mdin", midiin_slot, "midiin").rxd_handler().set(m_acia, FUNC(acia6850_device::write_rxd)); - MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout") + MIDI_PORT(config, "mdout", midiout_slot, "midiout"); clock_device &acia_clock(CLOCK(config, "acia_clock", 31250*16)); acia_clock.signal_handler().set(FUNC(a2bus_midi_device::write_acia_clock)); -MACHINE_CONFIG_END +} //************************************************************************** // LIVE DEVICE diff --git a/src/devices/bus/c64/midi_maplin.cpp b/src/devices/bus/c64/midi_maplin.cpp index 85aa5ef0cd2..3d92bc8f467 100644 --- a/src/devices/bus/c64/midi_maplin.cpp +++ b/src/devices/bus/c64/midi_maplin.cpp @@ -44,19 +44,19 @@ WRITE_LINE_MEMBER( c64_maplin_midi_cartridge_device::write_acia_clock ) // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(c64_maplin_midi_cartridge_device::device_add_mconfig) +void c64_maplin_midi_cartridge_device::device_add_mconfig(machine_config &config) +{ ACIA6850(config, m_acia, 0); m_acia->txd_handler().set("mdout", FUNC(midi_port_device::write_txd)); m_acia->irq_handler().set(FUNC(c64_maplin_midi_cartridge_device::acia_irq_w)); - MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") - MCFG_MIDI_RX_HANDLER(WRITELINE(MC6850_TAG, acia6850_device, write_rxd)) + MIDI_PORT(config, "mdin", midiin_slot, "midiin").rxd_handler().set(m_acia, FUNC(acia6850_device::write_rxd)); - MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout") + MIDI_PORT(config, "mdout", midiout_slot, "midiout"); clock_device &acia_clock(CLOCK(config, "acia_clock", 31250*16)); acia_clock.signal_handler().set(FUNC(c64_maplin_midi_cartridge_device::write_acia_clock)); -MACHINE_CONFIG_END +} diff --git a/src/devices/bus/c64/midi_namesoft.cpp b/src/devices/bus/c64/midi_namesoft.cpp index 067abc90e5d..914f1463f3c 100644 --- a/src/devices/bus/c64/midi_namesoft.cpp +++ b/src/devices/bus/c64/midi_namesoft.cpp @@ -44,19 +44,19 @@ WRITE_LINE_MEMBER( c64_namesoft_midi_cartridge_device::write_acia_clock ) // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(c64_namesoft_midi_cartridge_device::device_add_mconfig) +void c64_namesoft_midi_cartridge_device::device_add_mconfig(machine_config &config) +{ ACIA6850(config, m_acia, 0); m_acia->txd_handler().set("mdout", FUNC(midi_port_device::write_txd)); m_acia->irq_handler().set(FUNC(c64_namesoft_midi_cartridge_device::acia_irq_w)); - MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") - MCFG_MIDI_RX_HANDLER(WRITELINE(MC6850_TAG, acia6850_device, write_rxd)) + MIDI_PORT(config, "mdin", midiin_slot, "midiin").rxd_handler().set(m_acia, FUNC(acia6850_device::write_rxd)); - MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout") + MIDI_PORT(config, "mdout", midiout_slot, "midiout"); clock_device &acia_clock(CLOCK(config, "acia_clock", 31250*16)); acia_clock.signal_handler().set(FUNC(c64_namesoft_midi_cartridge_device::write_acia_clock)); -MACHINE_CONFIG_END +} diff --git a/src/devices/bus/c64/midi_passport.cpp b/src/devices/bus/c64/midi_passport.cpp index 1544ef7c2b4..a07c06bf08f 100644 --- a/src/devices/bus/c64/midi_passport.cpp +++ b/src/devices/bus/c64/midi_passport.cpp @@ -58,7 +58,8 @@ WRITE_LINE_MEMBER( c64_passport_midi_cartridge_device::write_acia_clock ) // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(c64_passport_midi_cartridge_device::device_add_mconfig) +void c64_passport_midi_cartridge_device::device_add_mconfig(machine_config &config) +{ ACIA6850(config, m_acia, 0); m_acia->txd_handler().set("mdout", FUNC(midi_port_device::write_txd)); m_acia->irq_handler().set(FUNC(c64_passport_midi_cartridge_device::acia_irq_w)); @@ -67,14 +68,13 @@ MACHINE_CONFIG_START(c64_passport_midi_cartridge_device::device_add_mconfig) m_ptm->set_external_clocks(1021800.0f, 1021800.0f, 1021800.0f); m_ptm->irq_callback().set(FUNC(c64_passport_midi_cartridge_device::ptm_irq_w)); - MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") - MCFG_MIDI_RX_HANDLER(WRITELINE(MC6850_TAG, acia6850_device, write_rxd)) + MIDI_PORT(config, "mdin", midiin_slot, "midiin").rxd_handler().set(m_acia, FUNC(acia6850_device::write_rxd)); - MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout") + MIDI_PORT(config, "mdout", midiout_slot, "midiout"); clock_device &acia_clock(CLOCK(config, "acia_clock", 31250*16)); // TODO: work out if the clock should come from the 6840 acia_clock.signal_handler().set(FUNC(c64_passport_midi_cartridge_device::write_acia_clock)); -MACHINE_CONFIG_END +} diff --git a/src/devices/bus/c64/midi_sci.cpp b/src/devices/bus/c64/midi_sci.cpp index 2128c1dab71..f9c0cf7f6bb 100644 --- a/src/devices/bus/c64/midi_sci.cpp +++ b/src/devices/bus/c64/midi_sci.cpp @@ -44,19 +44,19 @@ WRITE_LINE_MEMBER( c64_sequential_midi_cartridge_device::write_acia_clock ) // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(c64_sequential_midi_cartridge_device::device_add_mconfig) +void c64_sequential_midi_cartridge_device::device_add_mconfig(machine_config &config) +{ ACIA6850(config, m_acia, 0); m_acia->txd_handler().set("mdout", FUNC(midi_port_device::write_txd)); m_acia->irq_handler().set(FUNC(c64_sequential_midi_cartridge_device::acia_irq_w)); - MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") - MCFG_MIDI_RX_HANDLER(WRITELINE(MC6850_TAG, acia6850_device, write_rxd)) + MIDI_PORT(config, "mdin", midiin_slot, "midiin").rxd_handler().set(m_acia, FUNC(acia6850_device::write_rxd)); - MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout") + MIDI_PORT(config, "mdout", midiout_slot, "midiout"); clock_device &acia_clock(CLOCK(config, "acia_clock", 31250*16)); acia_clock.signal_handler().set(FUNC(c64_sequential_midi_cartridge_device::write_acia_clock)); -MACHINE_CONFIG_END +} diff --git a/src/devices/bus/c64/midi_siel.cpp b/src/devices/bus/c64/midi_siel.cpp index b15eed4f0b6..26cf7274cbd 100644 --- a/src/devices/bus/c64/midi_siel.cpp +++ b/src/devices/bus/c64/midi_siel.cpp @@ -44,19 +44,19 @@ WRITE_LINE_MEMBER( c64_siel_midi_cartridge_device::write_acia_clock ) // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(c64_siel_midi_cartridge_device::device_add_mconfig) +void c64_siel_midi_cartridge_device::device_add_mconfig(machine_config &config) +{ ACIA6850(config, m_acia, 0); m_acia->txd_handler().set("mdout", FUNC(midi_port_device::write_txd)); m_acia->irq_handler().set(FUNC(c64_siel_midi_cartridge_device::acia_irq_w)); - MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") - MCFG_MIDI_RX_HANDLER(WRITELINE(MC6850_TAG, acia6850_device, write_rxd)) + MIDI_PORT(config, "mdin", midiin_slot, "midiin").rxd_handler().set(m_acia, FUNC(acia6850_device::write_rxd)); - MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout") + MIDI_PORT(config, "mdout", midiout_slot, "midiout"); clock_device &acia_clock(CLOCK(config, "acia_clock", 31250*16)); acia_clock.signal_handler().set(FUNC(c64_siel_midi_cartridge_device::write_acia_clock)); -MACHINE_CONFIG_END +} diff --git a/src/devices/bus/isa/gus.cpp b/src/devices/bus/isa/gus.cpp index ecdc2f33c14..564fad2d735 100644 --- a/src/devices/bus/isa/gus.cpp +++ b/src/devices/bus/isa/gus.cpp @@ -1250,7 +1250,8 @@ INPUT_PORTS_END // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(isa16_gus_device::device_add_mconfig) +void isa16_gus_device::device_add_mconfig(machine_config &config) +{ SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); GGF1(config, m_gf1, GF1_CLOCK); @@ -1270,14 +1271,13 @@ MACHINE_CONFIG_START(isa16_gus_device::device_add_mconfig) m_gf1->drq2_handler().set(FUNC(isa16_gus_device::drq2_w)); m_gf1->nmi_handler().set(FUNC(isa16_gus_device::nmi_w)); - MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") - MCFG_MIDI_RX_HANDLER(WRITELINE("gf1", acia6850_device, write_rxd)) + MIDI_PORT(config, "mdin", midiin_slot, "midiin").rxd_handler().set(m_gf1, FUNC(acia6850_device::write_rxd)); - MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout") + MIDI_PORT(config, "mdout", midiout_slot, "midiout"); clock_device &acia_clock(CLOCK(config, "acia_clock", 31250*16)); acia_clock.signal_handler().set(FUNC(isa16_gus_device::write_acia_clock)); -MACHINE_CONFIG_END +} ioport_constructor isa16_gus_device::device_input_ports() const { diff --git a/src/devices/bus/isa/p1_sound.cpp b/src/devices/bus/isa/p1_sound.cpp index 485dca5205e..d855f376f12 100644 --- a/src/devices/bus/isa/p1_sound.cpp +++ b/src/devices/bus/isa/p1_sound.cpp @@ -34,10 +34,9 @@ MACHINE_CONFIG_START(p1_sound_device::device_add_mconfig) m_midi->txd_handler().set("mdout", FUNC(midi_port_device::write_txd)); m_midi->rxrdy_handler().set(":isa", FUNC(isa8_device::irq3_w)); - MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") - MCFG_MIDI_RX_HANDLER(WRITELINE("midi", i8251_device, write_rxd)) + MIDI_PORT(config, "mdin", midiin_slot, "midiin").rxd_handler().set(m_midi, FUNC(i8251_device::write_rxd)); - MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout") + MIDI_PORT(config, "mdout", midiout_slot, "midiout"); PIT8253(config, m_d14, 0); m_d14->set_clk<0>(XTAL(12'500'000)/10); diff --git a/src/devices/bus/midi/midi.h b/src/devices/bus/midi/midi.h index e85a69b9b35..162d2d7545e 100644 --- a/src/devices/bus/midi/midi.h +++ b/src/devices/bus/midi/midi.h @@ -6,13 +6,6 @@ #pragma once -#define MCFG_MIDI_PORT_ADD(_tag, _slot_intf, _def_slot) \ - MCFG_DEVICE_ADD(_tag, MIDI_PORT, 0) \ - MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) - -#define MCFG_MIDI_RX_HANDLER(_devcb) \ - downcast<midi_port_device &>(*device).set_rx_handler(DEVCB_##_devcb); - class device_midi_port_interface; class midi_port_device : public device_t, @@ -34,7 +27,6 @@ public: virtual ~midi_port_device(); // static configuration helpers - template <class Object> devcb_base &set_rx_handler(Object &&cb) { return m_rxd_handler.set_callback(std::forward<Object>(cb)); } auto rxd_handler() { return m_rxd_handler.bind(); } DECLARE_WRITE_LINE_MEMBER( write_txd ); diff --git a/src/devices/bus/midi/midiinport.cpp b/src/devices/bus/midi/midiinport.cpp index 81bbeb80f1c..bad75b6959e 100644 --- a/src/devices/bus/midi/midiinport.cpp +++ b/src/devices/bus/midi/midiinport.cpp @@ -20,7 +20,8 @@ midiin_port_device::midiin_port_device(const machine_config &mconfig, const char { } -MACHINE_CONFIG_START(midiin_port_device::device_add_mconfig) - MCFG_DEVICE_ADD("midiinimg", MIDIIN, 0) - MCFG_MIDIIN_INPUT_CB(WRITELINE(*this, midiin_port_device, read)) -MACHINE_CONFIG_END +void midiin_port_device::device_add_mconfig(machine_config &config) +{ + MIDIIN(config, m_midiin, 0); + m_midiin->input_callback().set(FUNC(midiin_port_device::read)); +} diff --git a/src/devices/bus/midi/midioutport.cpp b/src/devices/bus/midi/midioutport.cpp index 449b85b4649..7f15c79fc70 100644 --- a/src/devices/bus/midi/midioutport.cpp +++ b/src/devices/bus/midi/midioutport.cpp @@ -20,6 +20,7 @@ midiout_port_device::midiout_port_device(const machine_config &mconfig, const ch { } -MACHINE_CONFIG_START(midiout_port_device::device_add_mconfig) - MCFG_MIDIOUT_ADD("midioutimg") -MACHINE_CONFIG_END +void midiout_port_device::device_add_mconfig(machine_config &config) +{ + MIDIOUT(config, m_midiout, 0); +} diff --git a/src/devices/bus/msx_cart/bm_012.cpp b/src/devices/bus/msx_cart/bm_012.cpp index db354b1e65c..fa4225d8018 100644 --- a/src/devices/bus/msx_cart/bm_012.cpp +++ b/src/devices/bus/msx_cart/bm_012.cpp @@ -39,7 +39,8 @@ void msx_cart_bm_012_device::bm_012_memory_map(address_map &map) } -MACHINE_CONFIG_START(msx_cart_bm_012_device::device_add_mconfig) +void msx_cart_bm_012_device::device_add_mconfig(machine_config &config) +{ // 12MHz XTAL @ X1 // Toshiba TMPZ84C015AF-6 (@U5) components: // - Z80 @@ -69,13 +70,12 @@ MACHINE_CONFIG_START(msx_cart_bm_012_device::device_add_mconfig) m_bm012_pio->out_brdy_callback().set("tmpz84c015af", FUNC(tmpz84c015_device::strobe_b)); // MIDI ports - MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") - MCFG_MIDI_RX_HANDLER(WRITELINE(*this, msx_cart_bm_012_device, midi_in)) + MIDI_PORT(config, "mdin", midiin_slot, "midiin").rxd_handler().set(FUNC(msx_cart_bm_012_device::midi_in)); - MCFG_MIDI_PORT_ADD("mdthru", midiout_slot, "midiout") + MIDI_PORT(config, "mdthru", midiout_slot, "midiout"); - MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout") -MACHINE_CONFIG_END + MIDI_PORT(config, "mdout", midiout_slot, "midiout"); +} ROM_START( msx_cart_bm_012 ) diff --git a/src/devices/bus/nes_ctrl/miracle.cpp b/src/devices/bus/nes_ctrl/miracle.cpp index 6f41774f1e0..d9f445f58ef 100644 --- a/src/devices/bus/nes_ctrl/miracle.cpp +++ b/src/devices/bus/nes_ctrl/miracle.cpp @@ -22,12 +22,12 @@ DEFINE_DEVICE_TYPE(NES_MIRACLE, nes_miracle_device, "nes_miracle", "NES Miracle Piano Controller") -MACHINE_CONFIG_START(nes_miracle_device::device_add_mconfig) - MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") - MCFG_MIDI_RX_HANDLER(WRITELINE(*this, nes_miracle_device, rx_w)) +void nes_miracle_device::device_add_mconfig(machine_config &config) +{ + MIDI_PORT(config, "mdin", midiin_slot, "midiin").rxd_handler().set(FUNC(nes_miracle_device::rx_w)); - MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout") -MACHINE_CONFIG_END + MIDI_PORT(config, "mdout", midiout_slot, "midiout"); +} //------------------------------------------------- diff --git a/src/devices/bus/snes_ctrl/miracle.cpp b/src/devices/bus/snes_ctrl/miracle.cpp index a20a6743709..a0d9c70874c 100644 --- a/src/devices/bus/snes_ctrl/miracle.cpp +++ b/src/devices/bus/snes_ctrl/miracle.cpp @@ -23,12 +23,12 @@ DEFINE_DEVICE_TYPE(SNES_MIRACLE, snes_miracle_device, "snes_miracle", "Miracle Piano SNES Cable") -MACHINE_CONFIG_START(snes_miracle_device::device_add_mconfig) - MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") - MCFG_MIDI_RX_HANDLER(WRITELINE(*this, snes_miracle_device, rx_w)) +void snes_miracle_device::device_add_mconfig(machine_config &config) +{ + MIDI_PORT(config, "mdin", midiin_slot, "midiin").rxd_handler().set(FUNC(snes_miracle_device::rx_w)); - MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout") -MACHINE_CONFIG_END + MIDI_PORT(config, "mdout", midiout_slot, "midiout"); +} //------------------------------------------------- diff --git a/src/devices/bus/x68k/x68k_midi.cpp b/src/devices/bus/x68k/x68k_midi.cpp index b4f27554b70..52835653730 100644 --- a/src/devices/bus/x68k/x68k_midi.cpp +++ b/src/devices/bus/x68k/x68k_midi.cpp @@ -1,7 +1,7 @@ // license:BSD-3-Clause // copyright-holders:Barry Rodewald /* - * x68k_midi.c + * x68k_midi.cpp * * X68000 MIDI interface - YM3802 * @@ -17,16 +17,16 @@ DEFINE_DEVICE_TYPE(X68K_MIDI, x68k_midi_device, "x68k_midi", "X68000 MIDI Interface") -MACHINE_CONFIG_START(x68k_midi_device::device_add_mconfig) +void x68k_midi_device::device_add_mconfig(machine_config &config) +{ YM3802(config, m_midi, XTAL(1'000'000)); // clock is unknown m_midi->txd_handler().set("mdout", FUNC(midi_port_device::write_txd)); m_midi->irq_handler().set(FUNC(x68k_midi_device::irq_w)); - MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") - MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout") -// MCFG_MIDI_PORT_ADD("mdthru", midiout_slot, "midiout") + MIDI_PORT(config, "mdin", midiin_slot, "midiin"); + MIDI_PORT(config, "mdout", midiout_slot, "midiout"); +// MIDI_PORT(config, "mdthru", midiout_slot, "midiout"); // TODO: Add serial data handlers - -MACHINE_CONFIG_END +} x68k_midi_device::x68k_midi_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) diff --git a/src/devices/imagedev/midiin.h b/src/devices/imagedev/midiin.h index b429bc4f65f..8254c6965a0 100644 --- a/src/devices/imagedev/midiin.h +++ b/src/devices/imagedev/midiin.h @@ -15,9 +15,6 @@ #include "diserial.h" -#define MCFG_MIDIIN_INPUT_CB(_devcb) \ - downcast<midiin_device &>(*device).set_input_callback(DEVCB_##_devcb); - /*************************************************************************** TYPE DEFINITIONS @@ -31,7 +28,7 @@ public: // construction/destruction midiin_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - template <class Object> devcb_base &set_input_callback(Object &&cb) { return m_input_cb.set_callback(std::forward<Object>(cb)); } + auto input_callback() { return m_input_cb.bind(); } // image-level overrides virtual image_init_result call_load() override; diff --git a/src/devices/imagedev/midiout.h b/src/devices/imagedev/midiout.h index 713c783b992..159e71cab17 100644 --- a/src/devices/imagedev/midiout.h +++ b/src/devices/imagedev/midiout.h @@ -15,14 +15,6 @@ #include "diserial.h" -/*************************************************************************** - CONSTANTS -***************************************************************************/ - - -#define MCFG_MIDIOUT_ADD(_tag) \ - MCFG_DEVICE_ADD(_tag, MIDIOUT, 0) - /*************************************************************************** TYPE DEFINITIONS diff --git a/src/devices/machine/mpu401.cpp b/src/devices/machine/mpu401.cpp index 578ad206721..48cc04b455d 100644 --- a/src/devices/machine/mpu401.cpp +++ b/src/devices/machine/mpu401.cpp @@ -81,7 +81,8 @@ DEFINE_DEVICE_TYPE(MPU401, mpu401_device, "mpu401", "Roland MPU-401 I/O box") // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(mpu401_device::device_add_mconfig) +void mpu401_device::device_add_mconfig(machine_config &config) +{ M6801(config, m_ourcpu, 4000000); /* 4 MHz as per schematics */ m_ourcpu->set_addrmap(AS_PROGRAM, &mpu401_device::mpu401_map); m_ourcpu->in_p1_cb().set(FUNC(mpu401_device::port1_r)); @@ -90,11 +91,10 @@ MACHINE_CONFIG_START(mpu401_device::device_add_mconfig) m_ourcpu->out_p2_cb().set(FUNC(mpu401_device::port2_w)); m_ourcpu->out_ser_tx_cb().set(MIDIOUT_TAG, FUNC(midi_port_device::write_txd)); - MCFG_MIDI_PORT_ADD(MIDIIN_TAG, midiin_slot, "midiin") - MCFG_MIDI_RX_HANDLER(WRITELINE(DEVICE_SELF, mpu401_device, midi_rx_w)) + MIDI_PORT(config, MIDIIN_TAG, midiin_slot, "midiin").rxd_handler().set(DEVICE_SELF, FUNC(mpu401_device::midi_rx_w)); - MCFG_MIDI_PORT_ADD(MIDIOUT_TAG, midiout_slot, "midiout") -MACHINE_CONFIG_END + MIDI_PORT(config, MIDIOUT_TAG, midiout_slot, "midiout"); +} //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/video/pc_vga.cpp b/src/devices/video/pc_vga.cpp index 9bf529f7213..1170693a2db 100644 --- a/src/devices/video/pc_vga.cpp +++ b/src/devices/video/pc_vga.cpp @@ -2220,14 +2220,16 @@ WRITE8_MEMBER(vga_device::mem_linear_w) // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(ati_vga_device::device_add_mconfig) - MCFG_MACH8_ADD_OWNER("8514a") +void ati_vga_device::device_add_mconfig(machine_config &config) +{ + MACH8(config, "8514a", 0).set_vga_owner(); EEPROM_93C46_16BIT(config, "ati_eeprom"); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(s3_vga_device::device_add_mconfig) - MCFG_8514A_ADD_OWNER("8514a") -MACHINE_CONFIG_END +void s3_vga_device::device_add_mconfig(machine_config &config) +{ + IBM8514A(config, "8514a", 0).set_vga_owner(); +} /****************************************** diff --git a/src/devices/video/pc_vga.h b/src/devices/video/pc_vga.h index afde9bfdfd6..bab15da5673 100644 --- a/src/devices/video/pc_vga.h +++ b/src/devices/video/pc_vga.h @@ -415,14 +415,6 @@ private: // device type definition DECLARE_DEVICE_TYPE(IBM8514A, ibm8514a_device) -#define MCFG_8514A_ADD(_tag, _param) \ - MCFG_DEVICE_ADD(_tag, IBM8514A, 0) \ - downcast<ibm8514a_device*>(device)->set_vga(_param); - -#define MCFG_8514A_ADD_OWNER(_tag) \ - MCFG_DEVICE_ADD(_tag, IBM8514A, 0) \ - downcast<ibm8514a_device*>(device)->set_vga_owner(); - class mach8_device : public ibm8514a_device { @@ -496,13 +488,6 @@ private: // device type definition DECLARE_DEVICE_TYPE(MACH8, mach8_device) -#define MCFG_MACH8_ADD(_tag, _param) \ - MCFG_DEVICE_ADD(_tag, MACH8, 0) \ - downcast<mach8_device*>(device)->set_vga(_param); - -#define MCFG_MACH8_ADD_OWNER(_tag) \ - MCFG_DEVICE_ADD(_tag, MACH8, 0) \ - downcast<mach8_device*>(device)->set_vga_owner(); // ======================> tseng_vga_device diff --git a/src/mame/drivers/fb01.cpp b/src/mame/drivers/fb01.cpp index 3a012f9f097..1f94b2b5ebe 100644 --- a/src/mame/drivers/fb01.cpp +++ b/src/mame/drivers/fb01.cpp @@ -210,12 +210,11 @@ MACHINE_CONFIG_START(fb01_state::fb01) clock_device &usart_clock(CLOCK(config, "usart_clock", XTAL(4'000'000) / 8)); // 500KHz usart_clock.signal_handler().set(FUNC(fb01_state::write_usart_clock)); - MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") - MCFG_MIDI_RX_HANDLER(WRITELINE(*this, fb01_state, midi_in)) + MIDI_PORT(config, "mdin", midiin_slot, "midiin").rxd_handler().set(FUNC(fb01_state::midi_in)); - MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout") + MIDI_PORT(config, "mdout", midiout_slot, "midiout"); - MCFG_MIDI_PORT_ADD("mdthru", midiout_slot, "midiout") + MIDI_PORT(config, "mdthru", midiout_slot, "midiout"); SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); diff --git a/src/mame/drivers/prophet600.cpp b/src/mame/drivers/prophet600.cpp index 2e26ce1174e..ff4c48f87ba 100644 --- a/src/mame/drivers/prophet600.cpp +++ b/src/mame/drivers/prophet600.cpp @@ -271,10 +271,11 @@ void prophet600_state::machine_start() } // master crystal is 8 MHz, all clocks derived from there -MACHINE_CONFIG_START(prophet600_state::prophet600) - MCFG_DEVICE_ADD(MAINCPU_TAG, Z80, XTAL(8'000'000)/2) - MCFG_DEVICE_PROGRAM_MAP(cpu_map) - MCFG_DEVICE_IO_MAP(io_map) +void prophet600_state::prophet600(machine_config &config) +{ + Z80(config, m_maincpu, XTAL(8'000'000)/2); + m_maincpu->set_addrmap(AS_PROGRAM, &prophet600_state::cpu_map); + m_maincpu->set_addrmap(AS_IO, &prophet600_state::io_map); config.set_default_layout(layout_prophet600); @@ -289,15 +290,13 @@ MACHINE_CONFIG_START(prophet600_state::prophet600) m_acia->txd_handler().set("mdout", FUNC(midi_port_device::write_txd)); m_acia->irq_handler().set(FUNC(prophet600_state::acia_irq_w)); - MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") - MCFG_MIDI_RX_HANDLER(WRITELINE(UART_TAG, acia6850_device, write_rxd)) + MIDI_PORT(config, "mdin", midiin_slot, "midiin").rxd_handler().set(m_acia, FUNC(acia6850_device::write_rxd)); - MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout") + MIDI_PORT(config, "mdout", midiout_slot, "midiout"); clock_device &acia_clock(CLOCK(config, "acia_clock", XTAL(8'000'000)/16)); // 500kHz = 16 times the MIDI rate acia_clock.signal_handler().set(FUNC(prophet600_state::acia_clock_w)); - -MACHINE_CONFIG_END +} static INPUT_PORTS_START( prophet600 ) INPUT_PORTS_END |