summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2019-01-19 09:24:24 +0100
committer Ivan Vangelista <mesgnet@yahoo.it>2019-01-19 09:24:24 +0100
commit4bea46bec7553159f4fb49ed3986ec45d8caa848 (patch)
tree5e51db40813fecab9aa9ed0125fc26fac0bb8b06 /src
parent3c158de6242ff3a0f822752701609ba347d6cd77 (diff)
midi: remove MCFG macros (nw)
Diffstat (limited to 'src')
-rw-r--r--src/devices/bus/a2bus/a2midi.cpp10
-rw-r--r--src/devices/bus/c64/midi_maplin.cpp10
-rw-r--r--src/devices/bus/c64/midi_namesoft.cpp10
-rw-r--r--src/devices/bus/c64/midi_passport.cpp10
-rw-r--r--src/devices/bus/c64/midi_sci.cpp10
-rw-r--r--src/devices/bus/c64/midi_siel.cpp10
-rw-r--r--src/devices/bus/isa/gus.cpp10
-rw-r--r--src/devices/bus/isa/p1_sound.cpp5
-rw-r--r--src/devices/bus/midi/midi.h8
-rw-r--r--src/devices/bus/midi/midiinport.cpp9
-rw-r--r--src/devices/bus/midi/midioutport.cpp7
-rw-r--r--src/devices/bus/msx_cart/bm_012.cpp12
-rw-r--r--src/devices/bus/nes_ctrl/miracle.cpp10
-rw-r--r--src/devices/bus/snes_ctrl/miracle.cpp10
-rw-r--r--src/devices/bus/x68k/x68k_midi.cpp14
-rw-r--r--src/devices/imagedev/midiin.h5
-rw-r--r--src/devices/imagedev/midiout.h8
-rw-r--r--src/devices/machine/mpu401.cpp10
-rw-r--r--src/devices/video/pc_vga.cpp14
-rw-r--r--src/devices/video/pc_vga.h15
-rw-r--r--src/mame/drivers/fb01.cpp7
-rw-r--r--src/mame/drivers/prophet600.cpp17
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