From b6ce2e16d867b21119ce36f6e108d0866f396089 Mon Sep 17 00:00:00 2001 From: MooglyGuy Date: Tue, 2 Jul 2019 20:30:21 +0200 Subject: -core: Removed almost all MCFG defines, and removed all remaining MACHINE_CONFIG_START/END uses. [Ryan Holtz] --- src/devices/bus/hp80_io/82937.cpp | 2 +- src/devices/bus/hp80_io/hp80_io.h | 2 +- src/devices/bus/hp9845_io/98032.cpp | 2 +- src/devices/bus/hp9845_io/98034.cpp | 2 +- src/devices/bus/hp9845_io/98035.cpp | 2 +- src/devices/bus/hp9845_io/hp9845_io.h | 2 +- src/devices/bus/isa/ide.cpp | 7 ++-- src/devices/bus/lpci/i82439tx.h | 6 --- src/devices/bus/rs232/ie15.cpp | 12 +++--- src/devices/bus/rs232/keyboard.cpp | 10 ++--- src/devices/bus/rs232/null_modem.cpp | 13 +++--- src/devices/bus/rs232/printer.cpp | 10 ++--- src/devices/bus/rs232/pty.cpp | 12 +++--- src/devices/bus/rs232/rs232.h | 10 ++--- src/devices/bus/rs232/terminal.cpp | 12 +++--- src/devices/machine/laserdsc.cpp | 22 +++++++++- src/devices/machine/laserdsc.h | 58 +++++--------------------- src/devices/machine/ldpr8210.h | 10 +---- src/devices/machine/ldv1000.h | 10 +---- src/devices/machine/lpci.h | 39 +++++++----------- src/devices/machine/netlist.h | 46 --------------------- src/devices/machine/sdlc.h | 13 ------ src/devices/machine/sis85c496.h | 8 ++-- src/devices/video/huc6272.cpp | 6 +-- src/emu/devcpu.h | 10 ----- src/emu/device.h | 6 --- src/emu/diexec.h | 26 ------------ src/emu/diimage.h | 3 -- src/emu/dimemory.h | 24 ----------- src/emu/dirom.h | 3 -- src/emu/dislot.h | 35 ---------------- src/emu/disound.h | 14 ------- src/emu/mconfig.h | 37 ----------------- src/emu/screen.h | 67 ++++++------------------------ src/emu/tilemap.h | 76 +++++++---------------------------- src/mame/drivers/1942.cpp | 2 +- src/mame/drivers/2mindril.cpp | 1 - src/mame/drivers/amstr_pc.cpp | 6 +-- src/mame/drivers/amusco.cpp | 2 +- src/mame/drivers/apogee.cpp | 2 +- src/mame/drivers/atarig42.cpp | 9 +++-- src/mame/drivers/atarigt.cpp | 11 ++--- src/mame/drivers/atarigx2.cpp | 11 ++--- src/mame/drivers/atarist.cpp | 8 ++-- src/mame/drivers/atarittl.cpp | 1 - src/mame/drivers/atlantis.cpp | 2 +- src/mame/drivers/atpci.cpp | 4 +- src/mame/drivers/bebox.cpp | 2 +- src/mame/drivers/calchase.cpp | 26 +++++++----- src/mame/drivers/casloopy.cpp | 6 +-- src/mame/drivers/cliffhgr.cpp | 7 ++-- src/mame/drivers/cobra.cpp | 11 ++--- src/mame/drivers/dccons.cpp | 6 +-- src/mame/drivers/deco_ld.cpp | 8 ++-- src/mame/drivers/decstation.cpp | 4 +- src/mame/drivers/dlair.cpp | 22 +++++----- src/mame/drivers/esh.cpp | 7 ++-- src/mame/drivers/exelv.cpp | 2 +- src/mame/drivers/firefox.cpp | 9 ++--- src/mame/drivers/fruitpc.cpp | 3 +- src/mame/drivers/funkball.cpp | 13 +++--- src/mame/drivers/gamecstl.cpp | 13 +++--- src/mame/drivers/gammagic.cpp | 16 ++++---- src/mame/drivers/gottlieb.cpp | 6 +-- src/mame/drivers/gpworld.cpp | 8 ++-- src/mame/drivers/harddriv.cpp | 2 +- src/mame/drivers/istellar.cpp | 7 ++-- src/mame/drivers/jpmmps.cpp | 2 +- src/mame/drivers/konamigx.cpp | 2 +- src/mame/drivers/konblands.cpp | 6 +-- src/mame/drivers/ldplayer.cpp | 36 ++++++++--------- src/mame/drivers/lgp.cpp | 7 ++-- src/mame/drivers/magictg.cpp | 19 +++++---- src/mame/drivers/magtouch.cpp | 3 +- src/mame/drivers/mediagx.cpp | 11 ++--- src/mame/drivers/midqslvr.cpp | 13 +++--- src/mame/drivers/pc.cpp | 1 - src/mame/drivers/pc9801.cpp | 8 ++-- src/mame/drivers/pcat_dyn.cpp | 3 +- src/mame/drivers/pcipc.cpp | 2 +- src/mame/drivers/photoply.cpp | 10 +++-- src/mame/drivers/pinball2k.cpp | 11 ++--- src/mame/drivers/pong.cpp | 4 -- src/mame/drivers/queen.cpp | 17 ++++---- src/mame/drivers/savquest.cpp | 16 +++++--- src/mame/drivers/sbc6510.cpp | 3 +- src/mame/drivers/segald.cpp | 7 ++-- src/mame/drivers/segas32.cpp | 6 +-- src/mame/drivers/superdq.cpp | 9 ++--- src/mame/drivers/sv8000.cpp | 2 +- src/mame/drivers/taitowlf.cpp | 14 ++++--- src/mame/drivers/unichamp.cpp | 2 +- src/mame/drivers/vc4000.cpp | 2 +- src/mame/drivers/viper.cpp | 14 ++++--- src/mame/drivers/voyager.cpp | 13 +++--- src/mame/drivers/xavix.cpp | 2 +- src/mame/drivers/xtom3d.cpp | 13 +++--- src/mame/includes/gottlieb.h | 2 +- src/mame/video/mystston.cpp | 2 +- 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"); + 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(*device).set_cpu(_tag); - -#define MCFG_I82439TX_REGION( _tag ) \ - downcast(*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 @@ -55,49 +55,6 @@ enum laserdisc_field_code -//************************************************************************** -// DEVICE CONFIGURATION MACROS -//************************************************************************** - -#define MCFG_LASERDISC_GET_DISC(_func) \ - downcast(*device).set_get_disc(_func); -#define MCFG_LASERDISC_AUDIO(_func) \ - downcast(*device).set_audio(_func); -#define MCFG_LASERDISC_SCREEN(_tag) \ - downcast(*device).set_screen(_tag); -#define MCFG_LASERDISC_OVERLAY_DRIVER(_width, _height, _class, _method) \ - downcast(*device).set_overlay(_width, _height, &_class::_method, #_class "::" #_method); -#define MCFG_LASERDISC_OVERLAY_DEVICE(_width, _height, _device, _class, _method) \ - downcast(*device).set_overlay(_width, _height, _device, &_class::_method, #_class "::" #_method); -#define MCFG_LASERDISC_OVERLAY_CLIP(_minx, _maxx, _miny, _maxy) \ - downcast(*device).set_overlay_clip(_minx, _maxx, _miny, _maxy); -#define MCFG_LASERDISC_OVERLAY_POSITION(_posx, _posy) \ - downcast(*device).set_overlay_position(_posx, _posy); -#define MCFG_LASERDISC_OVERLAY_SCALE(_scalex, _scaley) \ - downcast(*device).set_overlay_scale(_scalex, _scaley); -#define MCFG_LASERDISC_OVERLAY_PALETTE(_palette_tag) \ - downcast(*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(*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(*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 get_disc_delegate; - typedef delegate audio_delegate; - + typedef device_delegate get_disc_delegate; + typedef device_delegate 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(*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 void set_get_disc(T &&... args) { m_getdisc_callback = get_disc_delegate(std::forward(args)...); } + template void set_audio(T &&... args) { m_audio_callback = audio_delegate(std::forward(args)...); } template // 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 @@ -17,14 +17,6 @@ #include "cpu/mcs48/mcs48.h" -//************************************************************************** -// 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 @@ -19,14 +19,6 @@ #include "machine/z80ctc.h" -//************************************************************************** -// 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 pci_bus_legacy_read_delegate; -typedef device_delegate pci_bus_legacy_write_delegate; - // ======================> pci_bus_legacy_device class pci_bus_legacy_device : public device_t { public: + typedef device_delegate pci_bus_legacy_read_delegate; + typedef device_delegate 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 void set_device_read(int num, T &&... args) { m_read_callback[num] = pci_bus_legacy_read_delegate(std::forward(args)...); } + template void set_device_write(int num, T &&... args) { m_write_callback[num] = pci_bus_legacy_write_delegate(std::forward(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(device)->set_busnum(_busnum); -#define MCFG_PCI_BUS_LEGACY_DEVICE(_devnum, _devtag, _devclass, _configread, _configwrite) \ - downcast(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(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(*device).set_setup_func(NETLIST_NAME(_setup)); - -#if 0 -#define MCFG_NETLIST_SETUP_MEMBER(_obj, _setup) \ - downcast(*device).set_constructor(_obj, _setup); - -#define MCFG_NETLIST_ANALOG_INPUT(_basetag, _tag, _name) \ - MCFG_DEVICE_ADD(_basetag ":" _tag, NETLIST_ANALOG_INPUT, 0) \ - downcast(*device).set_name(_name); - -#define MCFG_NETLIST_ANALOG_MULT_OFFSET(_mult, _offset) \ - dynamic_cast(*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(*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(*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(*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(*device).set_params(_name, _mask, _shift); - -#define MCFG_NETLIST_RAM_POINTER(_basetag, _tag, _name) \ - MCFG_DEVICE_ADD(_basetag ":" _tag, NETLIST_RAM_POINTER, 0) \ - downcast(*device).set_params(_name); - -#define MCFG_NETLIST_STREAM_INPUT(_basetag, _chan, _name) \ - MCFG_DEVICE_ADD(_basetag ":cin" # _chan, NETLIST_STREAM_INPUT, 0) \ - downcast(*device).set_params(_chan, _name); - -#define MCFG_NETLIST_STREAM_OUTPUT(_basetag, _chan, _name) \ - MCFG_DEVICE_ADD(_basetag ":cout" # _chan, NETLIST_STREAM_OUTPUT, 0) \ - downcast(*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 -#define MCFG_SDLC_LOGGER_DATA_NRZL \ - downcast(*device).clock_active(0); - -#define MCFG_SDLC_LOGGER_DATA_NRZI \ - downcast(*device).clock_active(1); - -#define MCFG_SDLC_LOGGER_CLOCK_ACTIVE_RISING \ - downcast(*device).clock_active(1); - -#define MCFG_SDLC_LOGGER_CLOCK_ACTIVE_FALLING \ - downcast(*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(device)->set_cpu_tag(_cpu_tag); \ - downcast(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"); + 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 @@ -16,16 +16,6 @@ #include "diexec.h" -//************************************************************************** -// CPU DEVICE CONFIGURATION MACROS -//************************************************************************** - -// recompilation parameters -#define MCFG_CPU_FORCE_NO_DRC() \ - dynamic_cast(*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 @@ -75,32 +75,6 @@ enum -//************************************************************************** -// INTERFACE CONFIGURATION MACROS -//************************************************************************** - -#define MCFG_DEVICE_DISABLE() \ - dynamic_cast(*device).set_disable(); -#define MCFG_DEVICE_VBLANK_INT_DRIVER(_tag, _class, _func) \ - dynamic_cast(*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).set_vblank_int(device_interrupt_delegate(&_class::_func, #_class "::" #_func, _devtag, (_class *)nullptr), _tag); -#define MCFG_DEVICE_VBLANK_INT_REMOVE() \ - dynamic_cast(*device).set_vblank_int(device_interrupt_delegate(), nullptr); -#define MCFG_DEVICE_PERIODIC_INT_DRIVER(_class, _func, _rate) \ - dynamic_cast(*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).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).set_periodic_int(device_interrupt_delegate(), attotime()); -#define MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(_class, _func) \ - dynamic_cast(*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).set_irq_acknowledge_callback(device_irq_acknowledge_delegate(&_class::_func, #_class "::" #_func, _devtag, (_class *)nullptr)); -#define MCFG_DEVICE_IRQ_ACKNOWLEDGE_REMOVE() \ - dynamic_cast(*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).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 @@ -41,30 +41,6 @@ constexpr int TRANSLATE_FETCH_DEBUG = (TRANSLATE_FETCH | TRANSLATE_DEBUG_MAS -//************************************************************************** -// INTERFACE CONFIGURATION MACROS -//************************************************************************** - -#define MCFG_DEVICE_ADDRESS_MAP(_space, _map) \ - dynamic_cast(device)->set_addrmap(_space, address_map_constructor(&std::remove_pointer_t::_map, tag(), this)); - -#define MCFG_DEVICE_REMOVE_ADDRESS_MAP(_space) \ - dynamic_cast(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).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)); MCFG_SLOT_DEFAULT_OPTION(_def_option) MCFG_SLOT_FIXED(_fixed) - - -//************************************************************************** -// MACROS -//************************************************************************** - -#define MCFG_SLOT_FIXED(_fixed) \ - dynamic_cast(*device).set_fixed(_fixed); - -#define MCFG_SLOT_DEFAULT_OPTION(_option) \ - dynamic_cast(*device).set_default_option(_option); - -#define MCFG_SLOT_OPTION_RESET \ - dynamic_cast(*device).option_reset(); - -#define MCFG_SLOT_OPTION_ADD(_option, _devtype) \ - dynamic_cast(*device).option_add(_option, _devtype); - -#define MCFG_SLOT_OPTION_DEFAULT_BIOS(_option, _default_bios) \ - dynamic_cast(*device).set_option_default_bios(_option, _default_bios); - -#define MCFG_SLOT_OPTION_MACHINE_CONFIG(_option, _machine_config_name) \ - dynamic_cast(*device).set_option_machine_config(_option, _machine_config_name); - -#define MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS(_option, _dev_inp_def) \ - dynamic_cast(*device).set_option_device_input_defaults(_option, DEVICE_INPUT_DEFAULTS_NAME(_dev_inp_def)); - -#define MCFG_SLOT_OPTION_CLOCK(_option, _clock) \ - dynamic_cast(*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 @@ -30,20 +30,6 @@ constexpr int AUTO_ALLOC_INPUT = 65535; -//************************************************************************** -// INTERFACE CONFIGURATION MACROS -//************************************************************************** - -#define MCFG_SOUND_ROUTE(_output, _target, ...) \ - dynamic_cast(*device).add_route(_output, _target, __VA_ARGS__); - -#define MCFG_SOUND_ROUTES_RESET() \ - dynamic_cast(*device).reset_routes(); - -#define MCFG_MIXER_ROUTE(_output, _target, _gain, _mixoutput) \ - dynamic_cast(*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 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_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_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_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_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(*device).set_type(SCREEN_TYPE_##_type); - -#define MCFG_SCREEN_RAW_PARAMS(_pixclock, _htotal, _hbend, _hbstart, _vtotal, _vbend, _vbstart) \ - downcast(*device).set_raw(_pixclock, _htotal, _hbend, _hbstart, _vtotal, _vbend, _vbstart); - -#define MCFG_SCREEN_REFRESH_RATE(_rate) \ - downcast(*device).set_refresh(HZ_TO_ATTOSECONDS(_rate)); - -#define MCFG_SCREEN_VBLANK_TIME(_time) \ - downcast(*device).set_vblank_time(_time); - -#define MCFG_SCREEN_SIZE(_width, _height) \ - downcast(*device).set_size(_width, _height); - -#define MCFG_SCREEN_VISIBLE_AREA(_minx, _maxx, _miny, _maxy) \ - downcast(*device).set_visarea(_minx, _maxx, _miny, _maxy); -#define MCFG_SCREEN_UPDATE_DRIVER(_class, _method) \ - downcast(*device).set_screen_update(&_class::_method, #_class "::" #_method); -#define MCFG_SCREEN_UPDATE_DEVICE(_device, _class, _method) \ - downcast(*device).set_screen_update(_device, &_class::_method, #_class "::" #_method); -#define MCFG_SCREEN_PALETTE(_palette_tag) \ - downcast(*device).set_palette(_palette_tag); -#define MCFG_SCREEN_NO_PALETTE \ - downcast(*device).set_palette(finder_base::DUMMY_TAG); -#define MCFG_SCREEN_VIDEO_ATTRIBUTES(_flags) \ - downcast(*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(*device).set_gfxdecode(_gfxtag); -#define MCFG_TILEMAP_BYTES_PER_ENTRY(_bpe) \ - downcast(*device).set_bytes_per_entry(_bpe); -#define MCFG_TILEMAP_INFO_CB_DRIVER(_class, _method) \ - downcast(*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(*device).set_info_callback(tilemap_get_info_delegate(&_class::_method, #_class "::" #_method, _device, (_class *)nullptr)); -#define MCFG_TILEMAP_LAYOUT_STANDARD(_standard, _columns, _rows) \ - downcast(*device).set_layout(TILEMAP_##_standard, _columns, _rows); -#define MCFG_TILEMAP_LAYOUT_CB_DRIVER(_class, _method, _columns, _rows) \ - downcast(*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(*device).set_layout(tilemap_mapper_delegate(&_class::_method, #_class "::" #_method, _device, (_class *)nullptr), _columns, _rows); -#define MCFG_TILEMAP_TILE_SIZE(_width, _height) \ - downcast(*device).set_tile_size(_width, _height); -#define MCFG_TILEMAP_TRANSPARENT_PEN(_pen) \ - downcast(*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 + 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(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 void set_gfxdecode(T &&tag) { m_gfxdecode.set_tag(std::forward(tag)); } @@ -756,6 +703,11 @@ public: set_info_callback(tilemap_get_info_delegate(callback, name, nullptr, static_cast(nullptr))); } + template 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(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("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(device)->set_cpu("maincpu"); + downcast(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"); + 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(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")->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")->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")->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"); + 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")->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"); + 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) -- cgit v1.2.3