summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author MooglyGuy <therealmogminer@gmail.com>2019-07-02 20:30:21 +0200
committer MooglyGuy <therealmogminer@gmail.com>2019-07-02 20:30:37 +0200
commitb6ce2e16d867b21119ce36f6e108d0866f396089 (patch)
tree16c3b1bfd5d9011b366ded7f10baef32c440651c
parent0b8733206a1f6d3c931171c18f2200b2eb5a2b87 (diff)
-core: Removed almost all MCFG defines, and removed all remaining MACHINE_CONFIG_START/END uses. [Ryan Holtz]
-rw-r--r--src/devices/bus/hp80_io/82937.cpp2
-rw-r--r--src/devices/bus/hp80_io/hp80_io.h2
-rw-r--r--src/devices/bus/hp9845_io/98032.cpp2
-rw-r--r--src/devices/bus/hp9845_io/98034.cpp2
-rw-r--r--src/devices/bus/hp9845_io/98035.cpp2
-rw-r--r--src/devices/bus/hp9845_io/hp9845_io.h2
-rw-r--r--src/devices/bus/isa/ide.cpp7
-rw-r--r--src/devices/bus/lpci/i82439tx.h6
-rw-r--r--src/devices/bus/rs232/ie15.cpp12
-rw-r--r--src/devices/bus/rs232/keyboard.cpp10
-rw-r--r--src/devices/bus/rs232/null_modem.cpp13
-rw-r--r--src/devices/bus/rs232/printer.cpp10
-rw-r--r--src/devices/bus/rs232/pty.cpp12
-rw-r--r--src/devices/bus/rs232/rs232.h10
-rw-r--r--src/devices/bus/rs232/terminal.cpp12
-rw-r--r--src/devices/machine/laserdsc.cpp22
-rw-r--r--src/devices/machine/laserdsc.h58
-rw-r--r--src/devices/machine/ldpr8210.h10
-rw-r--r--src/devices/machine/ldv1000.h10
-rw-r--r--src/devices/machine/lpci.h39
-rw-r--r--src/devices/machine/netlist.h46
-rw-r--r--src/devices/machine/sdlc.h13
-rw-r--r--src/devices/machine/sis85c496.h8
-rw-r--r--src/devices/video/huc6272.cpp6
-rw-r--r--src/emu/devcpu.h10
-rw-r--r--src/emu/device.h6
-rw-r--r--src/emu/diexec.h26
-rw-r--r--src/emu/diimage.h3
-rw-r--r--src/emu/dimemory.h24
-rw-r--r--src/emu/dirom.h3
-rw-r--r--src/emu/dislot.h35
-rw-r--r--src/emu/disound.h14
-rw-r--r--src/emu/mconfig.h37
-rw-r--r--src/emu/screen.h67
-rw-r--r--src/emu/tilemap.h76
-rw-r--r--src/mame/drivers/1942.cpp2
-rw-r--r--src/mame/drivers/2mindril.cpp1
-rw-r--r--src/mame/drivers/amstr_pc.cpp6
-rw-r--r--src/mame/drivers/amusco.cpp2
-rw-r--r--src/mame/drivers/apogee.cpp2
-rw-r--r--src/mame/drivers/atarig42.cpp9
-rw-r--r--src/mame/drivers/atarigt.cpp11
-rw-r--r--src/mame/drivers/atarigx2.cpp11
-rw-r--r--src/mame/drivers/atarist.cpp8
-rw-r--r--src/mame/drivers/atarittl.cpp1
-rw-r--r--src/mame/drivers/atlantis.cpp2
-rw-r--r--src/mame/drivers/atpci.cpp4
-rw-r--r--src/mame/drivers/bebox.cpp2
-rw-r--r--src/mame/drivers/calchase.cpp26
-rw-r--r--src/mame/drivers/casloopy.cpp6
-rw-r--r--src/mame/drivers/cliffhgr.cpp7
-rw-r--r--src/mame/drivers/cobra.cpp11
-rw-r--r--src/mame/drivers/dccons.cpp6
-rw-r--r--src/mame/drivers/deco_ld.cpp8
-rw-r--r--src/mame/drivers/decstation.cpp4
-rw-r--r--src/mame/drivers/dlair.cpp22
-rw-r--r--src/mame/drivers/esh.cpp7
-rw-r--r--src/mame/drivers/exelv.cpp2
-rw-r--r--src/mame/drivers/firefox.cpp9
-rw-r--r--src/mame/drivers/fruitpc.cpp3
-rw-r--r--src/mame/drivers/funkball.cpp13
-rw-r--r--src/mame/drivers/gamecstl.cpp13
-rw-r--r--src/mame/drivers/gammagic.cpp16
-rw-r--r--src/mame/drivers/gottlieb.cpp6
-rw-r--r--src/mame/drivers/gpworld.cpp8
-rw-r--r--src/mame/drivers/harddriv.cpp2
-rw-r--r--src/mame/drivers/istellar.cpp7
-rw-r--r--src/mame/drivers/jpmmps.cpp2
-rw-r--r--src/mame/drivers/konamigx.cpp2
-rw-r--r--src/mame/drivers/konblands.cpp6
-rw-r--r--src/mame/drivers/ldplayer.cpp36
-rw-r--r--src/mame/drivers/lgp.cpp7
-rw-r--r--src/mame/drivers/magictg.cpp19
-rw-r--r--src/mame/drivers/magtouch.cpp3
-rw-r--r--src/mame/drivers/mediagx.cpp11
-rw-r--r--src/mame/drivers/midqslvr.cpp13
-rw-r--r--src/mame/drivers/pc.cpp1
-rw-r--r--src/mame/drivers/pc9801.cpp8
-rw-r--r--src/mame/drivers/pcat_dyn.cpp3
-rw-r--r--src/mame/drivers/pcipc.cpp2
-rw-r--r--src/mame/drivers/photoply.cpp10
-rw-r--r--src/mame/drivers/pinball2k.cpp11
-rw-r--r--src/mame/drivers/pong.cpp4
-rw-r--r--src/mame/drivers/queen.cpp17
-rw-r--r--src/mame/drivers/savquest.cpp16
-rw-r--r--src/mame/drivers/sbc6510.cpp3
-rw-r--r--src/mame/drivers/segald.cpp7
-rw-r--r--src/mame/drivers/segas32.cpp6
-rw-r--r--src/mame/drivers/superdq.cpp9
-rw-r--r--src/mame/drivers/sv8000.cpp2
-rw-r--r--src/mame/drivers/taitowlf.cpp14
-rw-r--r--src/mame/drivers/unichamp.cpp2
-rw-r--r--src/mame/drivers/vc4000.cpp2
-rw-r--r--src/mame/drivers/viper.cpp14
-rw-r--r--src/mame/drivers/voyager.cpp13
-rw-r--r--src/mame/drivers/xavix.cpp2
-rw-r--r--src/mame/drivers/xtom3d.cpp13
-rw-r--r--src/mame/includes/gottlieb.h2
-rw-r--r--src/mame/video/mystston.cpp2
99 files changed, 394 insertions, 722 deletions
diff --git a/src/devices/bus/hp80_io/82937.cpp b/src/devices/bus/hp80_io/82937.cpp
index c0412610cb0..171d4a62204 100644
--- a/src/devices/bus/hp80_io/82937.cpp
+++ b/src/devices/bus/hp80_io/82937.cpp
@@ -186,7 +186,7 @@ WRITE_LINE_MEMBER(hp82937_io_card_device::ieee488_ctrl_w)
}
static INPUT_PORTS_START(hp82937_port)
- MCFG_HP80_IO_SC(7)
+ PORT_HP80_IO_SC(7)
PORT_START("sw1")
PORT_DIPNAME(0x1f , 0x15 , "HPIB address")
PORT_DIPLOCATION("S1:7,6,5,4,3")
diff --git a/src/devices/bus/hp80_io/hp80_io.h b/src/devices/bus/hp80_io/hp80_io.h
index 886e7ce414a..1e51bf9b8b8 100644
--- a/src/devices/bus/hp80_io/hp80_io.h
+++ b/src/devices/bus/hp80_io/hp80_io.h
@@ -16,7 +16,7 @@
#define HP80_IO_FIRST_SC 3 // Lowest SC used by I/O cards
-#define MCFG_HP80_IO_SC(_default_sc) \
+#define PORT_HP80_IO_SC(_default_sc) \
PORT_START("SC") \
PORT_CONFNAME(0xf , (_default_sc) - HP80_IO_FIRST_SC , "Select Code") \
PORT_CONFSETTING(0 , "3")\
diff --git a/src/devices/bus/hp9845_io/98032.cpp b/src/devices/bus/hp9845_io/98032.cpp
index fc55a786fe2..221d4e9e176 100644
--- a/src/devices/bus/hp9845_io/98032.cpp
+++ b/src/devices/bus/hp9845_io/98032.cpp
@@ -65,7 +65,7 @@ void hp98032_io_card_device::device_add_mconfig(machine_config &config)
}
static INPUT_PORTS_START(hp98032_port)
- MCFG_HP9845_IO_SC(2)
+ PORT_HP9845_IO_SC(2)
INPUT_PORTS_END
ioport_constructor hp98032_io_card_device::device_input_ports() const
diff --git a/src/devices/bus/hp9845_io/98034.cpp b/src/devices/bus/hp9845_io/98034.cpp
index ab2985db6e2..9f016eaa3d8 100644
--- a/src/devices/bus/hp9845_io/98034.cpp
+++ b/src/devices/bus/hp9845_io/98034.cpp
@@ -41,7 +41,7 @@ hp98034_io_card_device::~hp98034_io_card_device()
}
static INPUT_PORTS_START(hp98034_port)
- MCFG_HP9845_IO_SC(7)
+ PORT_HP9845_IO_SC(7)
PORT_START("sw1")
PORT_DIPNAME(0x1f , 0x15 , "HPIB address")
PORT_DIPLOCATION("S1:1,2,3,4,5")
diff --git a/src/devices/bus/hp9845_io/98035.cpp b/src/devices/bus/hp9845_io/98035.cpp
index a91be580774..891ff92a167 100644
--- a/src/devices/bus/hp9845_io/98035.cpp
+++ b/src/devices/bus/hp9845_io/98035.cpp
@@ -154,7 +154,7 @@ hp98035_io_card_device::~hp98035_io_card_device()
}
static INPUT_PORTS_START(hp98035_port)
- MCFG_HP9845_IO_SC(9)
+ PORT_HP9845_IO_SC(9)
INPUT_PORTS_END
ioport_constructor hp98035_io_card_device::device_input_ports() const
diff --git a/src/devices/bus/hp9845_io/hp9845_io.h b/src/devices/bus/hp9845_io/hp9845_io.h
index c85f7632ffe..c62c8625563 100644
--- a/src/devices/bus/hp9845_io/hp9845_io.h
+++ b/src/devices/bus/hp9845_io/hp9845_io.h
@@ -15,7 +15,7 @@
#define HP9845_IO_FIRST_SC 1 // Lowest SC used by I/O cards
-#define MCFG_HP9845_IO_SC(_default_sc) \
+#define PORT_HP9845_IO_SC(_default_sc) \
PORT_START("SC") \
PORT_CONFNAME(0xf , (_default_sc) - HP9845_IO_FIRST_SC , "Select Code") \
PORT_CONFSETTING(0 , "1")\
diff --git a/src/devices/bus/isa/ide.cpp b/src/devices/bus/isa/ide.cpp
index 1fe270399bb..1b1c832cc9c 100644
--- a/src/devices/bus/isa/ide.cpp
+++ b/src/devices/bus/isa/ide.cpp
@@ -11,6 +11,7 @@
#include "imagedev/harddriv.h"
#include "machine/idectrl.h"
+#include "sound/cdda.h"
#include "speaker.h"
@@ -48,9 +49,9 @@ WRITE_LINE_MEMBER(isa16_ide_device::ide_interrupt)
void isa16_ide_device::cdrom_headphones(device_t *device)
{
- device = device->subdevice("cdda");
- MCFG_SOUND_ROUTE(0, "^^lheadphone", 1.0)
- MCFG_SOUND_ROUTE(1, "^^rheadphone", 1.0)
+ cdda_device *cdda = device->subdevice<cdda_device>("cdda");
+ cdda->add_route(0, "^^lheadphone", 1.0);
+ cdda->add_route(1, "^^rheadphone", 1.0);
}
static INPUT_PORTS_START( ide )
diff --git a/src/devices/bus/lpci/i82439tx.h b/src/devices/bus/lpci/i82439tx.h
index 395d4142559..3bb2671ecb7 100644
--- a/src/devices/bus/lpci/i82439tx.h
+++ b/src/devices/bus/lpci/i82439tx.h
@@ -16,12 +16,6 @@
#include "pci.h"
#include "northbridge.h"
-#define MCFG_I82439TX_CPU( _tag ) \
- downcast<i82439tx_device &>(*device).set_cpu(_tag);
-
-#define MCFG_I82439TX_REGION( _tag ) \
- downcast<i82439tx_device &>(*device).set_region(_tag);
-
// ======================> i82439tx_device
class i82439tx_device : public northbridge_device, public pci_device_interface
diff --git a/src/devices/bus/rs232/ie15.cpp b/src/devices/bus/rs232/ie15.cpp
index 74387086782..72520f87dea 100644
--- a/src/devices/bus/rs232/ie15.cpp
+++ b/src/devices/bus/rs232/ie15.cpp
@@ -19,12 +19,12 @@ ie15_terminal_device::ie15_terminal_device(const machine_config &mconfig, const
static INPUT_PORTS_START(ie15_terminal)
PORT_INCLUDE(ie15)
- MCFG_RS232_BAUD("RS232_TXBAUD", RS232_BAUD_9600, "TX Baud", ie15_terminal_device, update_serial)
- MCFG_RS232_BAUD("RS232_RXBAUD", RS232_BAUD_9600, "RX Baud", ie15_terminal_device, update_serial)
- MCFG_RS232_STARTBITS("RS232_STARTBITS", RS232_STARTBITS_1, "Start Bits", ie15_terminal_device, update_serial)
- MCFG_RS232_DATABITS("RS232_DATABITS", RS232_DATABITS_8, "Data Bits", ie15_terminal_device, update_serial)
- MCFG_RS232_PARITY("RS232_PARITY", RS232_PARITY_NONE, "Parity", ie15_terminal_device, update_serial)
- MCFG_RS232_STOPBITS("RS232_STOPBITS", RS232_STOPBITS_1, "Stop Bits", ie15_terminal_device, update_serial)
+ PORT_RS232_BAUD("RS232_TXBAUD", RS232_BAUD_9600, "TX Baud", ie15_terminal_device, update_serial)
+ PORT_RS232_BAUD("RS232_RXBAUD", RS232_BAUD_9600, "RX Baud", ie15_terminal_device, update_serial)
+ PORT_RS232_STARTBITS("RS232_STARTBITS", RS232_STARTBITS_1, "Start Bits", ie15_terminal_device, update_serial)
+ PORT_RS232_DATABITS("RS232_DATABITS", RS232_DATABITS_8, "Data Bits", ie15_terminal_device, update_serial)
+ PORT_RS232_PARITY("RS232_PARITY", RS232_PARITY_NONE, "Parity", ie15_terminal_device, update_serial)
+ PORT_RS232_STOPBITS("RS232_STOPBITS", RS232_STOPBITS_1, "Stop Bits", ie15_terminal_device, update_serial)
INPUT_PORTS_END
ioport_constructor ie15_terminal_device::device_input_ports() const
diff --git a/src/devices/bus/rs232/keyboard.cpp b/src/devices/bus/rs232/keyboard.cpp
index 6e73ee30fc7..31d77555d06 100644
--- a/src/devices/bus/rs232/keyboard.cpp
+++ b/src/devices/bus/rs232/keyboard.cpp
@@ -7,11 +7,11 @@ namespace {
INPUT_PORTS_START(serial_keyboard)
PORT_INCLUDE(generic_keyboard)
- MCFG_RS232_BAUD("RS232_TXBAUD", RS232_BAUD_9600, "TX Baud", serial_keyboard_device, update_serial)
- MCFG_RS232_STARTBITS("RS232_STARTBITS", RS232_STARTBITS_1, "Start Bits", serial_keyboard_device, update_serial)
- MCFG_RS232_DATABITS("RS232_DATABITS", RS232_DATABITS_8, "Data Bits", serial_keyboard_device, update_serial)
- MCFG_RS232_PARITY("RS232_PARITY", RS232_PARITY_NONE, "Parity", serial_keyboard_device, update_serial)
- MCFG_RS232_STOPBITS("RS232_STOPBITS", RS232_STOPBITS_1, "Stop Bits", serial_keyboard_device, update_serial)
+ PORT_RS232_BAUD("RS232_TXBAUD", RS232_BAUD_9600, "TX Baud", serial_keyboard_device, update_serial)
+ PORT_RS232_STARTBITS("RS232_STARTBITS", RS232_STARTBITS_1, "Start Bits", serial_keyboard_device, update_serial)
+ PORT_RS232_DATABITS("RS232_DATABITS", RS232_DATABITS_8, "Data Bits", serial_keyboard_device, update_serial)
+ PORT_RS232_PARITY("RS232_PARITY", RS232_PARITY_NONE, "Parity", serial_keyboard_device, update_serial)
+ PORT_RS232_STOPBITS("RS232_STOPBITS", RS232_STOPBITS_1, "Stop Bits", serial_keyboard_device, update_serial)
INPUT_PORTS_END
} // anonymous namespace
diff --git a/src/devices/bus/rs232/null_modem.cpp b/src/devices/bus/rs232/null_modem.cpp
index 08366b01df9..5cff5d8cf89 100644
--- a/src/devices/bus/rs232/null_modem.cpp
+++ b/src/devices/bus/rs232/null_modem.cpp
@@ -28,12 +28,13 @@ void null_modem_device::device_add_mconfig(machine_config &config)
}
static INPUT_PORTS_START(null_modem)
- MCFG_RS232_BAUD("RS232_TXBAUD", RS232_BAUD_9600, "TX Baud", null_modem_device, update_serial)
- MCFG_RS232_BAUD("RS232_RXBAUD", RS232_BAUD_9600, "RX Baud", null_modem_device, update_serial)
- MCFG_RS232_STARTBITS("RS232_STARTBITS", RS232_STARTBITS_1, "Start Bits", null_modem_device, update_serial)
- MCFG_RS232_DATABITS("RS232_DATABITS", RS232_DATABITS_8, "Data Bits", null_modem_device, update_serial)
- MCFG_RS232_PARITY("RS232_PARITY", RS232_PARITY_NONE, "Parity", null_modem_device, update_serial)
- MCFG_RS232_STOPBITS("RS232_STOPBITS", RS232_STOPBITS_1, "Stop Bits", null_modem_device, update_serial)
+ PORT_RS232_BAUD("RS232_TXBAUD", RS232_BAUD_9600, "TX Baud", null_modem_device, update_serial)
+ PORT_RS232_BAUD("RS232_RXBAUD", RS232_BAUD_9600, "RX Baud", null_modem_device, update_serial)
+ PORT_RS232_STARTBITS("RS232_STARTBITS", RS232_STARTBITS_1, "Start Bits", null_modem_device, update_serial)
+ PORT_RS232_DATABITS("RS232_DATABITS", RS232_DATABITS_8, "Data Bits", null_modem_device, update_serial)
+ PORT_RS232_PARITY("RS232_PARITY", RS232_PARITY_NONE, "Parity", null_modem_device, update_serial)
+ PORT_RS232_STOPBITS("RS232_STOPBITS", RS232_STOPBITS_1, "Stop Bits", null_modem_device, update_serial)
+
PORT_START("FLOW_CONTROL")
PORT_CONFNAME(0x01, 0x00, "Flow Control")
PORT_CONFSETTING(0x00, "Off")
diff --git a/src/devices/bus/rs232/printer.cpp b/src/devices/bus/rs232/printer.cpp
index fb87c9ead79..b9e13ca4ef2 100644
--- a/src/devices/bus/rs232/printer.cpp
+++ b/src/devices/bus/rs232/printer.cpp
@@ -23,11 +23,11 @@ void serial_printer_device::device_add_mconfig(machine_config &config)
}
static INPUT_PORTS_START(serial_printer)
- MCFG_RS232_BAUD("RS232_RXBAUD", RS232_BAUD_9600, "RX Baud", serial_printer_device, update_serial)
- MCFG_RS232_STARTBITS("RS232_STARTBITS", RS232_STARTBITS_1, "Start Bits", serial_printer_device, update_serial)
- MCFG_RS232_DATABITS("RS232_DATABITS", RS232_DATABITS_8, "Data Bits", serial_printer_device, update_serial)
- MCFG_RS232_PARITY("RS232_PARITY", RS232_PARITY_NONE, "Parity", serial_printer_device, update_serial)
- MCFG_RS232_STOPBITS("RS232_STOPBITS", RS232_STOPBITS_1, "Stop Bits", serial_printer_device, update_serial)
+ PORT_RS232_BAUD("RS232_RXBAUD", RS232_BAUD_9600, "RX Baud", serial_printer_device, update_serial)
+ PORT_RS232_STARTBITS("RS232_STARTBITS", RS232_STARTBITS_1, "Start Bits", serial_printer_device, update_serial)
+ PORT_RS232_DATABITS("RS232_DATABITS", RS232_DATABITS_8, "Data Bits", serial_printer_device, update_serial)
+ PORT_RS232_PARITY("RS232_PARITY", RS232_PARITY_NONE, "Parity", serial_printer_device, update_serial)
+ PORT_RS232_STOPBITS("RS232_STOPBITS", RS232_STOPBITS_1, "Stop Bits", serial_printer_device, update_serial)
INPUT_PORTS_END
ioport_constructor serial_printer_device::device_input_ports() const
diff --git a/src/devices/bus/rs232/pty.cpp b/src/devices/bus/rs232/pty.cpp
index 919b85b777b..4c8c9f6bbf7 100644
--- a/src/devices/bus/rs232/pty.cpp
+++ b/src/devices/bus/rs232/pty.cpp
@@ -50,12 +50,12 @@ WRITE_LINE_MEMBER(pseudo_terminal_device::update_serial)
}
static INPUT_PORTS_START(pseudo_terminal)
- MCFG_RS232_BAUD("RS232_TXBAUD", RS232_BAUD_9600, "TX Baud", pseudo_terminal_device, update_serial)
- MCFG_RS232_BAUD("RS232_RXBAUD", RS232_BAUD_9600, "RX Baud", pseudo_terminal_device, update_serial)
- MCFG_RS232_STARTBITS("RS232_STARTBITS", RS232_STARTBITS_1, "Start Bits", pseudo_terminal_device, update_serial)
- MCFG_RS232_DATABITS("RS232_DATABITS", RS232_DATABITS_8, "Data Bits", pseudo_terminal_device, update_serial)
- MCFG_RS232_PARITY("RS232_PARITY", RS232_PARITY_NONE, "Parity", pseudo_terminal_device, update_serial)
- MCFG_RS232_STOPBITS("RS232_STOPBITS", RS232_STOPBITS_1, "Stop Bits", pseudo_terminal_device, update_serial)
+ PORT_RS232_BAUD("RS232_TXBAUD", RS232_BAUD_9600, "TX Baud", pseudo_terminal_device, update_serial)
+ PORT_RS232_BAUD("RS232_RXBAUD", RS232_BAUD_9600, "RX Baud", pseudo_terminal_device, update_serial)
+ PORT_RS232_STARTBITS("RS232_STARTBITS", RS232_STARTBITS_1, "Start Bits", pseudo_terminal_device, update_serial)
+ PORT_RS232_DATABITS("RS232_DATABITS", RS232_DATABITS_8, "Data Bits", pseudo_terminal_device, update_serial)
+ PORT_RS232_PARITY("RS232_PARITY", RS232_PARITY_NONE, "Parity", pseudo_terminal_device, update_serial)
+ PORT_RS232_STOPBITS("RS232_STOPBITS", RS232_STOPBITS_1, "Stop Bits", pseudo_terminal_device, update_serial)
INPUT_PORTS_END
ioport_constructor pseudo_terminal_device::device_input_ports() const
diff --git a/src/devices/bus/rs232/rs232.h b/src/devices/bus/rs232/rs232.h
index 95a5477f1c3..781fb95d072 100644
--- a/src/devices/bus/rs232/rs232.h
+++ b/src/devices/bus/rs232/rs232.h
@@ -24,7 +24,7 @@
#define RS232_BAUD_115200 (0x0d)
#define RS232_BAUD_7200 (0x0e)
-#define MCFG_RS232_BAUD(_tag, _default_baud, _description, _class, _write_line) \
+#define PORT_RS232_BAUD(_tag, _default_baud, _description, _class, _write_line) \
PORT_START(_tag) \
PORT_CONFNAME(0xff, _default_baud, _description) PORT_WRITE_LINE_DEVICE_MEMBER(DEVICE_SELF, _class, _write_line) \
PORT_CONFSETTING( RS232_BAUD_110, "110") \
@@ -46,7 +46,7 @@
#define RS232_STARTBITS_0 (0x00)
#define RS232_STARTBITS_1 (0x01)
-#define MCFG_RS232_STARTBITS(_tag, _default_startbits, _description, _class, _write_line) \
+#define PORT_RS232_STARTBITS(_tag, _default_startbits, _description, _class, _write_line) \
PORT_START(_tag) \
PORT_CONFNAME(0xff, _default_startbits, _description) PORT_WRITE_LINE_DEVICE_MEMBER(DEVICE_SELF, _class, _write_line) \
PORT_CONFSETTING( RS232_STARTBITS_0, "0") \
@@ -57,7 +57,7 @@
#define RS232_DATABITS_7 (0x02)
#define RS232_DATABITS_8 (0x03)
-#define MCFG_RS232_DATABITS(_tag, _default_databits, _description, _class, _write_line) \
+#define PORT_RS232_DATABITS(_tag, _default_databits, _description, _class, _write_line) \
PORT_START(_tag) \
PORT_CONFNAME(0xff, _default_databits, _description) PORT_WRITE_LINE_DEVICE_MEMBER(DEVICE_SELF, _class, _write_line) \
PORT_CONFSETTING( RS232_DATABITS_5, "5") \
@@ -71,7 +71,7 @@
#define RS232_PARITY_MARK (0x03)
#define RS232_PARITY_SPACE (0x04)
-#define MCFG_RS232_PARITY(_tag, _default_parity, _description, _class, _write_line) \
+#define PORT_RS232_PARITY(_tag, _default_parity, _description, _class, _write_line) \
PORT_START(_tag) \
PORT_CONFNAME(0xff, _default_parity, "Parity") PORT_WRITE_LINE_DEVICE_MEMBER(DEVICE_SELF, _class, _write_line) \
PORT_CONFSETTING( RS232_PARITY_NONE, "None") \
@@ -85,7 +85,7 @@
#define RS232_STOPBITS_1_5 (0x02)
#define RS232_STOPBITS_2 (0x03)
-#define MCFG_RS232_STOPBITS(_tag, _default_stopbits, _description, _class, _write_line) \
+#define PORT_RS232_STOPBITS(_tag, _default_stopbits, _description, _class, _write_line) \
PORT_START(_tag) \
PORT_CONFNAME(0xff, 0x01, _description) PORT_WRITE_LINE_DEVICE_MEMBER(DEVICE_SELF, _class, _write_line) \
PORT_CONFSETTING( RS232_STOPBITS_0, "0") \
diff --git a/src/devices/bus/rs232/terminal.cpp b/src/devices/bus/rs232/terminal.cpp
index 5a638a6c8db..0955cd58a99 100644
--- a/src/devices/bus/rs232/terminal.cpp
+++ b/src/devices/bus/rs232/terminal.cpp
@@ -19,12 +19,12 @@ serial_terminal_device::serial_terminal_device(const machine_config &mconfig, co
static INPUT_PORTS_START(serial_terminal)
PORT_INCLUDE(generic_terminal)
- MCFG_RS232_BAUD("RS232_TXBAUD", RS232_BAUD_9600, "TX Baud", serial_terminal_device, update_serial)
- MCFG_RS232_BAUD("RS232_RXBAUD", RS232_BAUD_9600, "RX Baud", serial_terminal_device, update_serial)
- MCFG_RS232_STARTBITS("RS232_STARTBITS", RS232_STARTBITS_1, "Start Bits", serial_terminal_device, update_serial)
- MCFG_RS232_DATABITS("RS232_DATABITS", RS232_DATABITS_8, "Data Bits", serial_terminal_device, update_serial)
- MCFG_RS232_PARITY("RS232_PARITY", RS232_PARITY_NONE, "Parity", serial_terminal_device, update_serial)
- MCFG_RS232_STOPBITS("RS232_STOPBITS", RS232_STOPBITS_1, "Stop Bits", serial_terminal_device, update_serial)
+ PORT_RS232_BAUD("RS232_TXBAUD", RS232_BAUD_9600, "TX Baud", serial_terminal_device, update_serial)
+ PORT_RS232_BAUD("RS232_RXBAUD", RS232_BAUD_9600, "RX Baud", serial_terminal_device, update_serial)
+ PORT_RS232_STARTBITS("RS232_STARTBITS", RS232_STARTBITS_1, "Start Bits", serial_terminal_device, update_serial)
+ PORT_RS232_DATABITS("RS232_DATABITS", RS232_DATABITS_8, "Data Bits", serial_terminal_device, update_serial)
+ PORT_RS232_PARITY("RS232_PARITY", RS232_PARITY_NONE, "Parity", serial_terminal_device, update_serial)
+ PORT_RS232_STOPBITS("RS232_STOPBITS", RS232_STOPBITS_1, "Stop Bits", serial_terminal_device, update_serial)
INPUT_PORTS_END
ioport_constructor serial_terminal_device::device_input_ports() const
diff --git a/src/devices/machine/laserdsc.cpp b/src/devices/machine/laserdsc.cpp
index f797289bf52..7794ebb026e 100644
--- a/src/devices/machine/laserdsc.cpp
+++ b/src/devices/machine/laserdsc.cpp
@@ -642,7 +642,7 @@ void laserdisc_device::init_disc()
{
// get a handle to the disc to play
if (!m_getdisc_callback.isnull())
- m_disc = m_getdisc_callback(*this);
+ m_disc = m_getdisc_callback();
else
m_disc = machine().rom_load().get_disk_handle(tag());
@@ -1017,7 +1017,7 @@ void laserdisc_device::process_track_data()
// pass the audio to the callback
if (!m_audio_callback.isnull())
- m_audio_callback(*this, m_samplerate, m_audiocursamples, m_avhuff_config.audio[0], m_avhuff_config.audio[1]);
+ m_audio_callback(m_samplerate, m_audiocursamples, m_avhuff_config.audio[0], m_avhuff_config.audio[1]);
// shift audio data if we read it into the beginning of the buffer
if (m_audiocursamples != 0 && m_audiobufin != 0)
@@ -1134,3 +1134,21 @@ void laserdisc_device::config_save(config_type cfg_type, util::xml::data_node *p
ldnode->delete_node();
}
}
+
+void laserdisc_device::add_ntsc_screen(machine_config &config, const char *_tag)
+{
+ set_screen(_tag);
+ screen_device &screen(SCREEN(config, _tag, SCREEN_TYPE_RASTER));
+ screen.set_video_attributes(VIDEO_SELF_RENDER);
+ screen.set_raw(XTAL(14'318'181)*2, 910, 0, 704, 525, 44, 524);
+ screen.set_screen_update(tag(), FUNC(laserdisc_device::screen_update));
+}
+
+void laserdisc_device::add_pal_screen(machine_config &config, const char *_tag)
+{
+ set_screen(_tag);
+ screen_device &screen(SCREEN(config, _tag, SCREEN_TYPE_RASTER));
+ screen.set_video_attributes(VIDEO_SELF_RENDER);
+ screen.set_raw(XTAL(17'734'470)*2, 1135, 0, 768, 625, 48, 624);
+ screen.set_screen_update(tag(), FUNC(laserdisc_device::screen_update));
+}
diff --git a/src/devices/machine/laserdsc.h b/src/devices/machine/laserdsc.h
index 2539d608e5f..510d22366ec 100644
--- a/src/devices/machine/laserdsc.h
+++ b/src/devices/machine/laserdsc.h
@@ -56,49 +56,6 @@ enum laserdisc_field_code
//**************************************************************************
-// DEVICE CONFIGURATION MACROS
-//**************************************************************************
-
-#define MCFG_LASERDISC_GET_DISC(_func) \
- downcast<laserdisc_device &>(*device).set_get_disc(_func);
-#define MCFG_LASERDISC_AUDIO(_func) \
- downcast<laserdisc_device &>(*device).set_audio(_func);
-#define MCFG_LASERDISC_SCREEN(_tag) \
- downcast<laserdisc_device &>(*device).set_screen(_tag);
-#define MCFG_LASERDISC_OVERLAY_DRIVER(_width, _height, _class, _method) \
- downcast<laserdisc_device &>(*device).set_overlay(_width, _height, &_class::_method, #_class "::" #_method);
-#define MCFG_LASERDISC_OVERLAY_DEVICE(_width, _height, _device, _class, _method) \
- downcast<laserdisc_device &>(*device).set_overlay(_width, _height, _device, &_class::_method, #_class "::" #_method);
-#define MCFG_LASERDISC_OVERLAY_CLIP(_minx, _maxx, _miny, _maxy) \
- downcast<laserdisc_device &>(*device).set_overlay_clip(_minx, _maxx, _miny, _maxy);
-#define MCFG_LASERDISC_OVERLAY_POSITION(_posx, _posy) \
- downcast<laserdisc_device &>(*device).set_overlay_position(_posx, _posy);
-#define MCFG_LASERDISC_OVERLAY_SCALE(_scalex, _scaley) \
- downcast<laserdisc_device &>(*device).set_overlay_scale(_scalex, _scaley);
-#define MCFG_LASERDISC_OVERLAY_PALETTE(_palette_tag) \
- downcast<laserdisc_device &>(*device).set_overlay_palette(_palette_tag);
-
-// use these to add laserdisc screens with proper video update parameters
-// TODO: actually move these SCREEN_RAW_PARAMS to a common screen info header
-// TODO: someday we'll kill the pixel clock hack ...
-#define MCFG_LASERDISC_SCREEN_ADD_NTSC(_tag, _ldtag) \
- MCFG_DEVICE_MODIFY(_ldtag) \
- downcast<laserdisc_device &>(*device).set_screen(_tag); \
- MCFG_SCREEN_ADD(_tag, RASTER) \
- MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_SELF_RENDER) \
- MCFG_SCREEN_RAW_PARAMS(XTAL(14'318'181)*2, 910, 0, 704, 525, 44, 524) \
- MCFG_SCREEN_UPDATE_DEVICE(_ldtag, laserdisc_device, screen_update)
-
-#define MCFG_LASERDISC_SCREEN_ADD_PAL(_tag, _ldtag) \
- MCFG_DEVICE_MODIFY(_ldtag) \
- downcast<laserdisc_device &>(*device).set_screen(_tag); \
- MCFG_SCREEN_ADD(_tag, RASTER) \
- MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_SELF_RENDER) \
- MCFG_SCREEN_RAW_PARAMS(XTAL(17'734'470)*2, 1135, 0, 768, 625, 48, 624) \
- MCFG_SCREEN_UPDATE_DEVICE(_ldtag, laserdisc_device, screen_update)
-
-
-//**************************************************************************
// MACROS
//**************************************************************************
@@ -136,13 +93,16 @@ protected:
public:
// delegates
- typedef delegate<chd_file *(laserdisc_device &device)> get_disc_delegate;
- typedef delegate<void (laserdisc_device &device, int samplerate, int samples, const int16_t *ch0, const int16_t *ch1)> audio_delegate;
-
+ typedef device_delegate<chd_file *(void)> get_disc_delegate;
+ typedef device_delegate<void (int samplerate, int samples, const int16_t *ch0, const int16_t *ch1)> audio_delegate;
laserdisc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
- // reset line control
+ // use these to add laserdisc screens with proper video update parameters
+ // TODO: actually move these SCREEN_RAW_PARAMS to a common screen info header
+ // TODO: someday we'll kill the pixel clock hack ...
+ void add_ntsc_screen(machine_config &config, const char *tag);
+ void add_pal_screen(machine_config &config, const char *tag);
// core control and status
bool video_active() { return (!m_videosquelch && current_frame().m_numfields >= 2); }
@@ -162,8 +122,8 @@ public:
void set_overlay_config(const laserdisc_overlay_config &config) { static_cast<laserdisc_overlay_config &>(*this) = config; }
// configuration helpers
- void set_get_disc(get_disc_delegate &&callback) { m_getdisc_callback = std::move(callback); }
- void set_audio(audio_delegate &&callback) { m_audio_callback = std::move(callback); }
+ template <typename... T> void set_get_disc(T &&... args) { m_getdisc_callback = get_disc_delegate(std::forward<T>(args)...); }
+ template <typename... T> void set_audio(T &&... args) { m_audio_callback = audio_delegate(std::forward<T>(args)...); }
template <class FunctionClass>
// FIXME: these should be aware of current device for resolving the tag
void set_overlay(uint32_t width, uint32_t height, u32 (FunctionClass::*callback)(screen_device &, bitmap_ind16 &, const rectangle &), const char *name)
diff --git a/src/devices/machine/ldpr8210.h b/src/devices/machine/ldpr8210.h
index fc0a28d6d26..ed97f0f8fd2 100644
--- a/src/devices/machine/ldpr8210.h
+++ b/src/devices/machine/ldpr8210.h
@@ -18,14 +18,6 @@
//**************************************************************************
-// DEVICE CONFIGURATION MACROS
-//**************************************************************************
-
-#define MCFG_LASERDISC_PR8210_ADD(_tag) \
- MCFG_DEVICE_ADD(_tag, PIONEER_PR8210, 0)
-
-
-//**************************************************************************
// GLOBAL VARIABLES
//**************************************************************************
@@ -46,7 +38,7 @@ class pioneer_pr8210_device : public laserdisc_device
{
public:
// construction/destruction
- pioneer_pr8210_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pioneer_pr8210_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
// input and output
void control_w(uint8_t data);
diff --git a/src/devices/machine/ldv1000.h b/src/devices/machine/ldv1000.h
index 55516da36fe..883bca49a71 100644
--- a/src/devices/machine/ldv1000.h
+++ b/src/devices/machine/ldv1000.h
@@ -20,14 +20,6 @@
//**************************************************************************
-// DEVICE CONFIGURATION MACROS
-//**************************************************************************
-
-#define MCFG_LASERDISC_LDV1000_ADD(_tag) \
- MCFG_DEVICE_ADD(_tag, PIONEER_LDV1000, 0)
-
-
-//**************************************************************************
// GLOBAL VARIABLES
//**************************************************************************
@@ -47,7 +39,7 @@ class pioneer_ldv1000_device : public laserdisc_device
{
public:
// construction/destruction
- pioneer_ldv1000_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ pioneer_ldv1000_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
auto command_strobe_callback() { return m_command_strobe_cb.bind(); }
diff --git a/src/devices/machine/lpci.h b/src/devices/machine/lpci.h
index d9e9bf9aeb1..d399e2da79d 100644
--- a/src/devices/machine/lpci.h
+++ b/src/devices/machine/lpci.h
@@ -17,15 +17,20 @@
// TYPE DEFINITIONS
//**************************************************************************
-typedef device_delegate<uint32_t (int function, int reg, uint32_t mem_mask)> pci_bus_legacy_read_delegate;
-typedef device_delegate<void (int function, int reg, uint32_t data, uint32_t mem_mask)> pci_bus_legacy_write_delegate;
-
// ======================> pci_bus_legacy_device
class pci_bus_legacy_device : public device_t
{
public:
+ typedef device_delegate<uint32_t (int function, int reg, uint32_t mem_mask)> pci_bus_legacy_read_delegate;
+ typedef device_delegate<void (int function, int reg, uint32_t data, uint32_t mem_mask)> pci_bus_legacy_write_delegate;
+
// construction/destruction
+ pci_bus_legacy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, uint8_t busnum)
+ : pci_bus_legacy_device(mconfig, tag, owner, clock)
+ {
+ set_busnum(busnum);
+ }
pci_bus_legacy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_READ32_MEMBER( read );
@@ -36,8 +41,9 @@ public:
void set_busnum(int busnum) { m_busnum = busnum; }
void set_father(const char *father) { m_father = father; }
- void set_device(int num, pci_bus_legacy_read_delegate read_func, pci_bus_legacy_write_delegate write_func) {
- m_read_callback[num] = read_func; m_write_callback[num] = write_func; }
+
+ template <typename... T> void set_device_read(int num, T &&... args) { m_read_callback[num] = pci_bus_legacy_read_delegate(std::forward<T>(args)...); }
+ template <typename... T> void set_device_write(int num, T &&... args) { m_write_callback[num] = pci_bus_legacy_write_delegate(std::forward<T>(args)...); }
pci_bus_legacy_device *pci_search_bustree(int busnum, int devicenum, pci_bus_legacy_device *pcibus);
void add_sibling(pci_bus_legacy_device *sibling, int busnum);
@@ -49,17 +55,17 @@ protected:
virtual void device_post_load() override;
private:
- uint8_t m_busnum;
+ uint8_t m_busnum;
pci_bus_legacy_read_delegate m_read_callback[32];
pci_bus_legacy_write_delegate m_write_callback[32];
const char * m_father;
pci_bus_legacy_device * m_siblings[8];
- uint8_t m_siblings_busnum[8];
+ uint8_t m_siblings_busnum[8];
int m_siblings_count;
offs_t m_address;
- int8_t m_devicenum; // device number we are addressing
- int8_t m_busnumber; // pci bus number we are addressing
+ int8_t m_devicenum; // device number we are addressing
+ int8_t m_busnumber; // pci bus number we are addressing
pci_bus_legacy_device * m_busnumaddr; // pci bus we are addressing
};
@@ -67,19 +73,4 @@ private:
DECLARE_DEVICE_TYPE(PCI_BUS_LEGACY, pci_bus_legacy_device)
-/***************************************************************************
- DEVICE CONFIGURATION MACROS
-***************************************************************************/
-
-#define MCFG_PCI_BUS_LEGACY_ADD(_tag, _busnum) \
- MCFG_DEVICE_ADD(_tag, PCI_BUS_LEGACY, 0) \
- downcast<pci_bus_legacy_device *>(device)->set_busnum(_busnum);
-#define MCFG_PCI_BUS_LEGACY_DEVICE(_devnum, _devtag, _devclass, _configread, _configwrite) \
- downcast<pci_bus_legacy_device *>(device)->set_device(_devnum, \
- pci_bus_legacy_read_delegate(&_devclass::_configread, #_devclass "::" #_configread, _devtag, (_devclass *)0), \
- pci_bus_legacy_write_delegate(&_devclass::_configwrite, #_devclass "::" #_configwrite, _devtag, (_devclass *)0));
-#define MCFG_PCI_BUS_LEGACY_SIBLING(_father_tag) \
- downcast<pci_bus_legacy_device *>(device)->set_father(_father_tag);
-
-
#endif // MAME_MACHINE_LPCI_H
diff --git a/src/devices/machine/netlist.h b/src/devices/machine/netlist.h
index 7302780572d..946d1322ddc 100644
--- a/src/devices/machine/netlist.h
+++ b/src/devices/machine/netlist.h
@@ -31,52 +31,6 @@ namespace netlist {
// MAME specific configuration
-#define MCFG_NETLIST_SETUP(_setup) \
- downcast<netlist_mame_device &>(*device).set_setup_func(NETLIST_NAME(_setup));
-
-#if 0
-#define MCFG_NETLIST_SETUP_MEMBER(_obj, _setup) \
- downcast<netlist_mame_device &>(*device).set_constructor(_obj, _setup);
-
-#define MCFG_NETLIST_ANALOG_INPUT(_basetag, _tag, _name) \
- MCFG_DEVICE_ADD(_basetag ":" _tag, NETLIST_ANALOG_INPUT, 0) \
- downcast<netlist_mame_analog_input_device &>(*device).set_name(_name);
-
-#define MCFG_NETLIST_ANALOG_MULT_OFFSET(_mult, _offset) \
- dynamic_cast<netlist_mame_sub_interface &>(*device).set_mult_offset(_mult, _offset);
-
-#define MCFG_NETLIST_ANALOG_OUTPUT(_basetag, _tag, _IN, _class, _member, _class_tag) \
- MCFG_DEVICE_ADD(_basetag ":" _tag, NETLIST_ANALOG_OUTPUT, 0) \
- downcast<netlist_mame_analog_output_device &>(*device).set_params(_IN, \
- FUNC(_class :: _member), _class_tag);
-
-#define MCFG_NETLIST_LOGIC_OUTPUT(_basetag, _tag, _IN, _class, _member, _class_tag) \
- MCFG_DEVICE_ADD(_basetag ":" _tag, NETLIST_LOGIC_OUTPUT, 0) \
- downcast<netlist_mame_logic_output_device &>(*device).set_params(_IN, \
- netlist_mame_logic_output_device::output_delegate(& _class :: _member, \
- # _class "::" # _member, _class_tag, (_class *)nullptr) );
-
-#define MCFG_NETLIST_LOGIC_INPUT(_basetag, _tag, _name, _shift) \
- MCFG_DEVICE_ADD(_basetag ":" _tag, NETLIST_LOGIC_INPUT, 0) \
- downcast<netlist_mame_logic_input_device &>(*device).set_params(_name, _shift);
-
-#define MCFG_NETLIST_INT_INPUT(_basetag, _tag, _name, _shift, _mask) \
- MCFG_DEVICE_ADD(_basetag ":" _tag, NETLIST_INT_INPUT, 0) \
- downcast<netlist_mame_int_input_device &>(*device).set_params(_name, _mask, _shift);
-
-#define MCFG_NETLIST_RAM_POINTER(_basetag, _tag, _name) \
- MCFG_DEVICE_ADD(_basetag ":" _tag, NETLIST_RAM_POINTER, 0) \
- downcast<netlist_mame_ram_pointer_device &>(*device).set_params(_name);
-
-#define MCFG_NETLIST_STREAM_INPUT(_basetag, _chan, _name) \
- MCFG_DEVICE_ADD(_basetag ":cin" # _chan, NETLIST_STREAM_INPUT, 0) \
- downcast<netlist_mame_stream_input_device &>(*device).set_params(_chan, _name);
-
-#define MCFG_NETLIST_STREAM_OUTPUT(_basetag, _chan, _name) \
- MCFG_DEVICE_ADD(_basetag ":cout" # _chan, NETLIST_STREAM_OUTPUT, 0) \
- downcast<netlist_mame_stream_output_device &>(*device).set_params(_chan, _name);
-#endif
-
#define NETLIST_LOGIC_PORT_CHANGED(_base, _tag) \
PORT_CHANGED_MEMBER(_base ":" _tag, netlist_mame_logic_input_device, input_changed, 0)
diff --git a/src/devices/machine/sdlc.h b/src/devices/machine/sdlc.h
index 1b9b8efa832..5dd7b177c3e 100644
--- a/src/devices/machine/sdlc.h
+++ b/src/devices/machine/sdlc.h
@@ -10,19 +10,6 @@
#include <utility>
-#define MCFG_SDLC_LOGGER_DATA_NRZL \
- downcast<sdlc_logger_device &>(*device).clock_active(0);
-
-#define MCFG_SDLC_LOGGER_DATA_NRZI \
- downcast<sdlc_logger_device &>(*device).clock_active(1);
-
-#define MCFG_SDLC_LOGGER_CLOCK_ACTIVE_RISING \
- downcast<sdlc_logger_device &>(*device).clock_active(1);
-
-#define MCFG_SDLC_LOGGER_CLOCK_ACTIVE_FALLING \
- downcast<sdlc_logger_device &>(*device).clock_active(0);
-
-
class device_sdlc_consumer_interface : public device_interface
{
public:
diff --git a/src/devices/machine/sis85c496.h b/src/devices/machine/sis85c496.h
index 9de0499792c..33b80b58d62 100644
--- a/src/devices/machine/sis85c496.h
+++ b/src/devices/machine/sis85c496.h
@@ -25,10 +25,10 @@
#include "cpu/i386/i386.h"
#include "machine/at.h"
-#define MCFG_SIS85C496_ADD(_tag, _cpu_tag, _ram_size) \
- MCFG_PCI_HOST_ADD(_tag, SIS85C496, 0x10390496, 0x03, 0x00000000) \
- downcast<sis85c496_host_device *>(device)->set_cpu_tag(_cpu_tag); \
- downcast<sis85c496_host_device *>(device)->set_ram_size(_ram_size);
+#define SIS85C496_HOST(_config, _tag, _cpu_tag, _ram_size) \
+ pci_host_device &pcihost(PCI_HOST(_config, _tag, SIS85C496, 0x10390496, 0x03, 0x00000000)); \
+ pcihost.set_cpu_tag(_cpu_tag); \
+ pcihost.set_ram_size(_ram_size);
class sis85c496_host_device : public pci_host_device {
public:
diff --git a/src/devices/video/huc6272.cpp b/src/devices/video/huc6272.cpp
index fbf6a6c5726..b091b67afb9 100644
--- a/src/devices/video/huc6272.cpp
+++ b/src/devices/video/huc6272.cpp
@@ -574,9 +574,9 @@ void huc6272_device::interrupt_update()
void huc6272_device::cdrom_config(device_t *device)
{
- device = device->subdevice("cdda");
- MCFG_SOUND_ROUTE(0, "^^cdda_l", 1.0)
- MCFG_SOUND_ROUTE(1, "^^cdda_r", 1.0)
+ cdda_device *cdda = device->subdevice<cdda_device>("cdda");
+ cdda->add_route(0, "^^cdda_l", 1.0);
+ cdda->add_route(1, "^^cdda_r", 1.0);
}
//-------------------------------------------------
diff --git a/src/emu/devcpu.h b/src/emu/devcpu.h
index 3e4dd89f8ce..4cce31b5e38 100644
--- a/src/emu/devcpu.h
+++ b/src/emu/devcpu.h
@@ -17,16 +17,6 @@
//**************************************************************************
-// CPU DEVICE CONFIGURATION MACROS
-//**************************************************************************
-
-// recompilation parameters
-#define MCFG_CPU_FORCE_NO_DRC() \
- dynamic_cast<cpu_device &>(*device).set_force_no_drc(true);
-
-
-
-//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
diff --git a/src/emu/device.h b/src/emu/device.h
index efd7a590e09..fc8da68f65c 100644
--- a/src/emu/device.h
+++ b/src/emu/device.h
@@ -41,12 +41,6 @@
//**************************************************************************
// configure devices
-#define MCFG_DEVICE_CLOCK(_clock) \
- device->set_clock(_clock);
-#define MCFG_DEVICE_INPUT_DEFAULTS(_config) \
- device->set_input_default(DEVICE_INPUT_DEFAULTS_NAME(_config));
-#define MCFG_DEVICE_BIOS(...) \
- device->set_default_bios_tag(__VA_ARGS__);
#define DECLARE_READ_LINE_MEMBER(name) int name()
#define READ_LINE_MEMBER(name) int name()
diff --git a/src/emu/diexec.h b/src/emu/diexec.h
index 524e0feeb06..663cc6ddb1c 100644
--- a/src/emu/diexec.h
+++ b/src/emu/diexec.h
@@ -76,32 +76,6 @@ enum
//**************************************************************************
-// INTERFACE CONFIGURATION MACROS
-//**************************************************************************
-
-#define MCFG_DEVICE_DISABLE() \
- dynamic_cast<device_execute_interface &>(*device).set_disable();
-#define MCFG_DEVICE_VBLANK_INT_DRIVER(_tag, _class, _func) \
- dynamic_cast<device_execute_interface &>(*device).set_vblank_int(device_interrupt_delegate(&_class::_func, #_class "::" #_func, DEVICE_SELF, (_class *)nullptr), _tag);
-#define MCFG_DEVICE_VBLANK_INT_DEVICE(_tag, _devtag, _class, _func) \
- dynamic_cast<device_execute_interface &>(*device).set_vblank_int(device_interrupt_delegate(&_class::_func, #_class "::" #_func, _devtag, (_class *)nullptr), _tag);
-#define MCFG_DEVICE_VBLANK_INT_REMOVE() \
- dynamic_cast<device_execute_interface &>(*device).set_vblank_int(device_interrupt_delegate(), nullptr);
-#define MCFG_DEVICE_PERIODIC_INT_DRIVER(_class, _func, _rate) \
- dynamic_cast<device_execute_interface &>(*device).set_periodic_int(device_interrupt_delegate(&_class::_func, #_class "::" #_func, DEVICE_SELF, (_class *)nullptr), attotime::from_hz(_rate));
-#define MCFG_DEVICE_PERIODIC_INT_DEVICE(_devtag, _class, _func, _rate) \
- dynamic_cast<device_execute_interface &>(*device).set_periodic_int(device_interrupt_delegate(&_class::_func, #_class "::" #_func, _devtag, (_class *)nullptr), attotime::from_hz(_rate));
-#define MCFG_DEVICE_PERIODIC_INT_REMOVE() \
- dynamic_cast<device_execute_interface &>(*device).set_periodic_int(device_interrupt_delegate(), attotime());
-#define MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(_class, _func) \
- dynamic_cast<device_execute_interface &>(*device).set_irq_acknowledge_callback(device_irq_acknowledge_delegate(&_class::_func, #_class "::" #_func, DEVICE_SELF, (_class *)nullptr));
-#define MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE(_devtag, _class, _func) \
- dynamic_cast<device_execute_interface &>(*device).set_irq_acknowledge_callback(device_irq_acknowledge_delegate(&_class::_func, #_class "::" #_func, _devtag, (_class *)nullptr));
-#define MCFG_DEVICE_IRQ_ACKNOWLEDGE_REMOVE() \
- dynamic_cast<device_execute_interface &>(*device).set_irq_acknowledge_callback(device_irq_acknowledge_delegate());
-
-
-//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
diff --git a/src/emu/diimage.h b/src/emu/diimage.h
index d96aae352be..9ab7d94bf83 100644
--- a/src/emu/diimage.h
+++ b/src/emu/diimage.h
@@ -104,9 +104,6 @@ enum class image_verify_result { PASS, FAIL };
#define DEVICE_IMAGE_UNLOAD_MEMBER(_name) void _name(device_image_interface &image)
#define DECLARE_DEVICE_IMAGE_UNLOAD_MEMBER(_name) DEVICE_IMAGE_UNLOAD_MEMBER(_name)
-#define MCFG_SET_IMAGE_LOADABLE(_usrload) \
- dynamic_cast<device_image_interface &>(*device).set_user_loadable(_usrload);
-
// ======================> device_image_interface
diff --git a/src/emu/dimemory.h b/src/emu/dimemory.h
index 612ff15ae28..3d43c6a6a4d 100644
--- a/src/emu/dimemory.h
+++ b/src/emu/dimemory.h
@@ -42,30 +42,6 @@ constexpr int TRANSLATE_FETCH_DEBUG = (TRANSLATE_FETCH | TRANSLATE_DEBUG_MAS
//**************************************************************************
-// INTERFACE CONFIGURATION MACROS
-//**************************************************************************
-
-#define MCFG_DEVICE_ADDRESS_MAP(_space, _map) \
- dynamic_cast<device_memory_interface *>(device)->set_addrmap(_space, address_map_constructor(&std::remove_pointer_t<decltype(this)>::_map, tag(), this));
-
-#define MCFG_DEVICE_REMOVE_ADDRESS_MAP(_space) \
- dynamic_cast<device_memory_interface *>(device)->set_addrmap(_space, address_map_constructor());
-
-#define MCFG_DEVICE_PROGRAM_MAP(_map) \
- MCFG_DEVICE_ADDRESS_MAP(AS_PROGRAM, _map)
-
-#define MCFG_DEVICE_DATA_MAP(_map) \
- MCFG_DEVICE_ADDRESS_MAP(AS_DATA, _map)
-
-#define MCFG_DEVICE_IO_MAP(_map) \
- MCFG_DEVICE_ADDRESS_MAP(AS_IO, _map)
-
-#define MCFG_DEVICE_OPCODES_MAP(_map) \
- MCFG_DEVICE_ADDRESS_MAP(AS_OPCODES, _map)
-
-
-
-//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
diff --git a/src/emu/dirom.h b/src/emu/dirom.h
index 1e854c3a3c7..761e1d357ec 100644
--- a/src/emu/dirom.h
+++ b/src/emu/dirom.h
@@ -17,9 +17,6 @@
#ifndef MAME_EMU_DIROM_H
#define MAME_EMU_DIROM_H
-#define MCFG_DEVICE_ROM(_rom_tag) \
- dynamic_cast<device_rom_interface &>(*device).set_device_rom_tag(_rom_tag);
-
class device_rom_interface : public device_memory_interface
{
public:
diff --git a/src/emu/dislot.h b/src/emu/dislot.h
index 3154a056f35..da6a1b0aa3d 100644
--- a/src/emu/dislot.h
+++ b/src/emu/dislot.h
@@ -9,41 +9,6 @@
#ifndef MAME_EMU_DISLOT_H
#define MAME_EMU_DISLOT_H
-//**************************************************************************
-// LEGACY MACROS
-//**************************************************************************
-
-#define MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_option, _fixed) MCFG_SLOT_OPTION_RESET _slot_intf(dynamic_cast<device_slot_interface &>(*device)); MCFG_SLOT_DEFAULT_OPTION(_def_option) MCFG_SLOT_FIXED(_fixed)
-
-
-//**************************************************************************
-// MACROS
-//**************************************************************************
-
-#define MCFG_SLOT_FIXED(_fixed) \
- dynamic_cast<device_slot_interface &>(*device).set_fixed(_fixed);
-
-#define MCFG_SLOT_DEFAULT_OPTION(_option) \
- dynamic_cast<device_slot_interface &>(*device).set_default_option(_option);
-
-#define MCFG_SLOT_OPTION_RESET \
- dynamic_cast<device_slot_interface &>(*device).option_reset();
-
-#define MCFG_SLOT_OPTION_ADD(_option, _devtype) \
- dynamic_cast<device_slot_interface &>(*device).option_add(_option, _devtype);
-
-#define MCFG_SLOT_OPTION_DEFAULT_BIOS(_option, _default_bios) \
- dynamic_cast<device_slot_interface &>(*device).set_option_default_bios(_option, _default_bios);
-
-#define MCFG_SLOT_OPTION_MACHINE_CONFIG(_option, _machine_config_name) \
- dynamic_cast<device_slot_interface &>(*device).set_option_machine_config(_option, _machine_config_name);
-
-#define MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS(_option, _dev_inp_def) \
- dynamic_cast<device_slot_interface &>(*device).set_option_device_input_defaults(_option, DEVICE_INPUT_DEFAULTS_NAME(_dev_inp_def));
-
-#define MCFG_SLOT_OPTION_CLOCK(_option, _clock) \
- dynamic_cast<device_slot_interface &>(*device).set_option_clock(_option, _clock);
-
//**************************************************************************
// TYPE DEFINITIONS
diff --git a/src/emu/disound.h b/src/emu/disound.h
index 1a13c7613fa..37a7df462be 100644
--- a/src/emu/disound.h
+++ b/src/emu/disound.h
@@ -31,20 +31,6 @@ constexpr int AUTO_ALLOC_INPUT = 65535;
//**************************************************************************
-// INTERFACE CONFIGURATION MACROS
-//**************************************************************************
-
-#define MCFG_SOUND_ROUTE(_output, _target, ...) \
- dynamic_cast<device_sound_interface &>(*device).add_route(_output, _target, __VA_ARGS__);
-
-#define MCFG_SOUND_ROUTES_RESET() \
- dynamic_cast<device_sound_interface &>(*device).reset_routes();
-
-#define MCFG_MIXER_ROUTE(_output, _target, _gain, _mixoutput) \
- dynamic_cast<device_sound_interface &>(*device).add_route(_output, _target, _gain, AUTO_ALLOC_INPUT, _mixoutput);
-
-
-//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
diff --git a/src/emu/mconfig.h b/src/emu/mconfig.h
index 16f431a9eb8..cf683c8b1c8 100644
--- a/src/emu/mconfig.h
+++ b/src/emu/mconfig.h
@@ -216,42 +216,5 @@ inline std::enable_if_t<emu::detail::is_device_interface<typename std::remove_re
} } // namespace emu::detail
-
-//*************************************************************************/
-/** @name Machine config start/end macros */
-//*************************************************************************/
-
-/**
- @def MACHINE_CONFIG_START(_name)
- Begins a device machine configuration member
- @param _name name of this config
- @hideinitializer
-*/
-#define MACHINE_CONFIG_START(_name) \
-ATTR_COLD void _name(machine_config &config) \
-{ \
- device_t *device = nullptr; \
- (void)device; \
-
-/**
-@def MACHINE_CONFIG_END
-Ends a machine_config.
-@hideinitializer
-*/
-#define MACHINE_CONFIG_END \
-}
-
-//*************************************************************************/
-/** @name Core machine config options */
-//*************************************************************************/
-
-// add/remove devices
-#define MCFG_DEVICE_ADD(_tag, ...) \
- device = emu::detail::device_add_impl(config, _tag, __VA_ARGS__);
-#define MCFG_DEVICE_REPLACE(_tag, ...) \
- device = emu::detail::device_replace_impl(config, _tag, __VA_ARGS__);
-#define MCFG_DEVICE_MODIFY(_tag) \
- device = config.device_find(this, _tag);
-
#endif /* MAME_EMU_MCONFIG_H */
/** @} */
diff --git a/src/emu/screen.h b/src/emu/screen.h
index c530dc75502..a2b0b5eb0a4 100644
--- a/src/emu/screen.h
+++ b/src/emu/screen.h
@@ -354,7 +354,7 @@ private:
screen_type_enum m_type; // type of screen
int m_orientation; // orientation flags combined with system flags
std::pair<unsigned, unsigned> m_phys_aspect; // physical aspect ratio
- bool m_oldstyle_vblank_supplied; // MCFG_SCREEN_VBLANK_TIME macro used
+ bool m_oldstyle_vblank_supplied; // set_vblank_time call used
attoseconds_t m_refresh; // default refresh period
attoseconds_t m_vblank; // duration of a VBLANK
float m_xoffset, m_yoffset; // default X/Y offsets
@@ -440,24 +440,15 @@ DECLARE_DEVICE_TYPE(SCREEN, screen_device)
typedef device_type_iterator<screen_device> screen_device_iterator;
/*!
- @defgroup Screen device configuration macros
+ @defgroup Screen device configuration functions
@{
- @def MCFG_SCREEN_ADD
- Add a new legacy screen color device
-
- @def MCFG_SCREEN_ADD_MONOCHROME
- Add a new legacy monochrome screen device
-
- @def MCFG_SCREEN_MODIFY
- Modify a legacy screen device
-
- @def MCFG_SCREEN_TYPE
+ @def set_type
Modify the screen device type
@see screen_type_enum
- @def MCFG_SCREEN_RAW_PARAMS
+ @def set_raw
Configures screen parameters for the given screen.
- @remark It's better than using @see MCFG_SCREEN_REFRESH_RATE and @see MCFG_SCREEN_VBLANK_TIME but still not enough.
+ @remark It's better than using @see set_refresh_hz and @see set_vblank_time but still not enough.
@param _pixclock
Pixel Clock frequency value
@@ -480,23 +471,23 @@ typedef device_type_iterator<screen_device> screen_device_iterator;
@param _vbstart
Vertical pixel position for VBlank start event, also last pixel where screen rectangle is visible.
- @def MCFG_SCREEN_REFRESH_RATE
+ @def set_refresh_hz
Sets the number of Frames Per Second for this screen
- @remarks Please use @see MCFG_SCREEN_RAW_PARAMS instead. Gives imprecise timings.
+ @remarks Please use @see set_raw instead. Gives imprecise timings.
@param _rate
FPS number
- @def MCFG_SCREEN_VBLANK_TIME
+ @def set_vblank_time
Sets the vblank time of the given screen
@remarks Please use @see MCFG_SCREEN_RAW_PARAMS instead. Gives imprecise timings.
@param _time
Time parameter, in attotime value
- @def MCFG_SCREEN_SIZE
+ @def set_size
Sets total screen size, including H/V-Blanks
- @remarks Please use @see MCFG_SCREEN_RAW_PARAMS instead. Gives imprecise timings.
+ @remarks Please use @see set_raw instead. Gives imprecise timings.
@param _width
Screen horizontal size
@@ -504,9 +495,9 @@ typedef device_type_iterator<screen_device> screen_device_iterator;
@param _height
Screen vertical size
- @def MCFG_SCREEN_VISIBLE_AREA
+ @def set_visarea
Sets screen visible area
- @remarks Please use MCFG_SCREEN_RAW_PARAMS instead. Gives imprecise timings.
+ @remarks Please use @see set_raw instead. Gives imprecise timings.
@param _minx
Screen left border
@@ -523,38 +514,4 @@ typedef device_type_iterator<screen_device> screen_device_iterator;
@}
*/
-#define MCFG_SCREEN_ADD(_tag, _type) \
- MCFG_DEVICE_ADD(_tag, SCREEN, SCREEN_TYPE_##_type)
-
-#define MCFG_SCREEN_MODIFY(_tag) \
- MCFG_DEVICE_MODIFY(_tag)
-
-#define MCFG_SCREEN_TYPE(_type) \
- downcast<screen_device &>(*device).set_type(SCREEN_TYPE_##_type);
-
-#define MCFG_SCREEN_RAW_PARAMS(_pixclock, _htotal, _hbend, _hbstart, _vtotal, _vbend, _vbstart) \
- downcast<screen_device &>(*device).set_raw(_pixclock, _htotal, _hbend, _hbstart, _vtotal, _vbend, _vbstart);
-
-#define MCFG_SCREEN_REFRESH_RATE(_rate) \
- downcast<screen_device &>(*device).set_refresh(HZ_TO_ATTOSECONDS(_rate));
-
-#define MCFG_SCREEN_VBLANK_TIME(_time) \
- downcast<screen_device &>(*device).set_vblank_time(_time);
-
-#define MCFG_SCREEN_SIZE(_width, _height) \
- downcast<screen_device &>(*device).set_size(_width, _height);
-
-#define MCFG_SCREEN_VISIBLE_AREA(_minx, _maxx, _miny, _maxy) \
- downcast<screen_device &>(*device).set_visarea(_minx, _maxx, _miny, _maxy);
-#define MCFG_SCREEN_UPDATE_DRIVER(_class, _method) \
- downcast<screen_device &>(*device).set_screen_update(&_class::_method, #_class "::" #_method);
-#define MCFG_SCREEN_UPDATE_DEVICE(_device, _class, _method) \
- downcast<screen_device &>(*device).set_screen_update(_device, &_class::_method, #_class "::" #_method);
-#define MCFG_SCREEN_PALETTE(_palette_tag) \
- downcast<screen_device &>(*device).set_palette(_palette_tag);
-#define MCFG_SCREEN_NO_PALETTE \
- downcast<screen_device &>(*device).set_palette(finder_base::DUMMY_TAG);
-#define MCFG_SCREEN_VIDEO_ATTRIBUTES(_flags) \
- downcast<screen_device &>(*device).set_video_attributes(_flags);
-
#endif // MAME_EMU_SCREEN_H
diff --git a/src/emu/tilemap.h b/src/emu/tilemap.h
index 23b75362f0e..15794247a4f 100644
--- a/src/emu/tilemap.h
+++ b/src/emu/tilemap.h
@@ -360,68 +360,6 @@ enum tilemap_standard_mapper
TILEMAP_STANDARD_COUNT
};
-
-
-//**************************************************************************
-// DEVICE CONFIGURATION MACROS
-//**************************************************************************
-
-// primitives
-#define MCFG_TILEMAP_ADD(_tag) \
- MCFG_DEVICE_ADD(_tag, TILEMAP)
-#define MCFG_TILEMAP_GFXDECODE(_gfxtag) \
- downcast<tilemap_device &>(*device).set_gfxdecode(_gfxtag);
-#define MCFG_TILEMAP_BYTES_PER_ENTRY(_bpe) \
- downcast<tilemap_device &>(*device).set_bytes_per_entry(_bpe);
-#define MCFG_TILEMAP_INFO_CB_DRIVER(_class, _method) \
- downcast<tilemap_device &>(*device).set_info_callback(tilemap_get_info_delegate(&_class::_method, #_class "::" #_method, nullptr, (_class *)nullptr));
-#define MCFG_TILEMAP_INFO_CB_DEVICE(_device, _class, _method) \
- downcast<tilemap_device &>(*device).set_info_callback(tilemap_get_info_delegate(&_class::_method, #_class "::" #_method, _device, (_class *)nullptr));
-#define MCFG_TILEMAP_LAYOUT_STANDARD(_standard, _columns, _rows) \
- downcast<tilemap_device &>(*device).set_layout(TILEMAP_##_standard, _columns, _rows);
-#define MCFG_TILEMAP_LAYOUT_CB_DRIVER(_class, _method, _columns, _rows) \
- downcast<tilemap_device &>(*device).set_layout(tilemap_mapper_delegate(&_class::_method, #_class "::" #_method, nullptr, (_class *)nullptr), _columns, _rows);
-#define MCFG_TILEMAP_LAYOUT_CB_DEVICE(_device, _class, _method, _columns, _rows) \
- downcast<tilemap_device &>(*device).set_layout(tilemap_mapper_delegate(&_class::_method, #_class "::" #_method, _device, (_class *)nullptr), _columns, _rows);
-#define MCFG_TILEMAP_TILE_SIZE(_width, _height) \
- downcast<tilemap_device &>(*device).set_tile_size(_width, _height);
-#define MCFG_TILEMAP_TRANSPARENT_PEN(_pen) \
- downcast<tilemap_device &>(*device).set_configured_transparent_pen(_pen);
-
-// common cases
-#define MCFG_TILEMAP_ADD_STANDARD(_tag, _gfxtag, _bytes_per_entry, _class, _method, _tilewidth, _tileheight, _mapper, _columns, _rows) \
- MCFG_TILEMAP_ADD(_tag) \
- MCFG_TILEMAP_GFXDECODE(_gfxtag) \
- MCFG_TILEMAP_BYTES_PER_ENTRY(_bytes_per_entry) \
- MCFG_TILEMAP_INFO_CB_DRIVER(_class, _method) \
- MCFG_TILEMAP_LAYOUT_STANDARD(_mapper, _columns, _rows) \
- MCFG_TILEMAP_TILE_SIZE(_tilewidth, _tileheight)
-#define MCFG_TILEMAP_ADD_CUSTOM(_tag, _gfxtag, _bytes_per_entry, _class, _method, _tilewidth, _tileheight, _mapper, _columns, _rows) \
- MCFG_TILEMAP_ADD(_tag) \
- MCFG_TILEMAP_GFXDECODE(_gfxtag) \
- MCFG_TILEMAP_BYTES_PER_ENTRY(_bytes_per_entry) \
- MCFG_TILEMAP_INFO_CB_DRIVER(_class, _method) \
- MCFG_TILEMAP_LAYOUT_CB_DRIVER(_class, _mapper, _columns, _rows) \
- MCFG_TILEMAP_TILE_SIZE(_tilewidth, _tileheight)
-#define MCFG_TILEMAP_ADD_STANDARD_TRANSPEN(_tag, _gfxtag, _bytes_per_entry, _class, _method, _tilewidth, _tileheight, _mapper, _columns, _rows, _transpen) \
- MCFG_TILEMAP_ADD(_tag) \
- MCFG_TILEMAP_GFXDECODE(_gfxtag) \
- MCFG_TILEMAP_BYTES_PER_ENTRY(_bytes_per_entry) \
- MCFG_TILEMAP_INFO_CB_DRIVER(_class, _method) \
- MCFG_TILEMAP_LAYOUT_STANDARD(_mapper, _columns, _rows) \
- MCFG_TILEMAP_TILE_SIZE(_tilewidth, _tileheight) \
- MCFG_TILEMAP_TRANSPARENT_PEN(_transpen)
-#define MCFG_TILEMAP_ADD_CUSTOM_TRANSPEN(_tag, _gfxtag, _bytes_per_entry, _class, _method, _tilewidth, _tileheight, _mapper, _columns, _rows, _transpen) \
- MCFG_TILEMAP_ADD(_tag) \
- MCFG_TILEMAP_GFXDECODE(_gfxtag) \
- MCFG_TILEMAP_BYTES_PER_ENTRY(_bytes_per_entry) \
- MCFG_TILEMAP_INFO_CB_DRIVER(_class, _method) \
- MCFG_TILEMAP_LAYOUT_CB_DRIVER(_columns, _mapper, _rows, _class) \
- MCFG_TILEMAP_TILE_SIZE(_tilewidth, _tileheight) \
- MCFG_TILEMAP_TRANSPARENT_PEN(_transpen)
-
-
-
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -741,6 +679,15 @@ public:
set_tile_size(tilewidth, tileheight);
}
+ template <typename T>
+ tilemap_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&gfxtag, int entrybytes, u16 tilewidth, u16 tileheight)
+ : tilemap_device(mconfig, tag, owner, (u32)0)
+ {
+ set_gfxdecode(std::forward<T>(gfxtag));
+ set_bytes_per_entry(entrybytes);
+ set_tile_size(tilewidth, tileheight);
+ }
+
tilemap_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 0);
template <typename T> void set_gfxdecode(T &&tag) { m_gfxdecode.set_tag(std::forward<T>(tag)); }
@@ -756,6 +703,11 @@ public:
set_info_callback(tilemap_get_info_delegate(callback, name, nullptr, static_cast<FunctionClass *>(nullptr)));
}
+ template <class FunctionClass> void set_layout(tilemap_memory_index (FunctionClass::*callback)(u32, u32, u32, u32), const char *name, u32 columns, u32 rows)
+ {
+ set_layout(tilemap_mapper_delegate(callback, name, nullptr, static_cast<FunctionClass *>(nullptr)), columns, rows);
+ }
+
void set_layout(tilemap_standard_mapper mapper, u32 columns, u32 rows) {
m_standard_mapper = mapper;
m_num_columns = columns;
diff --git a/src/mame/drivers/1942.cpp b/src/mame/drivers/1942.cpp
index 1b483ff8ed8..7127d99557b 100644
--- a/src/mame/drivers/1942.cpp
+++ b/src/mame/drivers/1942.cpp
@@ -622,7 +622,7 @@ void _1942_state::_1942(machine_config &config)
NETLIST_STREAM_INPUT(config, "snd_nl:cin5", 5, "R_AY2_3.R");
NETLIST_STREAM_OUTPUT(config, "snd_nl:cout0", 0, "R1.1").set_mult_offset(70000.0, 0.0);
- //MCFG_NETLIST_STREAM_OUTPUT("snd_nl", 0, "VR.2")
+ //NETLIST_STREAM_OUTPUT(config, "snd_nl:cout0", 0, "VR.2");
}
diff --git a/src/mame/drivers/2mindril.cpp b/src/mame/drivers/2mindril.cpp
index 3b9ac3582a0..ecb9912134e 100644
--- a/src/mame/drivers/2mindril.cpp
+++ b/src/mame/drivers/2mindril.cpp
@@ -355,7 +355,6 @@ void _2mindril_state::drill(machine_config &config)
M68000(config, m_maincpu, 16000000);
m_maincpu->set_addrmap(AS_PROGRAM, &_2mindril_state::drill_map);
m_maincpu->set_vblank_int("screen", FUNC(_2mindril_state::vblank_irq));
- //MCFG_DEVICE_PERIODIC_INT_DRIVER(_2mindril_state, drill_device_irq, 60)
GFXDECODE(config, m_gfxdecode, m_palette, gfx_2mindril);
tc0510nio_device &tc0510nio(TC0510NIO(config, "tc0510nio", 0));
diff --git a/src/mame/drivers/amstr_pc.cpp b/src/mame/drivers/amstr_pc.cpp
index 3abea11e6d8..2ecd557bcca 100644
--- a/src/mame/drivers/amstr_pc.cpp
+++ b/src/mame/drivers/amstr_pc.cpp
@@ -35,6 +35,7 @@ More information can be found at http://www.seasip.info/AmstradXT/1640tech/index
#include "bus/isa/isa.h"
#include "bus/isa/isa_cards.h"
#include "bus/pc_joy/pc_joy.h"
+#include "bus/rs232/rs232.h"
#include "machine/pckeybrd.h"
#include "machine/pc_lpt.h"
@@ -487,9 +488,8 @@ INPUT_PORTS_END
void amstrad_pc_state::cfg_com(device_t *device)
{
- /* has it's own mouse */
- device = device->subdevice("serport0");
- MCFG_SLOT_DEFAULT_OPTION(nullptr)
+ /* has its own mouse */
+ device->subdevice<rs232_port_device>("serport0")->set_default_option(nullptr);
}
void amstrad_pc_state::cfg_fdc(device_t *device)
diff --git a/src/mame/drivers/amusco.cpp b/src/mame/drivers/amusco.cpp
index aa5cf9db461..6f7bb41e466 100644
--- a/src/mame/drivers/amusco.cpp
+++ b/src/mame/drivers/amusco.cpp
@@ -601,7 +601,7 @@ void amusco_state::amusco(machine_config &config)
void amusco_state::draw88pkr(machine_config &config)
{
amusco(config);
- //MCFG_DEVICE_MODIFY("ppi_outputs") // Some bits are definitely different
+ // TODO: Some bits of ppi_outputs are definitely different
}
/*************************
diff --git a/src/mame/drivers/apogee.cpp b/src/mame/drivers/apogee.cpp
index 745e450de88..e603ce12142 100644
--- a/src/mame/drivers/apogee.cpp
+++ b/src/mame/drivers/apogee.cpp
@@ -235,7 +235,7 @@ void apogee_state::apogee(machine_config &config)
m_ppi8255_1->in_pc_callback().set(FUNC(radio86_state::radio86_8255_portc_r2));
m_ppi8255_1->out_pc_callback().set(FUNC(radio86_state::radio86_8255_portc_w2));
- //MCFG_DEVICE_ADD("ppi8255_2", I8255, 0)
+ //I8255(config, "ppi8255_2");
i8275_device &i8275(I8275(config, "i8275", XTAL(16'000'000) / 12));
i8275.set_character_width(6);
diff --git a/src/mame/drivers/atarig42.cpp b/src/mame/drivers/atarig42.cpp
index 8d53b5a77d0..2c1be9ac4b8 100644
--- a/src/mame/drivers/atarig42.cpp
+++ b/src/mame/drivers/atarig42.cpp
@@ -517,7 +517,8 @@ static const atari_rle_objects_config modesc_0x400 =
*
*************************************/
-MACHINE_CONFIG_START(atarig42_state::atarig42)
+void atarig42_state::atarig42(machine_config &config)
+{
/* basic machine hardware */
M68000(config, m_maincpu, ATARI_CLOCK_14MHz);
m_maincpu->set_addrmap(AS_PROGRAM, &atarig42_state::main_map);
@@ -530,7 +531,9 @@ MACHINE_CONFIG_START(atarig42_state::atarig42)
GFXDECODE(config, m_gfxdecode, "palette", gfx_atarig42);
PALETTE(config, "palette").set_format(palette_device::IRGB_1555, 2048);
- MCFG_TILEMAP_ADD_CUSTOM("playfield", "gfxdecode", 2, atarig42_state, get_playfield_tile_info, 8,8, atarig42_playfield_scan, 128,64)
+ TILEMAP(config, m_playfield_tilemap, m_gfxdecode, 2, 8,8);
+ m_playfield_tilemap->set_layout(FUNC(atarig42_state::atarig42_playfield_scan), 128,64);
+ m_playfield_tilemap->set_info_callback(FUNC(atarig42_state::get_playfield_tile_info));
TILEMAP(config, m_alpha_tilemap, m_gfxdecode, 2, 8,8, TILEMAP_SCAN_ROWS, 64,32, 0).set_info_callback(FUNC(atarig42_state::get_alpha_tile_info));
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
@@ -551,7 +554,7 @@ MACHINE_CONFIG_START(atarig42_state::atarig42)
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
+}
void atarig42_0x200_state::atarig42_0x200(machine_config &config)
{
diff --git a/src/mame/drivers/atarigt.cpp b/src/mame/drivers/atarigt.cpp
index 151ed5b1d77..ca989a8e90d 100644
--- a/src/mame/drivers/atarigt.cpp
+++ b/src/mame/drivers/atarigt.cpp
@@ -807,8 +807,8 @@ static const atari_rle_objects_config modesc =
*
*************************************/
-MACHINE_CONFIG_START(atarigt_state::atarigt)
-
+void atarigt_state::atarigt(machine_config &config)
+{
/* basic machine hardware */
M68EC020(config, m_maincpu, ATARI_CLOCK_50MHz/2);
m_maincpu->set_addrmap(AS_PROGRAM, &atarigt_state::main_map);
@@ -822,7 +822,9 @@ MACHINE_CONFIG_START(atarigt_state::atarigt)
GFXDECODE(config, m_gfxdecode, m_palette, gfx_atarigt);
PALETTE(config, m_palette).set_entries(MRAM_ENTRIES);
- MCFG_TILEMAP_ADD_CUSTOM("playfield", "gfxdecode", 2, atarigt_state, get_playfield_tile_info, 8,8, atarigt_playfield_scan, 128,64)
+ TILEMAP(config, m_playfield_tilemap, m_gfxdecode, 2, 8,8);
+ m_playfield_tilemap->set_layout(FUNC(atarigt_state::atarigt_playfield_scan), 128,64);
+ m_playfield_tilemap->set_info_callback(FUNC(atarigt_state::get_playfield_tile_info));
TILEMAP(config, m_alpha_tilemap, m_gfxdecode, 2, 8,8, TILEMAP_SCAN_ROWS, 64, 32).set_info_callback(FUNC(atarigt_state::get_alpha_tile_info));
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
@@ -840,8 +842,7 @@ MACHINE_CONFIG_START(atarigt_state::atarigt)
/* sound hardware */
ATARI_CAGE(config, m_cage, 0);
m_cage->irq_handler().set(FUNC(atarigt_state::cage_irq_callback));
-
-MACHINE_CONFIG_END
+}
void atarigt_state::tmek(machine_config &config)
{
diff --git a/src/mame/drivers/atarigx2.cpp b/src/mame/drivers/atarigx2.cpp
index d1716fcd31f..6d25473a84c 100644
--- a/src/mame/drivers/atarigx2.cpp
+++ b/src/mame/drivers/atarigx2.cpp
@@ -1489,8 +1489,8 @@ static const atari_rle_objects_config modesc_0x400 =
*
*************************************/
-MACHINE_CONFIG_START(atarigx2_state::atarigx2)
-
+void atarigx2_state::atarigx2(machine_config &config)
+{
/* basic machine hardware */
M68EC020(config, m_maincpu, ATARI_CLOCK_14MHz);
m_maincpu->set_addrmap(AS_PROGRAM, &atarigx2_state::main_map);
@@ -1511,7 +1511,9 @@ MACHINE_CONFIG_START(atarigx2_state::atarigx2)
GFXDECODE(config, m_gfxdecode, "palette", gfx_atarigx2);
PALETTE(config, "palette").set_format(palette_device::IRGB_1555, 2048);
- MCFG_TILEMAP_ADD_CUSTOM("playfield", "gfxdecode", 2, atarigx2_state, get_playfield_tile_info, 8,8, atarigx2_playfield_scan, 128,64)
+ TILEMAP(config, m_playfield_tilemap, m_gfxdecode, 2, 8,8);
+ m_playfield_tilemap->set_layout(FUNC(atarigx2_state::atarigx2_playfield_scan), 128,64);
+ m_playfield_tilemap->set_info_callback(FUNC(atarigx2_state::get_playfield_tile_info));
TILEMAP(config, m_alpha_tilemap, m_gfxdecode, 2, 8,8, TILEMAP_SCAN_ROWS, 64,32, 0).set_info_callback(FUNC(atarigx2_state::get_alpha_tile_info));
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
@@ -1532,8 +1534,7 @@ MACHINE_CONFIG_START(atarigx2_state::atarigx2)
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
-
+}
void atarigx2_state::atarigx2_0x200(machine_config &config)
{
diff --git a/src/mame/drivers/atarist.cpp b/src/mame/drivers/atarist.cpp
index 79c3ffb4f14..8ef9ff076b9 100644
--- a/src/mame/drivers/atarist.cpp
+++ b/src/mame/drivers/atarist.cpp
@@ -2159,9 +2159,9 @@ void ste_state::ste(machine_config &config)
m_ymsnd->add_route(0, "lspeaker", 0.50);
m_ymsnd->add_route(0, "rspeaker", 0.50);
/*
- MCFG_DEVICE_ADD("custom", CUSTOM, 0) // DAC
- MCFG_SOUND_ROUTE(0, "rspeaker", 0.50)
- MCFG_SOUND_ROUTE(1, "lspeaker", 0.50)
+ custom_device &custom_dac(CUSTOM(config, "custom", 0)); // DAC
+ custom_dac.add_route(0, "rspeaker", 0.50);
+ custom_dac.add_route(1, "lspeaker", 0.50);
*/
LMC1992(config, LMC1992_TAG);
@@ -2202,7 +2202,7 @@ void stbook_state::stbook(machine_config &config)
M68000(config, m_maincpu, U517/2);
m_maincpu->set_addrmap(AS_PROGRAM, &stbook_state::stbook_map);
- //MCFG_DEVICE_ADD(COP888_TAG, COP888, Y700)
+ //COP888(config, COP888_TAG, Y700);
// video hardware
SCREEN(config, m_screen, SCREEN_TYPE_LCD);
diff --git a/src/mame/drivers/atarittl.cpp b/src/mame/drivers/atarittl.cpp
index 9c463ed6ba6..53dd592f48b 100644
--- a/src/mame/drivers/atarittl.cpp
+++ b/src/mame/drivers/atarittl.cpp
@@ -348,7 +348,6 @@ void stuntcyc_state::stuntcyc(machine_config &config)
/* basic machine hardware */
NETLIST_CPU(config, m_maincpu, STUNTCYC_NL_CLOCK).set_source(netlist_stuntcyc);
- //MCFG_NETLIST_ANALOG_OUTPUT("maincpu", "vid0", "VIDEO_OUT", fixedfreq_device, update_vid, "fixfreq")
NETLIST_LOGIC_OUTPUT(config, "maincpu:probe_bit0", 0).set_params("probe_bit0", FUNC(stuntcyc_state::probe_bit0_cb));
NETLIST_LOGIC_OUTPUT(config, "maincpu:probe_bit1", 0).set_params("probe_bit1", FUNC(stuntcyc_state::probe_bit1_cb));
NETLIST_LOGIC_OUTPUT(config, "maincpu:probe_bit2", 0).set_params("probe_bit2", FUNC(stuntcyc_state::probe_bit2_cb));
diff --git a/src/mame/drivers/atlantis.cpp b/src/mame/drivers/atlantis.cpp
index 87d344b0d0d..ae666dd55a2 100644
--- a/src/mame/drivers/atlantis.cpp
+++ b/src/mame/drivers/atlantis.cpp
@@ -883,7 +883,7 @@ void atlantis_state::mwskins(machine_config &config)
com1.dsr_handler().set(m_uart1, FUNC(ins8250_uart_device::dsr_w));
com1.ri_handler().set(m_uart1, FUNC(ins8250_uart_device::ri_w));
com1.cts_handler().set(m_uart1, FUNC(ins8250_uart_device::cts_w));
- //MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("com1", mwskins_comm)
+ //com1.set_option_device_input_defaults("com1", DEVICE_INPUT_DEFAULTS_NAME(mwskins_comm));
rs232_port_device &com2(RS232_PORT(config, "com2", default_rs232_devices, nullptr));
com2.rxd_handler().set(m_uart2, FUNC(ins8250_uart_device::rx_w));
diff --git a/src/mame/drivers/atpci.cpp b/src/mame/drivers/atpci.cpp
index 8f6897a4198..716722de7bf 100644
--- a/src/mame/drivers/atpci.cpp
+++ b/src/mame/drivers/atpci.cpp
@@ -48,8 +48,8 @@ WRITE8_MEMBER(at586_state::boot_state_w)
void at586_state::tx_config(device_t *device)
{
- MCFG_I82439TX_CPU( "maincpu" )
- MCFG_I82439TX_REGION( "isa" )
+ downcast<i82439tx_device *>(device)->set_cpu("maincpu");
+ downcast<i82439tx_device *>(device)->set_region("isa");
}
void at586_state::sb_config(device_t *device)
diff --git a/src/mame/drivers/bebox.cpp b/src/mame/drivers/bebox.cpp
index c73482722b8..300ef895742 100644
--- a/src/mame/drivers/bebox.cpp
+++ b/src/mame/drivers/bebox.cpp
@@ -221,7 +221,7 @@ void bebox_state::bebox_peripherals(machine_config &config)
pcislot0.set_option_machine_config("mpc105", mpc105_config);
add_pci_slot(config, "pcibus:1", 1, "cirrus");
- /*MCFG_PCI_BUS_LEGACY_DEVICE(12, nullptr, scsi53c810_pci_read, scsi53c810_pci_write)*/
+ /*PCI_BUS_LEGACY_DEVICE(12, nullptr, scsi53c810_pci_read, scsi53c810_pci_write)*/
SMC37C78(config, m_smc37c78, 24'000'000);
m_smc37c78->intrq_wr_callback().set(FUNC(bebox_state::fdc_interrupt));
diff --git a/src/mame/drivers/calchase.cpp b/src/mame/drivers/calchase.cpp
index 6d9f8322993..5fe5da47241 100644
--- a/src/mame/drivers/calchase.cpp
+++ b/src/mame/drivers/calchase.cpp
@@ -677,7 +677,8 @@ void calchase_state::machine_reset()
membank("bios_ext")->set_base(memregion("bios")->base() + 0);
}
-MACHINE_CONFIG_START(calchase_state::calchase)
+void calchase_state::calchase(machine_config &config)
+{
PENTIUM(config, m_maincpu, 133000000); // Cyrix 686MX-PR200 CPU
m_maincpu->set_addrmap(AS_PROGRAM, &calchase_state::calchase_map);
m_maincpu->set_addrmap(AS_IO, &calchase_state::calchase_io);
@@ -688,9 +689,11 @@ MACHINE_CONFIG_START(calchase_state::calchase)
ide_controller_32_device &ide(IDE_CONTROLLER_32(config, "ide").options(ata_devices, "hdd", nullptr, true));
ide.irq_handler().set("pic8259_2", FUNC(pic8259_device::ir6_w));
- MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0)
- MCFG_PCI_BUS_LEGACY_DEVICE(0, DEVICE_SELF, calchase_state, intel82439tx_pci_r, intel82439tx_pci_w)
- MCFG_PCI_BUS_LEGACY_DEVICE(7, DEVICE_SELF, calchase_state, intel82371ab_pci_r, intel82371ab_pci_w)
+ pci_bus_legacy_device &pcibus(PCI_BUS_LEGACY(config, "pcibus", 0, 0));
+ pcibus.set_device_read (0, FUNC(calchase_state::intel82439tx_pci_r), this);
+ pcibus.set_device_write(0, FUNC(calchase_state::intel82439tx_pci_w), this);
+ pcibus.set_device_read (7, FUNC(calchase_state::intel82371ab_pci_r), this);
+ pcibus.set_device_write(7, FUNC(calchase_state::intel82371ab_pci_w), this);
/* video hardware */
pcvideo_trident_vga(config);
@@ -707,9 +710,10 @@ MACHINE_CONFIG_START(calchase_state::calchase)
voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
vref.add_route(0, "ldac", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "ldac", -1.0, DAC_VREF_NEG_INPUT);
vref.add_route(0, "rdac", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "rdac", -1.0, DAC_VREF_NEG_INPUT);
-MACHINE_CONFIG_END
+}
-MACHINE_CONFIG_START(calchase_state::hostinv)
+void calchase_state::hostinv(machine_config &config)
+{
PENTIUM(config, m_maincpu, 133000000); // Cyrix 686MX-PR200 CPU
m_maincpu->set_addrmap(AS_PROGRAM, &calchase_state::calchase_map);
m_maincpu->set_addrmap(AS_IO, &calchase_state::calchase_io);
@@ -720,9 +724,11 @@ MACHINE_CONFIG_START(calchase_state::hostinv)
ide_controller_32_device &ide(IDE_CONTROLLER_32(config, "ide").options(ata_devices, "cdrom", nullptr, true));
ide.irq_handler().set("pic8259_2", FUNC(pic8259_device::ir6_w));
- MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0)
- MCFG_PCI_BUS_LEGACY_DEVICE(0, DEVICE_SELF, calchase_state, intel82439tx_pci_r, intel82439tx_pci_w)
- MCFG_PCI_BUS_LEGACY_DEVICE(7, DEVICE_SELF, calchase_state, intel82371ab_pci_r, intel82371ab_pci_w)
+ pci_bus_legacy_device &pcibus(PCI_BUS_LEGACY(config, "pcibus", 0, 0));
+ pcibus.set_device_read (0, FUNC(calchase_state::intel82439tx_pci_r), this);
+ pcibus.set_device_write(0, FUNC(calchase_state::intel82439tx_pci_w), this);
+ pcibus.set_device_read (7, FUNC(calchase_state::intel82371ab_pci_r), this);
+ pcibus.set_device_write(7, FUNC(calchase_state::intel82371ab_pci_w), this);
/* video hardware */
pcvideo_trident_vga(config);
@@ -735,7 +741,7 @@ MACHINE_CONFIG_START(calchase_state::hostinv)
voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
vref.add_route(0, "ldac", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "ldac", -1.0, DAC_VREF_NEG_INPUT);
vref.add_route(0, "rdac", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "rdac", -1.0, DAC_VREF_NEG_INPUT);
-MACHINE_CONFIG_END
+}
READ32_MEMBER(calchase_state::calchase_idle_skip_r)
diff --git a/src/mame/drivers/casloopy.cpp b/src/mame/drivers/casloopy.cpp
index 85567a36dbe..00d23c5d65e 100644
--- a/src/mame/drivers/casloopy.cpp
+++ b/src/mame/drivers/casloopy.cpp
@@ -517,8 +517,8 @@ DEVICE_IMAGE_LOAD_MEMBER( casloopy_state::cart_load )
return image_init_result::PASS;
}
-MACHINE_CONFIG_START(casloopy_state::casloopy)
-
+void casloopy_state::casloopy(machine_config &config)
+{
/* basic machine hardware */
SH2A(config, m_maincpu, 8000000);
m_maincpu->set_addrmap(AS_PROGRAM, &casloopy_state::casloopy_map);
@@ -551,7 +551,7 @@ MACHINE_CONFIG_START(casloopy_state::casloopy)
/* sound hardware */
SPEAKER(config, "mono").front_center();
-MACHINE_CONFIG_END
+}
/***************************************************************************
diff --git a/src/mame/drivers/cliffhgr.cpp b/src/mame/drivers/cliffhgr.cpp
index e93fae702f3..a000f981410 100644
--- a/src/mame/drivers/cliffhgr.cpp
+++ b/src/mame/drivers/cliffhgr.cpp
@@ -688,7 +688,8 @@ INPUT_PORTS_END
*
*************************************/
-MACHINE_CONFIG_START(cliffhgr_state::cliffhgr)
+void cliffhgr_state::cliffhgr(machine_config &config)
+{
Z80(config, m_maincpu, 4000000); /* 4MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &cliffhgr_state::mainmem);
m_maincpu->set_addrmap(AS_IO, &cliffhgr_state::mainport);
@@ -708,14 +709,14 @@ MACHINE_CONFIG_START(cliffhgr_state::cliffhgr)
vdp.int_callback().set_inputline(m_maincpu, INPUT_LINE_NMI);
/* override video rendering and raw screen info */
- MCFG_LASERDISC_SCREEN_ADD_NTSC("screen", "laserdisc")
+ m_laserdisc->add_ntsc_screen(config, "screen");
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
DISCRETE(config, m_discrete, cliffhgr_discrete).add_route(ALL_OUTPUTS, "lspeaker", 1.0);
-MACHINE_CONFIG_END
+}
diff --git a/src/mame/drivers/cobra.cpp b/src/mame/drivers/cobra.cpp
index d34ff34a923..5d5c4d7a3a1 100644
--- a/src/mame/drivers/cobra.cpp
+++ b/src/mame/drivers/cobra.cpp
@@ -3280,8 +3280,8 @@ void cobra_state::machine_reset()
m_dmadac[1]->set_frequency(44100);
}
-MACHINE_CONFIG_START(cobra_state::cobra)
-
+void cobra_state::cobra(machine_config &config)
+{
/* basic machine hardware */
PPC603(config, m_maincpu, 100000000); /* 603EV, 100? MHz */
m_maincpu->set_bus_frequency(XTAL(66'666'700)); /* Multiplier 1.5, Bus = 66MHz, Core = 100MHz */
@@ -3297,8 +3297,9 @@ MACHINE_CONFIG_START(cobra_state::cobra)
config.m_minimum_quantum = attotime::from_hz(15005);
- MCFG_PCI_BUS_LEGACY_ADD(m_legacy_pci, 0)
- MCFG_PCI_BUS_LEGACY_DEVICE(0, DEVICE_SELF, cobra_state, mpc106_pci_r, mpc106_pci_w)
+ PCI_BUS_LEGACY(config, m_legacy_pci, 0, 0);
+ m_legacy_pci->set_device_read(0, FUNC(cobra_state::mpc106_pci_r), this);
+ m_legacy_pci->set_device_write(0, FUNC(cobra_state::mpc106_pci_w), this);
ATA_INTERFACE(config, m_ata).options(ata_devices, "hdd", nullptr, true);
m_ata->irq_handler().set(FUNC(cobra_state::ide_interrupt));
@@ -3336,7 +3337,7 @@ MACHINE_CONFIG_START(cobra_state::cobra)
COBRA_JVS(config, m_jvs1, 0, m_jvs_host, true);
COBRA_JVS(config, m_jvs2, 0, m_jvs_host, true);
COBRA_JVS(config, m_jvs3, 0, m_jvs_host, true);
-MACHINE_CONFIG_END
+}
/*****************************************************************************/
diff --git a/src/mame/drivers/dccons.cpp b/src/mame/drivers/dccons.cpp
index 3a07f574cf5..c227091bd22 100644
--- a/src/mame/drivers/dccons.cpp
+++ b/src/mame/drivers/dccons.cpp
@@ -594,9 +594,9 @@ INPUT_PORTS_END
void dc_cons_state::gdrom_config(device_t *device)
{
- device = device->subdevice("cdda");
- MCFG_SOUND_ROUTE(0, "^^aica", 1.0)
- MCFG_SOUND_ROUTE(1, "^^aica", 1.0)
+ cdda_device *cdda = device->subdevice<cdda_device>("cdda");
+ cdda->add_route(0, "^^aica", 1.0);
+ cdda->add_route(1, "^^aica", 1.0);
}
void dc_cons_state::dc(machine_config &config)
diff --git a/src/mame/drivers/deco_ld.cpp b/src/mame/drivers/deco_ld.cpp
index c4fe0e9a003..04f2dced8be 100644
--- a/src/mame/drivers/deco_ld.cpp
+++ b/src/mame/drivers/deco_ld.cpp
@@ -462,8 +462,8 @@ void deco_ld_state::machine_start()
{
}
-MACHINE_CONFIG_START(deco_ld_state::rblaster)
-
+void deco_ld_state::rblaster(machine_config &config)
+{
/* basic machine hardware */
M6502(config, m_maincpu, 8000000/2);
m_maincpu->set_addrmap(AS_PROGRAM, &deco_ld_state::rblaster_map);
@@ -483,7 +483,7 @@ MACHINE_CONFIG_START(deco_ld_state::rblaster)
m_laserdisc->add_route(1, "rspeaker", 1.0);
/* video hardware */
- MCFG_LASERDISC_SCREEN_ADD_NTSC("screen", "laserdisc")
+ m_laserdisc->add_ntsc_screen(config, "screen");
GFXDECODE(config, m_gfxdecode, m_palette, gfx_rblaster);
PALETTE(config, m_palette).set_format(palette_device::BGR_233_inverted, 0x800);
@@ -502,7 +502,7 @@ MACHINE_CONFIG_START(deco_ld_state::rblaster)
AY8910(config, "ay1", 1500000).add_route(ALL_OUTPUTS, "lspeaker", 0.25).add_route(ALL_OUTPUTS, "rspeaker", 0.25);
AY8910(config, "ay2", 1500000).add_route(ALL_OUTPUTS, "lspeaker", 0.25).add_route(ALL_OUTPUTS, "rspeaker", 0.25);
-MACHINE_CONFIG_END
+}
/***************************************************************************
diff --git a/src/mame/drivers/decstation.cpp b/src/mame/drivers/decstation.cpp
index 4d7d412e1a9..04623dfa6a4 100644
--- a/src/mame/drivers/decstation.cpp
+++ b/src/mame/drivers/decstation.cpp
@@ -531,9 +531,7 @@ void decstation_state::threemin_map(address_map &map)
void decstation_state::ncr5394(device_t *device)
{
- devcb_base *devcb;
- (void)devcb;
- MCFG_DEVICE_CLOCK(10000000)
+ downcast<ncr53c94_device *>(device)->set_clock(10000000);
}
static void dec_scsi_devices(device_slot_interface &device)
diff --git a/src/mame/drivers/dlair.cpp b/src/mame/drivers/dlair.cpp
index 2125123dc60..c14042dd9ce 100644
--- a/src/mame/drivers/dlair.cpp
+++ b/src/mame/drivers/dlair.cpp
@@ -742,26 +742,28 @@ void dlair_state::dlair_base(machine_config &config)
}
-MACHINE_CONFIG_START(dlair_state::dlair_pr7820)
+void dlair_state::dlair_pr7820(machine_config &config)
+{
dlair_base(config);
PIONEER_PR7820(config, m_pr7820, 0);
m_pr7820->add_route(0, "lspeaker", 1.0);
m_pr7820->add_route(1, "rspeaker", 1.0);
- MCFG_LASERDISC_SCREEN_ADD_NTSC("screen", "ld_pr7820")
-MACHINE_CONFIG_END
+ m_pr7820->add_ntsc_screen(config, "screen");
+}
-MACHINE_CONFIG_START(dlair_state::dlair_ldv1000)
+void dlair_state::dlair_ldv1000(machine_config &config)
+{
dlair_base(config);
PIONEER_LDV1000(config, m_ldv1000, 0);
m_ldv1000->add_route(0, "lspeaker", 1.0);
m_ldv1000->add_route(1, "rspeaker", 1.0);
- MCFG_LASERDISC_SCREEN_ADD_NTSC("screen", "ld_ldv1000")
-MACHINE_CONFIG_END
-
+ m_ldv1000->add_ntsc_screen(config, "screen");
+}
-MACHINE_CONFIG_START(dlair_state::dleuro)
+void dlair_state::dleuro(machine_config &config)
+{
/* basic machine hardware */
Z80(config, m_maincpu, MASTER_CLOCK_EURO/4);
m_maincpu->set_daisy_config(dleuro_daisy_chain);
@@ -785,7 +787,7 @@ MACHINE_CONFIG_START(dlair_state::dleuro)
m_22vp932->add_route(1, "rspeaker", 1.0);
/* video hardware */
- MCFG_LASERDISC_SCREEN_ADD_PAL("screen", "ld_22vp932")
+ m_22vp932->add_pal_screen(config, "screen");
GFXDECODE(config, m_gfxdecode, m_palette, gfx_dlair);
PALETTE(config, m_palette, FUNC(dlair_state::dleuro_palette), 16);
@@ -797,7 +799,7 @@ MACHINE_CONFIG_START(dlair_state::dleuro)
SPEAKER_SOUND(config, m_speaker);
m_speaker->add_route(ALL_OUTPUTS, "lspeaker", 0.33);
m_speaker->add_route(ALL_OUTPUTS, "rspeaker", 0.33);
-MACHINE_CONFIG_END
+}
diff --git a/src/mame/drivers/esh.cpp b/src/mame/drivers/esh.cpp
index 6fb6c3f2f08..ad1335700c0 100644
--- a/src/mame/drivers/esh.cpp
+++ b/src/mame/drivers/esh.cpp
@@ -359,7 +359,8 @@ void esh_state::machine_start()
/* DRIVER */
-MACHINE_CONFIG_START(esh_state::esh)
+void esh_state::esh(machine_config &config)
+{
/* main cpu */
Z80(config, m_maincpu, PCB_CLOCK/6); /* The denominator is a Daphne guess based on PacMan's hardware */
m_maincpu->set_addrmap(AS_PROGRAM, &esh_state::z80_0_mem);
@@ -376,7 +377,7 @@ MACHINE_CONFIG_START(esh_state::esh)
m_laserdisc->add_route(1, "rspeaker", 1.0);
/* video hardware */
- MCFG_LASERDISC_SCREEN_ADD_NTSC("screen", "laserdisc")
+ m_laserdisc->add_ntsc_screen(config, "screen");
PALETTE(config, m_palette, FUNC(esh_state::esh_palette), 256);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_esh);
@@ -387,7 +388,7 @@ MACHINE_CONFIG_START(esh_state::esh)
SPEAKER(config, "mono").front_center();
BEEP(config, m_beep, 2000).add_route(ALL_OUTPUTS, "mono", 0.25);
-MACHINE_CONFIG_END
+}
// we just disable even lines so we can simulate line blinking
#define ROM_INTERLACED_GFX \
diff --git a/src/mame/drivers/exelv.cpp b/src/mame/drivers/exelv.cpp
index f4a8b03a942..87648346998 100644
--- a/src/mame/drivers/exelv.cpp
+++ b/src/mame/drivers/exelv.cpp
@@ -521,7 +521,7 @@ void exelv_state::exl100(machine_config &config)
PALETTE(config, "palette", palette_device::RGB_3BIT);
- // MCFG_DEVICE_ADD("vsm", SPEECHROM, 0)
+ //SPEECHROM(config, "vsm", 0);
/* sound */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/firefox.cpp b/src/mame/drivers/firefox.cpp
index 5f0329ae858..60f32448ccb 100644
--- a/src/mame/drivers/firefox.cpp
+++ b/src/mame/drivers/firefox.cpp
@@ -647,8 +647,8 @@ GFXDECODE_END
*
*************************************/
-MACHINE_CONFIG_START(firefox_state::firefox)
-
+void firefox_state::firefox(machine_config &config)
+{
/* basic machine hardware */
MC6809E(config, m_maincpu, MASTER_XTAL/8); // 68B09E
m_maincpu->set_addrmap(AS_PROGRAM, &firefox_state::main_map);
@@ -696,8 +696,7 @@ MACHINE_CONFIG_START(firefox_state::firefox)
m_laserdisc->set_overlay_palette(m_palette);
m_laserdisc->add_route(0, "lspeaker", 0.50);
m_laserdisc->add_route(1, "rspeaker", 0.50);
-
- MCFG_LASERDISC_SCREEN_ADD_NTSC("screen", "laserdisc")
+ m_laserdisc->add_ntsc_screen(config, "screen");
X2212(config, "nvram_1c").set_auto_save(true);
X2212(config, "nvram_1d").set_auto_save(true);
@@ -737,7 +736,7 @@ MACHINE_CONFIG_START(firefox_state::firefox)
TMS5220(config, m_tms, MASTER_XTAL/2/11);
m_tms->add_route(ALL_OUTPUTS, "lspeaker", 0.75);
m_tms->add_route(ALL_OUTPUTS, "rspeaker", 0.75);
-MACHINE_CONFIG_END
+}
diff --git a/src/mame/drivers/fruitpc.cpp b/src/mame/drivers/fruitpc.cpp
index 096292da98b..d47e8897a9c 100644
--- a/src/mame/drivers/fruitpc.cpp
+++ b/src/mame/drivers/fruitpc.cpp
@@ -111,8 +111,7 @@ DEVICE_INPUT_DEFAULTS_END
void fruitpc_state::fruitpc_sb_conf(device_t *device)
{
- device = device->subdevice("pc_joy");
- MCFG_DEVICE_SLOT_INTERFACE(pc_joysticks, nullptr, true) // remove joystick
+ device->subdevice<pc_joy_device>("pc_joy")->set_default_option(nullptr); // remove joystick
}
void fruitpc_state::fruitpc(machine_config &config)
diff --git a/src/mame/drivers/funkball.cpp b/src/mame/drivers/funkball.cpp
index 7fc0c1f59f1..6c546a9aed1 100644
--- a/src/mame/drivers/funkball.cpp
+++ b/src/mame/drivers/funkball.cpp
@@ -763,7 +763,8 @@ static DEVICE_INPUT_DEFAULTS_START( terminal )
DEVICE_INPUT_DEFAULTS( "TERM_CONF", 0x080, 0x080 ) // Auto LF on CR
DEVICE_INPUT_DEFAULTS_END
-MACHINE_CONFIG_START(funkball_state::funkball)
+void funkball_state::funkball(machine_config &config)
+{
MEDIAGX(config, m_maincpu, 66666666*3.5); // 66,6 MHz x 3.5
m_maincpu->set_addrmap(AS_PROGRAM, &funkball_state::funkball_map);
m_maincpu->set_addrmap(AS_IO, &funkball_state::funkball_io);
@@ -771,9 +772,11 @@ MACHINE_CONFIG_START(funkball_state::funkball)
pcat_common(config);
- MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0)
- MCFG_PCI_BUS_LEGACY_DEVICE(7, DEVICE_SELF, funkball_state, voodoo_0_pci_r, voodoo_0_pci_w)
- MCFG_PCI_BUS_LEGACY_DEVICE(18, DEVICE_SELF, funkball_state, cx5510_pci_r, cx5510_pci_w)
+ pci_bus_legacy_device &pcibus(PCI_BUS_LEGACY(config, "pcibus", 0, 0));
+ pcibus.set_device_read (7, FUNC(funkball_state::voodoo_0_pci_r), this);
+ pcibus.set_device_write(7, FUNC(funkball_state::voodoo_0_pci_w), this);
+ pcibus.set_device_read (18, FUNC(funkball_state::cx5510_pci_r), this);
+ pcibus.set_device_write(18, FUNC(funkball_state::cx5510_pci_w), this);
ide_controller_device &ide(IDE_CONTROLLER(config, "ide").options(ata_devices, "hdd", nullptr, true));
ide.irq_handler().set("pic8259_2", FUNC(pic8259_device::ir6_w));
@@ -809,7 +812,7 @@ MACHINE_CONFIG_START(funkball_state::funkball)
INTEL_28F320J5(config, "u29");
INTEL_28F320J5(config, "u30");
INTEL_28F320J5(config, "u3");
-MACHINE_CONFIG_END
+}
ROM_START( funkball )
ROM_REGION32_LE(0x20000, "bios", ROMREGION_ERASEFF)
diff --git a/src/mame/drivers/gamecstl.cpp b/src/mame/drivers/gamecstl.cpp
index 4e9c30d33f5..947eaced689 100644
--- a/src/mame/drivers/gamecstl.cpp
+++ b/src/mame/drivers/gamecstl.cpp
@@ -444,7 +444,8 @@ void gamecstl_state::machine_reset()
membank("bank1")->set_base(memregion("bios")->base() + 0x30000);
}
-MACHINE_CONFIG_START(gamecstl_state::gamecstl)
+void gamecstl_state::gamecstl(machine_config &config)
+{
/* basic machine hardware */
PENTIUM3(config, m_maincpu, 200000000);
m_maincpu->set_addrmap(AS_PROGRAM, &gamecstl_state::gamecstl_map);
@@ -453,9 +454,11 @@ MACHINE_CONFIG_START(gamecstl_state::gamecstl)
pcat_common(config);
- MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0)
- MCFG_PCI_BUS_LEGACY_DEVICE(0, DEVICE_SELF, gamecstl_state, intel82439tx_pci_r, intel82439tx_pci_w)
- MCFG_PCI_BUS_LEGACY_DEVICE(7, DEVICE_SELF, gamecstl_state, intel82371ab_pci_r, intel82371ab_pci_w)
+ pci_bus_legacy_device &pcibus(PCI_BUS_LEGACY(config, "pcibus", 0, 0));
+ pcibus.set_device_read (0, FUNC(gamecstl_state::intel82439tx_pci_r), this);
+ pcibus.set_device_write(0, FUNC(gamecstl_state::intel82439tx_pci_w), this);
+ pcibus.set_device_read (7, FUNC(gamecstl_state::intel82371ab_pci_r), this);
+ pcibus.set_device_write(7, FUNC(gamecstl_state::intel82371ab_pci_w), this);
ide_controller_device &ide(IDE_CONTROLLER(config, "ide").options(ata_devices, "hdd", nullptr, true));
ide.irq_handler().set("pic8259_2", FUNC(pic8259_device::ir6_w));
@@ -471,7 +474,7 @@ MACHINE_CONFIG_START(gamecstl_state::gamecstl)
GFXDECODE(config, m_gfxdecode, m_palette, gfx_cga);
PALETTE(config, m_palette).set_entries(16);
-MACHINE_CONFIG_END
+}
void gamecstl_state::init_gamecstl()
{
diff --git a/src/mame/drivers/gammagic.cpp b/src/mame/drivers/gammagic.cpp
index 55e1477f347..9b1172e634b 100644
--- a/src/mame/drivers/gammagic.cpp
+++ b/src/mame/drivers/gammagic.cpp
@@ -130,7 +130,8 @@ void gammagic_state::machine_start()
{
}
-MACHINE_CONFIG_START(gammagic_state::gammagic)
+void gammagic_state::gammagic(machine_config &config)
+{
PENTIUM(config, m_maincpu, 133000000); // Intel Pentium 133
m_maincpu->set_addrmap(AS_PROGRAM, &gammagic_state::gammagic_map);
m_maincpu->set_addrmap(AS_IO, &gammagic_state::gammagic_io);
@@ -138,14 +139,15 @@ MACHINE_CONFIG_START(gammagic_state::gammagic)
pcat_common(config);
-// I82371SB(config, "i82371sb", 0);
-// MCFG_I82439TX_ADD("i82439tx", "maincpu", "user")
- MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0)
-// MCFG_PCI_BUS_LEGACY_DEVICE(0, "i82439tx", i82439tx_pci_read, i82439tx_pci_write)
-// MCFG_PCI_BUS_LEGACY_DEVICE(1, "i82371sb", i82371sb_pci_read, i82371sb_pci_write)
+ PCI_BUS_LEGACY(config, "pcibus", 0, 0);
+// pcibus.set_device_read (0, FUNC(gammagic_state::intel82439tx_pci_r), this);
+// pcibus.set_device_write(0, FUNC(gammagic_state::intel82439tx_pci_w), this);
+// pcibus.set_device_read (7, FUNC(gammagic_state::intel82371ab_pci_r), this);
+// pcibus.set_device_write(7, FUNC(gammagic_state::intel82371ab_pci_w), this);
+
/* video hardware */
pcvideo_vga(config);
-MACHINE_CONFIG_END
+}
ROM_START( gammagic )
diff --git a/src/mame/drivers/gottlieb.cpp b/src/mame/drivers/gottlieb.cpp
index 974fefb172e..ba5f2b9f230 100644
--- a/src/mame/drivers/gottlieb.cpp
+++ b/src/mame/drivers/gottlieb.cpp
@@ -584,7 +584,7 @@ void gottlieb_state::audio_handle_zero_crossing(const attotime &zerotime, bool l
}
-void gottlieb_state::laserdisc_audio_process(laserdisc_device &device, int samplerate, int samples, const int16_t *ch0, const int16_t *ch1)
+void gottlieb_state::laserdisc_audio_process(int samplerate, int samples, const int16_t *ch0, const int16_t *ch1)
{
bool logit = LOG_AUDIO_DECODE && machine().input().code_pressed(KEYCODE_L);
attotime time_per_sample = attotime::from_hz(samplerate);
@@ -1799,7 +1799,7 @@ void gottlieb_state::g2laser(machine_config &config)
GOTTLIEB_SOUND_REV2(config, m_r2_sound, 0).add_route(ALL_OUTPUTS, "speaker", 1.0);
PIONEER_PR8210(config, m_laserdisc, 0);
- m_laserdisc->set_audio(laserdisc_device::audio_delegate(&gottlieb_state::laserdisc_audio_process, this));
+ m_laserdisc->set_audio(FUNC(gottlieb_state::laserdisc_audio_process), this);
m_laserdisc->set_overlay(GOTTLIEB_VIDEO_HCOUNT, GOTTLIEB_VIDEO_VCOUNT, FUNC(gottlieb_state::screen_update));
m_laserdisc->set_overlay_clip(0, GOTTLIEB_VIDEO_HBLANK-1, 0, GOTTLIEB_VIDEO_VBLANK-8);
m_laserdisc->set_overlay_palette("palette");
@@ -1865,7 +1865,7 @@ void gottlieb_state::cobram3(machine_config &config)
m_r2_sound->enable_cobram3_mods();
PIONEER_PR8210(config, m_laserdisc, 0);
- m_laserdisc->set_audio(laserdisc_device::audio_delegate(&gottlieb_state::laserdisc_audio_process, this));
+ m_laserdisc->set_audio(FUNC(gottlieb_state::laserdisc_audio_process), this);
m_laserdisc->set_overlay(GOTTLIEB_VIDEO_HCOUNT, GOTTLIEB_VIDEO_VCOUNT, FUNC(gottlieb_state::screen_update));
m_laserdisc->set_overlay_clip(0, GOTTLIEB_VIDEO_HBLANK-1, 0, GOTTLIEB_VIDEO_VBLANK-8);
m_laserdisc->set_overlay_palette("palette");
diff --git a/src/mame/drivers/gpworld.cpp b/src/mame/drivers/gpworld.cpp
index c1aa1838129..90147b8dcdf 100644
--- a/src/mame/drivers/gpworld.cpp
+++ b/src/mame/drivers/gpworld.cpp
@@ -497,8 +497,8 @@ static GFXDECODE_START( gfx_gpworld )
GFXDECODE_END
/* DRIVER */
-MACHINE_CONFIG_START(gpworld_state::gpworld)
-
+void gpworld_state::gpworld(machine_config &config)
+{
/* main cpu */
Z80(config, m_maincpu, GUESSED_CLOCK);
m_maincpu->set_addrmap(AS_PROGRAM, &gpworld_state::mainmem);
@@ -513,7 +513,7 @@ MACHINE_CONFIG_START(gpworld_state::gpworld)
m_laserdisc->add_route(1, "rspeaker", 1.0);
/* video hardware */
- MCFG_LASERDISC_SCREEN_ADD_NTSC("screen", "laserdisc")
+ m_laserdisc->add_ntsc_screen(config, "screen");
GFXDECODE(config, m_gfxdecode, m_palette, gfx_gpworld);
PALETTE(config, m_palette).set_entries(1024);
@@ -521,7 +521,7 @@ MACHINE_CONFIG_START(gpworld_state::gpworld)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
-MACHINE_CONFIG_END
+}
ROM_START( gpworld )
diff --git a/src/mame/drivers/harddriv.cpp b/src/mame/drivers/harddriv.cpp
index fa30e8af068..27624425f38 100644
--- a/src/mame/drivers/harddriv.cpp
+++ b/src/mame/drivers/harddriv.cpp
@@ -1835,7 +1835,7 @@ void racedrivc_panorama_side_board_device_state::device_add_mconfig(machine_conf
/* basic machine hardware */ /* multisync board without MSP */
adsp(config); /* ADSP board */
// dsk(config); /* DSK board */
-// MCFG_DEVICE_ADD("sound_board", HARDDRIV_SOUND_BOARD, 0) /* driver sound board */
+// HARDDRIV_SOUND_BOARD(config, "sound_board", 0); /* driver sound board */
}
/* Stun Runner */
diff --git a/src/mame/drivers/istellar.cpp b/src/mame/drivers/istellar.cpp
index ee0b0555d17..f31809d82d2 100644
--- a/src/mame/drivers/istellar.cpp
+++ b/src/mame/drivers/istellar.cpp
@@ -273,7 +273,8 @@ WRITE_LINE_MEMBER(istellar_state::vblank_irq)
/* DRIVER */
-MACHINE_CONFIG_START(istellar_state::istellar)
+void istellar_state::istellar(machine_config &config)
+{
/* main cpu */
Z80(config, m_maincpu, GUESSED_CLOCK);
m_maincpu->set_addrmap(AS_PROGRAM, &istellar_state::z80_0_mem);
@@ -302,7 +303,7 @@ MACHINE_CONFIG_START(istellar_state::istellar)
m_laserdisc->add_route(1, "rspeaker", 1.0);
/* video hardware */
- MCFG_LASERDISC_SCREEN_ADD_NTSC("screen", "laserdisc")
+ m_laserdisc->add_ntsc_screen(config, "screen");
subdevice<screen_device>("screen")->screen_vblank().set(FUNC(istellar_state::vblank_irq));
// Daphne says "TODO: get the real interstellar resistor values"
@@ -313,7 +314,7 @@ MACHINE_CONFIG_START(istellar_state::istellar)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
-MACHINE_CONFIG_END
+}
/* There is a photo of the PCB with blurry IC locations and labels. Comments reflect what I can (barely) see. */
diff --git a/src/mame/drivers/jpmmps.cpp b/src/mame/drivers/jpmmps.cpp
index c2f759d8a91..303afba7ef4 100644
--- a/src/mame/drivers/jpmmps.cpp
+++ b/src/mame/drivers/jpmmps.cpp
@@ -265,7 +265,7 @@ void jpmmps_state::jpmmps(machine_config &config)
mainlatch.q_out_cb<6>().set_nop(); // bb
mainlatch.q_out_cb<7>().set_nop(); // diagnostic led
- //MCFG_DEVICE_ADD("reelmcu", TMS7041, XTAL(5'000'000))
+ //TMS7041(config, "reelmcu", XTAL(5'000'000));
i8255_device &ic26(I8255(config, "ppi8255_ic26"));
// Port B 0 is coin lockout
diff --git a/src/mame/drivers/konamigx.cpp b/src/mame/drivers/konamigx.cpp
index b48b58dda13..5deb364a2d4 100644
--- a/src/mame/drivers/konamigx.cpp
+++ b/src/mame/drivers/konamigx.cpp
@@ -1634,7 +1634,7 @@ void konamigx_state::konamigx(machine_config &config)
/* These parameters are actual value written to the CCU.
tbyahhoo attract mode desync is caused by another matter. */
- //MCFG_SCREEN_vblank_time(ATTOSECONDS_IN_USEC(600))
+ //m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(600));
// TODO: WTF, without these most games crashes? Some legacy call in video code???
m_screen->set_size(1024, 1024);
m_screen->set_visarea(24, 24+288-1, 16, 16+224-1);
diff --git a/src/mame/drivers/konblands.cpp b/src/mame/drivers/konblands.cpp
index 4edf9ddf888..6078b275cb5 100644
--- a/src/mame/drivers/konblands.cpp
+++ b/src/mame/drivers/konblands.cpp
@@ -276,8 +276,8 @@ WRITE_LINE_MEMBER(konblands_state::ld_command_strobe_cb)
m_maincpu->set_input_line(M6809_IRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE);
}
-MACHINE_CONFIG_START(konblands_state::konblands)
-
+void konblands_state::konblands(machine_config &config)
+{
/* basic machine hardware */
MC6809E(config, m_maincpu, MASTER_CLOCK/12);
m_maincpu->set_addrmap(AS_PROGRAM, &konblands_state::konblands_map);
@@ -292,7 +292,7 @@ MACHINE_CONFIG_START(konblands_state::konblands)
m_laserdisc->set_overlay_palette("palette");
/* video hardware */
- MCFG_LASERDISC_SCREEN_ADD_NTSC("screen", "laserdisc")
+ m_laserdisc->add_ntsc_screen(config, "screen");
GFXDECODE(config, m_gfxdecode, "palette", gfx_konblands);
diff --git a/src/mame/drivers/ldplayer.cpp b/src/mame/drivers/ldplayer.cpp
index c621648f3c1..360763e8ee9 100644
--- a/src/mame/drivers/ldplayer.cpp
+++ b/src/mame/drivers/ldplayer.cpp
@@ -47,7 +47,7 @@ protected:
virtual void machine_reset() override;
// callback hook
- chd_file *get_disc(laserdisc_device &device);
+ chd_file *get_disc();
// internal helpers
void process_commands();
@@ -164,7 +164,7 @@ protected:
*
*************************************/
-chd_file *ldplayer_state::get_disc(laserdisc_device &device)
+chd_file *ldplayer_state::get_disc()
{
bool found = false;
// open a path to the ROMs and find the first CHD file
@@ -632,32 +632,32 @@ void ldplayer_state::ldplayer_ntsc(machine_config &config)
}
-MACHINE_CONFIG_START(ldv1000_state::ldv1000)
+void ldv1000_state::ldv1000(machine_config &config)
+{
ldplayer_ntsc(config);
- MCFG_LASERDISC_LDV1000_ADD("laserdisc")
- MCFG_LASERDISC_GET_DISC(laserdisc_device::get_disc_delegate(&ldv1000_state::get_disc, this))
- MCFG_LASERDISC_SCREEN_ADD_NTSC("screen", "laserdisc")
+ pioneer_ldv1000_device &laserdisc(PIONEER_LDV1000(config, "laserdisc"));
+ laserdisc.set_get_disc(FUNC(ldv1000_state::get_disc), this);
+ laserdisc.add_ntsc_screen(config, "screen");
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
- MCFG_DEVICE_MODIFY("laserdisc")
- MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
- MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
-MACHINE_CONFIG_END
+ laserdisc.add_route(0, "lspeaker", 1.0);
+ laserdisc.add_route(1, "rspeaker", 1.0);
+}
-MACHINE_CONFIG_START(pr8210_state::pr8210)
+void pr8210_state::pr8210(machine_config &config)
+{
ldplayer_ntsc(config);
- MCFG_LASERDISC_PR8210_ADD("laserdisc")
- MCFG_LASERDISC_GET_DISC(laserdisc_device::get_disc_delegate(&pr8210_state::get_disc, this))
- MCFG_LASERDISC_SCREEN_ADD_NTSC("screen", "laserdisc")
+ pioneer_pr8210_device &laserdisc(PIONEER_PR8210(config, "laserdisc"));
+ laserdisc.set_get_disc(FUNC(pr8210_state::get_disc), this);
+ laserdisc.add_ntsc_screen(config, "screen");
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
- MCFG_DEVICE_MODIFY("laserdisc")
- MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
- MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
-MACHINE_CONFIG_END
+ laserdisc.add_route(0, "lspeaker", 1.0);
+ laserdisc.add_route(1, "rspeaker", 1.0);
+}
diff --git a/src/mame/drivers/lgp.cpp b/src/mame/drivers/lgp.cpp
index 2158a992817..f2f4fc4d76d 100644
--- a/src/mame/drivers/lgp.cpp
+++ b/src/mame/drivers/lgp.cpp
@@ -410,7 +410,8 @@ void lgp_state::lgp_palette(palette_device &palette) const
}
/* DRIVER */
-MACHINE_CONFIG_START(lgp_state::lgp)
+void lgp_state::lgp(machine_config &config)
+{
/* main cpu */
Z80(config, m_maincpu, CPU_PCB_CLOCK);
m_maincpu->set_addrmap(AS_PROGRAM, &lgp_state::main_program_map);
@@ -430,7 +431,7 @@ MACHINE_CONFIG_START(lgp_state::lgp)
m_laserdisc->add_route(1, "rspeaker", 1.0);
/* video hardware */
- MCFG_LASERDISC_SCREEN_ADD_NTSC("screen", "laserdisc")
+ m_laserdisc->add_ntsc_screen(config, "screen");
PALETTE(config, m_palette, FUNC(lgp_state::lgp_palette), 256);
@@ -439,7 +440,7 @@ MACHINE_CONFIG_START(lgp_state::lgp)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
-MACHINE_CONFIG_END
+}
ROM_START( lgp )
diff --git a/src/mame/drivers/magictg.cpp b/src/mame/drivers/magictg.cpp
index a39a4dfb253..49815c6bcd6 100644
--- a/src/mame/drivers/magictg.cpp
+++ b/src/mame/drivers/magictg.cpp
@@ -910,7 +910,8 @@ INPUT_PORTS_END
*
*************************************/
-MACHINE_CONFIG_START(magictg_state::magictg)
+void magictg_state::magictg(machine_config &config)
+{
R5000BE(config, m_mips, 150000000); /* TODO: CPU type and clock are unknown */
//m_mips->set_icache_size(16384); /* TODO: Unknown */
//m_mips->set_dcache_size(16384); /* TODO: Unknown */
@@ -927,14 +928,18 @@ MACHINE_CONFIG_START(magictg_state::magictg)
DMADAC(config, "dac1").add_route(ALL_OUTPUTS, "rspeaker", 1.0);
DMADAC(config, "dac2").add_route(ALL_OUTPUTS, "lspeaker", 1.0);
- MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0)
- MCFG_PCI_BUS_LEGACY_DEVICE(0, DEVICE_SELF, magictg_state, pci_dev0_r, pci_dev0_w)
- MCFG_PCI_BUS_LEGACY_DEVICE(7, DEVICE_SELF, magictg_state, voodoo_0_pci_r, voodoo_0_pci_w)
+ pci_bus_legacy_device &pcibus(PCI_BUS_LEGACY(config, "pcibus", 0, 0));
+ pcibus.set_device_read (0, FUNC(magictg_state::pci_dev0_r), this);
+ pcibus.set_device_write(0, FUNC(magictg_state::pci_dev0_w), this);
+ pcibus.set_device_read (7, FUNC(magictg_state::voodoo_0_pci_r), this);
+ pcibus.set_device_write(7, FUNC(magictg_state::voodoo_0_pci_w), this);
#if defined(USE_TWO_3DFX)
- MCFG_PCI_BUS_LEGACY_DEVICE(8, DEVICE_SELF, magictg_state, voodoo_1_pci_r, voodoo_1_pci_w)
+ pcibus.set_device_read (8, FUNC(magictg_state::voodoo_1_pci_r), this);
+ pcibus.set_device_write(8, FUNC(magictg_state::voodoo_1_pci_w), this);
#endif
- MCFG_PCI_BUS_LEGACY_DEVICE(9, DEVICE_SELF, magictg_state, zr36120_pci_r, zr36120_pci_w) // TODO: ZR36120 device
+ pcibus.set_device_read (9, FUNC(magictg_state::zr36120_pci_r), this); // TODO: ZR36120 device
+ pcibus.set_device_write(9, FUNC(magictg_state::zr36120_pci_w), this); // TODO: ZR36120 device
VOODOO_1(config, m_voodoo[0], STD_VOODOO_1_CLOCK);
m_voodoo[0]->set_fbmem(2);
@@ -954,7 +959,7 @@ MACHINE_CONFIG_START(magictg_state::magictg)
screen.set_size(1024, 1024);
screen.set_visarea(0, 511, 16, 447);
screen.set_screen_update(FUNC(magictg_state::screen_update_magictg));
-MACHINE_CONFIG_END
+}
/*************************************
diff --git a/src/mame/drivers/magtouch.cpp b/src/mame/drivers/magtouch.cpp
index 5be7b28db81..9649d47af2e 100644
--- a/src/mame/drivers/magtouch.cpp
+++ b/src/mame/drivers/magtouch.cpp
@@ -189,8 +189,7 @@ DEVICE_INPUT_DEFAULTS_END
void magtouch_state::magtouch_sb_conf(device_t *device)
{
- device = device->subdevice("pc_joy");
- MCFG_DEVICE_SLOT_INTERFACE(pc_joysticks, nullptr, true) // remove joystick
+ device->subdevice<pc_joy_device>("pc_joy")->set_default_option(nullptr); // remove joystick
}
void magtouch_state::magtouch(machine_config &config)
diff --git a/src/mame/drivers/mediagx.cpp b/src/mame/drivers/mediagx.cpp
index 27831b89759..61f4cfae945 100644
--- a/src/mame/drivers/mediagx.cpp
+++ b/src/mame/drivers/mediagx.cpp
@@ -880,8 +880,8 @@ void mediagx_state::ramdac_map(address_map &map)
map(0x000, 0x3ff).rw(m_ramdac, FUNC(ramdac_device::ramdac_pal_r), FUNC(ramdac_device::ramdac_rgb666_w));
}
-MACHINE_CONFIG_START(mediagx_state::mediagx)
-
+void mediagx_state::mediagx(machine_config &config)
+{
/* basic machine hardware */
MEDIAGX(config, m_maincpu, 166000000);
m_maincpu->set_addrmap(AS_PROGRAM, &mediagx_state::mediagx_map);
@@ -890,8 +890,9 @@ MACHINE_CONFIG_START(mediagx_state::mediagx)
pcat_common(config);
- MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0)
- MCFG_PCI_BUS_LEGACY_DEVICE(18, DEVICE_SELF, mediagx_state, cx5510_pci_r, cx5510_pci_w)
+ pci_bus_legacy_device &pcibus(PCI_BUS_LEGACY(config, "pcibus", 0, 0));
+ pcibus.set_device_read (18, FUNC(mediagx_state::cx5510_pci_r), this);
+ pcibus.set_device_write(18, FUNC(mediagx_state::cx5510_pci_w), this);
ide_controller_32_device &ide(IDE_CONTROLLER_32(config, "ide").options(ata_devices, "hdd", nullptr, true));
ide.irq_handler().set(m_pic8259_2, FUNC(pic8259_device::ir6_w));
@@ -919,7 +920,7 @@ MACHINE_CONFIG_START(mediagx_state::mediagx)
DMADAC(config, m_dmadac[0]).add_route(ALL_OUTPUTS, "lspeaker", 1.0);
DMADAC(config, m_dmadac[1]).add_route(ALL_OUTPUTS, "rspeaker", 1.0);
-MACHINE_CONFIG_END
+}
void mediagx_state::init_mediagx()
diff --git a/src/mame/drivers/midqslvr.cpp b/src/mame/drivers/midqslvr.cpp
index af25727af8e..0c607f87f72 100644
--- a/src/mame/drivers/midqslvr.cpp
+++ b/src/mame/drivers/midqslvr.cpp
@@ -417,7 +417,8 @@ void midqslvr_state::machine_reset()
membank("video_bank2")->set_base(memregion("video_bios")->base() + 0x4000);
}
-MACHINE_CONFIG_START(midqslvr_state::midqslvr)
+void midqslvr_state::midqslvr(machine_config &config)
+{
PENTIUM(config, m_maincpu, 333000000); // actually Celeron 333
m_maincpu->set_addrmap(AS_PROGRAM, &midqslvr_state::midqslvr_map);
m_maincpu->set_addrmap(AS_IO, &midqslvr_state::midqslvr_io);
@@ -425,16 +426,18 @@ MACHINE_CONFIG_START(midqslvr_state::midqslvr)
pcat_common(config);
- MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0)
- MCFG_PCI_BUS_LEGACY_DEVICE( 0, DEVICE_SELF, midqslvr_state, intel82439tx_pci_r, intel82439tx_pci_w)
- MCFG_PCI_BUS_LEGACY_DEVICE(31, DEVICE_SELF, midqslvr_state, intel82371ab_pci_r, intel82371ab_pci_w)
+ pci_bus_legacy_device &pcibus(PCI_BUS_LEGACY(config, "pcibus", 0, 0));
+ pcibus.set_device_read ( 0, FUNC(midqslvr_state::intel82439tx_pci_r), this);
+ pcibus.set_device_write( 0, FUNC(midqslvr_state::intel82439tx_pci_w), this);
+ pcibus.set_device_read (31, FUNC(midqslvr_state::intel82371ab_pci_r), this);
+ pcibus.set_device_write(31, FUNC(midqslvr_state::intel82371ab_pci_w), this);
ide_controller_device &ide(IDE_CONTROLLER(config, "ide").options(ata_devices, "hdd", nullptr, true));
ide.irq_handler().set("pic8259_2", FUNC(pic8259_device::ir6_w));
/* video hardware */
pcvideo_vga(config);
-MACHINE_CONFIG_END
+}
ROM_START( offrthnd )
diff --git a/src/mame/drivers/pc.cpp b/src/mame/drivers/pc.cpp
index 41c9f546132..c916d4055e9 100644
--- a/src/mame/drivers/pc.cpp
+++ b/src/mame/drivers/pc.cpp
@@ -755,7 +755,6 @@ Options: 8087 FPU, K101 memory upgrade in 64K steps, 1.2MB floppy and controller
void pc_state::ncrpc4i(machine_config & config)
{
pccga(config);
- //MCFG_DEVICE_MODIFY("mb:isa")
ISA8_SLOT(config, "isa6", 0, "mb:isa", pc_isa8_cards, nullptr, false); // FIXME: determine ISA bus clock
ISA8_SLOT(config, "isa7", 0, "mb:isa", pc_isa8_cards, nullptr, false);
diff --git a/src/mame/drivers/pc9801.cpp b/src/mame/drivers/pc9801.cpp
index 3d776a7ce23..77d60e34fe3 100644
--- a/src/mame/drivers/pc9801.cpp
+++ b/src/mame/drivers/pc9801.cpp
@@ -2282,9 +2282,9 @@ void pc9801_state::pc9801_sasi(machine_config &config)
void pc9801_state::cdrom_headphones(device_t *device)
{
- device = device->subdevice("cdda");
- MCFG_SOUND_ROUTE(0, "^^lheadphone", 1.0)
- MCFG_SOUND_ROUTE(1, "^^rheadphone", 1.0)
+ cdda_device *cdda = device->subdevice<cdda_device>("cdda");
+ cdda->add_route(0, "^^lheadphone", 1.0);
+ cdda->add_route(1, "^^rheadphone", 1.0);
}
void pc9801_state::pc9801_ide(machine_config &config)
@@ -2463,7 +2463,7 @@ void pc9801_state::pc9801ux(machine_config &config)
maincpu.set_addrmap(AS_IO, &pc9801_state::pc9801ux_io);
maincpu.set_a20_callback(i80286_cpu_device::a20_cb(&pc9801_state::a20_286, this));
maincpu.set_irq_acknowledge_callback("pic8259_master", FUNC(pic8259_device::inta_cb));
-// MCFG_DEVICE_MODIFY("i8237", AM9157A, 10000000) // unknown clock
+// AM9157A(config, "i8237", 10000000); // unknown clock
}
void pc9801_state::pc9801bx2(machine_config &config)
diff --git a/src/mame/drivers/pcat_dyn.cpp b/src/mame/drivers/pcat_dyn.cpp
index 416b0fa45af..12ba6bb4d4c 100644
--- a/src/mame/drivers/pcat_dyn.cpp
+++ b/src/mame/drivers/pcat_dyn.cpp
@@ -159,8 +159,7 @@ DEVICE_INPUT_DEFAULTS_END
void pcat_dyn_state::pcat_dyn_sb_conf(device_t *device)
{
- device = device->subdevice("pc_joy");
- MCFG_DEVICE_SLOT_INTERFACE(pc_joysticks, nullptr, true) // remove joystick
+ device->subdevice<pc_joy_device>("pc_joy")->set_default_option(nullptr); // remove joystick
}
void pcat_dyn_state::pcat_dyn(machine_config &config)
diff --git a/src/mame/drivers/pcipc.cpp b/src/mame/drivers/pcipc.cpp
index b7b430ae094..394e8bba498 100644
--- a/src/mame/drivers/pcipc.cpp
+++ b/src/mame/drivers/pcipc.cpp
@@ -536,7 +536,7 @@ void pcipc_state::pcipc(machine_config &config)
i82371sb_ide_device &ide(I82371SB_IDE(config, ":pci:07.1", 0));
ide.irq_pri().set(":pci:07.0", FUNC(i82371sb_isa_device::pc_irq14_w));
ide.irq_sec().set(":pci:07.0", FUNC(i82371sb_isa_device::pc_irq15_w));
-// MCFG_DEVICE_ADD( ":pci:12.0", MGA2064W, 0)
+// MGA2064W(config, ":pci:12.0", 0);
ISA16_SLOT(config, "board4", 0, "pci:07.0:isabus", isa_internal_devices, "fdc37c93x", true).set_option_machine_config("fdc37c93x", superio_config);
ISA16_SLOT(config, "isa1", 0, "pci:07.0:isabus", pc_isa16_cards, "svga_et4k", false);
diff --git a/src/mame/drivers/photoply.cpp b/src/mame/drivers/photoply.cpp
index 0e8e8d69e10..95e4389a113 100644
--- a/src/mame/drivers/photoply.cpp
+++ b/src/mame/drivers/photoply.cpp
@@ -300,7 +300,8 @@ static GFXDECODE_START( gfx_photoply )
//there's also a 8x16 entry (just after the 8x8)
GFXDECODE_END
-MACHINE_CONFIG_START(photoply_state::photoply)
+void photoply_state::photoply(machine_config &config)
+{
/* basic machine hardware */
I486DX4(config, m_maincpu, 75000000); /* I486DX4, 75 or 100 Mhz */
m_maincpu->set_addrmap(AS_PROGRAM, &photoply_state::photoply_map);
@@ -317,8 +318,9 @@ MACHINE_CONFIG_START(photoply_state::photoply)
ide_controller_32_device &ide2(IDE_CONTROLLER_32(config, "ide2").options(ata_devices, nullptr, nullptr, true));
ide2.irq_handler().set("pic8259_2", FUNC(pic8259_device::ir7_w));
- MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0)
- MCFG_PCI_BUS_LEGACY_DEVICE(5, DEVICE_SELF, photoply_state, sis_pcm_r, sis_pcm_w)
+ pci_bus_legacy_device &pcibus(PCI_BUS_LEGACY(config, "pcibus", 0, 0));
+ pcibus.set_device_read (5, FUNC(photoply_state::sis_pcm_r), this);
+ pcibus.set_device_write(5, FUNC(photoply_state::sis_pcm_w), this);
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_raw(XTAL(25'174'800),900,0,640,526,0,480);
@@ -329,7 +331,7 @@ MACHINE_CONFIG_START(photoply_state::photoply)
EEPROM_93C46_16BIT(config, "eeprom")
.write_time(attotime::from_usec(1))
.erase_all_time(attotime::from_usec(10));
-MACHINE_CONFIG_END
+}
ROM_START(photoply)
diff --git a/src/mame/drivers/pinball2k.cpp b/src/mame/drivers/pinball2k.cpp
index eda9e7d8e0d..6d337040e06 100644
--- a/src/mame/drivers/pinball2k.cpp
+++ b/src/mame/drivers/pinball2k.cpp
@@ -602,8 +602,8 @@ void pinball2k_state::ramdac_map(address_map &map)
map(0x000, 0x3ff).rw("ramdac", FUNC(ramdac_device::ramdac_pal_r), FUNC(ramdac_device::ramdac_rgb666_w));
}
-MACHINE_CONFIG_START(pinball2k_state::mediagx)
-
+void pinball2k_state::mediagx(machine_config &config)
+{
/* basic machine hardware */
MEDIAGX(config, m_maincpu, 166000000);
m_maincpu->set_addrmap(AS_PROGRAM, &pinball2k_state::mediagx_map);
@@ -612,8 +612,9 @@ MACHINE_CONFIG_START(pinball2k_state::mediagx)
pcat_common(config);
- MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0)
- MCFG_PCI_BUS_LEGACY_DEVICE(18, DEVICE_SELF, pinball2k_state, cx5510_pci_r, cx5510_pci_w)
+ pci_bus_legacy_device &pcibus(PCI_BUS_LEGACY(config, "pcibus", 0, 0));
+ pcibus.set_device_read (18, FUNC(pinball2k_state::cx5510_pci_r), this);
+ pcibus.set_device_write(18, FUNC(pinball2k_state::cx5510_pci_w), this);
ide_controller_device &ide(IDE_CONTROLLER(config, "ide").options(ata_devices, "hdd", nullptr, true));
ide.irq_handler().set("pic8259_2", FUNC(pic8259_device::ir6_w));
@@ -634,7 +635,7 @@ MACHINE_CONFIG_START(pinball2k_state::mediagx)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
-MACHINE_CONFIG_END
+}
void pinball2k_state::init_mediagx()
diff --git a/src/mame/drivers/pong.cpp b/src/mame/drivers/pong.cpp
index e65af51db2b..70bf3590974 100644
--- a/src/mame/drivers/pong.cpp
+++ b/src/mame/drivers/pong.cpp
@@ -470,10 +470,6 @@ INPUT_PORTS_END
void pong_state::pong(machine_config &config)
{
/* basic machine hardware */
- //MCFG_DEVICE_ADD("maincpu", NETLIST_CPU, NETLIST_CLOCK)
- //MCFG_NETLIST_SETUP(pong)
- //MCFG_NETLIST_SETUP_MEMBER(this, &pong_state::NETLIST_NAME(pong))
-
NETLIST_CPU(config, "maincpu", NETLIST_CLOCK).set_source(this, &pong_state::NETLIST_NAME(pong));
NETLIST_ANALOG_INPUT(config, "maincpu:vr0", "ic_b9_R.R").set_mult_offset(1.0 / 100.0 * RES_K(50), RES_K(56) );
diff --git a/src/mame/drivers/queen.cpp b/src/mame/drivers/queen.cpp
index 2d4e875db57..57cdde0a4ca 100644
--- a/src/mame/drivers/queen.cpp
+++ b/src/mame/drivers/queen.cpp
@@ -280,9 +280,8 @@ void queen_state::machine_reset()
membank("bios_ext")->set_base(memregion("bios")->base() + 0x20000);
}
-
-
-MACHINE_CONFIG_START(queen_state::queen)
+void queen_state::queen(machine_config &config)
+{
PENTIUM3(config, m_maincpu, 533000000/16); // Celeron or Pentium 3, 533 Mhz
m_maincpu->set_addrmap(AS_PROGRAM, &queen_state::queen_map);
m_maincpu->set_addrmap(AS_IO, &queen_state::queen_io);
@@ -290,9 +289,11 @@ MACHINE_CONFIG_START(queen_state::queen)
pcat_common(config);
- MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0)
- MCFG_PCI_BUS_LEGACY_DEVICE(0, DEVICE_SELF, queen_state, intel82439tx_pci_r, intel82439tx_pci_w)
- MCFG_PCI_BUS_LEGACY_DEVICE(7, DEVICE_SELF, queen_state, intel82371ab_pci_r, intel82371ab_pci_w)
+ pci_bus_legacy_device &pcibus(PCI_BUS_LEGACY(config, "pcibus", 0, 0));
+ pcibus.set_device_read (0, FUNC(queen_state::intel82439tx_pci_r), this);
+ pcibus.set_device_write(0, FUNC(queen_state::intel82439tx_pci_w), this);
+ pcibus.set_device_read (7, FUNC(queen_state::intel82371ab_pci_r), this);
+ pcibus.set_device_write(7, FUNC(queen_state::intel82371ab_pci_w), this);
ide_controller_device &ide(IDE_CONTROLLER(config, "ide").options(ata_devices, "hdd", nullptr, true));
ide.irq_handler().set("pic8259_2", FUNC(pic8259_device::ir6_w));
@@ -302,9 +303,7 @@ MACHINE_CONFIG_START(queen_state::queen)
/* video hardware */
pcvideo_vga(config);
-MACHINE_CONFIG_END
-
-
+}
ROM_START( queen )
diff --git a/src/mame/drivers/savquest.cpp b/src/mame/drivers/savquest.cpp
index 770b38343da..101937de541 100644
--- a/src/mame/drivers/savquest.cpp
+++ b/src/mame/drivers/savquest.cpp
@@ -812,7 +812,8 @@ void savquest_isa16_cards(device_slot_interface &device)
device.option_add("sb16", ISA16_SOUND_BLASTER_16);
}
-MACHINE_CONFIG_START(savquest_state::savquest)
+void savquest_state::savquest(machine_config &config)
+{
PENTIUM2(config, m_maincpu, 450000000); // actually Pentium II 450
m_maincpu->set_addrmap(AS_PROGRAM, &savquest_state::savquest_map);
m_maincpu->set_addrmap(AS_IO, &savquest_state::savquest_io);
@@ -821,10 +822,13 @@ MACHINE_CONFIG_START(savquest_state::savquest)
pcat_common(config);
DS12885(config.replace(), "rtc");
- MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0)
- MCFG_PCI_BUS_LEGACY_DEVICE(0, DEVICE_SELF, savquest_state, intel82439tx_pci_r, intel82439tx_pci_w)
- MCFG_PCI_BUS_LEGACY_DEVICE(7, DEVICE_SELF, savquest_state, intel82371ab_pci_r, intel82371ab_pci_w)
- MCFG_PCI_BUS_LEGACY_DEVICE(13, DEVICE_SELF, savquest_state, pci_3dfx_r, pci_3dfx_w)
+ pci_bus_legacy_device &pcibus(PCI_BUS_LEGACY(config, "pcibus", 0, 0));
+ pcibus.set_device_read ( 0, FUNC(savquest_state::intel82439tx_pci_r), this);
+ pcibus.set_device_write( 0, FUNC(savquest_state::intel82439tx_pci_w), this);
+ pcibus.set_device_read ( 7, FUNC(savquest_state::intel82371ab_pci_r), this);
+ pcibus.set_device_write( 7, FUNC(savquest_state::intel82371ab_pci_w), this);
+ pcibus.set_device_read (13, FUNC(savquest_state::pci_3dfx_r), this);
+ pcibus.set_device_write(13, FUNC(savquest_state::pci_3dfx_w), this);
ide_controller_32_device &ide(IDE_CONTROLLER_32(config, "ide").options(ata_devices, "hdd", nullptr, true));
ide.irq_handler().set("pic8259_2", FUNC(pic8259_device::ir6_w));
@@ -848,7 +852,7 @@ MACHINE_CONFIG_START(savquest_state::savquest)
m_voodoo->set_screen_tag("screen");
m_voodoo->set_cpu_tag(m_maincpu);
m_voodoo->vblank_callback().set(FUNC(savquest_state::vblank_assert));
-MACHINE_CONFIG_END
+}
ROM_START( savquest )
ROM_REGION32_LE(0x40000, "bios", 0)
diff --git a/src/mame/drivers/sbc6510.cpp b/src/mame/drivers/sbc6510.cpp
index 10ef94c8412..1092fc0852d 100644
--- a/src/mame/drivers/sbc6510.cpp
+++ b/src/mame/drivers/sbc6510.cpp
@@ -282,8 +282,7 @@ void sbc6510_state::sbc6510(machine_config &config)
M6510(config, m_maincpu, XTAL(1'000'000));
m_maincpu->set_addrmap(AS_PROGRAM, &sbc6510_state::sbc6510_mem);
- ATMEGA88(config, m_videocpu, XTAL(16'000'000));
-// MCFG_DEVICE_DISABLE() // trips SLEEP opcode, needs to be emulated
+ ATMEGA88(config, m_videocpu, XTAL(16'000'000)); // Video CPU trips SLEEP opcode, needs to be emulated
m_videocpu->set_addrmap(AS_PROGRAM, &sbc6510_state::sbc6510_video_mem);
m_videocpu->set_addrmap(AS_DATA, &sbc6510_state::sbc6510_video_data);
m_videocpu->set_addrmap(AS_IO, &sbc6510_state::sbc6510_video_io);
diff --git a/src/mame/drivers/segald.cpp b/src/mame/drivers/segald.cpp
index 9f64b02d752..8f5f3de8a64 100644
--- a/src/mame/drivers/segald.cpp
+++ b/src/mame/drivers/segald.cpp
@@ -377,7 +377,8 @@ void segald_state::machine_start()
/* DRIVER */
-MACHINE_CONFIG_START(segald_state::astron)
+void segald_state::astron(machine_config &config)
+{
/* main cpu */
Z80(config, m_maincpu, SCHEMATIC_CLOCK/4);
m_maincpu->set_addrmap(AS_PROGRAM, &segald_state::mainmem);
@@ -391,7 +392,7 @@ MACHINE_CONFIG_START(segald_state::astron)
m_laserdisc->add_route(1, "rspeaker", 1.0);
/* video hardware */
- MCFG_LASERDISC_SCREEN_ADD_NTSC("screen", "laserdisc")
+ m_laserdisc->add_ntsc_screen(config, "screen");
GFXDECODE(config, m_gfxdecode, m_palette, gfx_segald);
PALETTE(config, m_palette).set_entries(256);
@@ -399,7 +400,7 @@ MACHINE_CONFIG_START(segald_state::astron)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
-MACHINE_CONFIG_END
+}
ROM_START( astron )
diff --git a/src/mame/drivers/segas32.cpp b/src/mame/drivers/segas32.cpp
index f95a0c17beb..872152d2a02 100644
--- a/src/mame/drivers/segas32.cpp
+++ b/src/mame/drivers/segas32.cpp
@@ -2585,9 +2585,9 @@ void segas32_state::system32_cd_map(address_map &map)
void segas32_cd_state::cdrom_config(device_t *device)
{
- device = device->subdevice("cdda");
- MCFG_SOUND_ROUTE( 0, "^^lspeaker", 0.30 )
- MCFG_SOUND_ROUTE( 1, "^^rspeaker", 0.30 )
+ cdda_device *cdda = device->subdevice<cdda_device>("cdda");
+ cdda->add_route(0, "^^lspeaker", 1.0);
+ cdda->add_route(1, "^^rspeaker", 1.0);
}
void segas32_cd_state::device_add_mconfig(machine_config &config)
diff --git a/src/mame/drivers/superdq.cpp b/src/mame/drivers/superdq.cpp
index fe721023bde..3cc3a1267bf 100644
--- a/src/mame/drivers/superdq.cpp
+++ b/src/mame/drivers/superdq.cpp
@@ -336,15 +336,14 @@ void superdq_state::machine_start()
}
-MACHINE_CONFIG_START(superdq_state::superdq)
-
+void superdq_state::superdq(machine_config &config)
+{
/* basic machine hardware */
Z80(config, m_maincpu, MASTER_CLOCK/8);
m_maincpu->set_addrmap(AS_PROGRAM, &superdq_state::superdq_map);
m_maincpu->set_addrmap(AS_IO, &superdq_state::superdq_io);
m_maincpu->set_vblank_int("screen", FUNC(superdq_state::superdq_vblank));
-
PIONEER_LDV1000(config, m_laserdisc, 0);
m_laserdisc->set_overlay(256, 256, FUNC(superdq_state::screen_update_superdq));
m_laserdisc->set_overlay_palette(m_palette);
@@ -352,7 +351,7 @@ MACHINE_CONFIG_START(superdq_state::superdq)
m_laserdisc->add_route(1, "rspeaker", 1.0);
/* video hardware */
- MCFG_LASERDISC_SCREEN_ADD_NTSC("screen", "laserdisc")
+ m_laserdisc->add_ntsc_screen(config, "screen");
GFXDECODE(config, m_gfxdecode, m_palette, gfx_superdq);
PALETTE(config, m_palette, FUNC(superdq_state::superdq_palette), 32);
@@ -362,7 +361,7 @@ MACHINE_CONFIG_START(superdq_state::superdq)
SPEAKER(config, "rspeaker").front_right();
SN76496(config, "snsnd", MASTER_CLOCK/8).add_route(ALL_OUTPUTS, "lspeaker", 0.8);
-MACHINE_CONFIG_END
+}
diff --git a/src/mame/drivers/sv8000.cpp b/src/mame/drivers/sv8000.cpp
index 5725a225b8b..290be9e8908 100644
--- a/src/mame/drivers/sv8000.cpp
+++ b/src/mame/drivers/sv8000.cpp
@@ -414,7 +414,7 @@ void sv8000_state::sv8000(machine_config &config)
/* software lists */
SOFTWARE_LIST(config, "cart_list").set_original("sv8000");
-MACHINE_CONFIG_END
+}
/* ROM definition */
ROM_START( sv8000 )
diff --git a/src/mame/drivers/taitowlf.cpp b/src/mame/drivers/taitowlf.cpp
index 71ff3629d2e..8b6d87bbbd0 100644
--- a/src/mame/drivers/taitowlf.cpp
+++ b/src/mame/drivers/taitowlf.cpp
@@ -369,8 +369,8 @@ void taitowlf_state::taitowlf_palette(palette_device &palette) const
}
#endif
-MACHINE_CONFIG_START(taitowlf_state::taitowlf)
-
+void taitowlf_state::taitowlf(machine_config &config)
+{
/* basic machine hardware */
PENTIUM(config, m_maincpu, 200000000);
m_maincpu->set_addrmap(AS_PROGRAM, &taitowlf_state::taitowlf_map);
@@ -378,9 +378,11 @@ MACHINE_CONFIG_START(taitowlf_state::taitowlf)
m_maincpu->set_irq_acknowledge_callback("pic8259_1", FUNC(pic8259_device::inta_cb));
- MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0)
- MCFG_PCI_BUS_LEGACY_DEVICE(0, DEVICE_SELF, taitowlf_state, intel82439tx_pci_r, intel82439tx_pci_w)
- MCFG_PCI_BUS_LEGACY_DEVICE(7, DEVICE_SELF, taitowlf_state, intel82371ab_pci_r, intel82371ab_pci_w)
+ pci_bus_legacy_device &pcibus(PCI_BUS_LEGACY(config, "pcibus", 0, 0));
+ pcibus.set_device_read (0, FUNC(taitowlf_state::intel82439tx_pci_r), this);
+ pcibus.set_device_write(0, FUNC(taitowlf_state::intel82439tx_pci_w), this);
+ pcibus.set_device_read (7, FUNC(taitowlf_state::intel82371ab_pci_r), this);
+ pcibus.set_device_write(7, FUNC(taitowlf_state::intel82371ab_pci_w), this);
pcat_common(config);
@@ -397,7 +399,7 @@ MACHINE_CONFIG_START(taitowlf_state::taitowlf)
screen.set_screen_update(FUNC(taitowlf_state::screen_update_taitowlf));
PALETTE(config, m_palette, FUNC(taitowlf_state::taitowlf_palette), 256);
#endif
-MACHINE_CONFIG_END
+}
void taitowlf_state::init_taitowlf()
{
diff --git a/src/mame/drivers/unichamp.cpp b/src/mame/drivers/unichamp.cpp
index a53ad2b4aa9..2330b244fc0 100644
--- a/src/mame/drivers/unichamp.cpp
+++ b/src/mame/drivers/unichamp.cpp
@@ -248,7 +248,7 @@ void unichamp_state::unichamp(machine_config &config)
/* basic machine hardware */
//The CPU is really clocked this way:
- //MCFG_DEVICE_ADD("maincpu", CP1610, XTAL(3'579'545)/4)
+ //CP1610(config, m_maincpu, XTAL(3'579'545)/4);
//But since it is only running 7752/29868 th's of the time...
//TODO find a more accurate method? (the emulation will be the same though)
CP1610(config, m_maincpu, (7752.0/29868.0)*XTAL(3'579'545)/4);
diff --git a/src/mame/drivers/vc4000.cpp b/src/mame/drivers/vc4000.cpp
index 7348158c552..0fb132ba475 100644
--- a/src/mame/drivers/vc4000.cpp
+++ b/src/mame/drivers/vc4000.cpp
@@ -529,7 +529,7 @@ static void vc4000_cart(device_slot_interface &device)
void vc4000_state::vc4000(machine_config &config)
{
/* basic machine hardware */
-// MCFG_DEVICE_ADD("maincpu", S2650, 865000) /* 3550000/4, 3580000/3, 4430000/3 */
+// S2650(config, m_maincpu, 865000); /* 3550000/4, 3580000/3, 4430000/3 */
S2650(config, m_maincpu, 3546875/4);
m_maincpu->set_addrmap(AS_PROGRAM, &vc4000_state::vc4000_mem);
m_maincpu->sense_handler().set(FUNC(vc4000_state::vc4000_vsync_r));
diff --git a/src/mame/drivers/viper.cpp b/src/mame/drivers/viper.cpp
index a8048e8cd89..140a94cfa65 100644
--- a/src/mame/drivers/viper.cpp
+++ b/src/mame/drivers/viper.cpp
@@ -2415,17 +2415,19 @@ void viper_state::machine_reset()
m_ds2430_unk_status = 1;
}
-MACHINE_CONFIG_START(viper_state::viper)
-
+void viper_state::viper(machine_config &config)
+{
/* basic machine hardware */
MPC8240(config, m_maincpu, 166666666); // Unknown
m_maincpu->set_bus_frequency(100000000);
m_maincpu->set_addrmap(AS_PROGRAM, &viper_state::viper_map);
m_maincpu->set_vblank_int("screen", FUNC(viper_state::viper_vblank));
- MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0)
- MCFG_PCI_BUS_LEGACY_DEVICE(0, DEVICE_SELF, viper_state, mpc8240_pci_r, mpc8240_pci_w)
- MCFG_PCI_BUS_LEGACY_DEVICE(12, DEVICE_SELF, viper_state, voodoo3_pci_r, voodoo3_pci_w)
+ pci_bus_legacy_device &pcibus(PCI_BUS_LEGACY(config, "pcibus", 0, 0));
+ pcibus.set_device_read ( 0, FUNC(viper_state::mpc8240_pci_r), this);
+ pcibus.set_device_write( 0, FUNC(viper_state::mpc8240_pci_w), this);
+ pcibus.set_device_read (12, FUNC(viper_state::voodoo3_pci_r), this);
+ pcibus.set_device_write(12, FUNC(viper_state::voodoo3_pci_w), this);
ATA_INTERFACE(config, m_ata).options(ata_devices, "hdd", nullptr, true);
@@ -2454,7 +2456,7 @@ MACHINE_CONFIG_START(viper_state::viper)
SPEAKER(config, "rspeaker").front_right();
M48T58(config, "m48t58", 0);
-MACHINE_CONFIG_END
+}
/*****************************************************************************/
diff --git a/src/mame/drivers/voyager.cpp b/src/mame/drivers/voyager.cpp
index b441bdbcd0c..ff851556fe5 100644
--- a/src/mame/drivers/voyager.cpp
+++ b/src/mame/drivers/voyager.cpp
@@ -502,7 +502,8 @@ void voyager_state::machine_reset()
membank("bank1")->set_base(memregion("bios")->base());
}
-MACHINE_CONFIG_START(voyager_state::voyager)
+void voyager_state::voyager(machine_config &config)
+{
PENTIUM3(config, m_maincpu, 133000000); // actually AMD Duron CPU of unknown clock
m_maincpu->set_addrmap(AS_PROGRAM, &voyager_state::voyager_map);
m_maincpu->set_addrmap(AS_IO, &voyager_state::voyager_io);
@@ -513,9 +514,11 @@ MACHINE_CONFIG_START(voyager_state::voyager)
ide_controller_device &ide(IDE_CONTROLLER(config, "ide").options(ata_devices, "hdd", nullptr, true));
ide.irq_handler().set("pic8259_2", FUNC(pic8259_device::ir6_w));
- MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0)
- MCFG_PCI_BUS_LEGACY_DEVICE(0, DEVICE_SELF, voyager_state, intel82439tx_pci_r, intel82439tx_pci_w)
- MCFG_PCI_BUS_LEGACY_DEVICE(7, DEVICE_SELF, voyager_state, intel82371ab_pci_r, intel82371ab_pci_w)
+ pci_bus_legacy_device &pcibus(PCI_BUS_LEGACY(config, "pcibus", 0, 0));
+ pcibus.set_device_read (0, FUNC(voyager_state::intel82439tx_pci_r), this);
+ pcibus.set_device_write(0, FUNC(voyager_state::intel82439tx_pci_w), this);
+ pcibus.set_device_read (7, FUNC(voyager_state::intel82371ab_pci_r), this);
+ pcibus.set_device_write(7, FUNC(voyager_state::intel82371ab_pci_w), this);
/* video hardware */
pcvideo_trident_vga(config);
@@ -523,7 +526,7 @@ MACHINE_CONFIG_START(voyager_state::voyager)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
-MACHINE_CONFIG_END
+}
void voyager_state::init_voyager()
{
diff --git a/src/mame/drivers/xavix.cpp b/src/mame/drivers/xavix.cpp
index 039844e905e..7132cad5cfe 100644
--- a/src/mame/drivers/xavix.cpp
+++ b/src/mame/drivers/xavix.cpp
@@ -1268,7 +1268,7 @@ void xavix_state::xavix(machine_config &config)
m_screen->set_size(32*8, 32*8);
m_screen->set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
m_screen->set_palette(m_palette);
- //MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_SCANLINE)
+ //m_screen->set_video_attributes(VIDEO_UPDATE_SCANLINE);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_xavix);
diff --git a/src/mame/drivers/xtom3d.cpp b/src/mame/drivers/xtom3d.cpp
index a0a54f06372..24963181556 100644
--- a/src/mame/drivers/xtom3d.cpp
+++ b/src/mame/drivers/xtom3d.cpp
@@ -421,14 +421,11 @@ void xtom3d_state::xtom3d(machine_config &config)
pcat_common(config);
- PCI_BUS_LEGACY(config, m_pcibus, 0);
- m_pcibus->set_busnum(0);
- m_pcibus->set_device(0,
- pci_bus_legacy_read_delegate(&xtom3d_state::intel82439tx_pci_r, "xtom3d_state::intel82439tx_pci_r", DEVICE_SELF, (xtom3d_state *)0),
- pci_bus_legacy_write_delegate(&xtom3d_state::intel82439tx_pci_w, "xtom3d_state::intel82439tx_pci_w", DEVICE_SELF, (xtom3d_state *)0));
- m_pcibus->set_device(7,
- pci_bus_legacy_read_delegate(&xtom3d_state::intel82371ab_pci_r, "xtom3d_state::intel82371ab_pci_r", DEVICE_SELF, (xtom3d_state *)0),
- pci_bus_legacy_write_delegate(&xtom3d_state::intel82371ab_pci_w, "xtom3d_state::intel82371ab_pci_w", DEVICE_SELF, (xtom3d_state *)0));
+ PCI_BUS_LEGACY(config, m_pcibus, 0, 0);
+ m_pcibus->set_device_read (0, FUNC(xtom3d_state::intel82439tx_pci_r), this);
+ m_pcibus->set_device_write(0, FUNC(xtom3d_state::intel82439tx_pci_w), this);
+ m_pcibus->set_device_read (7, FUNC(xtom3d_state::intel82371ab_pci_r), this);
+ m_pcibus->set_device_write(7, FUNC(xtom3d_state::intel82371ab_pci_w), this);
/* video hardware */
pcvideo_vga(config);
diff --git a/src/mame/includes/gottlieb.h b/src/mame/includes/gottlieb.h
index 1012b095d3c..d0bd03806c7 100644
--- a/src/mame/includes/gottlieb.h
+++ b/src/mame/includes/gottlieb.h
@@ -110,7 +110,7 @@ private:
inline void audio_end_state();
void audio_process_clock(bool logit);
void audio_handle_zero_crossing(const attotime &zerotime, bool logit);
- void laserdisc_audio_process(laserdisc_device &device, int samplerate, int samples, const int16_t *ch0, const int16_t *ch1);
+ void laserdisc_audio_process(int samplerate, int samples, const int16_t *ch0, const int16_t *ch1);
void gottlieb_map(address_map &map);
void reactor_map(address_map &map);
diff --git a/src/mame/video/mystston.cpp b/src/mame/video/mystston.cpp
index ef5f62baa32..bcf5961e61f 100644
--- a/src/mame/video/mystston.cpp
+++ b/src/mame/video/mystston.cpp
@@ -26,7 +26,7 @@
*
*************************************/
// HMC20
-// MCFG_SCREEN_RAW_PARAMS(XTAL(12'000'000)/2,384,0,256,272,8,248)
+// set_raw(XTAL(12'000'000)/2, 384, 0, 256, 272, 8, 248)
#define PIXEL_CLOCK (XTAL(12'000'000) / 2)
#define HTOTAL (384)
#define HBEND (0)