diff --git a/src/devices/bus/a2bus/a2diskiing.cpp b/src/devices/bus/a2bus/a2diskiing.cpp index 0a9439bfc30..5459c4249ce 100644 --- a/src/devices/bus/a2bus/a2diskiing.cpp +++ b/src/devices/bus/a2bus/a2diskiing.cpp @@ -27,9 +27,10 @@ DEFINE_DEVICE_TYPE(A2BUS_DISKIING13, a2bus_diskiing13_device, "diskii13", "Apple #define WOZFDC_TAG "wozfdc" #define DISKII_ROM_REGION "diskii_rom" -static SLOT_INTERFACE_START( a2_floppies ) - SLOT_INTERFACE( "525", FLOPPY_525_SD ) -SLOT_INTERFACE_END +static void a2_floppies(device_slot_interface &device) +{ + device.option_add("525", FLOPPY_525_SD); +} ROM_START( diskiing ) ROM_REGION(0x100, DISKII_ROM_REGION, 0) diff --git a/src/devices/bus/a2bus/a2dx1.cpp b/src/devices/bus/a2bus/a2dx1.cpp index d2899aa8bda..d41cd92a89e 100644 --- a/src/devices/bus/a2bus/a2dx1.cpp +++ b/src/devices/bus/a2bus/a2dx1.cpp @@ -35,9 +35,9 @@ MACHINE_CONFIG_START(a2bus_dx1_device::device_add_mconfig) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC MCFG_SOUND_ADD("dacvol", DAC_8BIT_R2R, 0) // unknown DAC - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dacvol", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dacvol", 1.0, DAC_VREF_POS_INPUT) MACHINE_CONFIG_END //************************************************************************** diff --git a/src/devices/bus/a2bus/a2hsscsi.cpp b/src/devices/bus/a2bus/a2hsscsi.cpp index 9973ea9e600..82abf6fb342 100644 --- a/src/devices/bus/a2bus/a2hsscsi.cpp +++ b/src/devices/bus/a2bus/a2hsscsi.cpp @@ -65,11 +65,12 @@ void a2bus_hsscsi_device::ncr5380(device_t *device) MCFG_NCR5380N_DRQ_HANDLER(DEVWRITELINE("^^", a2bus_hsscsi_device, drq_w)) } -static SLOT_INTERFACE_START( hsscsi_devices ) - SLOT_INTERFACE("cdrom", NSCSI_CDROM) - SLOT_INTERFACE("harddisk", NSCSI_HARDDISK) - SLOT_INTERFACE_INTERNAL("ncr5380", NCR5380N) -SLOT_INTERFACE_END +static void hsscsi_devices(device_slot_interface &device) +{ + device.option_add("cdrom", NSCSI_CDROM); + device.option_add("harddisk", NSCSI_HARDDISK); + device.option_add_internal("ncr5380", NCR5380N); +} ROM_START( hsscsi ) ROM_REGION(0x8000, SCSI_ROM_REGION, 0) @@ -94,7 +95,7 @@ MACHINE_CONFIG_START(a2bus_hsscsi_device::device_add_mconfig) MCFG_NSCSI_ADD("scsibus:5", hsscsi_devices, nullptr, false) MCFG_NSCSI_ADD("scsibus:6", hsscsi_devices, "harddisk", false) MCFG_NSCSI_ADD("scsibus:7", hsscsi_devices, "ncr5380", true) - MCFG_DEVICE_CARD_MACHINE_CONFIG("ncr5380", ncr5380) + MCFG_SLOT_OPTION_MACHINE_CONFIG("ncr5380", ncr5380) MACHINE_CONFIG_END //------------------------------------------------- diff --git a/src/devices/bus/a2bus/a2sam.cpp b/src/devices/bus/a2bus/a2sam.cpp index 1a3758d2109..72b70433007 100644 --- a/src/devices/bus/a2bus/a2sam.cpp +++ b/src/devices/bus/a2bus/a2sam.cpp @@ -35,7 +35,7 @@ MACHINE_CONFIG_START(a2bus_sam_device::device_add_mconfig) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END //************************************************************************** diff --git a/src/devices/bus/a2bus/a2scsi.cpp b/src/devices/bus/a2bus/a2scsi.cpp index c7706066d5e..2cfd5c0f364 100644 --- a/src/devices/bus/a2bus/a2scsi.cpp +++ b/src/devices/bus/a2bus/a2scsi.cpp @@ -58,11 +58,12 @@ void a2bus_scsi_device::ncr5380(device_t *device) MCFG_NCR5380N_DRQ_HANDLER(DEVWRITELINE("^^", a2bus_scsi_device, drq_w)) } -static SLOT_INTERFACE_START( scsi_devices ) - SLOT_INTERFACE("cdrom", NSCSI_CDROM) - SLOT_INTERFACE("harddisk", NSCSI_HARDDISK) - SLOT_INTERFACE_INTERNAL("ncr5380", NCR5380N) -SLOT_INTERFACE_END +static void scsi_devices(device_slot_interface &device) +{ + device.option_add("cdrom", NSCSI_CDROM); + device.option_add("harddisk", NSCSI_HARDDISK); + device.option_add_internal("ncr5380", NCR5380N); +} ROM_START( scsi ) ROM_REGION(0x4000, SCSI_ROM_REGION, 0) // this is the Rev. C ROM @@ -87,7 +88,7 @@ MACHINE_CONFIG_START(a2bus_scsi_device::device_add_mconfig) MCFG_NSCSI_ADD("scsibus:5", scsi_devices, nullptr, false) MCFG_NSCSI_ADD("scsibus:6", scsi_devices, "harddisk", false) MCFG_NSCSI_ADD("scsibus:7", scsi_devices, "ncr5380", true) - MCFG_DEVICE_CARD_MACHINE_CONFIG("ncr5380", ncr5380) + MCFG_SLOT_OPTION_MACHINE_CONFIG("ncr5380", ncr5380) MACHINE_CONFIG_END //------------------------------------------------- diff --git a/src/devices/bus/a2bus/corvfdc01.cpp b/src/devices/bus/a2bus/corvfdc01.cpp index 6b4ff3ed08d..10657674e04 100644 --- a/src/devices/bus/a2bus/corvfdc01.cpp +++ b/src/devices/bus/a2bus/corvfdc01.cpp @@ -31,9 +31,10 @@ FLOPPY_FORMATS_MEMBER( a2bus_corvfdc01_device::corv_floppy_formats ) FLOPPY_IMD_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( corv_floppies ) - SLOT_INTERFACE( "8sssd", FLOPPY_8_SSSD ) -SLOT_INTERFACE_END +static void corv_floppies(device_slot_interface &device) +{ + device.option_add("8sssd", FLOPPY_8_SSSD); +} ROM_START( fdc01 ) ROM_REGION(0x20, FDC01_ROM_REGION, 0) diff --git a/src/devices/bus/a2bus/corvfdc02.cpp b/src/devices/bus/a2bus/corvfdc02.cpp index e4eb116d220..3367d18384e 100644 --- a/src/devices/bus/a2bus/corvfdc02.cpp +++ b/src/devices/bus/a2bus/corvfdc02.cpp @@ -34,9 +34,10 @@ FLOPPY_FORMATS_MEMBER( a2bus_corvfdc02_device::corv_floppy_formats ) FLOPPY_IMD_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( corv_floppies ) - SLOT_INTERFACE( "525dsqd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void corv_floppies(device_slot_interface &device) +{ + device.option_add("525dsqd", FLOPPY_525_QD); +} ROM_START( fdc02 ) ROM_REGION(0x20, FDC02_ROM_REGION, 0) diff --git a/src/devices/bus/a7800/a78_carts.h b/src/devices/bus/a7800/a78_carts.h index dc9abffbbe2..0a87249f3c0 100644 --- a/src/devices/bus/a7800/a78_carts.h +++ b/src/devices/bus/a7800/a78_carts.h @@ -10,31 +10,32 @@ #include "hiscore.h" #include "cpuwiz.h" -static SLOT_INTERFACE_START(a7800_cart) - SLOT_INTERFACE_INTERNAL("a78_rom", A78_ROM) - SLOT_INTERFACE_INTERNAL("a78_pokey", A78_ROM_POKEY) - SLOT_INTERFACE_INTERNAL("a78_sg", A78_ROM_SG) - SLOT_INTERFACE_INTERNAL("a78_sg_pokey", A78_ROM_SG_POKEY) - SLOT_INTERFACE_INTERNAL("a78_sg_ram", A78_ROM_SG_RAM) - SLOT_INTERFACE_INTERNAL("a78_sg9", A78_ROM_SG9) - SLOT_INTERFACE_INTERNAL("a78_mram", A78_ROM_MRAM) - SLOT_INTERFACE_INTERNAL("a78_abs", A78_ROM_ABSOLUTE) - SLOT_INTERFACE_INTERNAL("a78_act", A78_ROM_ACTIVISION) - SLOT_INTERFACE_INTERNAL("a78_hsc", A78_HISCORE) - SLOT_INTERFACE_INTERNAL("a78_xboard", A78_XBOARD) // the actual XBoarD expansion (as passthru) - SLOT_INTERFACE_INTERNAL("a78_xm", A78_XM) // the actual XM expansion (as passthru) - SLOT_INTERFACE_INTERNAL("a78_megacart", A78_ROM_MEGACART) - SLOT_INTERFACE_INTERNAL("a78_versa", A78_ROM_VERSABOARD) +static void a7800_cart(device_slot_interface &device) +{ + device.option_add_internal("a78_rom", A78_ROM); + device.option_add_internal("a78_pokey", A78_ROM_POKEY); + device.option_add_internal("a78_sg", A78_ROM_SG); + device.option_add_internal("a78_sg_pokey", A78_ROM_SG_POKEY); + device.option_add_internal("a78_sg_ram", A78_ROM_SG_RAM); + device.option_add_internal("a78_sg9", A78_ROM_SG9); + device.option_add_internal("a78_mram", A78_ROM_MRAM); + device.option_add_internal("a78_abs", A78_ROM_ABSOLUTE); + device.option_add_internal("a78_act", A78_ROM_ACTIVISION); + device.option_add_internal("a78_hsc", A78_HISCORE); + device.option_add_internal("a78_xboard", A78_XBOARD); // the actual XBoarD expansion (as passthru) + device.option_add_internal("a78_xm", A78_XM); // the actual XM expansion (as passthru) + device.option_add_internal("a78_megacart", A78_ROM_MEGACART); + device.option_add_internal("a78_versa", A78_ROM_VERSABOARD); // cart variants with a POKEY at 0x0450 (typically a VersaBoard variant, or an homebrew pcb) - SLOT_INTERFACE_INTERNAL("a78_p450_t0", A78_ROM_P450) - SLOT_INTERFACE_INTERNAL("a78_p450_t1", A78_ROM_P450_POKEY) - SLOT_INTERFACE_INTERNAL("a78_p450_t6", A78_ROM_P450_SG_RAM) - SLOT_INTERFACE_INTERNAL("a78_p450_ta", A78_ROM_P450_SG9) - SLOT_INTERFACE_INTERNAL("a78_p450_vb", A78_ROM_P450_VB) -SLOT_INTERFACE_END + device.option_add_internal("a78_p450_t0", A78_ROM_P450); + device.option_add_internal("a78_p450_t1", A78_ROM_P450_POKEY); + device.option_add_internal("a78_p450_t6", A78_ROM_P450_SG_RAM); + device.option_add_internal("a78_p450_ta", A78_ROM_P450_SG9); + device.option_add_internal("a78_p450_vb", A78_ROM_P450_VB); +} // supported devices -SLOT_INTERFACE_EXTERN(a78_cart); +void a78_cart(device_slot_interface &device); #endif // MAME_BUS_A7800_A78_CARTS_H diff --git a/src/devices/bus/a800/a800_carts.h b/src/devices/bus/a800/a800_carts.h index 6d6e68ad6c3..d4ce87f5b54 100644 --- a/src/devices/bus/a800/a800_carts.h +++ b/src/devices/bus/a800/a800_carts.h @@ -10,41 +10,45 @@ #include "oss.h" #include "sparta.h" -static SLOT_INTERFACE_START(a800_left) - SLOT_INTERFACE_INTERNAL("a800_8k", A800_ROM) - SLOT_INTERFACE_INTERNAL("a800_8k_right", A800_ROM) - SLOT_INTERFACE_INTERNAL("a800_16k", A800_ROM) - SLOT_INTERFACE_INTERNAL("a800_phoenix", A800_ROM) // not really emulated at this stage - SLOT_INTERFACE_INTERNAL("a800_bbsb", A800_ROM_BBSB) - SLOT_INTERFACE_INTERNAL("a800_oss8k", A800_ROM_OSS8K) - SLOT_INTERFACE_INTERNAL("a800_oss034m", A800_ROM_OSS34) - SLOT_INTERFACE_INTERNAL("a800_oss043m", A800_ROM_OSS43) - SLOT_INTERFACE_INTERNAL("a800_ossm091", A800_ROM_OSS91) - SLOT_INTERFACE_INTERNAL("a800_williams", A800_ROM_WILLIAMS) - SLOT_INTERFACE_INTERNAL("a800_diamond", A800_ROM_EXPRESS) - SLOT_INTERFACE_INTERNAL("a800_express", A800_ROM_EXPRESS) - SLOT_INTERFACE_INTERNAL("a800_sparta", A800_ROM_SPARTADOS) // this is a passthru cart with unemulated (atm) subslot - SLOT_INTERFACE_INTERNAL("a800_blizzard", A800_ROM) - SLOT_INTERFACE_INTERNAL("a800_turbo64", A800_ROM_TURBO) - SLOT_INTERFACE_INTERNAL("a800_turbo128", A800_ROM_TURBO) - SLOT_INTERFACE_INTERNAL("a800_tlink2", A800_ROM_TELELINK2) - SLOT_INTERFACE_INTERNAL("a800_sitsa", A800_ROM_MICROCALC) - SLOT_INTERFACE_INTERNAL("a800_corina", A800_ROM) // NOT SUPPORTED YET! - SLOT_INTERFACE_INTERNAL("xegs", XEGS_ROM) -SLOT_INTERFACE_END +static void a800_left(device_slot_interface &device) +{ + device.option_add_internal("a800_8k", A800_ROM); + device.option_add_internal("a800_8k_right", A800_ROM); + device.option_add_internal("a800_16k", A800_ROM); + device.option_add_internal("a800_phoenix", A800_ROM); // not really emulated at this stage + device.option_add_internal("a800_bbsb", A800_ROM_BBSB); + device.option_add_internal("a800_oss8k", A800_ROM_OSS8K); + device.option_add_internal("a800_oss034m", A800_ROM_OSS34); + device.option_add_internal("a800_oss043m", A800_ROM_OSS43); + device.option_add_internal("a800_ossm091", A800_ROM_OSS91); + device.option_add_internal("a800_williams", A800_ROM_WILLIAMS); + device.option_add_internal("a800_diamond", A800_ROM_EXPRESS); + device.option_add_internal("a800_express", A800_ROM_EXPRESS); + device.option_add_internal("a800_sparta", A800_ROM_SPARTADOS); // this is a passthru cart with unemulated (atm) subslot + device.option_add_internal("a800_blizzard", A800_ROM); + device.option_add_internal("a800_turbo64", A800_ROM_TURBO); + device.option_add_internal("a800_turbo128", A800_ROM_TURBO); + device.option_add_internal("a800_tlink2", A800_ROM_TELELINK2); + device.option_add_internal("a800_sitsa", A800_ROM_MICROCALC); + device.option_add_internal("a800_corina", A800_ROM); // NOT SUPPORTED YET! + device.option_add_internal("xegs", XEGS_ROM); +} -static SLOT_INTERFACE_START(a800_right) - SLOT_INTERFACE_INTERNAL("a800_8k_right", A800_ROM) -SLOT_INTERFACE_END +static void a800_right(device_slot_interface &device) +{ + device.option_add_internal("a800_8k_right", A800_ROM); +} -static SLOT_INTERFACE_START(xegs_carts) - SLOT_INTERFACE_INTERNAL("xegs", XEGS_ROM) -SLOT_INTERFACE_END +static void xegs_carts(device_slot_interface &device) +{ + device.option_add_internal("xegs", XEGS_ROM); +} -static SLOT_INTERFACE_START(a5200_carts) - SLOT_INTERFACE_INTERNAL("a5200", A800_ROM) - SLOT_INTERFACE_INTERNAL("a5200_2chips", A5200_ROM_2CHIPS) - SLOT_INTERFACE_INTERNAL("a5200_bbsb", A5200_ROM_BBSB) -SLOT_INTERFACE_END +static void a5200_carts(device_slot_interface &device) +{ + device.option_add_internal("a5200", A800_ROM); + device.option_add_internal("a5200_2chips", A5200_ROM_2CHIPS); + device.option_add_internal("a5200_bbsb", A5200_ROM_BBSB); +} #endif // MAME_BUS_A800_A800_CARTS_H diff --git a/src/devices/bus/a800/a8sio.cpp b/src/devices/bus/a800/a8sio.cpp index 0d5d248c11e..c8c7d788e48 100644 --- a/src/devices/bus/a800/a8sio.cpp +++ b/src/devices/bus/a800/a8sio.cpp @@ -196,6 +196,7 @@ WRITE_LINE_MEMBER( device_a8sio_card_interface::motor_w ) } -SLOT_INTERFACE_START(a8sio_cards) - SLOT_INTERFACE("cassette", A8SIO_CASSETTE) -SLOT_INTERFACE_END +void a8sio_cards(device_slot_interface &device) +{ + device.option_add("cassette", A8SIO_CASSETTE); +} diff --git a/src/devices/bus/a800/a8sio.h b/src/devices/bus/a800/a8sio.h index 2795295bdc7..448edf5602f 100644 --- a/src/devices/bus/a800/a8sio.h +++ b/src/devices/bus/a800/a8sio.h @@ -142,6 +142,6 @@ public: }; -SLOT_INTERFACE_EXTERN(a8sio_cards); +void a8sio_cards(device_slot_interface &device); #endif // MAME_BUS_A800_A8SIO_H diff --git a/src/devices/bus/abcbus/abc890.cpp b/src/devices/bus/abcbus/abc890.cpp index d318bc4b19a..8b5eaa07c78 100644 --- a/src/devices/bus/abcbus/abc890.cpp +++ b/src/devices/bus/abcbus/abc890.cpp @@ -71,7 +71,7 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(abc850_device::device_add_mconfig) MCFG_ABCBUS_SLOT_ADD("io1", abcbus_cards, "abc850fdd") MCFG_ABCBUS_SLOT_ADD("io2", abcbus_cards, "xebec") - MCFG_DEVICE_CARD_DEFAULT_BIOS("xebec", "ro202") + MCFG_SLOT_OPTION_DEFAULT_BIOS("xebec", "ro202") MCFG_ABCBUS_SLOT_ADD("io3", abcbus_cards, nullptr) MCFG_ABCBUS_SLOT_ADD("io4", abcbus_cards, nullptr) MCFG_ABCBUS_SLOT_ADD("io5", abcbus_cards, nullptr) @@ -87,7 +87,7 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(abc852_device::device_add_mconfig) MCFG_ABCBUS_SLOT_ADD("io1", abcbus_cards, "abc850fdd") MCFG_ABCBUS_SLOT_ADD("io2", abcbus_cards, "xebec") - MCFG_DEVICE_CARD_DEFAULT_BIOS("xebec", "basf6185") + MCFG_SLOT_OPTION_DEFAULT_BIOS("xebec", "basf6185") MCFG_ABCBUS_SLOT_ADD("io3", abcbus_cards, nullptr) MCFG_ABCBUS_SLOT_ADD("io4", abcbus_cards, nullptr) MCFG_ABCBUS_SLOT_ADD("io5", abcbus_cards, nullptr) @@ -103,7 +103,7 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(abc856_device::device_add_mconfig) MCFG_ABCBUS_SLOT_ADD("io1", abcbus_cards, "abc850fdd") MCFG_ABCBUS_SLOT_ADD("io2", abcbus_cards, "xebec") - MCFG_DEVICE_CARD_DEFAULT_BIOS("xebec", "micr1325") + MCFG_SLOT_OPTION_DEFAULT_BIOS("xebec", "micr1325") MCFG_ABCBUS_SLOT_ADD("io3", abcbus_cards, nullptr) MCFG_ABCBUS_SLOT_ADD("io4", abcbus_cards, nullptr) MCFG_ABCBUS_SLOT_ADD("io5", abcbus_cards, nullptr) diff --git a/src/devices/bus/abcbus/abcbus.cpp b/src/devices/bus/abcbus/abcbus.cpp index 2129140167c..f1a06f343e1 100644 --- a/src/devices/bus/abcbus/abcbus.cpp +++ b/src/devices/bus/abcbus/abcbus.cpp @@ -101,51 +101,54 @@ void abcbus_slot_device::device_start() // SLOT_INTERFACE( abc80_cards ) //------------------------------------------------- -SLOT_INTERFACE_START( abc80_cards ) - SLOT_INTERFACE("fd2", ABC_FD2) - SLOT_INTERFACE("memcard", ABC_MEMORY_CARD) - SLOT_INTERFACE("abcexp", ABC_EXPANSION_UNIT) - SLOT_INTERFACE("16k", ABC80_16KB_RAM_CARD) - SLOT_INTERFACE("slow", LUXOR_55_10828) - SLOT_INTERFACE("abc830", ABC830) - SLOT_INTERFACE("db411223", DATABOARD_4112_23) - SLOT_INTERFACE("unidisk", UNIDISK) - SLOT_INTERFACE("cadabc", ABC_CADMOUSE) -SLOT_INTERFACE_END +void abc80_cards(device_slot_interface &device) +{ + device.option_add("fd2", ABC_FD2); + device.option_add("memcard", ABC_MEMORY_CARD); + device.option_add("abcexp", ABC_EXPANSION_UNIT); + device.option_add("16k", ABC80_16KB_RAM_CARD); + device.option_add("slow", LUXOR_55_10828); + device.option_add("abc830", ABC830); + device.option_add("db411223", DATABOARD_4112_23); + device.option_add("unidisk", UNIDISK); + device.option_add("cadabc", ABC_CADMOUSE); +} //------------------------------------------------- // SLOT_INTERFACE( abcbus_cards ) //------------------------------------------------- -SLOT_INTERFACE_START( abcbus_cards ) - SLOT_INTERFACE("abc830", ABC830) - SLOT_INTERFACE("abc832", ABC832) - SLOT_INTERFACE("abc834", ABC834) - SLOT_INTERFACE("abc838", ABC838) - SLOT_INTERFACE("abc850", ABC850) - SLOT_INTERFACE_INTERNAL("abc850fdd", ABC850_FLOPPY) - SLOT_INTERFACE("abc852", ABC852) - SLOT_INTERFACE("abc856", ABC856) - SLOT_INTERFACE("abc890", ABC890) - SLOT_INTERFACE("abc894", ABC894) - SLOT_INTERFACE("db411223", DATABOARD_4112_23) - SLOT_INTERFACE("hdc", ABC_HDC) - SLOT_INTERFACE("sio", ABC_SIO) - SLOT_INTERFACE("slow", LUXOR_55_10828) - SLOT_INTERFACE("uni800", ABC_UNI800) - SLOT_INTERFACE("unidisk", UNIDISK) - SLOT_INTERFACE("slutprov", ABC_SLUTPROV) - SLOT_INTERFACE("xebec", LUXOR_55_21056) -SLOT_INTERFACE_END +void abcbus_cards(device_slot_interface &device) +{ + device.option_add("abc830", ABC830); + device.option_add("abc832", ABC832); + device.option_add("abc834", ABC834); + device.option_add("abc838", ABC838); + device.option_add("abc850", ABC850); + device.option_add_internal("abc850fdd", ABC850_FLOPPY); + device.option_add("abc852", ABC852); + device.option_add("abc856", ABC856); + device.option_add("abc890", ABC890); + device.option_add("abc894", ABC894); + device.option_add("db411223", DATABOARD_4112_23); + device.option_add("hdc", ABC_HDC); + device.option_add("sio", ABC_SIO); + device.option_add("slow", LUXOR_55_10828); + device.option_add("uni800", ABC_UNI800); + device.option_add("unidisk", UNIDISK); + device.option_add("slutprov", ABC_SLUTPROV); + device.option_add("xebec", LUXOR_55_21056); +} //------------------------------------------------- // SLOT_INTERFACE( abc1600bus_cards ) //------------------------------------------------- -SLOT_INTERFACE_START( abc1600bus_cards ) - SLOT_INTERFACE("4105", LUXOR_4105) // SASI interface -// SLOT_INTERFACE("4077", LUXOR_4077) // Winchester controller -// SLOT_INTERFACE("4004", LUXOR_4004) // ICOM I/O (Z80, Z80PIO, Z80SIO/2, Z80CTC, 2 Z80DMAs, 2 PROMs, 64KB RAM) -SLOT_INTERFACE_END +void abc1600bus_cards(device_slot_interface &device) +{ + device.option_add("4105", LUXOR_4105); // SASI interface +// device.option_add("4077", LUXOR_4077); // Winchester controller +// device.option_add("4004", LUXOR_4004); // ICOM I/O (Z80, Z80PIO, Z80SIO/2, Z80CTC, 2 Z80DMAs, 2 PROMs, 64KB RAM) +} diff --git a/src/devices/bus/abcbus/abcbus.h b/src/devices/bus/abcbus/abcbus.h index aee0c75c2fc..4556bf8ba6c 100644 --- a/src/devices/bus/abcbus/abcbus.h +++ b/src/devices/bus/abcbus/abcbus.h @@ -307,9 +307,9 @@ protected: DECLARE_DEVICE_TYPE(ABCBUS_SLOT, abcbus_slot_device) -SLOT_INTERFACE_EXTERN( abc80_cards ); -SLOT_INTERFACE_EXTERN( abcbus_cards ); -SLOT_INTERFACE_EXTERN( abc1600bus_cards ); +void abc80_cards(device_slot_interface &device); +void abcbus_cards(device_slot_interface &device); +void abc1600bus_cards(device_slot_interface &device); typedef device_type_iterator abcbus_slot_device_iterator; diff --git a/src/devices/bus/abcbus/fd2.cpp b/src/devices/bus/abcbus/fd2.cpp index 35cfe35dc12..7783a69242a 100644 --- a/src/devices/bus/abcbus/fd2.cpp +++ b/src/devices/bus/abcbus/fd2.cpp @@ -223,9 +223,10 @@ static const z80_daisy_config daisy_chain[] = // SLOT_INTERFACE( abc_fd2_floppies ) //------------------------------------------------- -static SLOT_INTERFACE_START( abc_fd2_floppies ) - SLOT_INTERFACE( "525sssd", FLOPPY_525_SSSD ) -SLOT_INTERFACE_END +static void abc_fd2_floppies(device_slot_interface &device) +{ + device.option_add("525sssd", FLOPPY_525_SSSD); +} FLOPPY_FORMATS_MEMBER( abc_fd2_device::floppy_formats ) FLOPPY_ABC_FD2_FORMAT diff --git a/src/devices/bus/abcbus/lux10828.cpp b/src/devices/bus/abcbus/lux10828.cpp index 6928460267e..c20305dfa3c 100644 --- a/src/devices/bus/abcbus/lux10828.cpp +++ b/src/devices/bus/abcbus/lux10828.cpp @@ -287,13 +287,14 @@ static const z80_daisy_config daisy_chain[] = { nullptr } }; -static SLOT_INTERFACE_START( abc_floppies ) - SLOT_INTERFACE( "525sssd", FLOPPY_525_SSSD ) - SLOT_INTERFACE( "525sd", FLOPPY_525_SD ) - SLOT_INTERFACE( "525ssdd", FLOPPY_525_SSDD ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) - SLOT_INTERFACE( "8dsdd", FLOPPY_8_DSDD ) -SLOT_INTERFACE_END +static void abc_floppies(device_slot_interface &device) +{ + device.option_add("525sssd", FLOPPY_525_SSSD); + device.option_add("525sd", FLOPPY_525_SD); + device.option_add("525ssdd", FLOPPY_525_SSDD); + device.option_add("525dd", FLOPPY_525_DD); + device.option_add("8dsdd", FLOPPY_8_DSDD); +} FLOPPY_FORMATS_MEMBER( luxor_55_10828_device::floppy_formats ) FLOPPY_ABC800_FORMAT diff --git a/src/devices/bus/abcbus/lux21046.cpp b/src/devices/bus/abcbus/lux21046.cpp index cecbf5a396e..8ae0cef2e4a 100644 --- a/src/devices/bus/abcbus/lux21046.cpp +++ b/src/devices/bus/abcbus/lux21046.cpp @@ -256,14 +256,15 @@ FLOPPY_FORMATS_MEMBER( luxor_55_21046_device::floppy_formats ) FLOPPY_ABC800_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( abc_floppies ) - SLOT_INTERFACE( "525sssd", FLOPPY_525_SSSD ) - SLOT_INTERFACE( "525sd", FLOPPY_525_SD ) - SLOT_INTERFACE( "525ssdd", FLOPPY_525_SSDD ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) - SLOT_INTERFACE( "8dsdd", FLOPPY_8_DSDD ) -SLOT_INTERFACE_END +static void abc_floppies(device_slot_interface &device) +{ + device.option_add("525sssd", FLOPPY_525_SSSD); + device.option_add("525sd", FLOPPY_525_SD); + device.option_add("525ssdd", FLOPPY_525_SSDD); + device.option_add("525dd", FLOPPY_525_DD); + device.option_add("525qd", FLOPPY_525_QD); + device.option_add("8dsdd", FLOPPY_8_DSDD); +} WRITE_LINE_MEMBER( luxor_55_21046_device::fdc_intrq_w ) { diff --git a/src/devices/bus/abckb/abckb.cpp b/src/devices/bus/abckb/abckb.cpp index ef15661ae42..f851deeffb8 100644 --- a/src/devices/bus/abckb/abckb.cpp +++ b/src/devices/bus/abckb/abckb.cpp @@ -142,9 +142,10 @@ WRITE_LINE_MEMBER( abc_keyboard_port_device::keydown_w ) #include "abc77.h" #include "abc99.h" -SLOT_INTERFACE_START( abc_keyboard_devices ) - SLOT_INTERFACE("abc800", ABC800_KEYBOARD) - SLOT_INTERFACE("abc55", ABC55) - SLOT_INTERFACE("abc77", ABC77) - SLOT_INTERFACE("abc99", ABC99) -SLOT_INTERFACE_END +void abc_keyboard_devices(device_slot_interface &device) +{ + device.option_add("abc800", ABC800_KEYBOARD); + device.option_add("abc55", ABC55); + device.option_add("abc77", ABC77); + device.option_add("abc99", ABC99); +} diff --git a/src/devices/bus/abckb/abckb.h b/src/devices/bus/abckb/abckb.h index 73c62ac6a0e..2f1256299ba 100644 --- a/src/devices/bus/abckb/abckb.h +++ b/src/devices/bus/abckb/abckb.h @@ -89,6 +89,6 @@ DECLARE_DEVICE_TYPE(ABC_KEYBOARD_PORT, abc_keyboard_port_device) // supported devices -SLOT_INTERFACE_EXTERN( abc_keyboard_devices ); +void abc_keyboard_devices(device_slot_interface &device); #endif // MAME_BUS_ABCKB_ABCKB_H diff --git a/src/devices/bus/adam/exp.cpp b/src/devices/bus/adam/exp.cpp index 5c4b24481d7..c9d529a68ab 100644 --- a/src/devices/bus/adam/exp.cpp +++ b/src/devices/bus/adam/exp.cpp @@ -156,24 +156,27 @@ void adam_expansion_slot_device::bd_w(address_space &space, offs_t offset, uint8 // SLOT_INTERFACE( adam_slot1_devices ) //------------------------------------------------- -SLOT_INTERFACE_START( adam_slot1_devices ) - SLOT_INTERFACE("adamlink", ADAMLINK) -SLOT_INTERFACE_END +void adam_slot1_devices(device_slot_interface &device) +{ + device.option_add("adamlink", ADAMLINK); +} //------------------------------------------------- // SLOT_INTERFACE( adam_slot2_devices ) //------------------------------------------------- -SLOT_INTERFACE_START( adam_slot2_devices ) - SLOT_INTERFACE("ide", ADAM_IDE) -SLOT_INTERFACE_END +void adam_slot2_devices(device_slot_interface &device) +{ + device.option_add("ide", ADAM_IDE); +} //------------------------------------------------- // SLOT_INTERFACE( adam_slot3_devices ) //------------------------------------------------- -SLOT_INTERFACE_START( adam_slot3_devices ) - SLOT_INTERFACE("ram", ADAM_RAM) -SLOT_INTERFACE_END +void adam_slot3_devices(device_slot_interface &device) +{ + device.option_add("ram", ADAM_RAM); +} diff --git a/src/devices/bus/adam/exp.h b/src/devices/bus/adam/exp.h index e59ea191ab4..9743577e7ec 100644 --- a/src/devices/bus/adam/exp.h +++ b/src/devices/bus/adam/exp.h @@ -116,8 +116,8 @@ protected: DECLARE_DEVICE_TYPE(ADAM_EXPANSION_SLOT, adam_expansion_slot_device) -SLOT_INTERFACE_EXTERN( adam_slot1_devices ); -SLOT_INTERFACE_EXTERN( adam_slot2_devices ); -SLOT_INTERFACE_EXTERN( adam_slot3_devices ); +void adam_slot1_devices(device_slot_interface &device); +void adam_slot2_devices(device_slot_interface &device); +void adam_slot3_devices(device_slot_interface &device); #endif // MAME_BUS_ADAM_EXP_H diff --git a/src/devices/bus/adamnet/adamnet.cpp b/src/devices/bus/adamnet/adamnet.cpp index 832ea2309c4..7e45a72adca 100644 --- a/src/devices/bus/adamnet/adamnet.cpp +++ b/src/devices/bus/adamnet/adamnet.cpp @@ -257,10 +257,11 @@ WRITE_LINE_MEMBER( adamnet_device::reset_w ) #include "printer.h" #include "spi.h" -SLOT_INTERFACE_START( adamnet_devices ) - SLOT_INTERFACE("ddp", ADAM_DDP) - SLOT_INTERFACE("fdc", ADAM_FDC) - SLOT_INTERFACE("kb", ADAM_KB) - SLOT_INTERFACE("prn", ADAM_PRN) - SLOT_INTERFACE("spi", ADAM_SPI) -SLOT_INTERFACE_END +void adamnet_devices(device_slot_interface &device) +{ + device.option_add("ddp", ADAM_DDP); + device.option_add("fdc", ADAM_FDC); + device.option_add("kb", ADAM_KB); + device.option_add("prn", ADAM_PRN); + device.option_add("spi", ADAM_SPI); +} diff --git a/src/devices/bus/adamnet/adamnet.h b/src/devices/bus/adamnet/adamnet.h index 76e42742f1c..b95fca7585d 100644 --- a/src/devices/bus/adamnet/adamnet.h +++ b/src/devices/bus/adamnet/adamnet.h @@ -127,8 +127,6 @@ DECLARE_DEVICE_TYPE(ADAMNET, adamnet_device) DECLARE_DEVICE_TYPE(ADAMNET_SLOT, adamnet_slot_device) -SLOT_INTERFACE_EXTERN( adamnet_devices ); - - +void adamnet_devices(device_slot_interface &device); #endif // MAME_BUS_ADAMNET_ADAMNET_H diff --git a/src/devices/bus/adamnet/fdc.cpp b/src/devices/bus/adamnet/fdc.cpp index 00b0d4c64de..68d6b377062 100644 --- a/src/devices/bus/adamnet/fdc.cpp +++ b/src/devices/bus/adamnet/fdc.cpp @@ -117,9 +117,10 @@ FLOPPY_FORMATS_MEMBER( adam_fdc_device::floppy_formats ) FLOPPY_ADAM_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( adam_fdc_floppies ) - SLOT_INTERFACE( "525ssdd", FLOPPY_525_SSDD ) -SLOT_INTERFACE_END +static void adam_fdc_floppies(device_slot_interface &device) +{ + device.option_add("525ssdd", FLOPPY_525_SSDD); +} //------------------------------------------------- diff --git a/src/devices/bus/amiga/keyboard/keyboard.cpp b/src/devices/bus/amiga/keyboard/keyboard.cpp index 8d617350296..c3669743caa 100644 --- a/src/devices/bus/amiga/keyboard/keyboard.cpp +++ b/src/devices/bus/amiga/keyboard/keyboard.cpp @@ -104,16 +104,17 @@ device_amiga_keyboard_interface::~device_amiga_keyboard_interface() // SLOT INTERFACE //************************************************************************** -SLOT_INTERFACE_START( amiga_keyboard_devices ) - SLOT_INTERFACE("a500_us", A500_KBD_US) - SLOT_INTERFACE("a500_de", A500_KBD_DE) - SLOT_INTERFACE("a500_fr", A500_KBD_FR) - SLOT_INTERFACE("a500_it", A500_KBD_IT) - SLOT_INTERFACE("a500_se", A500_KBD_SE) - SLOT_INTERFACE("a500_es", A500_KBD_ES) - SLOT_INTERFACE("a500_dk", A500_KBD_DK) - SLOT_INTERFACE("a500_ch", A500_KBD_CH) - SLOT_INTERFACE("a500_no", A500_KBD_NO) - SLOT_INTERFACE("a500_gb", A500_KBD_GB) - SLOT_INTERFACE("a1200_us", A1200_KBD) -SLOT_INTERFACE_END +void amiga_keyboard_devices(device_slot_interface &device) +{ + device.option_add("a500_us", A500_KBD_US); + device.option_add("a500_de", A500_KBD_DE); + device.option_add("a500_fr", A500_KBD_FR); + device.option_add("a500_it", A500_KBD_IT); + device.option_add("a500_se", A500_KBD_SE); + device.option_add("a500_es", A500_KBD_ES); + device.option_add("a500_dk", A500_KBD_DK); + device.option_add("a500_ch", A500_KBD_CH); + device.option_add("a500_no", A500_KBD_NO); + device.option_add("a500_gb", A500_KBD_GB); + device.option_add("a1200_us", A1200_KBD); +} diff --git a/src/devices/bus/amiga/keyboard/keyboard.h b/src/devices/bus/amiga/keyboard/keyboard.h index d78d1bcc6cd..772a904f889 100644 --- a/src/devices/bus/amiga/keyboard/keyboard.h +++ b/src/devices/bus/amiga/keyboard/keyboard.h @@ -98,6 +98,6 @@ protected: DECLARE_DEVICE_TYPE(AMIGA_KEYBOARD_INTERFACE, amiga_keyboard_bus_device) // supported devices -SLOT_INTERFACE_EXTERN( amiga_keyboard_devices ); +void amiga_keyboard_devices(device_slot_interface &device); #endif // MAME_BUS_AMIGA_KEYBOARD_H diff --git a/src/devices/bus/amiga/zorro/cards.cpp b/src/devices/bus/amiga/zorro/cards.cpp index 572ee491d93..8d0c7939b01 100644 --- a/src/devices/bus/amiga/zorro/cards.cpp +++ b/src/devices/bus/amiga/zorro/cards.cpp @@ -16,32 +16,37 @@ #include "buddha.h" -SLOT_INTERFACE_START( a1000_expansion_cards ) -SLOT_INTERFACE_END +void a1000_expansion_cards(device_slot_interface &device) +{ +} -SLOT_INTERFACE_START( a500_expansion_cards ) - SLOT_INTERFACE("ar1", ACTION_REPLAY_MK1) - SLOT_INTERFACE("ar2", ACTION_REPLAY_MK2) - SLOT_INTERFACE("ar3", ACTION_REPLAY_MK3) - SLOT_INTERFACE("a590", A590) -SLOT_INTERFACE_END +void a500_expansion_cards(device_slot_interface &device) +{ + device.option_add("ar1", ACTION_REPLAY_MK1); + device.option_add("ar2", ACTION_REPLAY_MK2); + device.option_add("ar3", ACTION_REPLAY_MK3); + device.option_add("a590", A590); +} -SLOT_INTERFACE_START( a2000_expansion_cards ) - SLOT_INTERFACE("ar1", ACTION_REPLAY_MK1) - SLOT_INTERFACE("ar2", ACTION_REPLAY_MK2) - SLOT_INTERFACE("ar3", ACTION_REPLAY_MK3) -SLOT_INTERFACE_END +void a2000_expansion_cards(device_slot_interface &device) +{ + device.option_add("ar1", ACTION_REPLAY_MK1); + device.option_add("ar2", ACTION_REPLAY_MK2); + device.option_add("ar3", ACTION_REPLAY_MK3); +} -SLOT_INTERFACE_START( zorro2_cards ) - SLOT_INTERFACE("a2052", A2052) - SLOT_INTERFACE("a2091", A2091) - SLOT_INTERFACE("a2232", A2232) - SLOT_INTERFACE("buddha", BUDDHA) -SLOT_INTERFACE_END +void zorro2_cards(device_slot_interface &device) +{ + device.option_add("a2052", A2052); + device.option_add("a2091", A2091); + device.option_add("a2232", A2232); + device.option_add("buddha", BUDDHA); +} -SLOT_INTERFACE_START( zorro3_cards ) - SLOT_INTERFACE("a2052", A2052) - SLOT_INTERFACE("a2091", A2091) - SLOT_INTERFACE("a2232", A2232) - SLOT_INTERFACE("buddha", BUDDHA) -SLOT_INTERFACE_END +void zorro3_cards(device_slot_interface &device) +{ + device.option_add("a2052", A2052); + device.option_add("a2091", A2091); + device.option_add("a2232", A2232); + device.option_add("buddha", BUDDHA); +} diff --git a/src/devices/bus/amiga/zorro/cards.h b/src/devices/bus/amiga/zorro/cards.h index 3d1e00935ca..6daa99bf265 100644 --- a/src/devices/bus/amiga/zorro/cards.h +++ b/src/devices/bus/amiga/zorro/cards.h @@ -27,11 +27,11 @@ #pragma once -SLOT_INTERFACE_EXTERN( a1000_expansion_cards ); -SLOT_INTERFACE_EXTERN( a500_expansion_cards ); -SLOT_INTERFACE_EXTERN( a2000_expansion_cards ); +void a1000_expansion_cards(device_slot_interface &device); +void a500_expansion_cards(device_slot_interface &device); +void a2000_expansion_cards(device_slot_interface &device); -SLOT_INTERFACE_EXTERN( zorro2_cards ); -SLOT_INTERFACE_EXTERN( zorro3_cards ); +void zorro2_cards(device_slot_interface &device); +void zorro3_cards(device_slot_interface &device); #endif // MAME_BUS_AMIGA_ZORRO_CARDS_H diff --git a/src/devices/bus/apricot/expansion/cards.cpp b/src/devices/bus/apricot/expansion/cards.cpp index eb5b71948c0..d2c35366e42 100644 --- a/src/devices/bus/apricot/expansion/cards.cpp +++ b/src/devices/bus/apricot/expansion/cards.cpp @@ -10,8 +10,9 @@ #include "cards.h" #include "ram.h" -SLOT_INTERFACE_START( apricot_expansion_cards ) - SLOT_INTERFACE("128k", APRICOT_128K_RAM) - SLOT_INTERFACE("256k", APRICOT_256K_RAM) - SLOT_INTERFACE("512k", APRICOT_512K_RAM) -SLOT_INTERFACE_END +void apricot_expansion_cards(device_slot_interface &device) +{ + device.option_add("128k", APRICOT_128K_RAM); + device.option_add("256k", APRICOT_256K_RAM); + device.option_add("512k", APRICOT_512K_RAM); +} diff --git a/src/devices/bus/apricot/expansion/cards.h b/src/devices/bus/apricot/expansion/cards.h index 36767f81e44..0a5d0242069 100644 --- a/src/devices/bus/apricot/expansion/cards.h +++ b/src/devices/bus/apricot/expansion/cards.h @@ -11,6 +11,6 @@ #pragma once -SLOT_INTERFACE_EXTERN( apricot_expansion_cards ); +void apricot_expansion_cards(device_slot_interface &device); #endif // MAME_BUS_APRICOT_EXPANSION_CARDS_H diff --git a/src/devices/bus/apricot/keyboard/keyboard.cpp b/src/devices/bus/apricot/keyboard/keyboard.cpp index 87c491b6693..6f502ae7c76 100644 --- a/src/devices/bus/apricot/keyboard/keyboard.cpp +++ b/src/devices/bus/apricot/keyboard/keyboard.cpp @@ -101,6 +101,7 @@ device_apricot_keyboard_interface::~device_apricot_keyboard_interface() // SLOT INTERFACE //************************************************************************** -SLOT_INTERFACE_START( apricot_keyboard_devices ) - SLOT_INTERFACE("hle", APRICOT_KEYBOARD_HLE) -SLOT_INTERFACE_END +void apricot_keyboard_devices(device_slot_interface &device) +{ + device.option_add("hle", APRICOT_KEYBOARD_HLE); +} diff --git a/src/devices/bus/apricot/keyboard/keyboard.h b/src/devices/bus/apricot/keyboard/keyboard.h index 97896e87a33..857a78b7d1c 100644 --- a/src/devices/bus/apricot/keyboard/keyboard.h +++ b/src/devices/bus/apricot/keyboard/keyboard.h @@ -102,7 +102,7 @@ protected: DECLARE_DEVICE_TYPE(APRICOT_KEYBOARD_INTERFACE, apricot_keyboard_bus_device) // supported devices -SLOT_INTERFACE_EXTERN( apricot_keyboard_devices ); +void apricot_keyboard_devices(device_slot_interface &device); #endif // MAME_BUS_APRICOT_KEYBOARD_KEYBOARD_H diff --git a/src/devices/bus/bbc/1mhzbus/1mhzbus.cpp b/src/devices/bus/bbc/1mhzbus/1mhzbus.cpp index 12b7fad79ae..6fa2407aae7 100644 --- a/src/devices/bus/bbc/1mhzbus/1mhzbus.cpp +++ b/src/devices/bus/bbc/1mhzbus/1mhzbus.cpp @@ -131,18 +131,19 @@ WRITE_LINE_MEMBER(bbc_1mhzbus_slot_device::rst_w) #include "cfa3000opt.h" -SLOT_INTERFACE_START(bbc_1mhzbus_devices) -// SLOT_INTERFACE("teletext", BBC_TELETEXT) /* Acorn ANE01 Teletext Adapter */ -// SLOT_INTERFACE("ieee488", BBC_IEEE488) /* Acorn ANK01 IEEE488 Interface */ -// SLOT_INTERFACE("m500", BBC_M500) /* Acorn ANV02 Music 500 */ -// SLOT_INTERFACE("m2000", BBC_M2000) /* Hybrid Music 2000 MIDI Interface */ -// SLOT_INTERFACE("m3000", BBC_M3000) /* Hybrid Music 3000 Expander */ -// SLOT_INTERFACE("m5000", BBC_M5000) /* Hybrid Music 5000 Synthesiser */ -// SLOT_INTERFACE("multiform", BBC_MULTIFORM) /* Technomatic Multiform Z80 */ - SLOT_INTERFACE("opus3", BBC_OPUS3) /* Opus Challenger 3 */ -// SLOT_INTERFACE("ramdisc", BBC_RAMDISC) /* Morley Electronics RAM Disc */ -// SLOT_INTERFACE("graduate", BBC_GRADUATE) /* The Torch Graduate G400/G800 */ - SLOT_INTERFACE("beebsid", BBC_BEEBSID) /* BeebSID */ -// SLOT_INTERFACE("prisma3", BBC_PRISMA3) /* PRISMA-3 - Millipede 1989 */ - SLOT_INTERFACE("cfa3000opt", CFA3000_OPT) /* Henson CFA 3000 Option Board */ -SLOT_INTERFACE_END +void bbc_1mhzbus_devices(device_slot_interface &device) +{ +// device.option_add("teletext", BBC_TELETEXT); /* Acorn ANE01 Teletext Adapter */ +// device.option_add("ieee488", BBC_IEEE488); /* Acorn ANK01 IEEE488 Interface */ +// device.option_add("m500", BBC_M500); /* Acorn ANV02 Music 500 */ +// device.option_add("m2000", BBC_M2000); /* Hybrid Music 2000 MIDI Interface */ +// device.option_add("m3000", BBC_M3000); /* Hybrid Music 3000 Expander */ +// device.option_add("m5000", BBC_M5000); /* Hybrid Music 5000 Synthesiser */ +// device.option_add("multiform", BBC_MULTIFORM); /* Technomatic Multiform Z80 */ + device.option_add("opus3", BBC_OPUS3); /* Opus Challenger 3 */ +// device.option_add("ramdisc", BBC_RAMDISC); /* Morley Electronics RAM Disc */ +// device.option_add("graduate", BBC_GRADUATE); /* The Torch Graduate G400/G800 */ + device.option_add("beebsid", BBC_BEEBSID); /* BeebSID */ +// device.option_add("prisma3", BBC_PRISMA3); /* PRISMA-3 - Millipede 1989 */ + device.option_add("cfa3000opt", CFA3000_OPT); /* Henson CFA 3000 Option Board */ +} diff --git a/src/devices/bus/bbc/1mhzbus/1mhzbus.h b/src/devices/bus/bbc/1mhzbus/1mhzbus.h index de83f89632c..f53d015b345 100644 --- a/src/devices/bus/bbc/1mhzbus/1mhzbus.h +++ b/src/devices/bus/bbc/1mhzbus/1mhzbus.h @@ -163,7 +163,7 @@ protected: // device type definition DECLARE_DEVICE_TYPE(BBC_1MHZBUS_SLOT, bbc_1mhzbus_slot_device) -SLOT_INTERFACE_EXTERN( bbc_1mhzbus_devices ); +void bbc_1mhzbus_devices(device_slot_interface &device); #endif // MAME_BUS_BBC_1MHZBUS_1MHZBUS_H diff --git a/src/devices/bus/bbc/1mhzbus/opus3.cpp b/src/devices/bus/bbc/1mhzbus/opus3.cpp index 6aedae49556..57e6893222b 100644 --- a/src/devices/bus/bbc/1mhzbus/opus3.cpp +++ b/src/devices/bus/bbc/1mhzbus/opus3.cpp @@ -60,9 +60,10 @@ FLOPPY_FORMATS_MEMBER(bbc_opus3_device::floppy_formats) FLOPPY_OPUS_DDCPM_FORMAT FLOPPY_FORMATS_END0 -SLOT_INTERFACE_START(bbc_floppies) - SLOT_INTERFACE("525qd", FLOPPY_525_QD) -SLOT_INTERFACE_END +void bbc_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); +} ROM_START( opus3 ) diff --git a/src/devices/bus/bbc/analogue/analogue.cpp b/src/devices/bus/bbc/analogue/analogue.cpp index fd004baab91..226bc69bf0f 100644 --- a/src/devices/bus/bbc/analogue/analogue.cpp +++ b/src/devices/bus/bbc/analogue/analogue.cpp @@ -111,9 +111,10 @@ void bbc_analogue_slot_device::device_reset() #include "cfa3000a.h" -SLOT_INTERFACE_START( bbc_analogue_devices ) - SLOT_INTERFACE("acornjoy", BBC_ACORNJOY) /* Acorn ANH01 Joysticks */ - SLOT_INTERFACE("voltmace3b", BBC_VOLTMACE3B) /* Voltmace Delta 3b "Twin" Joysticks */ -// SLOT_INTERFACE("quinkey", BBC_QUINKEY) /* Microwriter Quinkey */ - SLOT_INTERFACE("cfa3000a", CFA3000_ANLG) /* Hanson CFA 3000 Analogue */ -SLOT_INTERFACE_END +void bbc_analogue_devices(device_slot_interface &device) +{ + device.option_add("acornjoy", BBC_ACORNJOY); /* Acorn ANH01 Joysticks */ + device.option_add("voltmace3b", BBC_VOLTMACE3B); /* Voltmace Delta 3b "Twin" Joysticks */ +// device.option_add("quinkey", BBC_QUINKEY); /* Microwriter Quinkey */ + device.option_add("cfa3000a", CFA3000_ANLG); /* Hanson CFA 3000 Analogue */ +} diff --git a/src/devices/bus/bbc/analogue/analogue.h b/src/devices/bus/bbc/analogue/analogue.h index ed606ff6ce7..6e9cc8a9eae 100644 --- a/src/devices/bus/bbc/analogue/analogue.h +++ b/src/devices/bus/bbc/analogue/analogue.h @@ -96,6 +96,6 @@ protected: // device type definition DECLARE_DEVICE_TYPE(BBC_ANALOGUE_SLOT, bbc_analogue_slot_device) -SLOT_INTERFACE_EXTERN( bbc_analogue_devices ); +void bbc_analogue_devices(device_slot_interface &device); #endif // MAME_BUS_BBC_ANALOGUE_ANALOGUE_H diff --git a/src/devices/bus/bbc/fdc/acorn.cpp b/src/devices/bus/bbc/fdc/acorn.cpp index 33ce43870e9..5c61ccc813a 100644 --- a/src/devices/bus/bbc/fdc/acorn.cpp +++ b/src/devices/bus/bbc/fdc/acorn.cpp @@ -29,13 +29,14 @@ FLOPPY_FORMATS_MEMBER( bbc_acorn8271_device::floppy_formats ) FLOPPY_FSD_FORMAT FLOPPY_FORMATS_END0 -static SLOT_INTERFACE_START( bbc_floppies_525 ) - SLOT_INTERFACE("525sssd", FLOPPY_525_SSSD) - SLOT_INTERFACE("525sd", FLOPPY_525_SD) - SLOT_INTERFACE("525ssdd", FLOPPY_525_SSDD) - SLOT_INTERFACE("525dd", FLOPPY_525_DD) - SLOT_INTERFACE("525qd", FLOPPY_525_QD) -SLOT_INTERFACE_END +static void bbc_floppies_525(device_slot_interface &device) +{ + device.option_add("525sssd", FLOPPY_525_SSSD); + device.option_add("525sd", FLOPPY_525_SD); + device.option_add("525ssdd", FLOPPY_525_SSDD); + device.option_add("525dd", FLOPPY_525_DD); + device.option_add("525qd", FLOPPY_525_QD); +} ROM_START( acorn8271 ) ROM_REGION(0x4000, "dfs_rom", 0) diff --git a/src/devices/bus/bbc/fdc/cumana.cpp b/src/devices/bus/bbc/fdc/cumana.cpp index bfe97abd240..d36cc0b820e 100644 --- a/src/devices/bus/bbc/fdc/cumana.cpp +++ b/src/devices/bus/bbc/fdc/cumana.cpp @@ -31,13 +31,14 @@ FLOPPY_FORMATS_MEMBER( bbc_cumanafdc_device::floppy_formats ) FLOPPY_FSD_FORMAT FLOPPY_FORMATS_END0 -static SLOT_INTERFACE_START( bbc_floppies_525 ) - SLOT_INTERFACE("525sssd", FLOPPY_525_SSSD) - SLOT_INTERFACE("525sd", FLOPPY_525_SD) - SLOT_INTERFACE("525ssdd", FLOPPY_525_SSDD) - SLOT_INTERFACE("525dd", FLOPPY_525_DD) - SLOT_INTERFACE("525qd", FLOPPY_525_QD) -SLOT_INTERFACE_END +static void bbc_floppies_525(device_slot_interface &device) +{ + device.option_add("525sssd", FLOPPY_525_SSSD); + device.option_add("525sd", FLOPPY_525_SD); + device.option_add("525ssdd", FLOPPY_525_SSDD); + device.option_add("525dd", FLOPPY_525_DD); + device.option_add("525qd", FLOPPY_525_QD); +} ROM_START( cumana1 ) ROM_REGION(0x4000, "dfs_rom", 0) diff --git a/src/devices/bus/bbc/fdc/cv1797.cpp b/src/devices/bus/bbc/fdc/cv1797.cpp index a8c3f683cb1..940595b9ff6 100644 --- a/src/devices/bus/bbc/fdc/cv1797.cpp +++ b/src/devices/bus/bbc/fdc/cv1797.cpp @@ -30,13 +30,14 @@ FLOPPY_FORMATS_MEMBER( bbc_cv1797_device::floppy_formats ) FLOPPY_FSD_FORMAT FLOPPY_FORMATS_END0 -static SLOT_INTERFACE_START( bbc_floppies_525 ) - SLOT_INTERFACE("525sssd", FLOPPY_525_SSSD) - SLOT_INTERFACE("525sd", FLOPPY_525_SD) - SLOT_INTERFACE("525ssdd", FLOPPY_525_SSDD) - SLOT_INTERFACE("525dd", FLOPPY_525_DD) - SLOT_INTERFACE("525qd", FLOPPY_525_QD) -SLOT_INTERFACE_END +static void bbc_floppies_525(device_slot_interface &device) +{ + device.option_add("525sssd", FLOPPY_525_SSSD); + device.option_add("525sd", FLOPPY_525_SD); + device.option_add("525ssdd", FLOPPY_525_SSDD); + device.option_add("525dd", FLOPPY_525_DD); + device.option_add("525qd", FLOPPY_525_QD); +} ROM_START( cv1797 ) ROM_REGION(0x4000, "dfs_rom", 0) diff --git a/src/devices/bus/bbc/fdc/fdc.cpp b/src/devices/bus/bbc/fdc/fdc.cpp index 38be2f36997..5db09a3903e 100644 --- a/src/devices/bus/bbc/fdc/fdc.cpp +++ b/src/devices/bus/bbc/fdc/fdc.cpp @@ -119,21 +119,22 @@ void bbc_fdc_slot_device::device_reset() //#include "zdfs.h" -SLOT_INTERFACE_START( bbc_fdc_devices ) - SLOT_INTERFACE("acorn8271", BBC_ACORN8271) - SLOT_INTERFACE("acorn1770", BBC_ACORN1770) - SLOT_INTERFACE("cumana1", BBC_CUMANA1) - SLOT_INTERFACE("cumana2", BBC_CUMANA2) - SLOT_INTERFACE("cv1797", BBC_CV1797) - //SLOT_INTERFACE("microware", BBC_MICROWARE) - SLOT_INTERFACE("opus8272", BBC_OPUS8272) - SLOT_INTERFACE("opus2791", BBC_OPUS2791) - SLOT_INTERFACE("opus2793", BBC_OPUS2793) - SLOT_INTERFACE("opus1770", BBC_OPUS1770) - //SLOT_INTERFACE("stl8271", BBC_STL8271) - //SLOT_INTERFACE("stl1770_1", BBC_STL1770_1) - //SLOT_INTERFACE("stl1770_2", BBC_STL1770_2) - SLOT_INTERFACE("weddb2", BBC_WEDDB2) - SLOT_INTERFACE("weddb3", BBC_WEDDB3) - //SLOT_INTERFACE("zdfs", BBC_ZDFS) -SLOT_INTERFACE_END +void bbc_fdc_devices(device_slot_interface &device) +{ + device.option_add("acorn8271", BBC_ACORN8271); + device.option_add("acorn1770", BBC_ACORN1770); + device.option_add("cumana1", BBC_CUMANA1); + device.option_add("cumana2", BBC_CUMANA2); + device.option_add("cv1797", BBC_CV1797); + //device.option_add("microware", BBC_MICROWARE); + device.option_add("opus8272", BBC_OPUS8272); + device.option_add("opus2791", BBC_OPUS2791); + device.option_add("opus2793", BBC_OPUS2793); + device.option_add("opus1770", BBC_OPUS1770); + //device.option_add("stl8271", BBC_STL8271); + //device.option_add("stl1770_1", BBC_STL1770_1); + //device.option_add("stl1770_2", BBC_STL1770_2); + device.option_add("weddb2", BBC_WEDDB2); + device.option_add("weddb3", BBC_WEDDB3); + //device.option_add("zdfs", BBC_ZDFS); +} diff --git a/src/devices/bus/bbc/fdc/fdc.h b/src/devices/bus/bbc/fdc/fdc.h index 2472b5582be..4e2363560ba 100644 --- a/src/devices/bus/bbc/fdc/fdc.h +++ b/src/devices/bus/bbc/fdc/fdc.h @@ -82,7 +82,7 @@ protected: // device type definition DECLARE_DEVICE_TYPE(BBC_FDC_SLOT, bbc_fdc_slot_device) -SLOT_INTERFACE_EXTERN( bbc_fdc_devices ); +void bbc_fdc_devices(device_slot_interface &device); #endif // MAME_BUS_BBC_FDC_FDC_H diff --git a/src/devices/bus/bbc/fdc/opus.cpp b/src/devices/bus/bbc/fdc/opus.cpp index 246b3ad203f..8a81c86ce74 100644 --- a/src/devices/bus/bbc/fdc/opus.cpp +++ b/src/devices/bus/bbc/fdc/opus.cpp @@ -39,13 +39,14 @@ FLOPPY_FORMATS_MEMBER( bbc_opusfdc_device::floppy_formats ) FLOPPY_OPUS_DDCPM_FORMAT FLOPPY_FORMATS_END0 -static SLOT_INTERFACE_START( bbc_floppies_525 ) - SLOT_INTERFACE("525sssd", FLOPPY_525_SSSD) - SLOT_INTERFACE("525sd", FLOPPY_525_SD) - SLOT_INTERFACE("525ssdd", FLOPPY_525_SSDD) - SLOT_INTERFACE("525dd", FLOPPY_525_DD) - SLOT_INTERFACE("525qd", FLOPPY_525_QD) -SLOT_INTERFACE_END +static void bbc_floppies_525(device_slot_interface &device) +{ + device.option_add("525sssd", FLOPPY_525_SSSD); + device.option_add("525sd", FLOPPY_525_SD); + device.option_add("525ssdd", FLOPPY_525_SSDD); + device.option_add("525dd", FLOPPY_525_DD); + device.option_add("525qd", FLOPPY_525_QD); +} ROM_START( opus8272 ) ROM_REGION(0x4000, "dfs_rom", 0) diff --git a/src/devices/bus/bbc/fdc/watford.cpp b/src/devices/bus/bbc/fdc/watford.cpp index fcc465c84f6..90dd63cad76 100644 --- a/src/devices/bus/bbc/fdc/watford.cpp +++ b/src/devices/bus/bbc/fdc/watford.cpp @@ -33,13 +33,14 @@ FLOPPY_FORMATS_MEMBER( bbc_watfordfdc_device::floppy_formats ) FLOPPY_FSD_FORMAT FLOPPY_FORMATS_END0 -static SLOT_INTERFACE_START( bbc_floppies_525 ) - SLOT_INTERFACE("525sssd", FLOPPY_525_SSSD) - SLOT_INTERFACE("525sd", FLOPPY_525_SD) - SLOT_INTERFACE("525ssdd", FLOPPY_525_SSDD) - SLOT_INTERFACE("525dd", FLOPPY_525_DD) - SLOT_INTERFACE("525qd", FLOPPY_525_QD) -SLOT_INTERFACE_END +static void bbc_floppies_525(device_slot_interface &device) +{ + device.option_add("525sssd", FLOPPY_525_SSSD); + device.option_add("525sd", FLOPPY_525_SD); + device.option_add("525ssdd", FLOPPY_525_SSDD); + device.option_add("525dd", FLOPPY_525_DD); + device.option_add("525qd", FLOPPY_525_QD); +} ROM_START( weddb2 ) ROM_REGION(0x4000, "dfs_rom", 0) diff --git a/src/devices/bus/bbc/joyport/joyport.cpp b/src/devices/bus/bbc/joyport/joyport.cpp index 2a3d3d144b6..b45b804a76c 100644 --- a/src/devices/bus/bbc/joyport/joyport.cpp +++ b/src/devices/bus/bbc/joyport/joyport.cpp @@ -130,7 +130,8 @@ WRITE8_MEMBER(bbc_joyport_slot_device::pb_w) //#include "mouse.h" -SLOT_INTERFACE_START( bbc_joyport_devices ) - SLOT_INTERFACE("joystick", BBCMC_JOYSTICK) - //SLOT_INTERFACE("mouse", BBCMC_MOUSE) -SLOT_INTERFACE_END +void bbc_joyport_devices(device_slot_interface &device) +{ + device.option_add("joystick", BBCMC_JOYSTICK); + //device.option_add("mouse", BBCMC_MOUSE); +} diff --git a/src/devices/bus/bbc/joyport/joyport.h b/src/devices/bus/bbc/joyport/joyport.h index 9371ee248d8..bfc93f2d9e2 100644 --- a/src/devices/bus/bbc/joyport/joyport.h +++ b/src/devices/bus/bbc/joyport/joyport.h @@ -106,7 +106,7 @@ protected: // device type definition DECLARE_DEVICE_TYPE(BBC_JOYPORT_SLOT, bbc_joyport_slot_device) -SLOT_INTERFACE_EXTERN( bbc_joyport_devices ); +void bbc_joyport_devices(device_slot_interface &device); #endif // MAME_BUS_BBC_JOYPORT_JOYPORT_H diff --git a/src/devices/bus/bbc/tube/tube.cpp b/src/devices/bus/bbc/tube/tube.cpp index 173dd4cc2b7..f3824e872cf 100644 --- a/src/devices/bus/bbc/tube/tube.cpp +++ b/src/devices/bus/bbc/tube/tube.cpp @@ -146,37 +146,39 @@ WRITE8_MEMBER(bbc_tube_slot_device::host_w) // SLOT_INTERFACE( bbc_extube_devices ) //------------------------------------------------- -SLOT_INTERFACE_START( bbc_extube_devices ) - SLOT_INTERFACE("6502", BBC_TUBE_6502) /* Acorn ANC01 6502 2nd processor */ - SLOT_INTERFACE("z80", BBC_TUBE_Z80) /* Acorn ANC04 Z80 2nd processor */ -// SLOT_INTERFACE("32016", BBC_TUBE_32016) /* Acorn ANC05 32016 2nd processor */ -// SLOT_INTERFACE("camb", BBC_TUBE_CAMB) /* Acorn ANC06 Cambridge Co-Processor */ - SLOT_INTERFACE("arm", BBC_TUBE_ARM) /* Acorn ANC13 ARM Evaluation System */ - SLOT_INTERFACE("80286", BBC_TUBE_80286) /* Acorn 80286 2nd Processor */ -// SLOT_INTERFACE("a500", BBC_TUBE_A500) /* Acorn A500 2nd Processor */ - SLOT_INTERFACE("casper", BBC_TUBE_CASPER) /* Casper 68000 2nd Processor */ - SLOT_INTERFACE("zep100", BBC_TUBE_ZEP100) /* Torch Z80 Communicator (ZEP100) */ +void bbc_extube_devices(device_slot_interface &device) +{ + device.option_add("6502", BBC_TUBE_6502); /* Acorn ANC01 6502 2nd processor */ + device.option_add("z80", BBC_TUBE_Z80); /* Acorn ANC04 Z80 2nd processor */ +// device.option_add("32016", BBC_TUBE_32016); /* Acorn ANC05 32016 2nd processor */ +// device.option_add("camb", BBC_TUBE_CAMB); /* Acorn ANC06 Cambridge Co-Processor */ + device.option_add("arm", BBC_TUBE_ARM); /* Acorn ANC13 ARM Evaluation System */ + device.option_add("80286", BBC_TUBE_80286); /* Acorn 80286 2nd Processor */ +// device.option_add("a500", BBC_TUBE_A500); /* Acorn A500 2nd Processor */ + device.option_add("casper", BBC_TUBE_CASPER); /* Casper 68000 2nd Processor */ + device.option_add("zep100", BBC_TUBE_ZEP100); /* Torch Z80 Communicator (ZEP100) */ /* Acorn ANC21 Universal 2nd Processor Unit */ - SLOT_INTERFACE("65c102", BBC_TUBE_65C102) /* Acorn ADC06 65C102 co-processor */ - SLOT_INTERFACE("80186", BBC_TUBE_80186) /* Acorn ADC08 80186 co-processor */ -SLOT_INTERFACE_END + device.option_add("65c102", BBC_TUBE_65C102); /* Acorn ADC06 65C102 co-processor */ + device.option_add("80186", BBC_TUBE_80186); /* Acorn ADC08 80186 co-processor */ +} //------------------------------------------------- // SLOT_INTERFACE( bbc_intube_devices ) //------------------------------------------------- -SLOT_INTERFACE_START( bbc_intube_devices ) - SLOT_INTERFACE("65c102", BBC_TUBE_65C102) /* Acorn ADC06 65C102 co-processor */ - SLOT_INTERFACE("80186", BBC_TUBE_80186) /* Acorn ADC08 80186 co-processor */ -// SLOT_INTERFACE("arm7", BBC_TUBE_ARM7) /* Sprow ARM7 co-processor */ -SLOT_INTERFACE_END +void bbc_intube_devices(device_slot_interface &device) +{ + device.option_add("65c102", BBC_TUBE_65C102); /* Acorn ADC06 65C102 co-processor */ + device.option_add("80186", BBC_TUBE_80186); /* Acorn ADC08 80186 co-processor */ +// device.option_add("arm7", BBC_TUBE_ARM7); /* Sprow ARM7 co-processor */ +} //------------------------------------------------- // SLOT_INTERFACE( bbc_x25tube_devices ) //------------------------------------------------- -//SLOT_INTERFACE_START( bbc_x25tube_devices ) -// SLOT_INTERFACE("x25", BBC_TUBE_X25) /* Econet X25 Gateway */ -//SLOT_INTERFACE_END +//void bbc_x25tube_devices(device_slot_interface &device) +// device.option_add("x25", BBC_TUBE_X25); /* Econet X25 Gateway */ +//} diff --git a/src/devices/bus/bbc/tube/tube.h b/src/devices/bus/bbc/tube/tube.h index 7a7d4351e1c..b60d349df47 100644 --- a/src/devices/bus/bbc/tube/tube.h +++ b/src/devices/bus/bbc/tube/tube.h @@ -116,9 +116,9 @@ protected: // device type definition DECLARE_DEVICE_TYPE(BBC_TUBE_SLOT, bbc_tube_slot_device) -SLOT_INTERFACE_EXTERN( bbc_extube_devices ); -SLOT_INTERFACE_EXTERN( bbc_intube_devices ); -//SLOT_INTERFACE_EXTERN( bbc_x25tube_devices ); +void bbc_extube_devices(device_slot_interface &device); +void bbc_intube_devices(device_slot_interface &device); +//void bbc_x25tube_devices(device_slot_interface &device); #endif // MAME_BUS_BBC_TUBE_TUBE_H diff --git a/src/devices/bus/bbc/userport/userport.cpp b/src/devices/bus/bbc/userport/userport.cpp index 7df5c0e7f66..6152d893cec 100644 --- a/src/devices/bus/bbc/userport/userport.cpp +++ b/src/devices/bus/bbc/userport/userport.cpp @@ -119,10 +119,11 @@ WRITE8_MEMBER(bbc_userport_slot_device::pb_w) #include "cfa3000kbd.h" -SLOT_INTERFACE_START( bbc_userport_devices ) -// SLOT_INTERFACE("amxmouse", BBC_AMXMOUSE) /* AMX Mouse */ -// SLOT_INTERFACE("m512mouse", BBC_M512MOUSE) /* Acorn Mouse (provided with Master 512) */ -// SLOT_INTERFACE("tracker", BBC_TRACKER) /* Marconi RB2 Tracker Ball / Acorn Tracker Ball */ -// SLOT_INTERFACE("music4000", BBC_MUSIC4000) /* Hybrid Music 4000 Keyboard */ - SLOT_INTERFACE("cfa3000kbd", CFA3000_KBD) /* Henson CFA 3000 Keyboard */ -SLOT_INTERFACE_END +void bbc_userport_devices(device_slot_interface &device) +{ +// device.option_add("amxmouse", BBC_AMXMOUSE); /* AMX Mouse */ +// device.option_add("m512mouse", BBC_M512MOUSE); /* Acorn Mouse (provided with Master 512) */ +// device.option_add("tracker", BBC_TRACKER); /* Marconi RB2 Tracker Ball / Acorn Tracker Ball */ +// device.option_add("music4000", BBC_MUSIC4000); /* Hybrid Music 4000 Keyboard */ + device.option_add("cfa3000kbd", CFA3000_KBD); /* Henson CFA 3000 Keyboard */ +} diff --git a/src/devices/bus/bbc/userport/userport.h b/src/devices/bus/bbc/userport/userport.h index de2f8c4c8ff..f19911a4631 100644 --- a/src/devices/bus/bbc/userport/userport.h +++ b/src/devices/bus/bbc/userport/userport.h @@ -106,7 +106,7 @@ protected: DECLARE_DEVICE_TYPE(BBC_USERPORT_SLOT, bbc_userport_slot_device) -SLOT_INTERFACE_EXTERN( bbc_userport_devices ); +void bbc_userport_devices(device_slot_interface &device); #endif // MAME_BUS_BBC_USERPORT_USERPORT_H diff --git a/src/devices/bus/bml3/bml3mp1802.cpp b/src/devices/bus/bml3/bml3mp1802.cpp index dd27a9c53ec..a6c7e4a1d2c 100644 --- a/src/devices/bus/bml3/bml3mp1802.cpp +++ b/src/devices/bus/bml3/bml3mp1802.cpp @@ -23,9 +23,10 @@ DEFINE_DEVICE_TYPE(BML3BUS_MP1802, bml3bus_mp1802_device, "bml3mp1802", "Hitachi MP-1802 Floppy Controller Card") -static SLOT_INTERFACE_START( mp1802_floppies ) - SLOT_INTERFACE("dd", FLOPPY_525_DD) -SLOT_INTERFACE_END +static void mp1802_floppies(device_slot_interface &device) +{ + device.option_add("dd", FLOPPY_525_DD); +} WRITE_LINE_MEMBER( bml3bus_mp1802_device::bml3_wd17xx_intrq_w ) { diff --git a/src/devices/bus/bw2/exp.cpp b/src/devices/bus/bw2/exp.cpp index 94e7a616460..ae02f1f10fa 100644 --- a/src/devices/bus/bw2/exp.cpp +++ b/src/devices/bus/bw2/exp.cpp @@ -187,6 +187,7 @@ WRITE8_MEMBER( bw2_expansion_slot_device::modsel_w ) // slot devices #include "ramcard.h" -SLOT_INTERFACE_START( bw2_expansion_cards ) - SLOT_INTERFACE("ramcard", BW2_RAMCARD) -SLOT_INTERFACE_END +void bw2_expansion_cards(device_slot_interface &device) +{ + device.option_add("ramcard", BW2_RAMCARD); +} diff --git a/src/devices/bus/bw2/exp.h b/src/devices/bus/bw2/exp.h index fe4e51298a2..5bd353c5d35 100644 --- a/src/devices/bus/bw2/exp.h +++ b/src/devices/bus/bw2/exp.h @@ -124,7 +124,6 @@ protected: DECLARE_DEVICE_TYPE(BW2_EXPANSION_SLOT, bw2_expansion_slot_device) -SLOT_INTERFACE_EXTERN( bw2_expansion_cards ); - +void bw2_expansion_cards(device_slot_interface &device); #endif // MAME_BUS_BW2_EXP_H diff --git a/src/devices/bus/c64/exp.cpp b/src/devices/bus/c64/exp.cpp index e5e0c6b039c..7b11051da9b 100644 --- a/src/devices/bus/c64/exp.cpp +++ b/src/devices/bus/c64/exp.cpp @@ -368,75 +368,76 @@ int c64_expansion_slot_device::exrom_r(offs_t offset, int sphi2, int ba, int rw, #include "xl80.h" #include "zaxxon.h" -SLOT_INTERFACE_START( c64_expansion_cards ) - SLOT_INTERFACE("16k", C64_16KB) - SLOT_INTERFACE("cpm", C64_CPM) - SLOT_INTERFACE("dqbb", C64_DQBB) - SLOT_INTERFACE("easyflash", C64_EASYFLASH) - SLOT_INTERFACE("georam", C64_GEORAM) - SLOT_INTERFACE("ide64", C64_IDE64) - SLOT_INTERFACE("midimap", C64_MIDI_MAPLIN) - SLOT_INTERFACE("midins", C64_MIDI_NAMESOFT) - SLOT_INTERFACE("midipp", C64_MIDI_PASSPORT) - SLOT_INTERFACE("midisci", C64_MIDI_SCI) - SLOT_INTERFACE("midisiel", C64_MIDI_SIEL) - SLOT_INTERFACE("music64", C64_MUSIC64) - SLOT_INTERFACE("neoram", C64_NEORAM) - SLOT_INTERFACE("reu1700", C64_REU1700) - SLOT_INTERFACE("reu1750", C64_REU1750) - SLOT_INTERFACE("reu1764", C64_REU1764) - SLOT_INTERFACE("sfxse", C64_SFX_SOUND_EXPANDER) - SLOT_INTERFACE("speakez", C64_SPEAKEASY) - SLOT_INTERFACE("supercpu", C64_SUPERCPU) - SLOT_INTERFACE("swiftlink", C64_SWIFTLINK) - SLOT_INTERFACE("turbo232", C64_TURBO232) +void c64_expansion_cards(device_slot_interface &device) +{ + device.option_add("16k", C64_16KB); + device.option_add("cpm", C64_CPM); + device.option_add("dqbb", C64_DQBB); + device.option_add("easyflash", C64_EASYFLASH); + device.option_add("georam", C64_GEORAM); + device.option_add("ide64", C64_IDE64); + device.option_add("midimap", C64_MIDI_MAPLIN); + device.option_add("midins", C64_MIDI_NAMESOFT); + device.option_add("midipp", C64_MIDI_PASSPORT); + device.option_add("midisci", C64_MIDI_SCI); + device.option_add("midisiel", C64_MIDI_SIEL); + device.option_add("music64", C64_MUSIC64); + device.option_add("neoram", C64_NEORAM); + device.option_add("reu1700", C64_REU1700); + device.option_add("reu1750", C64_REU1750); + device.option_add("reu1764", C64_REU1764); + device.option_add("sfxse", C64_SFX_SOUND_EXPANDER); + device.option_add("speakez", C64_SPEAKEASY); + device.option_add("supercpu", C64_SUPERCPU); + device.option_add("swiftlink", C64_SWIFTLINK); + device.option_add("turbo232", C64_TURBO232); // the following need ROMs from the software list - SLOT_INTERFACE_INTERNAL("standard", C64_STD) - SLOT_INTERFACE_INTERNAL("comal80", C64_COMAL80) - SLOT_INTERFACE_INTERNAL("c128_comal80", C128_COMAL80) - SLOT_INTERFACE_INTERNAL("cs64", C64_CURRAH_SPEECH) - SLOT_INTERFACE_INTERNAL("dela_ep256", C64_DELA_EP256) - SLOT_INTERFACE_INTERNAL("ep64", C64_DELA_EP64) - SLOT_INTERFACE_INTERNAL("ep7x8", C64_DELA_EP7X8) - SLOT_INTERFACE_INTERNAL("dinamic", C64_DINAMIC) - SLOT_INTERFACE_INTERNAL("easycalcres", C64_EASY_CALC_RESULT) - SLOT_INTERFACE_INTERNAL("epyxfastload", C64_EPYX_FAST_LOAD) - SLOT_INTERFACE_INTERNAL("exos", C64_EXOS) - SLOT_INTERFACE_INTERNAL("fcc", C64_FCC) - SLOT_INTERFACE_INTERNAL("final", C64_FINAL) - SLOT_INTERFACE_INTERNAL("final3", C64_FINAL3) - SLOT_INTERFACE_INTERNAL("fun_play", C64_FUN_PLAY) - SLOT_INTERFACE_INTERNAL("ieee488", C64_IEEE488) - SLOT_INTERFACE_INTERNAL("kingsoft", C64_KINGSOFT) - SLOT_INTERFACE_INTERNAL("mach5", C64_MACH5) - SLOT_INTERFACE_INTERNAL("magic_desk", C64_MAGIC_DESK) - SLOT_INTERFACE_INTERNAL("magic_formel", C64_MAGIC_FORMEL) - SLOT_INTERFACE_INTERNAL("magic_voice", C64_MAGIC_VOICE) - SLOT_INTERFACE_INTERNAL("mikroasm", C64_MIKRO_ASSEMBLER) - SLOT_INTERFACE_INTERNAL("multiscreen", C64_MULTISCREEN) - SLOT_INTERFACE_INTERNAL("ocean", C64_OCEAN) - SLOT_INTERFACE_INTERNAL("pagefox", C64_PAGEFOX) - SLOT_INTERFACE_INTERNAL("partner", C64_PARTNER) - SLOT_INTERFACE_INTERNAL("partner128", C128_PARTNER) - SLOT_INTERFACE_INTERNAL("prophet64", C64_PROPHET64) - SLOT_INTERFACE_INTERNAL("ps64", C64_PS64) - SLOT_INTERFACE_INTERNAL("rex", C64_REX) - SLOT_INTERFACE_INTERNAL("rex_ep256", C64_REX_EP256) - SLOT_INTERFACE_INTERNAL("ross", C64_ROSS) - SLOT_INTERFACE_INTERNAL("silverrock", C64_SILVERROCK) - SLOT_INTERFACE_INTERNAL("simons_basic", C64_SIMONS_BASIC) - SLOT_INTERFACE_INTERNAL("stardos", C64_STARDOS) - SLOT_INTERFACE_INTERNAL("struct_basic", C64_STRUCTURED_BASIC) - SLOT_INTERFACE_INTERNAL("super_explode", C64_SUPER_EXPLODE) - SLOT_INTERFACE_INTERNAL("super_games", C64_SUPER_GAMES) - SLOT_INTERFACE_INTERNAL("sw8k", C64_SW8K) - SLOT_INTERFACE_INTERNAL("system3", C64_SYSTEM3) - SLOT_INTERFACE_INTERNAL("tdos", C64_TDOS) - SLOT_INTERFACE_INTERNAL("vizastar", C64_VIZASTAR) - SLOT_INTERFACE_INTERNAL("vizawrite", C64_VW64) - SLOT_INTERFACE_INTERNAL("warp_speed", C64_WARP_SPEED) - SLOT_INTERFACE_INTERNAL("westermann", C64_WESTERMANN) - SLOT_INTERFACE_INTERNAL("zaxxon", C64_ZAXXON) - SLOT_INTERFACE_INTERNAL("xl80", C64_XL80) -SLOT_INTERFACE_END + device.option_add_internal("standard", C64_STD); + device.option_add_internal("comal80", C64_COMAL80); + device.option_add_internal("c128_comal80", C128_COMAL80); + device.option_add_internal("cs64", C64_CURRAH_SPEECH); + device.option_add_internal("dela_ep256", C64_DELA_EP256); + device.option_add_internal("ep64", C64_DELA_EP64); + device.option_add_internal("ep7x8", C64_DELA_EP7X8); + device.option_add_internal("dinamic", C64_DINAMIC); + device.option_add_internal("easycalcres", C64_EASY_CALC_RESULT); + device.option_add_internal("epyxfastload", C64_EPYX_FAST_LOAD); + device.option_add_internal("exos", C64_EXOS); + device.option_add_internal("fcc", C64_FCC); + device.option_add_internal("final", C64_FINAL); + device.option_add_internal("final3", C64_FINAL3); + device.option_add_internal("fun_play", C64_FUN_PLAY); + device.option_add_internal("ieee488", C64_IEEE488); + device.option_add_internal("kingsoft", C64_KINGSOFT); + device.option_add_internal("mach5", C64_MACH5); + device.option_add_internal("magic_desk", C64_MAGIC_DESK); + device.option_add_internal("magic_formel", C64_MAGIC_FORMEL); + device.option_add_internal("magic_voice", C64_MAGIC_VOICE); + device.option_add_internal("mikroasm", C64_MIKRO_ASSEMBLER); + device.option_add_internal("multiscreen", C64_MULTISCREEN); + device.option_add_internal("ocean", C64_OCEAN); + device.option_add_internal("pagefox", C64_PAGEFOX); + device.option_add_internal("partner", C64_PARTNER); + device.option_add_internal("partner128", C128_PARTNER); + device.option_add_internal("prophet64", C64_PROPHET64); + device.option_add_internal("ps64", C64_PS64); + device.option_add_internal("rex", C64_REX); + device.option_add_internal("rex_ep256", C64_REX_EP256); + device.option_add_internal("ross", C64_ROSS); + device.option_add_internal("silverrock", C64_SILVERROCK); + device.option_add_internal("simons_basic", C64_SIMONS_BASIC); + device.option_add_internal("stardos", C64_STARDOS); + device.option_add_internal("struct_basic", C64_STRUCTURED_BASIC); + device.option_add_internal("super_explode", C64_SUPER_EXPLODE); + device.option_add_internal("super_games", C64_SUPER_GAMES); + device.option_add_internal("sw8k", C64_SW8K); + device.option_add_internal("system3", C64_SYSTEM3); + device.option_add_internal("tdos", C64_TDOS); + device.option_add_internal("vizastar", C64_VIZASTAR); + device.option_add_internal("vizawrite", C64_VW64); + device.option_add_internal("warp_speed", C64_WARP_SPEED); + device.option_add_internal("westermann", C64_WESTERMANN); + device.option_add_internal("zaxxon", C64_ZAXXON); + device.option_add_internal("xl80", C64_XL80); +} diff --git a/src/devices/bus/c64/exp.h b/src/devices/bus/c64/exp.h index 46c4101aabf..0824ecf67ba 100644 --- a/src/devices/bus/c64/exp.h +++ b/src/devices/bus/c64/exp.h @@ -195,8 +195,6 @@ protected: // device type definition DECLARE_DEVICE_TYPE(C64_EXPANSION_SLOT, c64_expansion_slot_device) -SLOT_INTERFACE_EXTERN( c64_expansion_cards ); - - +void c64_expansion_cards(device_slot_interface &device); #endif diff --git a/src/devices/bus/c64/user.cpp b/src/devices/bus/c64/user.cpp index 543ee8bb13e..1a5975ebbf8 100644 --- a/src/devices/bus/c64/user.cpp +++ b/src/devices/bus/c64/user.cpp @@ -22,12 +22,13 @@ #include "geocable.h" #include "bus/vic20/vic1011.h" -SLOT_INTERFACE_START( c64_user_port_cards ) - SLOT_INTERFACE("4cga", C64_4CGA) - SLOT_INTERFACE("4dxh", C64_4DXH) - SLOT_INTERFACE("4ksa", C64_4KSA) - SLOT_INTERFACE("4tba", C64_4TBA) - SLOT_INTERFACE("bn1541", C64_BN1541) - SLOT_INTERFACE("geocable", C64_GEOCABLE) - SLOT_INTERFACE("rs232", VIC1011) -SLOT_INTERFACE_END +void c64_user_port_cards(device_slot_interface &device) +{ + device.option_add("4cga", C64_4CGA); + device.option_add("4dxh", C64_4DXH); + device.option_add("4ksa", C64_4KSA); + device.option_add("4tba", C64_4TBA); + device.option_add("bn1541", C64_BN1541); + device.option_add("geocable", C64_GEOCABLE); + device.option_add("rs232", VIC1011); +} diff --git a/src/devices/bus/c64/user.h b/src/devices/bus/c64/user.h index 8e9ecf347b2..68159c099de 100644 --- a/src/devices/bus/c64/user.h +++ b/src/devices/bus/c64/user.h @@ -28,6 +28,6 @@ #include "bus/pet/user.h" -SLOT_INTERFACE_EXTERN( c64_user_port_cards ); +void c64_user_port_cards(device_slot_interface &device); #endif // MAME_BUS_C64_USER_H diff --git a/src/devices/bus/cbm2/exp.cpp b/src/devices/bus/cbm2/exp.cpp index 0659fbc93ed..e4246026a54 100644 --- a/src/devices/bus/cbm2/exp.cpp +++ b/src/devices/bus/cbm2/exp.cpp @@ -188,9 +188,10 @@ void cbm2_expansion_slot_device::write(address_space &space, offs_t offset, uint #include "hrg.h" #include "std.h" -SLOT_INTERFACE_START( cbm2_expansion_cards ) - SLOT_INTERFACE("24k", CBM2_24K) - SLOT_INTERFACE("hrga", CBM2_HRG_A) - SLOT_INTERFACE("hrgb", CBM2_HRG_B) - SLOT_INTERFACE_INTERNAL("standard", CBM2_STD) -SLOT_INTERFACE_END +void cbm2_expansion_cards(device_slot_interface &device) +{ + device.option_add("24k", CBM2_24K); + device.option_add("hrga", CBM2_HRG_A); + device.option_add("hrgb", CBM2_HRG_B); + device.option_add_internal("standard", CBM2_STD); +} diff --git a/src/devices/bus/cbm2/exp.h b/src/devices/bus/cbm2/exp.h index 0b6ca30a087..6eff16c5260 100644 --- a/src/devices/bus/cbm2/exp.h +++ b/src/devices/bus/cbm2/exp.h @@ -128,7 +128,6 @@ protected: DECLARE_DEVICE_TYPE(CBM2_EXPANSION_SLOT, cbm2_expansion_slot_device) -SLOT_INTERFACE_EXTERN( cbm2_expansion_cards ); - +void cbm2_expansion_cards(device_slot_interface &device); #endif // MAME_BUS_CBM2_EXP_H diff --git a/src/devices/bus/cbm2/user.cpp b/src/devices/bus/cbm2/user.cpp index 0c54e409901..eefb9c4d591 100644 --- a/src/devices/bus/cbm2/user.cpp +++ b/src/devices/bus/cbm2/user.cpp @@ -74,5 +74,6 @@ void cbm2_user_port_device::device_start() // SLOT_INTERFACE( cbm2_user_port_cards ) //------------------------------------------------- -SLOT_INTERFACE_START( cbm2_user_port_cards ) -SLOT_INTERFACE_END +void cbm2_user_port_cards(device_slot_interface &device) +{ +} diff --git a/src/devices/bus/cbm2/user.h b/src/devices/bus/cbm2/user.h index 3802879e822..7ebe6ddbf34 100644 --- a/src/devices/bus/cbm2/user.h +++ b/src/devices/bus/cbm2/user.h @@ -147,7 +147,6 @@ DECLARE_DEVICE_TYPE(CBM2_USER_PORT, cbm2_user_port_device) // slot devices -SLOT_INTERFACE_EXTERN( cbm2_user_port_cards ); - +void cbm2_user_port_cards(device_slot_interface &device); #endif // MAME_BUS_CBM2_USER_H diff --git a/src/devices/bus/cbmiec/c1541.cpp b/src/devices/bus/cbmiec/c1541.cpp index 4070cecebec..bbadac3b80f 100644 --- a/src/devices/bus/cbmiec/c1541.cpp +++ b/src/devices/bus/cbmiec/c1541.cpp @@ -754,9 +754,10 @@ WRITE_LINE_MEMBER( c1541_device_base::byte_w ) // SLOT_INTERFACE( c1540_floppies ) //------------------------------------------------- -static SLOT_INTERFACE_START( c1540_floppies ) - SLOT_INTERFACE( "525ssqd", ALPS_3255190X ) -SLOT_INTERFACE_END +static void c1540_floppies(device_slot_interface &device) +{ + device.option_add("525ssqd", ALPS_3255190X); +} //------------------------------------------------- diff --git a/src/devices/bus/cbmiec/c1571.cpp b/src/devices/bus/cbmiec/c1571.cpp index 097dbc77cf8..2cbe03c58c2 100644 --- a/src/devices/bus/cbmiec/c1571.cpp +++ b/src/devices/bus/cbmiec/c1571.cpp @@ -564,9 +564,10 @@ WRITE_LINE_MEMBER( c1571_device::byte_w ) // SLOT_INTERFACE( c1571_floppies ) //------------------------------------------------- -static SLOT_INTERFACE_START( c1571_floppies ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void c1571_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); +} //------------------------------------------------- @@ -594,9 +595,10 @@ FLOPPY_FORMATS_END // isa8bus_interface isabus_intf //------------------------------------------------- -static SLOT_INTERFACE_START( mini_chief_isa8_cards ) - SLOT_INTERFACE("wd1002a_wx1", ISA8_WD1002A_WX1) -SLOT_INTERFACE_END +static void mini_chief_isa8_cards(device_slot_interface &device) +{ + device.option_add("wd1002a_wx1", ISA8_WD1002A_WX1); +} //------------------------------------------------- // device_add_mconfig - add device configuration diff --git a/src/devices/bus/cbmiec/c1581.cpp b/src/devices/bus/cbmiec/c1581.cpp index d16ca955bc0..8e9f0ec9555 100644 --- a/src/devices/bus/cbmiec/c1581.cpp +++ b/src/devices/bus/cbmiec/c1581.cpp @@ -248,9 +248,10 @@ WRITE8_MEMBER( c1581_device::cia_pb_w ) // SLOT_INTERFACE( c1581_floppies ) //------------------------------------------------- -static SLOT_INTERFACE_START( c1581_floppies ) - SLOT_INTERFACE( "35dd", FLOPPY_35_DD ) // Chinon F-354-E -SLOT_INTERFACE_END +static void c1581_floppies(device_slot_interface &device) +{ + device.option_add("35dd", FLOPPY_35_DD); // Chinon F-354-E +} //------------------------------------------------- diff --git a/src/devices/bus/cbmiec/cbmiec.cpp b/src/devices/bus/cbmiec/cbmiec.cpp index 4384dbcd1cc..c91a9d54773 100644 --- a/src/devices/bus/cbmiec/cbmiec.cpp +++ b/src/devices/bus/cbmiec/cbmiec.cpp @@ -497,30 +497,31 @@ int cbm_iec_device::get_signal(int signal) #include "vic1520.h" #include "c1526.h" -SLOT_INTERFACE_START( cbm_iec_devices ) - SLOT_INTERFACE("c1540", C1540) - SLOT_INTERFACE("c1541", C1541) - SLOT_INTERFACE("c1541c", C1541C) - SLOT_INTERFACE("c1541ii", C1541II) - SLOT_INTERFACE("fsd1", FSD1) - SLOT_INTERFACE("fsd2", FSD2) - SLOT_INTERFACE("csd1", CSD1) - SLOT_INTERFACE("c1541dd", C1541_DOLPHIN_DOS) - SLOT_INTERFACE("c1541pd", C1541_PROFESSIONAL_DOS_V1) - SLOT_INTERFACE("c1541pdc", C1541_PROLOGIC_DOS_CLASSIC) - SLOT_INTERFACE("c1570", C1570) - SLOT_INTERFACE("c1571", C1571) - SLOT_INTERFACE("c1581", C1581) - SLOT_INTERFACE("indusgt", INDUS_GT) - SLOT_INTERFACE("cmdhd", CMD_HD) - SLOT_INTERFACE("fd2000", FD2000) - SLOT_INTERFACE("fd4000", FD4000) - SLOT_INTERFACE("interpod", INTERPOD) - SLOT_INTERFACE("minichief", MINI_CHIEF) - SLOT_INTERFACE("serialbox", SERIAL_BOX) - SLOT_INTERFACE("diag264", DIAG264_SERIAL_LOOPBACK) - SLOT_INTERFACE("nl10", C64_NL10_INTERFACE) - SLOT_INTERFACE("vic1515", VIC1515) - SLOT_INTERFACE("vic1520", VIC1520) - SLOT_INTERFACE("c1526", C1526) -SLOT_INTERFACE_END +void cbm_iec_devices(device_slot_interface &device) +{ + device.option_add("c1540", C1540); + device.option_add("c1541", C1541); + device.option_add("c1541c", C1541C); + device.option_add("c1541ii", C1541II); + device.option_add("fsd1", FSD1); + device.option_add("fsd2", FSD2); + device.option_add("csd1", CSD1); + device.option_add("c1541dd", C1541_DOLPHIN_DOS); + device.option_add("c1541pd", C1541_PROFESSIONAL_DOS_V1); + device.option_add("c1541pdc", C1541_PROLOGIC_DOS_CLASSIC); + device.option_add("c1570", C1570); + device.option_add("c1571", C1571); + device.option_add("c1581", C1581); + device.option_add("indusgt", INDUS_GT); + device.option_add("cmdhd", CMD_HD); + device.option_add("fd2000", FD2000); + device.option_add("fd4000", FD4000); + device.option_add("interpod", INTERPOD); + device.option_add("minichief", MINI_CHIEF); + device.option_add("serialbox", SERIAL_BOX); + device.option_add("diag264", DIAG264_SERIAL_LOOPBACK); + device.option_add("nl10", C64_NL10_INTERFACE); + device.option_add("vic1515", VIC1515); + device.option_add("vic1520", VIC1520); + device.option_add("c1526", C1526); +} diff --git a/src/devices/bus/cbmiec/cbmiec.h b/src/devices/bus/cbmiec/cbmiec.h index 6c7d60f471b..f7d9f5d73ff 100644 --- a/src/devices/bus/cbmiec/cbmiec.h +++ b/src/devices/bus/cbmiec/cbmiec.h @@ -204,7 +204,6 @@ DECLARE_DEVICE_TYPE(CBM_IEC, cbm_iec_device) DECLARE_DEVICE_TYPE(CBM_IEC_SLOT, cbm_iec_slot_device) -SLOT_INTERFACE_EXTERN( cbm_iec_devices ); - +void cbm_iec_devices(device_slot_interface &device); #endif // MAME_BUS_CBMIEC_CBMIEC_H diff --git a/src/devices/bus/cbmiec/fd2000.cpp b/src/devices/bus/cbmiec/fd2000.cpp index 46dd1151a34..a14f69d17a6 100644 --- a/src/devices/bus/cbmiec/fd2000.cpp +++ b/src/devices/bus/cbmiec/fd2000.cpp @@ -194,13 +194,15 @@ WRITE8_MEMBER( fd2000_device::via_pb_w ) */ } -static SLOT_INTERFACE_START( fd2000_floppies ) - SLOT_INTERFACE( "35hd", FLOPPY_35_HD ) // TEAC FD-235HF -SLOT_INTERFACE_END +static void fd2000_floppies(device_slot_interface &device) +{ + device.option_add("35hd", FLOPPY_35_HD); // TEAC FD-235HF +} -static SLOT_INTERFACE_START( fd4000_floppies ) - SLOT_INTERFACE( "35ed", FLOPPY_35_ED ) // TEAC FD-235J -SLOT_INTERFACE_END +static void fd4000_floppies(device_slot_interface &device) +{ + device.option_add("35ed", FLOPPY_35_ED); // TEAC FD-235J +} /* FLOPPY_FORMATS_MEMBER( fd2000_device::floppy_formats ) FLOPPY_D81_FORMAT diff --git a/src/devices/bus/cbus/pc9801_86.cpp b/src/devices/bus/cbus/pc9801_86.cpp index 4eaf1b60092..c280702414d 100644 --- a/src/devices/bus/cbus/pc9801_86.cpp +++ b/src/devices/bus/cbus/pc9801_86.cpp @@ -66,8 +66,8 @@ MACHINE_CONFIG_START(pc9801_86_device::device_add_mconfig) MCFG_SOUND_ADD("ldac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) // burr brown pcm61p MCFG_SOUND_ADD("rdac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) // burr brown pcm61p MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END // RAM diff --git a/src/devices/bus/centronics/covox.cpp b/src/devices/bus/centronics/covox.cpp index eb5259c1913..80e355b82a9 100644 --- a/src/devices/bus/centronics/covox.cpp +++ b/src/devices/bus/centronics/covox.cpp @@ -43,7 +43,7 @@ MACHINE_CONFIG_START(centronics_covox_device::device_add_mconfig) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END void centronics_covox_device::device_start() @@ -93,8 +93,8 @@ MACHINE_CONFIG_START(centronics_covox_stereo_device::device_add_mconfig) MCFG_SOUND_ADD("ldac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) // unknown DAC MCFG_SOUND_ADD("rdac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END void centronics_covox_stereo_device::device_start() diff --git a/src/devices/bus/centronics/ctronics.cpp b/src/devices/bus/centronics/ctronics.cpp index 6c99dcf0786..2a63723ec9a 100644 --- a/src/devices/bus/centronics/ctronics.cpp +++ b/src/devices/bus/centronics/ctronics.cpp @@ -122,14 +122,15 @@ device_centronics_peripheral_interface::~device_centronics_peripheral_interface( #include "printer.h" #include "covox.h" -SLOT_INTERFACE_START(centronics_devices) - SLOT_INTERFACE("pl80", COMX_PL80) - SLOT_INTERFACE("ex800", EPSON_EX800) - SLOT_INTERFACE("lx800", EPSON_LX800) - SLOT_INTERFACE("lx810l", EPSON_LX810L) - SLOT_INTERFACE("ap2000", EPSON_AP2000) - SLOT_INTERFACE("p72", NEC_P72) - SLOT_INTERFACE("printer", CENTRONICS_PRINTER) - SLOT_INTERFACE("covox", CENTRONICS_COVOX) - SLOT_INTERFACE("covox_stereo", CENTRONICS_COVOX_STEREO) -SLOT_INTERFACE_END +void centronics_devices(device_slot_interface &device) +{ + device.option_add("pl80", COMX_PL80); + device.option_add("ex800", EPSON_EX800); + device.option_add("lx800", EPSON_LX800); + device.option_add("lx810l", EPSON_LX810L); + device.option_add("ap2000", EPSON_AP2000); + device.option_add("p72", NEC_P72); + device.option_add("printer", CENTRONICS_PRINTER); + device.option_add("covox", CENTRONICS_COVOX); + device.option_add("covox_stereo", CENTRONICS_COVOX_STEREO); +} diff --git a/src/devices/bus/centronics/ctronics.h b/src/devices/bus/centronics/ctronics.h index 1c92f34fe39..c274b3d7832 100644 --- a/src/devices/bus/centronics/ctronics.h +++ b/src/devices/bus/centronics/ctronics.h @@ -216,6 +216,6 @@ protected: }; -SLOT_INTERFACE_EXTERN( centronics_devices ); +void centronics_devices(device_slot_interface &device); #endif // MAME_BUS_CENTRONICS_CTRONICS_H diff --git a/src/devices/bus/centronics/digiblst.cpp b/src/devices/bus/centronics/digiblst.cpp index f99cdecb589..27bb97be119 100644 --- a/src/devices/bus/centronics/digiblst.cpp +++ b/src/devices/bus/centronics/digiblst.cpp @@ -43,7 +43,7 @@ MACHINE_CONFIG_START(centronics_digiblaster_device::device_add_mconfig) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END void centronics_digiblaster_device::device_start() diff --git a/src/devices/bus/centronics/epson_lx810l.cpp b/src/devices/bus/centronics/epson_lx810l.cpp index 45ba99fa6db..466e1351357 100644 --- a/src/devices/bus/centronics/epson_lx810l.cpp +++ b/src/devices/bus/centronics/epson_lx810l.cpp @@ -144,7 +144,7 @@ MACHINE_CONFIG_START(epson_lx810l_device::device_add_mconfig) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) /* gate array */ MCFG_DEVICE_ADD("e05a30", E05A30, 0) diff --git a/src/devices/bus/cgenie/expansion/carts.cpp b/src/devices/bus/cgenie/expansion/carts.cpp index 48779691821..c15113d34b0 100644 --- a/src/devices/bus/cgenie/expansion/carts.cpp +++ b/src/devices/bus/cgenie/expansion/carts.cpp @@ -11,6 +11,7 @@ #include "floppy.h" -SLOT_INTERFACE_START( cg_exp_slot_carts ) - SLOT_INTERFACE("floppy", CGENIE_FDC) -SLOT_INTERFACE_END +void cg_exp_slot_carts(device_slot_interface &device) +{ + device.option_add("floppy", CGENIE_FDC); +} diff --git a/src/devices/bus/cgenie/expansion/carts.h b/src/devices/bus/cgenie/expansion/carts.h index 6f3503bdabf..fe903089972 100644 --- a/src/devices/bus/cgenie/expansion/carts.h +++ b/src/devices/bus/cgenie/expansion/carts.h @@ -12,6 +12,6 @@ #pragma once -SLOT_INTERFACE_EXTERN( cg_exp_slot_carts ); +void cg_exp_slot_carts(device_slot_interface &device); #endif // MAME_BUS_CGENIE_EXPANSION_CARTS_H diff --git a/src/devices/bus/cgenie/expansion/floppy.cpp b/src/devices/bus/cgenie/expansion/floppy.cpp index 8bad4c4bad6..0a2680023df 100644 --- a/src/devices/bus/cgenie/expansion/floppy.cpp +++ b/src/devices/bus/cgenie/expansion/floppy.cpp @@ -43,14 +43,15 @@ FLOPPY_FORMATS_MEMBER( cgenie_fdc_device::floppy_formats ) FLOPPY_CGENIE_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( cgenie_floppies ) - SLOT_INTERFACE("sssd", FLOPPY_525_SSSD) - SLOT_INTERFACE("sd", FLOPPY_525_SD) - SLOT_INTERFACE("ssdd", FLOPPY_525_SSDD) - SLOT_INTERFACE("dd", FLOPPY_525_DD) - SLOT_INTERFACE("ssqd", FLOPPY_525_SSQD) - SLOT_INTERFACE("qd", FLOPPY_525_QD) -SLOT_INTERFACE_END +static void cgenie_floppies(device_slot_interface &device) +{ + device.option_add("sssd", FLOPPY_525_SSSD); + device.option_add("sd", FLOPPY_525_SD); + device.option_add("ssdd", FLOPPY_525_SSDD); + device.option_add("dd", FLOPPY_525_DD); + device.option_add("ssqd", FLOPPY_525_SSQD); + device.option_add("qd", FLOPPY_525_QD); +} //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/cgenie/parallel/carts.cpp b/src/devices/bus/cgenie/parallel/carts.cpp index 627d969bd2f..174f97e32ce 100644 --- a/src/devices/bus/cgenie/parallel/carts.cpp +++ b/src/devices/bus/cgenie/parallel/carts.cpp @@ -12,7 +12,8 @@ #include "printer.h" -SLOT_INTERFACE_START( cg_parallel_slot_carts ) - SLOT_INTERFACE("joystick", CGENIE_JOYSTICK) - SLOT_INTERFACE("printer", CGENIE_PRINTER) -SLOT_INTERFACE_END +void cg_parallel_slot_carts(device_slot_interface &device) +{ + device.option_add("joystick", CGENIE_JOYSTICK); + device.option_add("printer", CGENIE_PRINTER); +} diff --git a/src/devices/bus/cgenie/parallel/carts.h b/src/devices/bus/cgenie/parallel/carts.h index 0c893368899..bc433c6dce0 100644 --- a/src/devices/bus/cgenie/parallel/carts.h +++ b/src/devices/bus/cgenie/parallel/carts.h @@ -12,6 +12,6 @@ #pragma once -SLOT_INTERFACE_EXTERN( cg_parallel_slot_carts ); +void cg_parallel_slot_carts(device_slot_interface &device); #endif // MAME_BUS_CGENIE_PARALLEL_CARTS_H diff --git a/src/devices/bus/coco/coco_fdc.cpp b/src/devices/bus/coco/coco_fdc.cpp index 1e3beeeb648..0f0fbc59e46 100644 --- a/src/devices/bus/coco/coco_fdc.cpp +++ b/src/devices/bus/coco/coco_fdc.cpp @@ -121,9 +121,10 @@ FLOPPY_FORMATS_MEMBER( coco_family_fdc_device_base::floppy_formats ) FLOPPY_SDF_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( coco_fdc_floppies ) - SLOT_INTERFACE("qd", FLOPPY_525_QD) -SLOT_INTERFACE_END +static void coco_fdc_floppies(device_slot_interface &device) +{ + device.option_add("qd", FLOPPY_525_QD); +} MACHINE_CONFIG_START(coco_fdc_device_base::device_add_mconfig) MCFG_WD1773_ADD(WD_TAG, XTAL(8'000'000)) diff --git a/src/devices/bus/coco/coco_multi.cpp b/src/devices/bus/coco/coco_multi.cpp index 350897cfd3a..afe7e4c6a57 100644 --- a/src/devices/bus/coco/coco_multi.cpp +++ b/src/devices/bus/coco/coco_multi.cpp @@ -156,27 +156,29 @@ namespace IMPLEMENTATION ***************************************************************************/ -static SLOT_INTERFACE_START(coco_cart_slot1_3) - SLOT_INTERFACE("rs232", COCO_RS232) - SLOT_INTERFACE("dcmodem", COCO_DCMODEM) - SLOT_INTERFACE("orch90", COCO_ORCH90) - SLOT_INTERFACE("ssc", COCO_SSC) MCFG_SLOT_OPTION_CLOCK("ssc", DERIVED_CLOCK(1, 1)) - SLOT_INTERFACE("games_master", COCO_PAK_GMC) - SLOT_INTERFACE("banked_16k", COCO_PAK_BANKED) - SLOT_INTERFACE("pak", COCO_PAK) -SLOT_INTERFACE_END -static SLOT_INTERFACE_START(coco_cart_slot4) - SLOT_INTERFACE("cc2hdb1", COCO2_HDB1) - SLOT_INTERFACE("cc3hdb1", COCO3_HDB1) - SLOT_INTERFACE("fdcv11", COCO_FDC_V11) - SLOT_INTERFACE("rs232", COCO_RS232) - SLOT_INTERFACE("dcmodem", COCO_DCMODEM) - SLOT_INTERFACE("orch90", COCO_ORCH90) - SLOT_INTERFACE("ssc", COCO_SSC) MCFG_SLOT_OPTION_CLOCK("ssc", DERIVED_CLOCK(1, 1)) - SLOT_INTERFACE("games_master", COCO_PAK_GMC) - SLOT_INTERFACE("banked_16k", COCO_PAK_BANKED) - SLOT_INTERFACE("pak", COCO_PAK) -SLOT_INTERFACE_END +static void coco_cart_slot1_3(device_slot_interface &device) +{ + device.option_add("rs232", COCO_RS232); + device.option_add("dcmodem", COCO_DCMODEM); + device.option_add("orch90", COCO_ORCH90); + device.option_add("ssc", COCO_SSC).clock(DERIVED_CLOCK(1, 1)); + device.option_add("games_master", COCO_PAK_GMC); + device.option_add("banked_16k", COCO_PAK_BANKED); + device.option_add("pak", COCO_PAK); +} +static void coco_cart_slot4(device_slot_interface &device) +{ + device.option_add("cc2hdb1", COCO2_HDB1); + device.option_add("cc3hdb1", COCO3_HDB1); + device.option_add("fdcv11", COCO_FDC_V11); + device.option_add("rs232", COCO_RS232); + device.option_add("dcmodem", COCO_DCMODEM); + device.option_add("orch90", COCO_ORCH90); + device.option_add("ssc", COCO_SSC).clock(DERIVED_CLOCK(1, 1)); + device.option_add("games_master", COCO_PAK_GMC); + device.option_add("banked_16k", COCO_PAK_BANKED); + device.option_add("pak", COCO_PAK); +} MACHINE_CONFIG_START(coco_multipak_device::device_add_mconfig) diff --git a/src/devices/bus/coco/coco_orch90.cpp b/src/devices/bus/coco/coco_orch90.cpp index e008aa2ecbf..cc5aa959636 100644 --- a/src/devices/bus/coco/coco_orch90.cpp +++ b/src/devices/bus/coco/coco_orch90.cpp @@ -112,8 +112,8 @@ MACHINE_CONFIG_START(coco_orch90_device::device_add_mconfig) MCFG_SOUND_ADD("ldac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) // ls374.ic5 + r7 (8x20k) + r9 (8x10k) MCFG_SOUND_ADD("rdac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) // ls374.ic4 + r6 (8x20k) + r8 (8x10k) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/devices/bus/coco/dragon_fdc.cpp b/src/devices/bus/coco/dragon_fdc.cpp index 8ecff41087c..d1473a8c0b6 100644 --- a/src/devices/bus/coco/dragon_fdc.cpp +++ b/src/devices/bus/coco/dragon_fdc.cpp @@ -143,9 +143,10 @@ namespace LOCAL VARIABLES ***************************************************************************/ -static SLOT_INTERFACE_START(dragon_fdc_device_base) - SLOT_INTERFACE("qd", FLOPPY_525_QD) -SLOT_INTERFACE_END +static void dragon_fdc_drives(device_slot_interface &device) +{ + device.option_add("qd", FLOPPY_525_QD); +} MACHINE_CONFIG_START(dragon_fdc_device_base::device_add_mconfig) @@ -154,13 +155,13 @@ MACHINE_CONFIG_START(dragon_fdc_device_base::device_add_mconfig) MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(dragon_fdc_device_base, fdc_drq_w)) MCFG_WD_FDC_FORCE_READY - MCFG_FLOPPY_DRIVE_ADD(WD2797_TAG ":0", dragon_fdc_device_base, "qd", dragon_fdc_device_base::floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(WD2797_TAG ":0", dragon_fdc_drives, "qd", dragon_fdc_device_base::floppy_formats) MCFG_FLOPPY_DRIVE_SOUND(true) - MCFG_FLOPPY_DRIVE_ADD(WD2797_TAG ":1", dragon_fdc_device_base, "qd", dragon_fdc_device_base::floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(WD2797_TAG ":1", dragon_fdc_drives, "qd", dragon_fdc_device_base::floppy_formats) MCFG_FLOPPY_DRIVE_SOUND(true) - MCFG_FLOPPY_DRIVE_ADD(WD2797_TAG ":2", dragon_fdc_device_base, "", dragon_fdc_device_base::floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(WD2797_TAG ":2", dragon_fdc_drives, "", dragon_fdc_device_base::floppy_formats) MCFG_FLOPPY_DRIVE_SOUND(true) - MCFG_FLOPPY_DRIVE_ADD(WD2797_TAG ":3", dragon_fdc_device_base, "", dragon_fdc_device_base::floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(WD2797_TAG ":3", dragon_fdc_drives, "", dragon_fdc_device_base::floppy_formats) MCFG_FLOPPY_DRIVE_SOUND(true) MACHINE_CONFIG_END @@ -169,13 +170,13 @@ MACHINE_CONFIG_START(premier_fdc_device_base::device_add_mconfig) MCFG_WD2791_ADD(WD2791_TAG, XTAL(2'000'000) / 2) MCFG_WD_FDC_FORCE_READY - MCFG_FLOPPY_DRIVE_ADD(WD2791_TAG ":0", dragon_fdc_device_base, "qd", dragon_fdc_device_base::floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(WD2791_TAG ":0", dragon_fdc_drives, "qd", dragon_fdc_device_base::floppy_formats) MCFG_FLOPPY_DRIVE_SOUND(true) - MCFG_FLOPPY_DRIVE_ADD(WD2791_TAG ":1", dragon_fdc_device_base, "qd", dragon_fdc_device_base::floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(WD2791_TAG ":1", dragon_fdc_drives, "qd", dragon_fdc_device_base::floppy_formats) MCFG_FLOPPY_DRIVE_SOUND(true) - MCFG_FLOPPY_DRIVE_ADD(WD2791_TAG ":2", dragon_fdc_device_base, "", dragon_fdc_device_base::floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(WD2791_TAG ":2", dragon_fdc_drives, "", dragon_fdc_device_base::floppy_formats) MCFG_FLOPPY_DRIVE_SOUND(true) - MCFG_FLOPPY_DRIVE_ADD(WD2791_TAG ":3", dragon_fdc_device_base, "", dragon_fdc_device_base::floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(WD2791_TAG ":3", dragon_fdc_drives, "", dragon_fdc_device_base::floppy_formats) MCFG_FLOPPY_DRIVE_SOUND(true) MACHINE_CONFIG_END diff --git a/src/devices/bus/coleco/ctrl.cpp b/src/devices/bus/coleco/ctrl.cpp index 630553998de..330c7c71551 100644 --- a/src/devices/bus/coleco/ctrl.cpp +++ b/src/devices/bus/coleco/ctrl.cpp @@ -73,7 +73,8 @@ void colecovision_control_port_device::device_start() #include "hand.h" #include "sac.h" -SLOT_INTERFACE_START( colecovision_control_port_devices ) - SLOT_INTERFACE("hand", COLECO_HAND_CONTROLLER) - SLOT_INTERFACE("sac", COLECO_SUPER_ACTION_CONTROLLER) -SLOT_INTERFACE_END +void colecovision_control_port_devices(device_slot_interface &device) +{ + device.option_add("hand", COLECO_HAND_CONTROLLER); + device.option_add("sac", COLECO_SUPER_ACTION_CONTROLLER); +} diff --git a/src/devices/bus/coleco/ctrl.h b/src/devices/bus/coleco/ctrl.h index 75d1610e698..9d605415cb4 100644 --- a/src/devices/bus/coleco/ctrl.h +++ b/src/devices/bus/coleco/ctrl.h @@ -95,7 +95,7 @@ private: // device type definition DECLARE_DEVICE_TYPE(COLECOVISION_CONTROL_PORT, colecovision_control_port_device) -SLOT_INTERFACE_EXTERN( colecovision_control_port_devices ); +void colecovision_control_port_devices(device_slot_interface &device); #endif // MAME_BUS_COLECO_CTRL_H diff --git a/src/devices/bus/coleco/exp.cpp b/src/devices/bus/coleco/exp.cpp index b092fd5a49b..c2878c4523a 100644 --- a/src/devices/bus/coleco/exp.cpp +++ b/src/devices/bus/coleco/exp.cpp @@ -136,8 +136,9 @@ uint8_t colecovision_cartridge_slot_device::bd_r(address_space &space, offs_t of #include "std.h" #include "xin1.h" -SLOT_INTERFACE_START( colecovision_cartridges ) +void colecovision_cartridges(device_slot_interface &device) +{ // the following need ROMs from the software list - SLOT_INTERFACE_INTERNAL("standard", COLECOVISION_STANDARD) - SLOT_INTERFACE_INTERNAL("xin1", COLECOVISION_XIN1) -SLOT_INTERFACE_END + device.option_add_internal("standard", COLECOVISION_STANDARD); + device.option_add_internal("xin1", COLECOVISION_XIN1); +} diff --git a/src/devices/bus/coleco/exp.h b/src/devices/bus/coleco/exp.h index 4c4f8db8fa8..e722dfc1234 100644 --- a/src/devices/bus/coleco/exp.h +++ b/src/devices/bus/coleco/exp.h @@ -120,7 +120,7 @@ protected: // device type definition DECLARE_DEVICE_TYPE(COLECOVISION_CARTRIDGE_SLOT, colecovision_cartridge_slot_device) -SLOT_INTERFACE_EXTERN( colecovision_cartridges ); +void colecovision_cartridges(device_slot_interface &device); #endif // MAME_BUS_COLECO_EXP_H diff --git a/src/devices/bus/compis/graphics.cpp b/src/devices/bus/compis/graphics.cpp index cf66c311632..ec8db616003 100644 --- a/src/devices/bus/compis/graphics.cpp +++ b/src/devices/bus/compis/graphics.cpp @@ -67,7 +67,8 @@ void compis_graphics_slot_device::device_start() // slot devices #include "hrg.h" -SLOT_INTERFACE_START( compis_graphics_cards ) - SLOT_INTERFACE("hrg", COMPIS_HRG) - SLOT_INTERFACE("uhrg", COMPIS_UHRG) -SLOT_INTERFACE_END +void compis_graphics_cards(device_slot_interface &device) +{ + device.option_add("hrg", COMPIS_HRG); + device.option_add("uhrg", COMPIS_UHRG); +} diff --git a/src/devices/bus/compis/graphics.h b/src/devices/bus/compis/graphics.h index f42bb2bdd30..063a7d886b0 100644 --- a/src/devices/bus/compis/graphics.h +++ b/src/devices/bus/compis/graphics.h @@ -101,7 +101,7 @@ protected: DECLARE_DEVICE_TYPE(COMPIS_GRAPHICS_SLOT, compis_graphics_slot_device) -SLOT_INTERFACE_EXTERN( compis_graphics_cards ); +void compis_graphics_cards(device_slot_interface &device); #endif // MAME_BUS_COMPIS_GRAPHICS_H diff --git a/src/devices/bus/compucolor/floppy.cpp b/src/devices/bus/compucolor/floppy.cpp index af789ea7e43..f454a4f092a 100644 --- a/src/devices/bus/compucolor/floppy.cpp +++ b/src/devices/bus/compucolor/floppy.cpp @@ -23,9 +23,10 @@ DEFINE_DEVICE_TYPE(COMPUCOLOR_FLOPPY, compucolor_floppy_device, "compc // SLOT_INTERFACE( compucolor_floppy_port_devices ) //------------------------------------------------- -SLOT_INTERFACE_START( compucolor_floppy_port_devices ) - SLOT_INTERFACE("floppy", COMPUCOLOR_FLOPPY) -SLOT_INTERFACE_END +void compucolor_floppy_port_devices(device_slot_interface &device) +{ + device.option_add("floppy", COMPUCOLOR_FLOPPY); +} //------------------------------------------------- @@ -41,9 +42,10 @@ FLOPPY_FORMATS_END // SLOT_INTERFACE( compucolor_floppies ) //------------------------------------------------- -static SLOT_INTERFACE_START( compucolor_floppies ) - SLOT_INTERFACE_INTERNAL( "525sssd", FLOPPY_525_SSSD ) -SLOT_INTERFACE_END +static void compucolor_floppies(device_slot_interface &device) +{ + device.option_add_internal("525sssd", FLOPPY_525_SSSD); +} //------------------------------------------------- diff --git a/src/devices/bus/compucolor/floppy.h b/src/devices/bus/compucolor/floppy.h index 0a5c064acf1..e879517a30b 100644 --- a/src/devices/bus/compucolor/floppy.h +++ b/src/devices/bus/compucolor/floppy.h @@ -116,6 +116,6 @@ DECLARE_DEVICE_TYPE(COMPUCOLOR_FLOPPY, compucolor_floppy_device) // slot devices -SLOT_INTERFACE_EXTERN( compucolor_floppy_port_devices ); +void compucolor_floppy_port_devices(device_slot_interface &device); #endif // MAME_BUS_COMPUCOLOR_FLOPPY_H diff --git a/src/devices/bus/comx35/exp.cpp b/src/devices/bus/comx35/exp.cpp index 8c160829bdc..1780c0fab8b 100644 --- a/src/devices/bus/comx35/exp.cpp +++ b/src/devices/bus/comx35/exp.cpp @@ -176,13 +176,14 @@ READ_LINE_MEMBER( comx_expansion_slot_device::ef4_r ) #include "ram.h" #include "thermal.h" -SLOT_INTERFACE_START( comx_expansion_cards ) - SLOT_INTERFACE("eb", COMX_EB) - SLOT_INTERFACE("fd", COMX_FD) - SLOT_INTERFACE("clm", COMX_CLM) - SLOT_INTERFACE("ram", COMX_RAM) - SLOT_INTERFACE("joy", COMX_JOY) - SLOT_INTERFACE("prn", COMX_PRN) - SLOT_INTERFACE("thm", COMX_THM) - SLOT_INTERFACE("epr", COMX_EPR) -SLOT_INTERFACE_END +void comx_expansion_cards(device_slot_interface &device) +{ + device.option_add("eb", COMX_EB); + device.option_add("fd", COMX_FD); + device.option_add("clm", COMX_CLM); + device.option_add("ram", COMX_RAM); + device.option_add("joy", COMX_JOY); + device.option_add("prn", COMX_PRN); + device.option_add("thm", COMX_THM); + device.option_add("epr", COMX_EPR); +} diff --git a/src/devices/bus/comx35/exp.h b/src/devices/bus/comx35/exp.h index fb5831e31fe..6ffa7e9b67c 100644 --- a/src/devices/bus/comx35/exp.h +++ b/src/devices/bus/comx35/exp.h @@ -135,7 +135,7 @@ protected: DECLARE_DEVICE_TYPE(COMX_EXPANSION_SLOT, comx_expansion_slot_device) -SLOT_INTERFACE_EXTERN( comx_expansion_cards ); +void comx_expansion_cards(device_slot_interface &device); #endif // MAME_BUS_COMX35_EXP_H diff --git a/src/devices/bus/comx35/fdc.cpp b/src/devices/bus/comx35/fdc.cpp index 49ea672b1ee..962ff78c6af 100644 --- a/src/devices/bus/comx35/fdc.cpp +++ b/src/devices/bus/comx35/fdc.cpp @@ -85,10 +85,11 @@ FLOPPY_FORMATS_MEMBER( comx_fd_device::floppy_formats ) FLOPPY_COMX35_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( comx_fd_floppies ) - SLOT_INTERFACE( "525sd35t", FLOPPY_525_SD_35T ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void comx_fd_floppies(device_slot_interface &device) +{ + device.option_add("525sd35t", FLOPPY_525_SD_35T); + device.option_add("525qd", FLOPPY_525_QD); +} //------------------------------------------------- diff --git a/src/devices/bus/cpc/amdrum.cpp b/src/devices/bus/cpc/amdrum.cpp index bf11fb5e095..df9b0a7ff5f 100644 --- a/src/devices/bus/cpc/amdrum.cpp +++ b/src/devices/bus/cpc/amdrum.cpp @@ -24,7 +24,7 @@ MACHINE_CONFIG_START(cpc_amdrum_device::device_add_mconfig) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) // no pass-through MACHINE_CONFIG_END diff --git a/src/devices/bus/cpc/cpc_rom.cpp b/src/devices/bus/cpc/cpc_rom.cpp index cb71e375db8..af5150862e9 100644 --- a/src/devices/bus/cpc/cpc_rom.cpp +++ b/src/devices/bus/cpc/cpc_rom.cpp @@ -11,7 +11,7 @@ DEFINE_DEVICE_TYPE(CPC_ROM, cpc_rom_device, "cpc_rom", "CPC ROM Box") -SLOT_INTERFACE_EXTERN(cpc_exp_cards); +void cpc_exp_cards(device_slot_interface &device); //************************************************************************** // DEVICE CONFIG INTERFACE diff --git a/src/devices/bus/cpc/cpc_rs232.cpp b/src/devices/bus/cpc/cpc_rs232.cpp index c0914b93b68..688b1b4e2ab 100644 --- a/src/devices/bus/cpc/cpc_rs232.cpp +++ b/src/devices/bus/cpc/cpc_rs232.cpp @@ -9,7 +9,7 @@ #include "emu.h" #include "cpc_rs232.h" -SLOT_INTERFACE_EXTERN(cpc_exp_cards); +void cpc_exp_cards(device_slot_interface &device); //************************************************************************** // DEVICE DEFINITIONS diff --git a/src/devices/bus/cpc/cpc_ssa1.cpp b/src/devices/bus/cpc/cpc_ssa1.cpp index 59369e577df..47759ac3307 100644 --- a/src/devices/bus/cpc/cpc_ssa1.cpp +++ b/src/devices/bus/cpc/cpc_ssa1.cpp @@ -13,7 +13,7 @@ #include "speaker.h" -SLOT_INTERFACE_EXTERN(cpc_exp_cards); +void cpc_exp_cards(device_slot_interface &device); //************************************************************************** // DEVICE DEFINITIONS diff --git a/src/devices/bus/cpc/ddi1.cpp b/src/devices/bus/cpc/ddi1.cpp index 7364e899efb..13bb7950077 100644 --- a/src/devices/bus/cpc/ddi1.cpp +++ b/src/devices/bus/cpc/ddi1.cpp @@ -8,7 +8,7 @@ #include "ddi1.h" #include "softlist.h" -SLOT_INTERFACE_EXTERN(cpc_exp_cards); +void cpc_exp_cards(device_slot_interface &device); //************************************************************************** // DEVICE DEFINITIONS @@ -16,9 +16,10 @@ SLOT_INTERFACE_EXTERN(cpc_exp_cards); DEFINE_DEVICE_TYPE(CPC_DDI1, cpc_ddi1_device, "cpc_ddi1", "Amstrad DDI-1") -static SLOT_INTERFACE_START( ddi1_floppies ) - SLOT_INTERFACE( "3ssdd", FLOPPY_3_SSDD ) -SLOT_INTERFACE_END +static void ddi1_floppies(device_slot_interface &device) +{ + device.option_add("3ssdd", FLOPPY_3_SSDD); +} //------------------------------------------------- // Device ROM definition diff --git a/src/devices/bus/cpc/magicsound.cpp b/src/devices/bus/cpc/magicsound.cpp index ef3b9cb52e0..fef6582ae11 100644 --- a/src/devices/bus/cpc/magicsound.cpp +++ b/src/devices/bus/cpc/magicsound.cpp @@ -59,7 +59,7 @@ MACHINE_CONFIG_START(al_magicsound_device::device_add_mconfig) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) // no pass-through(?) MACHINE_CONFIG_END diff --git a/src/devices/bus/cpc/mface2.cpp b/src/devices/bus/cpc/mface2.cpp index 49cb59f54cc..98c2ded0ce8 100644 --- a/src/devices/bus/cpc/mface2.cpp +++ b/src/devices/bus/cpc/mface2.cpp @@ -9,7 +9,7 @@ #include "emu.h" #include "mface2.h" -SLOT_INTERFACE_EXTERN(cpc_exp_cards); +void cpc_exp_cards(device_slot_interface &device); //************************************************************************** // DEVICE DEFINITIONS diff --git a/src/devices/bus/cpc/playcity.cpp b/src/devices/bus/cpc/playcity.cpp index 9ec331ffd54..66c1bd715a5 100644 --- a/src/devices/bus/cpc/playcity.cpp +++ b/src/devices/bus/cpc/playcity.cpp @@ -15,7 +15,7 @@ #include "speaker.h" -SLOT_INTERFACE_EXTERN(cpc_exp_cards); +void cpc_exp_cards(device_slot_interface &device); //************************************************************************** // DEVICE DEFINITIONS diff --git a/src/devices/bus/ecbbus/ecbbus.cpp b/src/devices/bus/ecbbus/ecbbus.cpp index 625f2e46086..c5499f1fb6c 100644 --- a/src/devices/bus/ecbbus/ecbbus.cpp +++ b/src/devices/bus/ecbbus/ecbbus.cpp @@ -190,11 +190,12 @@ WRITE8_MEMBER( ecbbus_device::io_w ) // slot devices #include "grip.h" -SLOT_INTERFACE_START( ecbbus_cards ) - SLOT_INTERFACE("grip21", ECB_GRIP21) -/* SLOT_INTERFACE("grip25", ECB_GRIP25) - SLOT_INTERFACE("grip26", ECB_GRIP26) - SLOT_INTERFACE("grip31", ECB_GRIP31) - SLOT_INTERFACE("grip562", ECB_GRIP562) - SLOT_INTERFACE("grips115", ECB_GRIPS115)*/ -SLOT_INTERFACE_END +void ecbbus_cards(device_slot_interface &device) +{ + device.option_add("grip21", ECB_GRIP21); +/* device.option_add("grip25", ECB_GRIP25); + device.option_add("grip26", ECB_GRIP26); + device.option_add("grip31", ECB_GRIP31); + device.option_add("grip562", ECB_GRIP562); + device.option_add("grips115", ECB_GRIPS115);*/ +} diff --git a/src/devices/bus/ecbbus/ecbbus.h b/src/devices/bus/ecbbus/ecbbus.h index 442486c052c..b446b6ee0ae 100644 --- a/src/devices/bus/ecbbus/ecbbus.h +++ b/src/devices/bus/ecbbus/ecbbus.h @@ -177,7 +177,7 @@ protected: }; -SLOT_INTERFACE_EXTERN( ecbbus_cards ); +void ecbbus_cards(device_slot_interface &device); diff --git a/src/devices/bus/econet/e01.cpp b/src/devices/bus/econet/e01.cpp index dd0e10b86a0..ec668e3954e 100644 --- a/src/devices/bus/econet/e01.cpp +++ b/src/devices/bus/econet/e01.cpp @@ -173,9 +173,10 @@ FLOPPY_FORMATS_MEMBER( econet_e01_device::floppy_formats_afs ) FLOPPY_AFS_FORMAT FLOPPY_FORMATS_END0 -static SLOT_INTERFACE_START( e01_floppies ) - SLOT_INTERFACE( "35dd", FLOPPY_35_DD ) // NEC FD1036 A -SLOT_INTERFACE_END +static void e01_floppies(device_slot_interface &device) +{ + device.option_add("35dd", FLOPPY_35_DD); // NEC FD1036 A +} WRITE_LINE_MEMBER( econet_e01_device::fdc_irq_w ) { diff --git a/src/devices/bus/econet/econet.cpp b/src/devices/bus/econet/econet.cpp index 2b9b961af88..3cc15bc224b 100644 --- a/src/devices/bus/econet/econet.cpp +++ b/src/devices/bus/econet/econet.cpp @@ -298,7 +298,8 @@ void econet_device::data_w(device_t *device, int state) // slot devices #include "e01.h" -SLOT_INTERFACE_START( econet_devices ) - SLOT_INTERFACE("e01", ECONET_E01) - SLOT_INTERFACE("e01s", ECONET_E01S) -SLOT_INTERFACE_END +void econet_devices(device_slot_interface &device) +{ + device.option_add("e01", ECONET_E01); + device.option_add("e01s", ECONET_E01S); +} diff --git a/src/devices/bus/econet/econet.h b/src/devices/bus/econet/econet.h index 9bed6727da0..9b731d27b67 100644 --- a/src/devices/bus/econet/econet.h +++ b/src/devices/bus/econet/econet.h @@ -160,8 +160,6 @@ DECLARE_DEVICE_TYPE(ECONET, econet_device) DECLARE_DEVICE_TYPE(ECONET_SLOT, econet_slot_device) -SLOT_INTERFACE_EXTERN( econet_devices ); - - +void econet_devices(device_slot_interface &device); #endif // MAME_BUS_ECONET_ECONET_H diff --git a/src/devices/bus/einstein/pipe/pipe.cpp b/src/devices/bus/einstein/pipe/pipe.cpp index 51169544ba7..b40038e650b 100644 --- a/src/devices/bus/einstein/pipe/pipe.cpp +++ b/src/devices/bus/einstein/pipe/pipe.cpp @@ -129,8 +129,9 @@ device_tatung_pipe_interface::~device_tatung_pipe_interface() // SLOT INTERFACE //************************************************************************** -SLOT_INTERFACE_START( tatung_pipe_cards ) - SLOT_INTERFACE("silicon_disc", EINSTEIN_SILICON_DISC) - SLOT_INTERFACE("speculator", EINSTEIN_SPECULATOR) - SLOT_INTERFACE("tk02", TK02_80COL) -SLOT_INTERFACE_END +void tatung_pipe_cards(device_slot_interface &device) +{ + device.option_add("silicon_disc", EINSTEIN_SILICON_DISC); + device.option_add("speculator", EINSTEIN_SPECULATOR); + device.option_add("tk02", TK02_80COL); +} diff --git a/src/devices/bus/einstein/pipe/pipe.h b/src/devices/bus/einstein/pipe/pipe.h index 222ebe18e0c..078a88fe004 100644 --- a/src/devices/bus/einstein/pipe/pipe.h +++ b/src/devices/bus/einstein/pipe/pipe.h @@ -131,6 +131,6 @@ protected: DECLARE_DEVICE_TYPE(TATUNG_PIPE, tatung_pipe_device) // supported devices -SLOT_INTERFACE_EXTERN(tatung_pipe_cards); +void tatung_pipe_cards(device_slot_interface &device); #endif // MAME_BUS_EINSTEIN_PIPE_PIPE_H diff --git a/src/devices/bus/einstein/userport/userport.cpp b/src/devices/bus/einstein/userport/userport.cpp index d38dba12af9..419c24d94d4 100644 --- a/src/devices/bus/einstein/userport/userport.cpp +++ b/src/devices/bus/einstein/userport/userport.cpp @@ -118,7 +118,8 @@ device_einstein_userport_interface::~device_einstein_userport_interface() // SLOT INTERFACE //************************************************************************** -SLOT_INTERFACE_START( einstein_userport_cards ) - SLOT_INTERFACE("mouse", EINSTEIN_MOUSE) - SLOT_INTERFACE("speech", EINSTEIN_SPEECH) -SLOT_INTERFACE_END +void einstein_userport_cards(device_slot_interface &device) +{ + device.option_add("mouse", EINSTEIN_MOUSE); + device.option_add("speech", EINSTEIN_SPEECH); +} diff --git a/src/devices/bus/einstein/userport/userport.h b/src/devices/bus/einstein/userport/userport.h index ea00d229b08..a0c650b2193 100644 --- a/src/devices/bus/einstein/userport/userport.h +++ b/src/devices/bus/einstein/userport/userport.h @@ -90,6 +90,6 @@ protected: DECLARE_DEVICE_TYPE(EINSTEIN_USERPORT, einstein_userport_device) // supported devices -SLOT_INTERFACE_EXTERN(einstein_userport_cards); +void einstein_userport_cards(device_slot_interface &device); #endif // MAME_BUS_EINSTEIN_USERPORT_USERPORT_H diff --git a/src/devices/bus/electron/cart/ap34.cpp b/src/devices/bus/electron/cart/ap34.cpp index d22fd885c04..053017c3c62 100644 --- a/src/devices/bus/electron/cart/ap34.cpp +++ b/src/devices/bus/electron/cart/ap34.cpp @@ -34,10 +34,11 @@ FLOPPY_FORMATS_MEMBER(electron_ap34_device::floppy_formats) FLOPPY_ACORN_ADFS_OLD_FORMAT FLOPPY_FORMATS_END0 -SLOT_INTERFACE_START(ap34_floppies) - SLOT_INTERFACE("35dd", FLOPPY_35_DD) - SLOT_INTERFACE("525qd", FLOPPY_525_QD) -SLOT_INTERFACE_END +void ap34_floppies(device_slot_interface &device) +{ + device.option_add("35dd", FLOPPY_35_DD); + device.option_add("525qd", FLOPPY_525_QD); +} //------------------------------------------------- // device_add_mconfig - add device configuration diff --git a/src/devices/bus/electron/cart/cumana.cpp b/src/devices/bus/electron/cart/cumana.cpp index ef184695f9f..94024d66053 100644 --- a/src/devices/bus/electron/cart/cumana.cpp +++ b/src/devices/bus/electron/cart/cumana.cpp @@ -35,10 +35,11 @@ FLOPPY_FORMATS_MEMBER(electron_cumana_device::floppy_formats) FLOPPY_ACORN_ADFS_OLD_FORMAT FLOPPY_FORMATS_END0 -SLOT_INTERFACE_START(cumana_floppies) - SLOT_INTERFACE("35dd", FLOPPY_35_DD) - SLOT_INTERFACE("525qd", FLOPPY_525_QD) -SLOT_INTERFACE_END +void cumana_floppies(device_slot_interface &device) +{ + device.option_add("35dd", FLOPPY_35_DD); + device.option_add("525qd", FLOPPY_525_QD); +} //------------------------------------------------- // device_add_mconfig - add device configuration diff --git a/src/devices/bus/electron/cart/peg400.cpp b/src/devices/bus/electron/cart/peg400.cpp index 1bf8442421f..9e8df57c310 100644 --- a/src/devices/bus/electron/cart/peg400.cpp +++ b/src/devices/bus/electron/cart/peg400.cpp @@ -31,10 +31,11 @@ FLOPPY_FORMATS_MEMBER(electron_peg400_device::floppy_formats) FLOPPY_ACORN_ADFS_OLD_FORMAT FLOPPY_FORMATS_END0 -SLOT_INTERFACE_START(peg400_floppies) - SLOT_INTERFACE("35dd", FLOPPY_35_DD) - SLOT_INTERFACE("525qd", FLOPPY_525_QD) -SLOT_INTERFACE_END +void peg400_floppies(device_slot_interface &device) +{ + device.option_add("35dd", FLOPPY_35_DD); + device.option_add("525qd", FLOPPY_525_QD); +} //------------------------------------------------- // device_add_mconfig - add device configuration diff --git a/src/devices/bus/electron/cart/slot.cpp b/src/devices/bus/electron/cart/slot.cpp index 8a13e2a4664..aae2f65594d 100644 --- a/src/devices/bus/electron/cart/slot.cpp +++ b/src/devices/bus/electron/cart/slot.cpp @@ -280,17 +280,18 @@ void electron_cartslot_device::write(address_space &space, offs_t offset, uint8_ #include "std.h" -SLOT_INTERFACE_START(electron_cart) - SLOT_INTERFACE_INTERNAL("std", ELECTRON_STDCART) - SLOT_INTERFACE_INTERNAL("abr", ELECTRON_ABR) - SLOT_INTERFACE_INTERNAL("ap34", ELECTRON_AP34) - SLOT_INTERFACE_INTERNAL("aqr", ELECTRON_AQR) - SLOT_INTERFACE_INTERNAL("click", ELECTRON_CLICK) - SLOT_INTERFACE_INTERNAL("cumana", ELECTRON_CUMANA) - SLOT_INTERFACE_INTERNAL("mgc", ELECTRON_MGC) - SLOT_INTERFACE_INTERNAL("peg400", ELECTRON_PEG400) - SLOT_INTERFACE_INTERNAL("sndexp", ELECTRON_SNDEXP) - SLOT_INTERFACE_INTERNAL("sndexp3", ELECTRON_SNDEXP3) - SLOT_INTERFACE_INTERNAL("sp64", ELECTRON_SP64) - SLOT_INTERFACE_INTERNAL("stlefs", ELECTRON_STLEFS) -SLOT_INTERFACE_END +void electron_cart(device_slot_interface &device) +{ + device.option_add_internal("std", ELECTRON_STDCART); + device.option_add_internal("abr", ELECTRON_ABR); + device.option_add_internal("ap34", ELECTRON_AP34); + device.option_add_internal("aqr", ELECTRON_AQR); + device.option_add_internal("click", ELECTRON_CLICK); + device.option_add_internal("cumana", ELECTRON_CUMANA); + device.option_add_internal("mgc", ELECTRON_MGC); + device.option_add_internal("peg400", ELECTRON_PEG400); + device.option_add_internal("sndexp", ELECTRON_SNDEXP); + device.option_add_internal("sndexp3", ELECTRON_SNDEXP3); + device.option_add_internal("sp64", ELECTRON_SP64); + device.option_add_internal("stlefs", ELECTRON_STLEFS); +} diff --git a/src/devices/bus/electron/cart/slot.h b/src/devices/bus/electron/cart/slot.h index 533c4bb4555..3b7b934ff1e 100644 --- a/src/devices/bus/electron/cart/slot.h +++ b/src/devices/bus/electron/cart/slot.h @@ -212,7 +212,7 @@ protected: // device type definition DECLARE_DEVICE_TYPE(ELECTRON_CARTSLOT, electron_cartslot_device) -SLOT_INTERFACE_EXTERN(electron_cart); +void electron_cart(device_slot_interface &device); #endif // MAME_BUS_ELECTRON_CARTSLOT_H diff --git a/src/devices/bus/electron/cart/stlefs.cpp b/src/devices/bus/electron/cart/stlefs.cpp index 29cfdf471e1..a47dca06e67 100644 --- a/src/devices/bus/electron/cart/stlefs.cpp +++ b/src/devices/bus/electron/cart/stlefs.cpp @@ -34,10 +34,11 @@ FLOPPY_FORMATS_MEMBER(electron_stlefs_device::floppy_formats) FLOPPY_ACORN_ADFS_OLD_FORMAT FLOPPY_FORMATS_END -SLOT_INTERFACE_START(stlefs_floppies) - SLOT_INTERFACE("35dd", FLOPPY_35_DD) - SLOT_INTERFACE("525qd", FLOPPY_525_QD) -SLOT_INTERFACE_END +void stlefs_floppies(device_slot_interface &device) +{ + device.option_add("35dd", FLOPPY_35_DD); + device.option_add("525qd", FLOPPY_525_QD); +} //------------------------------------------------- // device_add_mconfig - add device configuration diff --git a/src/devices/bus/electron/exp.cpp b/src/devices/bus/electron/exp.cpp index 476eba184ca..9d78af460a9 100644 --- a/src/devices/bus/electron/exp.cpp +++ b/src/devices/bus/electron/exp.cpp @@ -134,15 +134,16 @@ void electron_expansion_slot_device::expbus_w(address_space &space, offs_t offse //#include "voxbox.h" -SLOT_INTERFACE_START( electron_expansion_devices ) - SLOT_INTERFACE("fbjoy", ELECTRON_FBJOY) - //SLOT_INTERFACE("fbprint", ELECTRON_FBPRINT) - //SLOT_INTERFACE("jafamode7", ELECTRON_JAFAMODE7) - SLOT_INTERFACE("plus1", ELECTRON_PLUS1) - SLOT_INTERFACE("plus3", ELECTRON_PLUS3) - SLOT_INTERFACE("pwrjoy", ELECTRON_PWRJOY) - SLOT_INTERFACE("rombox", ELECTRON_ROMBOX) - SLOT_INTERFACE("romboxp", ELECTRON_ROMBOXP) - SLOT_INTERFACE("m2105", ELECTRON_M2105) - //SLOT_INTERFACE("voxbox", ELECTRON_VOXBOX) -SLOT_INTERFACE_END +void electron_expansion_devices(device_slot_interface &device) +{ + device.option_add("fbjoy", ELECTRON_FBJOY); + //device.option_add("fbprint", ELECTRON_FBPRINT); + //device.option_add("jafamode7", ELECTRON_JAFAMODE7); + device.option_add("plus1", ELECTRON_PLUS1); + device.option_add("plus3", ELECTRON_PLUS3); + device.option_add("pwrjoy", ELECTRON_PWRJOY); + device.option_add("rombox", ELECTRON_ROMBOX); + device.option_add("romboxp", ELECTRON_ROMBOXP); + device.option_add("m2105", ELECTRON_M2105); + //device.option_add("voxbox", ELECTRON_VOXBOX); +} diff --git a/src/devices/bus/electron/exp.h b/src/devices/bus/electron/exp.h index db6d7c46248..25657cc3a06 100644 --- a/src/devices/bus/electron/exp.h +++ b/src/devices/bus/electron/exp.h @@ -176,7 +176,7 @@ protected: // device type definition DECLARE_DEVICE_TYPE(ELECTRON_EXPANSION_SLOT, electron_expansion_slot_device) -SLOT_INTERFACE_EXTERN( electron_expansion_devices ); +void electron_expansion_devices(device_slot_interface &device); #endif // MAME_BUS_ELECTRON_EXP_H diff --git a/src/devices/bus/electron/plus3.cpp b/src/devices/bus/electron/plus3.cpp index 62c30b1ad1f..5eb2f88ccb3 100644 --- a/src/devices/bus/electron/plus3.cpp +++ b/src/devices/bus/electron/plus3.cpp @@ -36,10 +36,11 @@ FLOPPY_FORMATS_MEMBER(electron_plus3_device::floppy_formats) FLOPPY_ACORN_ADFS_OLD_FORMAT FLOPPY_FORMATS_END0 -SLOT_INTERFACE_START(electron_floppies) - SLOT_INTERFACE("35dd", FLOPPY_35_DD) - SLOT_INTERFACE("525qd", FLOPPY_525_QD) -SLOT_INTERFACE_END +void electron_floppies(device_slot_interface &device) +{ + device.option_add("35dd", FLOPPY_35_DD); + device.option_add("525qd", FLOPPY_525_QD); +} ROM_START( plus3 ) diff --git a/src/devices/bus/ep64/exdos.cpp b/src/devices/bus/ep64/exdos.cpp index eb5b61229c9..1518130681f 100644 --- a/src/devices/bus/ep64/exdos.cpp +++ b/src/devices/bus/ep64/exdos.cpp @@ -93,9 +93,10 @@ FLOPPY_FORMATS_MEMBER( ep64_exdos_device::floppy_formats ) FLOPPY_EP64_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( ep64_exdos_floppies ) - SLOT_INTERFACE( "35dd", FLOPPY_35_DD ) -SLOT_INTERFACE_END +static void ep64_exdos_floppies(device_slot_interface &device) +{ + device.option_add("35dd", FLOPPY_35_DD); +} //------------------------------------------------- diff --git a/src/devices/bus/ep64/exp.cpp b/src/devices/bus/ep64/exp.cpp index 29623ce5993..32ef220519d 100644 --- a/src/devices/bus/ep64/exp.cpp +++ b/src/devices/bus/ep64/exp.cpp @@ -101,6 +101,7 @@ void ep64_expansion_bus_slot_device::device_reset() // slot devices #include "exdos.h" -SLOT_INTERFACE_START( ep64_expansion_bus_cards ) - SLOT_INTERFACE("exdos", EP64_EXDOS) -SLOT_INTERFACE_END +void ep64_expansion_bus_cards(device_slot_interface &device) +{ + device.option_add("exdos", EP64_EXDOS); +} diff --git a/src/devices/bus/ep64/exp.h b/src/devices/bus/ep64/exp.h index 223be36d7e8..b101fa29f70 100644 --- a/src/devices/bus/ep64/exp.h +++ b/src/devices/bus/ep64/exp.h @@ -143,7 +143,7 @@ protected: DECLARE_DEVICE_TYPE(EP64_EXPANSION_BUS_SLOT, ep64_expansion_bus_slot_device) -SLOT_INTERFACE_EXTERN( ep64_expansion_bus_cards ); +void ep64_expansion_bus_cards(device_slot_interface &device); #endif // MAME_BUS_EP64_EXP_H diff --git a/src/devices/bus/epson_sio/epson_sio.cpp b/src/devices/bus/epson_sio/epson_sio.cpp index 74e9294d456..32a572bb45d 100644 --- a/src/devices/bus/epson_sio/epson_sio.cpp +++ b/src/devices/bus/epson_sio/epson_sio.cpp @@ -111,7 +111,8 @@ WRITE_LINE_MEMBER( epson_sio_device::pout_w ) // SLOT INTERFACE //************************************************************************** -SLOT_INTERFACE_START( epson_sio_devices ) - SLOT_INTERFACE("pf10", EPSON_PF10) - SLOT_INTERFACE("tf20", EPSON_TF20) -SLOT_INTERFACE_END +void epson_sio_devices(device_slot_interface &device) +{ + device.option_add("pf10", EPSON_PF10); + device.option_add("tf20", EPSON_TF20); +} diff --git a/src/devices/bus/epson_sio/epson_sio.h b/src/devices/bus/epson_sio/epson_sio.h index 814dbf6d5fd..8da0a4b3e44 100644 --- a/src/devices/bus/epson_sio/epson_sio.h +++ b/src/devices/bus/epson_sio/epson_sio.h @@ -90,7 +90,7 @@ DECLARE_DEVICE_TYPE(EPSON_SIO, epson_sio_device) // supported devices -SLOT_INTERFACE_EXTERN( epson_sio_devices ); +void epson_sio_devices(device_slot_interface &device); #endif // MAME_BUS_EPSON_SIO_EPSON_SIO_H diff --git a/src/devices/bus/epson_sio/pf10.cpp b/src/devices/bus/epson_sio/pf10.cpp index 296dea50d4c..aa358832041 100644 --- a/src/devices/bus/epson_sio/pf10.cpp +++ b/src/devices/bus/epson_sio/pf10.cpp @@ -61,9 +61,10 @@ const tiny_rom_entry *epson_pf10_device::device_rom_region() const // device_add_mconfig - add device configuration //------------------------------------------------- -static SLOT_INTERFACE_START( pf10_floppies ) - SLOT_INTERFACE( "smd165", EPSON_SMD_165 ) -SLOT_INTERFACE_END +static void pf10_floppies(device_slot_interface &device) +{ + device.option_add("smd165", EPSON_SMD_165); +} MACHINE_CONFIG_START(epson_pf10_device::device_add_mconfig) MCFG_CPU_ADD("maincpu", HD6303Y, XTAL(4'915'200)) // HD63A03XF diff --git a/src/devices/bus/epson_sio/tf20.cpp b/src/devices/bus/epson_sio/tf20.cpp index 572baf96621..b59592d6f5b 100644 --- a/src/devices/bus/epson_sio/tf20.cpp +++ b/src/devices/bus/epson_sio/tf20.cpp @@ -81,9 +81,10 @@ ioport_constructor epson_tf20_device::device_input_ports() const // device_add_mconfig - add device configuration //------------------------------------------------- -static SLOT_INTERFACE_START( tf20_floppies ) - SLOT_INTERFACE( "sd320", EPSON_SD_320 ) -SLOT_INTERFACE_END +static void tf20_floppies(device_slot_interface &device) +{ + device.option_add("sd320", EPSON_SD_320); +} MACHINE_CONFIG_START(epson_tf20_device::device_add_mconfig) MCFG_CPU_ADD("19b", Z80, XTAL_CR1 / 2) /* uPD780C */ diff --git a/src/devices/bus/gamate/rom.cpp b/src/devices/bus/gamate/rom.cpp index 18499332bff..cda37716b5f 100644 --- a/src/devices/bus/gamate/rom.cpp +++ b/src/devices/bus/gamate/rom.cpp @@ -177,8 +177,9 @@ MACHINE_CONFIG_END slot interface -------------------------------------------------*/ -SLOT_INTERFACE_START(gamate_cart) - SLOT_INTERFACE_INTERNAL("plain", GAMATE_ROM_PLAIN) - SLOT_INTERFACE_INTERNAL("banked", GAMATE_ROM_BANKED) - SLOT_INTERFACE_INTERNAL("4in1", GAMATE_ROM_4IN1) -SLOT_INTERFACE_END +void gamate_cart(device_slot_interface &device) +{ + device.option_add_internal("plain", GAMATE_ROM_PLAIN); + device.option_add_internal("banked", GAMATE_ROM_BANKED); + device.option_add_internal("4in1", GAMATE_ROM_4IN1); +} diff --git a/src/devices/bus/gamate/slot.h b/src/devices/bus/gamate/slot.h index 802fdb360e3..0f48c490478 100644 --- a/src/devices/bus/gamate/slot.h +++ b/src/devices/bus/gamate/slot.h @@ -99,6 +99,6 @@ DECLARE_DEVICE_TYPE(GAMATE_CART_SLOT, gamate_cart_slot_device) MCFG_DEVICE_ADD(_tag, GAMATE_CART_SLOT, 0) \ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) -SLOT_INTERFACE_EXTERN( gamate_cart ); +void gamate_cart(device_slot_interface &device); #endif // MAME_BUS_GAMATE_SLOT_H diff --git a/src/devices/bus/gamegear/ggext.cpp b/src/devices/bus/gamegear/ggext.cpp index 4cdd0d59afc..86a8d1911a0 100644 --- a/src/devices/bus/gamegear/ggext.cpp +++ b/src/devices/bus/gamegear/ggext.cpp @@ -117,6 +117,7 @@ uint32_t gg_ext_port_device::pixel_r() // SLOT_INTERFACE( gg_ext_port_devices ) //------------------------------------------------- -SLOT_INTERFACE_START( gg_ext_port_devices ) - SLOT_INTERFACE("smsctrladp", SMS_CTRL_ADAPTOR) -SLOT_INTERFACE_END +void gg_ext_port_devices(device_slot_interface &device) +{ + device.option_add("smsctrladp", SMS_CTRL_ADAPTOR); +} diff --git a/src/devices/bus/gamegear/ggext.h b/src/devices/bus/gamegear/ggext.h index ca3447d1e96..d4dae3eb277 100644 --- a/src/devices/bus/gamegear/ggext.h +++ b/src/devices/bus/gamegear/ggext.h @@ -115,7 +115,7 @@ protected: DECLARE_DEVICE_TYPE(GG_EXT_PORT, gg_ext_port_device) -SLOT_INTERFACE_EXTERN(gg_ext_port_devices); +void gg_ext_port_devices(device_slot_interface &device); #endif // MAME_BUS_GAMEGEAR_GGEXT_H diff --git a/src/devices/bus/generic/carts.cpp b/src/devices/bus/generic/carts.cpp index 032899823f8..e6b1a617eff 100644 --- a/src/devices/bus/generic/carts.cpp +++ b/src/devices/bus/generic/carts.cpp @@ -13,14 +13,17 @@ #include "ram.h" -SLOT_INTERFACE_START(generic_plain_slot) - SLOT_INTERFACE_INTERNAL("rom", GENERIC_ROM_PLAIN) -SLOT_INTERFACE_END +void generic_plain_slot(device_slot_interface &device) +{ + device.option_add_internal("rom", GENERIC_ROM_PLAIN); +} -SLOT_INTERFACE_START(generic_linear_slot) - SLOT_INTERFACE_INTERNAL("rom", GENERIC_ROM_LINEAR) -SLOT_INTERFACE_END +void generic_linear_slot(device_slot_interface &device) +{ + device.option_add_internal("rom", GENERIC_ROM_LINEAR); +} -SLOT_INTERFACE_START(generic_romram_plain_slot) - SLOT_INTERFACE_INTERNAL("rom", GENERIC_ROMRAM_PLAIN) -SLOT_INTERFACE_END +void generic_romram_plain_slot(device_slot_interface &device) +{ + device.option_add_internal("rom", GENERIC_ROMRAM_PLAIN); +} diff --git a/src/devices/bus/generic/carts.h b/src/devices/bus/generic/carts.h index a5b4660b4dc..a859bfca0c0 100644 --- a/src/devices/bus/generic/carts.h +++ b/src/devices/bus/generic/carts.h @@ -12,8 +12,8 @@ #pragma once -SLOT_INTERFACE_EXTERN( generic_plain_slot ); -SLOT_INTERFACE_EXTERN( generic_linear_slot ); -SLOT_INTERFACE_EXTERN( generic_romram_plain_slot ); +void generic_plain_slot(device_slot_interface &device); +void generic_linear_slot(device_slot_interface &device); +void generic_romram_plain_slot(device_slot_interface &device); #endif // MAME_BUS_GENERIC_CARTS_H diff --git a/src/devices/bus/hexbus/hexbus.cpp b/src/devices/bus/hexbus/hexbus.cpp index 257a82b5054..4b1e390363a 100644 --- a/src/devices/bus/hexbus/hexbus.cpp +++ b/src/devices/bus/hexbus/hexbus.cpp @@ -342,7 +342,8 @@ uint8_t hexbus_chained_device::to_line_state(uint8_t data, bool bav, bool hsk) } } // end namespace bus::hexbus -SLOT_INTERFACE_START( hexbus_conn ) - SLOT_INTERFACE("hx5102", HX5102) -SLOT_INTERFACE_END +void hexbus_conn(device_slot_interface &device) +{ + device.option_add("hx5102", HX5102); +} diff --git a/src/devices/bus/hexbus/hexbus.h b/src/devices/bus/hexbus/hexbus.h index d94a91c47a5..e6e56ea4b38 100644 --- a/src/devices/bus/hexbus/hexbus.h +++ b/src/devices/bus/hexbus/hexbus.h @@ -134,7 +134,7 @@ private: } } // end namespace bus::hexbus -SLOT_INTERFACE_EXTERN( hexbus_conn ); +void hexbus_conn(device_slot_interface &device); DECLARE_DEVICE_TYPE_NS(HEXBUS, bus::hexbus, hexbus_device) diff --git a/src/devices/bus/hexbus/hx5102.cpp b/src/devices/bus/hexbus/hx5102.cpp index 2d92b86c874..d4bbbc953e3 100644 --- a/src/devices/bus/hexbus/hx5102.cpp +++ b/src/devices/bus/hexbus/hx5102.cpp @@ -614,9 +614,10 @@ FLOPPY_FORMATS_END Only one fixed floppy drive in the device. External connectors are available, though. */ -static SLOT_INTERFACE_START( hx5102_drive ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) -SLOT_INTERFACE_END +static void hx5102_drive(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); +} /* HX5102 configuration diff --git a/src/devices/bus/hp80_io/hp80_io.cpp b/src/devices/bus/hp80_io/hp80_io.cpp index e9ab08bb43c..8004ce06bd4 100644 --- a/src/devices/bus/hp80_io/hp80_io.cpp +++ b/src/devices/bus/hp80_io/hp80_io.cpp @@ -145,6 +145,7 @@ WRITE_LINE_MEMBER(hp80_io_card_device::halt_w) #include "82937.h" -SLOT_INTERFACE_START(hp80_io_slot_devices) -SLOT_INTERFACE("82937_hpib" , HP82937_IO_CARD) -SLOT_INTERFACE_END +void hp80_io_slot_devices(device_slot_interface &device) +{ + device.option_add("82937_hpib" , HP82937_IO_CARD); +} diff --git a/src/devices/bus/hp80_io/hp80_io.h b/src/devices/bus/hp80_io/hp80_io.h index 96cc40f562e..a1bd90f47ed 100644 --- a/src/devices/bus/hp80_io/hp80_io.h +++ b/src/devices/bus/hp80_io/hp80_io.h @@ -102,6 +102,6 @@ protected: // device type definition DECLARE_DEVICE_TYPE(HP80_IO_SLOT, hp80_io_slot_device) -SLOT_INTERFACE_EXTERN(hp80_io_slot_devices); +void hp80_io_slot_devices(device_slot_interface &device); #endif // MAME_BUS_HP80_IO_HP80_IO_H diff --git a/src/devices/bus/hp80_optroms/hp80_optrom.cpp b/src/devices/bus/hp80_optroms/hp80_optrom.cpp index 2797e37b69d..1816f0c0244 100644 --- a/src/devices/bus/hp80_optroms/hp80_optrom.cpp +++ b/src/devices/bus/hp80_optroms/hp80_optrom.cpp @@ -111,6 +111,7 @@ std::string hp80_optrom_slot_device::get_default_card_software(get_default_card_ return software_get_default_slot("rom"); } -SLOT_INTERFACE_START(hp80_optrom_slot_device) - SLOT_INTERFACE_INTERNAL("rom", HP80_OPTROM_CART) -SLOT_INTERFACE_END +void hp80_optrom_slot_devices(device_slot_interface &device) +{ + device.option_add_internal("rom", HP80_OPTROM_CART); +} diff --git a/src/devices/bus/hp80_optroms/hp80_optrom.h b/src/devices/bus/hp80_optroms/hp80_optrom.h index 2fd43456264..cb8dbd4903b 100644 --- a/src/devices/bus/hp80_optroms/hp80_optrom.h +++ b/src/devices/bus/hp80_optroms/hp80_optrom.h @@ -72,6 +72,6 @@ protected: DECLARE_DEVICE_TYPE(HP80_OPTROM_SLOT, hp80_optrom_slot_device) DECLARE_DEVICE_TYPE(HP80_OPTROM_CART, hp80_optrom_cart_device) -SLOT_INTERFACE_EXTERN(hp80_optrom_slot_device); +void hp80_optrom_slot_devices(device_slot_interface &device); #endif // MAME_BUS_HP80_OPTROMS_HP80_OPTROM_H diff --git a/src/devices/bus/hp9845_io/hp9845_io.cpp b/src/devices/bus/hp9845_io/hp9845_io.cpp index d270ac89e4b..61e4a90d721 100644 --- a/src/devices/bus/hp9845_io/hp9845_io.cpp +++ b/src/devices/bus/hp9845_io/hp9845_io.cpp @@ -126,7 +126,8 @@ void hp9845_io_card_device::flg_w(int state) #include "98035.h" #include "98034.h" -SLOT_INTERFACE_START(hp9845_io_slot_devices) -SLOT_INTERFACE("98034_hpib" , HP98034_IO_CARD) -SLOT_INTERFACE("98035_rtc" , HP98035_IO_CARD) -SLOT_INTERFACE_END +void hp9845_io_slot_devices(device_slot_interface &device) +{ + device.option_add("98034_hpib" , HP98034_IO_CARD); + device.option_add("98035_rtc" , HP98035_IO_CARD); +} diff --git a/src/devices/bus/hp9845_io/hp9845_io.h b/src/devices/bus/hp9845_io/hp9845_io.h index d2ee55b6d39..8b4065ce9e3 100644 --- a/src/devices/bus/hp9845_io/hp9845_io.h +++ b/src/devices/bus/hp9845_io/hp9845_io.h @@ -109,6 +109,6 @@ protected: // device type definition DECLARE_DEVICE_TYPE(HP9845_IO_SLOT, hp9845_io_slot_device) -SLOT_INTERFACE_EXTERN(hp9845_io_slot_devices); +void hp9845_io_slot_devices(device_slot_interface &device); #endif // MAME_BUS_HP9845_IO_HP9845_IO_H diff --git a/src/devices/bus/hp_hil/hil_devices.cpp b/src/devices/bus/hp_hil/hil_devices.cpp index c4a6988a6ae..4ef253de26c 100644 --- a/src/devices/bus/hp_hil/hil_devices.cpp +++ b/src/devices/bus/hp_hil/hil_devices.cpp @@ -6,6 +6,7 @@ #include "hlekbd.h" -SLOT_INTERFACE_START(hp_hil_devices) - SLOT_INTERFACE(STR_KBD_HP_INTEGRAL, HP_IPC_HLE_KEYBOARD) -SLOT_INTERFACE_END +void hp_hil_devices(device_slot_interface &device) +{ + device.option_add(STR_KBD_HP_INTEGRAL, HP_IPC_HLE_KEYBOARD); +} diff --git a/src/devices/bus/hp_hil/hil_devices.h b/src/devices/bus/hp_hil/hil_devices.h index 01b74af07a4..523366e9393 100644 --- a/src/devices/bus/hp_hil/hil_devices.h +++ b/src/devices/bus/hp_hil/hil_devices.h @@ -19,7 +19,7 @@ #define STR_MOUSE_HP_46060B "hp_46060b" // 3-button mouse -SLOT_INTERFACE_EXTERN(hp_hil_devices); +void hp_hil_devices(device_slot_interface &device); #endif // MAME_BUS_HP_HIL_HIL_DEVICES_H diff --git a/src/devices/bus/hp_optroms/hp_optrom.cpp b/src/devices/bus/hp_optroms/hp_optrom.cpp index 389293e7fea..58b4f556cfc 100644 --- a/src/devices/bus/hp_optroms/hp_optrom.cpp +++ b/src/devices/bus/hp_optroms/hp_optrom.cpp @@ -126,6 +126,7 @@ std::string hp_optrom_slot_device::get_default_card_software(get_default_card_so return software_get_default_slot("rom"); } -SLOT_INTERFACE_START(hp_optrom_slot_device) - SLOT_INTERFACE_INTERNAL("rom", HP_OPTROM_CART) -SLOT_INTERFACE_END +void hp_optrom_slot_devices(device_slot_interface &device) +{ + device.option_add_internal("rom", HP_OPTROM_CART); +} diff --git a/src/devices/bus/hp_optroms/hp_optrom.h b/src/devices/bus/hp_optroms/hp_optrom.h index dfc43021035..f2677884849 100644 --- a/src/devices/bus/hp_optroms/hp_optrom.h +++ b/src/devices/bus/hp_optroms/hp_optrom.h @@ -70,6 +70,6 @@ protected: DECLARE_DEVICE_TYPE(HP_OPTROM_SLOT, hp_optrom_slot_device) DECLARE_DEVICE_TYPE(HP_OPTROM_CART, hp_optrom_cart_device) -SLOT_INTERFACE_EXTERN(hp_optrom_slot_device); +void hp_optrom_slot_devices(device_slot_interface &device); #endif // MAME_BUS_HP_OPTROMS_HP_OPTROM_H diff --git a/src/devices/bus/ieee488/c2031.cpp b/src/devices/bus/ieee488/c2031.cpp index f18f8dee9cf..5a04cef0254 100644 --- a/src/devices/bus/ieee488/c2031.cpp +++ b/src/devices/bus/ieee488/c2031.cpp @@ -284,9 +284,10 @@ WRITE_LINE_MEMBER( c2031_device::byte_w ) // SLOT_INTERFACE( c2031_floppies ) //------------------------------------------------- -static SLOT_INTERFACE_START( c2031_floppies ) - SLOT_INTERFACE( "525ssqd", FLOPPY_525_SSQD ) -SLOT_INTERFACE_END +static void c2031_floppies(device_slot_interface &device) +{ + device.option_add("525ssqd", FLOPPY_525_SSQD); +} //------------------------------------------------- diff --git a/src/devices/bus/ieee488/c2040.cpp b/src/devices/bus/ieee488/c2040.cpp index 1e4adf7f19e..b6dde567971 100644 --- a/src/devices/bus/ieee488/c2040.cpp +++ b/src/devices/bus/ieee488/c2040.cpp @@ -410,9 +410,10 @@ WRITE8_MEMBER( c2040_device::via_pb_w ) // SLOT_INTERFACE( c2040_floppies ) //------------------------------------------------- -static SLOT_INTERFACE_START( c2040_floppies ) - SLOT_INTERFACE( "525ssqd", FLOPPY_525_SSQD ) -SLOT_INTERFACE_END +static void c2040_floppies(device_slot_interface &device) +{ + device.option_add("525ssqd", FLOPPY_525_SSQD); +} //------------------------------------------------- diff --git a/src/devices/bus/ieee488/c8050.cpp b/src/devices/bus/ieee488/c8050.cpp index cb18f562f26..f97ccc61f0d 100644 --- a/src/devices/bus/ieee488/c8050.cpp +++ b/src/devices/bus/ieee488/c8050.cpp @@ -462,9 +462,10 @@ WRITE8_MEMBER( c8050_device::via_pb_w ) // SLOT_INTERFACE( c8050_floppies ) //------------------------------------------------- -static SLOT_INTERFACE_START( c8050_floppies ) - SLOT_INTERFACE( "525ssqd", FLOPPY_525_SSQD ) -SLOT_INTERFACE_END +static void c8050_floppies(device_slot_interface &device) +{ + device.option_add("525ssqd", FLOPPY_525_SSQD); +} //------------------------------------------------- @@ -480,18 +481,20 @@ FLOPPY_FORMATS_END // SLOT_INTERFACE( c8250_floppies ) //------------------------------------------------- -static SLOT_INTERFACE_START( c8250_floppies ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void c8250_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); +} //------------------------------------------------- // SLOT_INTERFACE( sfd1001_floppies ) //------------------------------------------------- -static SLOT_INTERFACE_START( sfd1001_floppies ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) // Matsushita JU-570 / JU-570-2 -SLOT_INTERFACE_END +static void sfd1001_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); // Matsushita JU-570 / JU-570-2 +} //------------------------------------------------- diff --git a/src/devices/bus/ieee488/c8280.cpp b/src/devices/bus/ieee488/c8280.cpp index 4339075a24c..d032491c812 100644 --- a/src/devices/bus/ieee488/c8280.cpp +++ b/src/devices/bus/ieee488/c8280.cpp @@ -278,9 +278,10 @@ WRITE8_MEMBER( c8280_device::riot1_pb_w ) machine().output().set_led_value(LED_ERR, BIT(data, 5)); } -static SLOT_INTERFACE_START( c8280_floppies ) - SLOT_INTERFACE( "8dsdd", FLOPPY_8_DSDD ) -SLOT_INTERFACE_END +static void c8280_floppies(device_slot_interface &device) +{ + device.option_add("8dsdd", FLOPPY_8_DSDD); +} FLOPPY_FORMATS_MEMBER( c8280_device::floppy_formats ) FLOPPY_C8280_FORMAT diff --git a/src/devices/bus/ieee488/hp9895.cpp b/src/devices/bus/ieee488/hp9895.cpp index c35f820d6fd..565fc3ee924 100644 --- a/src/devices/bus/ieee488/hp9895.cpp +++ b/src/devices/bus/ieee488/hp9895.cpp @@ -869,9 +869,10 @@ void hp9895_device::z80_io_map(address_map &map) map(0x67, 0x67).r(this, FUNC(hp9895_device::switches2_r)); } -static SLOT_INTERFACE_START(hp9895_floppies) - SLOT_INTERFACE("8dsdd" , FLOPPY_8_DSDD) -SLOT_INTERFACE_END +static void hp9895_floppies(device_slot_interface &device) +{ + device.option_add("8dsdd" , FLOPPY_8_DSDD); +} static const floppy_format_type hp9895_floppy_formats[] = { FLOPPY_MFI_FORMAT, diff --git a/src/devices/bus/ieee488/ieee488.cpp b/src/devices/bus/ieee488/ieee488.cpp index 7903be8fe49..fac55803e9d 100644 --- a/src/devices/bus/ieee488/ieee488.cpp +++ b/src/devices/bus/ieee488/ieee488.cpp @@ -400,22 +400,23 @@ uint8_t ieee488_device::get_data() #include "shark.h" #include "softbox.h" -SLOT_INTERFACE_START( cbm_ieee488_devices ) - SLOT_INTERFACE("c2040", C2040) - SLOT_INTERFACE("c3040", C3040) - SLOT_INTERFACE("c4040", C4040) - SLOT_INTERFACE("c8050", C8050) - SLOT_INTERFACE("c8250", C8250) - SLOT_INTERFACE("sfd1001", SFD1001) - SLOT_INTERFACE("c2031", C2031) - SLOT_INTERFACE("c8280", C8280) - SLOT_INTERFACE("d9060", D9060) - SLOT_INTERFACE("d9090", D9090) - SLOT_INTERFACE("softbox", SOFTBOX) - SLOT_INTERFACE("hardbox", HARDBOX) - SLOT_INTERFACE("shark", MSHARK) - SLOT_INTERFACE("c4023", C4023) -SLOT_INTERFACE_END +void cbm_ieee488_devices(device_slot_interface &device) +{ + device.option_add("c2040", C2040); + device.option_add("c3040", C3040); + device.option_add("c4040", C4040); + device.option_add("c8050", C8050); + device.option_add("c8250", C8250); + device.option_add("sfd1001", SFD1001); + device.option_add("c2031", C2031); + device.option_add("c8280", C8280); + device.option_add("d9060", D9060); + device.option_add("d9090", D9090); + device.option_add("softbox", SOFTBOX); + device.option_add("hardbox", HARDBOX); + device.option_add("shark", MSHARK); + device.option_add("c4023", C4023); +} //------------------------------------------------- // SLOT_INTERFACE( hp_ieee488_devices ) @@ -424,9 +425,10 @@ SLOT_INTERFACE_END // slot devices #include "hp9895.h" -SLOT_INTERFACE_START(hp_ieee488_devices) - SLOT_INTERFACE("hp9895", HP9895) -SLOT_INTERFACE_END +void hp_ieee488_devices(device_slot_interface &device) +{ + device.option_add("hp9895", HP9895); +} //------------------------------------------------- // SLOT_INTERFACE( remote488_devices ) @@ -435,6 +437,7 @@ SLOT_INTERFACE_END // slot devices #include "remote488.h" -SLOT_INTERFACE_START(remote488_devices) - SLOT_INTERFACE("remote488", REMOTE488) -SLOT_INTERFACE_END +void remote488_devices(device_slot_interface &device) +{ + device.option_add("remote488", REMOTE488); +} diff --git a/src/devices/bus/ieee488/ieee488.h b/src/devices/bus/ieee488/ieee488.h index 94a4fbcaa21..68ec0080476 100644 --- a/src/devices/bus/ieee488/ieee488.h +++ b/src/devices/bus/ieee488/ieee488.h @@ -258,9 +258,9 @@ DECLARE_DEVICE_TYPE(IEEE488, ieee488_device) DECLARE_DEVICE_TYPE(IEEE488_SLOT, ieee488_slot_device) -SLOT_INTERFACE_EXTERN( cbm_ieee488_devices ); -SLOT_INTERFACE_EXTERN( hp_ieee488_devices ); -SLOT_INTERFACE_EXTERN( remote488_devices ); +void cbm_ieee488_devices(device_slot_interface &device); +void hp_ieee488_devices(device_slot_interface &device); +void remote488_devices(device_slot_interface &device); #endif // MAME_BUS_IEEE488_IEEE488_H diff --git a/src/devices/bus/ieee488/softbox.cpp b/src/devices/bus/ieee488/softbox.cpp index eb002f372d8..caad857c087 100644 --- a/src/devices/bus/ieee488/softbox.cpp +++ b/src/devices/bus/ieee488/softbox.cpp @@ -249,7 +249,7 @@ MACHINE_CONFIG_START(softbox_device::device_add_mconfig) MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, nullptr) MCFG_RS232_RXD_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_rxd)) MCFG_RS232_DSR_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_dsr)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) MCFG_DEVICE_ADD(I8255_0_TAG, I8255A, 0) MCFG_I8255_IN_PORTA_CB(READ8(softbox_device, ppi0_pa_r)) diff --git a/src/devices/bus/imi7000/imi7000.cpp b/src/devices/bus/imi7000/imi7000.cpp index 95f693a571e..f96e32d3da5 100644 --- a/src/devices/bus/imi7000/imi7000.cpp +++ b/src/devices/bus/imi7000/imi7000.cpp @@ -98,6 +98,7 @@ void imi7000_bus_device::device_start() #include "imi5000h.h" -SLOT_INTERFACE_START( imi7000_devices ) - SLOT_INTERFACE("imi5000h", IMI5000H) -SLOT_INTERFACE_END +void imi7000_devices(device_slot_interface &device) +{ + device.option_add("imi5000h", IMI5000H); +} diff --git a/src/devices/bus/imi7000/imi7000.h b/src/devices/bus/imi7000/imi7000.h index 90b195a2667..0559a565285 100644 --- a/src/devices/bus/imi7000/imi7000.h +++ b/src/devices/bus/imi7000/imi7000.h @@ -120,6 +120,6 @@ DECLARE_DEVICE_TYPE(IMI7000_SLOT, imi7000_slot_device) // slot interface -SLOT_INTERFACE_EXTERN( imi7000_devices ); +void imi7000_devices(device_slot_interface &device); #endif // MAME_BUS_IMI7000_IMI7000_H diff --git a/src/devices/bus/intellec4/intellec4.cpp b/src/devices/bus/intellec4/intellec4.cpp index 17b2df413e0..b74256d795f 100644 --- a/src/devices/bus/intellec4/intellec4.cpp +++ b/src/devices/bus/intellec4/intellec4.cpp @@ -290,8 +290,9 @@ void device_univ_card_interface::set_bus(univ_bus_device &bus) #include "prommemory.h" #include "tapereader.h" -SLOT_INTERFACE_START(intellec4_univ_cards) - SLOT_INTERFACE("imm4_22", INTELLEC4_INST_DATA_STORAGE) - SLOT_INTERFACE("imm6_26", INTELLEC4_PROM_MEMORY) - SLOT_INTERFACE("imm4_90", INTELLEC4_TAPE_READER) -SLOT_INTERFACE_END +void intellec4_univ_cards(device_slot_interface &device) +{ + device.option_add("imm4_22", INTELLEC4_INST_DATA_STORAGE); + device.option_add("imm6_26", INTELLEC4_PROM_MEMORY); + device.option_add("imm4_90", INTELLEC4_TAPE_READER); +} diff --git a/src/devices/bus/intellec4/intellec4.h b/src/devices/bus/intellec4/intellec4.h index c878d00e8c3..40b77370bb6 100644 --- a/src/devices/bus/intellec4/intellec4.h +++ b/src/devices/bus/intellec4/intellec4.h @@ -286,6 +286,6 @@ private: DECLARE_DEVICE_TYPE_NS(INTELLEC4_UNIV_SLOT, bus::intellec4, univ_slot_device) DECLARE_DEVICE_TYPE_NS(INTELLEC4_UNIV_BUS, bus::intellec4, univ_bus_device) -SLOT_INTERFACE_EXTERN( intellec4_univ_cards ); +void intellec4_univ_cards(device_slot_interface &device); #endif // MAME_BUS_INTELLEC4_INTELLEC4_H diff --git a/src/devices/bus/interpro/keyboard/keyboard.cpp b/src/devices/bus/interpro/keyboard/keyboard.cpp index e2758d135f6..518ae7176f3 100644 --- a/src/devices/bus/interpro/keyboard/keyboard.cpp +++ b/src/devices/bus/interpro/keyboard/keyboard.cpp @@ -57,7 +57,8 @@ device_interpro_keyboard_port_interface::~device_interpro_keyboard_port_interfac #include "hle.h" #include "lle.h" -SLOT_INTERFACE_START(interpro_keyboard_devices) - SLOT_INTERFACE("hle_en_us", INTERPRO_HLE_EN_US_KEYBOARD) - SLOT_INTERFACE("lle_en_us", INTERPRO_LLE_EN_US_KEYBOARD) -SLOT_INTERFACE_END +void interpro_keyboard_devices(device_slot_interface &device) +{ + device.option_add("hle_en_us", INTERPRO_HLE_EN_US_KEYBOARD); + device.option_add("lle_en_us", INTERPRO_LLE_EN_US_KEYBOARD); +} diff --git a/src/devices/bus/interpro/keyboard/keyboard.h b/src/devices/bus/interpro/keyboard/keyboard.h index 73389de6fea..f4bfc7cc0cb 100644 --- a/src/devices/bus/interpro/keyboard/keyboard.h +++ b/src/devices/bus/interpro/keyboard/keyboard.h @@ -60,6 +60,6 @@ protected: DECLARE_DEVICE_TYPE(INTERPRO_KEYBOARD_PORT, interpro_keyboard_port_device) -SLOT_INTERFACE_EXTERN(interpro_keyboard_devices); +void interpro_keyboard_devices(device_slot_interface &device); #endif // MAME_BUS_INTERPRO_KEYBOARD_KEYBOARD_H diff --git a/src/devices/bus/interpro/sr/sr_cards.cpp b/src/devices/bus/interpro/sr/sr_cards.cpp index ce15e772492..73a94821ad8 100644 --- a/src/devices/bus/interpro/sr/sr_cards.cpp +++ b/src/devices/bus/interpro/sr/sr_cards.cpp @@ -18,10 +18,11 @@ // other -SLOT_INTERFACE_START(sr_cards) - SLOT_INTERFACE("mpcb963", MPCB963) - SLOT_INTERFACE("mpcba79", MPCBA79) - SLOT_INTERFACE("mpcb070", MPCB070) - SLOT_INTERFACE("mpcb071", MPCB071) - SLOT_INTERFACE("mpcb081", MPCB081) -SLOT_INTERFACE_END +void sr_cards(device_slot_interface &device) +{ + device.option_add("mpcb963", MPCB963); + device.option_add("mpcba79", MPCBA79); + device.option_add("mpcb070", MPCB070); + device.option_add("mpcb071", MPCB071); + device.option_add("mpcb081", MPCB081); +} diff --git a/src/devices/bus/interpro/sr/sr_cards.h b/src/devices/bus/interpro/sr/sr_cards.h index b7f552173d4..f06c1d4e307 100644 --- a/src/devices/bus/interpro/sr/sr_cards.h +++ b/src/devices/bus/interpro/sr/sr_cards.h @@ -7,6 +7,6 @@ #pragma once // supported devices -SLOT_INTERFACE_EXTERN(sr_cards); +void sr_cards(device_slot_interface &device); #endif // MAME_BUS_INTERPRO_SR_SR_CARDS_H diff --git a/src/devices/bus/intv/slot.cpp b/src/devices/bus/intv/slot.cpp index d86c8fe91c4..0161c90b258 100644 --- a/src/devices/bus/intv/slot.cpp +++ b/src/devices/bus/intv/slot.cpp @@ -535,12 +535,13 @@ WRITE16_MEMBER(intv_cart_slot_device::write_speech) //#include "bus/intv/keycomp.h" #include "bus/intv/voice.h" -SLOT_INTERFACE_START(intv_cart) - SLOT_INTERFACE_INTERNAL("intv_rom", INTV_ROM_STD) - SLOT_INTERFACE_INTERNAL("intv_ram", INTV_ROM_RAM) - SLOT_INTERFACE_INTERNAL("intv_gfact", INTV_ROM_GFACT) - SLOT_INTERFACE_INTERNAL("intv_wsmlb", INTV_ROM_WSMLB) - SLOT_INTERFACE_INTERNAL("intv_voice", INTV_ROM_VOICE) - SLOT_INTERFACE_INTERNAL("intv_ecs", INTV_ROM_ECS) -// SLOT_INTERFACE_INTERNAL("intv_keycomp", INTV_ROM_KEYCOMP) -SLOT_INTERFACE_END +void intv_cart(device_slot_interface &device) +{ + device.option_add_internal("intv_rom", INTV_ROM_STD); + device.option_add_internal("intv_ram", INTV_ROM_RAM); + device.option_add_internal("intv_gfact", INTV_ROM_GFACT); + device.option_add_internal("intv_wsmlb", INTV_ROM_WSMLB); + device.option_add_internal("intv_voice", INTV_ROM_VOICE); + device.option_add_internal("intv_ecs", INTV_ROM_ECS); +// device.option_add_internal("intv_keycomp", INTV_ROM_KEYCOMP); +} diff --git a/src/devices/bus/intv/slot.h b/src/devices/bus/intv/slot.h index 9442160625a..bdec54dab76 100644 --- a/src/devices/bus/intv/slot.h +++ b/src/devices/bus/intv/slot.h @@ -183,6 +183,6 @@ DECLARE_DEVICE_TYPE(INTV_CART_SLOT, intv_cart_slot_device) MCFG_DEVICE_ADD(_tag, INTV_CART_SLOT, 0) \ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) -SLOT_INTERFACE_EXTERN(intv_cart); +void intv_cart(device_slot_interface &device); #endif // MAME_BUS_INTV_SLOT_H diff --git a/src/devices/bus/intv_ctrl/ctrl.cpp b/src/devices/bus/intv_ctrl/ctrl.cpp index 01b64ba6aef..122c98cf2ed 100644 --- a/src/devices/bus/intv_ctrl/ctrl.cpp +++ b/src/devices/bus/intv_ctrl/ctrl.cpp @@ -91,6 +91,7 @@ uint8_t intv_control_port_device::read_ctrl() // SLOT_INTERFACE( intv_control_port_devices ) //------------------------------------------------- -SLOT_INTERFACE_START( intv_control_port_devices ) - SLOT_INTERFACE("handctrl", INTV_HANDCTRL) -SLOT_INTERFACE_END +void intv_control_port_devices(device_slot_interface &device) +{ + device.option_add("handctrl", INTV_HANDCTRL); +} diff --git a/src/devices/bus/intv_ctrl/ctrl.h b/src/devices/bus/intv_ctrl/ctrl.h index a46011845f2..4a3ce67a688 100644 --- a/src/devices/bus/intv_ctrl/ctrl.h +++ b/src/devices/bus/intv_ctrl/ctrl.h @@ -69,7 +69,7 @@ DECLARE_DEVICE_TYPE(INTV_CONTROL_PORT, intv_control_port_device) -SLOT_INTERFACE_EXTERN( intv_control_port_devices ); +void intv_control_port_devices(device_slot_interface &device); #endif // MAME_BUS_INTV_CTRL_CTRL_H diff --git a/src/devices/bus/intv_ctrl/ecs_ctrl.cpp b/src/devices/bus/intv_ctrl/ecs_ctrl.cpp index ea3118619f9..e90292de645 100644 --- a/src/devices/bus/intv_ctrl/ecs_ctrl.cpp +++ b/src/devices/bus/intv_ctrl/ecs_ctrl.cpp @@ -118,11 +118,12 @@ void intvecs_control_port_device::write_portA(uint8_t data) // SLOT_INTERFACE( intvecs_control_port_devices ) //------------------------------------------------- -SLOT_INTERFACE_START( intvecs_control_port_devices ) - SLOT_INTERFACE("ctrls", ECS_CTRLS) - SLOT_INTERFACE("keybd", ECS_KEYBD) - SLOT_INTERFACE("synth", ECS_SYNTH) -SLOT_INTERFACE_END +void intvecs_control_port_devices(device_slot_interface &device) +{ + device.option_add("ctrls", ECS_CTRLS); + device.option_add("keybd", ECS_KEYBD); + device.option_add("synth", ECS_SYNTH); +} @@ -139,9 +140,10 @@ SLOT_INTERFACE_END DEFINE_DEVICE_TYPE(ECS_CTRLS, intvecs_ctrls_device, "intvecs_ctrls", "Mattel Intellivision ECS Hand Controller x2 (HACK)") -static SLOT_INTERFACE_START( intvecs_controller ) - SLOT_INTERFACE("handctrl", INTV_HANDCTRL) -SLOT_INTERFACE_END +static void intvecs_controller(device_slot_interface &device) +{ + device.option_add("handctrl", INTV_HANDCTRL); +} MACHINE_CONFIG_START(intvecs_ctrls_device::device_add_mconfig) MCFG_INTV_CONTROL_PORT_ADD("port1", intvecs_controller, "handctrl") diff --git a/src/devices/bus/intv_ctrl/ecs_ctrl.h b/src/devices/bus/intv_ctrl/ecs_ctrl.h index f7132c8e28b..923b5785358 100644 --- a/src/devices/bus/intv_ctrl/ecs_ctrl.h +++ b/src/devices/bus/intv_ctrl/ecs_ctrl.h @@ -78,7 +78,7 @@ DECLARE_DEVICE_TYPE(INTVECS_CONTROL_PORT, intvecs_control_port_device) -SLOT_INTERFACE_EXTERN( intvecs_control_port_devices ); +void intvecs_control_port_devices(device_slot_interface &device); //************************************************************************** diff --git a/src/devices/bus/iq151/disc2.cpp b/src/devices/bus/iq151/disc2.cpp index 32a21069831..d48ea10e9c2 100644 --- a/src/devices/bus/iq151/disc2.cpp +++ b/src/devices/bus/iq151/disc2.cpp @@ -19,9 +19,10 @@ FLOPPY_FORMATS_MEMBER( iq151_disc2_device::floppy_formats ) FLOPPY_IQ151_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( iq151_disc2_floppies ) - SLOT_INTERFACE( "8sssd", FLOPPY_8_SSSD ) -SLOT_INTERFACE_END +static void iq151_disc2_floppies(device_slot_interface &device) +{ + device.option_add("8sssd", FLOPPY_8_SSSD); +} ROM_START( iq151_disc2 ) ROM_REGION(0x0800, "disc2", 0) diff --git a/src/devices/bus/isa/com.cpp b/src/devices/bus/isa/com.cpp index 3fa3a9b3ffb..d034ed600fe 100644 --- a/src/devices/bus/isa/com.cpp +++ b/src/devices/bus/isa/com.cpp @@ -14,12 +14,13 @@ #include "bus/rs232/null_modem.h" #include "machine/ins8250.h" -static SLOT_INTERFACE_START(isa_com) - SLOT_INTERFACE("microsoft_mouse", MSFT_SERIAL_MOUSE) - SLOT_INTERFACE("msystems_mouse", MSYSTEM_SERIAL_MOUSE) - SLOT_INTERFACE("terminal", SERIAL_TERMINAL) - SLOT_INTERFACE("null_modem", NULL_MODEM) -SLOT_INTERFACE_END +static void isa_com(device_slot_interface &device) +{ + device.option_add("microsoft_mouse", MSFT_SERIAL_MOUSE); + device.option_add("msystems_mouse", MSYSTEM_SERIAL_MOUSE); + device.option_add("terminal", SERIAL_TERMINAL); + device.option_add("null_modem", NULL_MODEM); +} //************************************************************************** diff --git a/src/devices/bus/isa/dectalk.cpp b/src/devices/bus/isa/dectalk.cpp index 0ca61665e33..4bba74af8a2 100644 --- a/src/devices/bus/isa/dectalk.cpp +++ b/src/devices/bus/isa/dectalk.cpp @@ -171,7 +171,7 @@ MACHINE_CONFIG_START(dectalk_isa_device::device_add_mconfig) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_12BIT_R2R, 0) MCFG_SOUND_ROUTE(0, "speaker", 1.0) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END WRITE8_MEMBER(dectalk_isa_device::write) diff --git a/src/devices/bus/isa/fdc.cpp b/src/devices/bus/isa/fdc.cpp index bafe4f953e6..8d5f5cc16e5 100644 --- a/src/devices/bus/isa/fdc.cpp +++ b/src/devices/bus/isa/fdc.cpp @@ -19,17 +19,19 @@ FLOPPY_FORMATS_MEMBER( isa8_fdc_device::floppy_formats ) FLOPPY_NASLITE_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( pc_dd_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) - SLOT_INTERFACE( "35dd", FLOPPY_35_DD ) -SLOT_INTERFACE_END +static void pc_dd_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); + device.option_add("35dd", FLOPPY_35_DD); +} -static SLOT_INTERFACE_START( pc_hd_floppies ) - SLOT_INTERFACE( "525hd", FLOPPY_525_HD ) - SLOT_INTERFACE( "35hd", FLOPPY_35_HD ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) - SLOT_INTERFACE( "35dd", FLOPPY_35_DD ) -SLOT_INTERFACE_END +static void pc_hd_floppies(device_slot_interface &device) +{ + device.option_add("525hd", FLOPPY_525_HD); + device.option_add("35hd", FLOPPY_35_HD); + device.option_add("525dd", FLOPPY_525_DD); + device.option_add("35dd", FLOPPY_35_DD); +} isa8_fdc_device::isa8_fdc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : diff --git a/src/devices/bus/isa/isa_cards.cpp b/src/devices/bus/isa/isa_cards.cpp index 002b7fdcc29..bd9a61dfe83 100644 --- a/src/devices/bus/isa/isa_cards.cpp +++ b/src/devices/bus/isa/isa_cards.cpp @@ -64,104 +64,106 @@ #include "finalchs.h" -SLOT_INTERFACE_START( pc_isa8_cards ) - SLOT_INTERFACE("mda", ISA8_MDA) - SLOT_INTERFACE("cga", ISA8_CGA) - SLOT_INTERFACE("cga_ec1841", ISA8_EC1841_0002) - SLOT_INTERFACE("cga_poisk2", ISA8_CGA_POISK2) - SLOT_INTERFACE("cga_mc1502", ISA8_CGA_MC1502) - SLOT_INTERFACE("cga_m24", ISA8_CGA_M24) - SLOT_INTERFACE("cga_cportiii", ISA8_CGA_CPORTIII) - SLOT_INTERFACE("aga", ISA8_AGA) - SLOT_INTERFACE("aga_pc200", ISA8_AGA_PC200) - SLOT_INTERFACE("ega", ISA8_EGA) - SLOT_INTERFACE("pgc", ISA8_PGC) - SLOT_INTERFACE("vga", ISA8_VGA) - SLOT_INTERFACE("svga_et4k", ISA8_SVGA_ET4K) - SLOT_INTERFACE("num9rev",ISA8_NUM_9_REV) - SLOT_INTERFACE("com", ISA8_COM) - SLOT_INTERFACE("fdc", ISA8_FDC_SUPERIO) - SLOT_INTERFACE("fdc_xt", ISA8_FDC_XT) - SLOT_INTERFACE("fdc_at", ISA8_FDC_AT) - SLOT_INTERFACE("fdc_smc", ISA8_FDC_SMC) - SLOT_INTERFACE("fdc_ps2", ISA8_FDC_PS2) - SLOT_INTERFACE("fdc344", ISA8_FDC344) - SLOT_INTERFACE("fdcmag", ISA8_FDCMAG) - SLOT_INTERFACE("wdxt_gen", ISA8_WDXT_GEN) - SLOT_INTERFACE("finalchs", ISA8_FINALCHS) - SLOT_INTERFACE("xtide", ISA8_XTIDE) - SLOT_INTERFACE("side116", ISA8_SIDE116) - SLOT_INTERFACE("hdc", ISA8_HDC) - SLOT_INTERFACE("adlib", ISA8_ADLIB) - SLOT_INTERFACE("hercules", ISA8_HERCULES) - SLOT_INTERFACE("gblaster", ISA8_GAME_BLASTER) - SLOT_INTERFACE("sblaster1_0", ISA8_SOUND_BLASTER_1_0) - SLOT_INTERFACE("sblaster1_5", ISA8_SOUND_BLASTER_1_5) - SLOT_INTERFACE("stereo_fx", ISA8_STEREO_FX) - SLOT_INTERFACE("ssi2001", ISA8_SSI2001) - SLOT_INTERFACE("mpu401", ISA8_MPU401) - SLOT_INTERFACE("ne1000", NE1000) - SLOT_INTERFACE("3c503", EL2_3C503) - SLOT_INTERFACE("lpt", ISA8_LPT) - SLOT_INTERFACE("ibm_mfc", ISA8_IBM_MFC) - SLOT_INTERFACE("wd1002a_wx1", ISA8_WD1002A_WX1) - SLOT_INTERFACE("dectalk", ISA8_DECTALK) - SLOT_INTERFACE("pds", ISA8_PDS) - SLOT_INTERFACE("lba_enhancer", ISA8_LBA_ENHANCER) -SLOT_INTERFACE_END +void pc_isa8_cards(device_slot_interface &device) +{ + device.option_add("mda", ISA8_MDA); + device.option_add("cga", ISA8_CGA); + device.option_add("cga_ec1841", ISA8_EC1841_0002); + device.option_add("cga_poisk2", ISA8_CGA_POISK2); + device.option_add("cga_mc1502", ISA8_CGA_MC1502); + device.option_add("cga_m24", ISA8_CGA_M24); + device.option_add("cga_cportiii", ISA8_CGA_CPORTIII); + device.option_add("aga", ISA8_AGA); + device.option_add("aga_pc200", ISA8_AGA_PC200); + device.option_add("ega", ISA8_EGA); + device.option_add("pgc", ISA8_PGC); + device.option_add("vga", ISA8_VGA); + device.option_add("svga_et4k", ISA8_SVGA_ET4K); + device.option_add("num9rev",ISA8_NUM_9_REV); + device.option_add("com", ISA8_COM); + device.option_add("fdc", ISA8_FDC_SUPERIO); + device.option_add("fdc_xt", ISA8_FDC_XT); + device.option_add("fdc_at", ISA8_FDC_AT); + device.option_add("fdc_smc", ISA8_FDC_SMC); + device.option_add("fdc_ps2", ISA8_FDC_PS2); + device.option_add("fdc344", ISA8_FDC344); + device.option_add("fdcmag", ISA8_FDCMAG); + device.option_add("wdxt_gen", ISA8_WDXT_GEN); + device.option_add("finalchs", ISA8_FINALCHS); + device.option_add("xtide", ISA8_XTIDE); + device.option_add("side116", ISA8_SIDE116); + device.option_add("hdc", ISA8_HDC); + device.option_add("adlib", ISA8_ADLIB); + device.option_add("hercules", ISA8_HERCULES); + device.option_add("gblaster", ISA8_GAME_BLASTER); + device.option_add("sblaster1_0", ISA8_SOUND_BLASTER_1_0); + device.option_add("sblaster1_5", ISA8_SOUND_BLASTER_1_5); + device.option_add("stereo_fx", ISA8_STEREO_FX); + device.option_add("ssi2001", ISA8_SSI2001); + device.option_add("mpu401", ISA8_MPU401); + device.option_add("ne1000", NE1000); + device.option_add("3c503", EL2_3C503); + device.option_add("lpt", ISA8_LPT); + device.option_add("ibm_mfc", ISA8_IBM_MFC); + device.option_add("wd1002a_wx1", ISA8_WD1002A_WX1); + device.option_add("dectalk", ISA8_DECTALK); + device.option_add("pds", ISA8_PDS); + device.option_add("lba_enhancer", ISA8_LBA_ENHANCER); +} -SLOT_INTERFACE_START( pc_isa16_cards ) +void pc_isa16_cards(device_slot_interface &device) +{ // 8-bit - SLOT_INTERFACE("mda", ISA8_MDA) - SLOT_INTERFACE("cga", ISA8_CGA) - SLOT_INTERFACE("cga_cportiii", ISA8_CGA_CPORTIII) - SLOT_INTERFACE("wyse700", ISA8_WYSE700) - SLOT_INTERFACE("ega", ISA8_EGA) - SLOT_INTERFACE("pgc", ISA8_PGC) - SLOT_INTERFACE("vga", ISA8_VGA) - SLOT_INTERFACE("svga_et4k", ISA8_SVGA_ET4K) - SLOT_INTERFACE("num9rev",ISA8_NUM_9_REV) - SLOT_INTERFACE("com", ISA8_COM) - SLOT_INTERFACE("comat", ISA8_COM_AT) - SLOT_INTERFACE("fdc", ISA8_FDC_AT) - SLOT_INTERFACE("fdc344", ISA8_FDC344) - SLOT_INTERFACE("fdcmag", ISA8_FDCMAG) - SLOT_INTERFACE("hdc", ISA8_HDC) - SLOT_INTERFACE("side116", ISA8_SIDE116) - SLOT_INTERFACE("adlib", ISA8_ADLIB) - SLOT_INTERFACE("hercules", ISA8_HERCULES) - SLOT_INTERFACE("gblaster", ISA8_GAME_BLASTER) - SLOT_INTERFACE("sblaster1_0", ISA8_SOUND_BLASTER_1_0) - SLOT_INTERFACE("sblaster1_5", ISA8_SOUND_BLASTER_1_5) - SLOT_INTERFACE("stereo_fx", ISA8_STEREO_FX) - SLOT_INTERFACE("ssi2001", ISA8_SSI2001) - SLOT_INTERFACE("ne1000", NE1000) - SLOT_INTERFACE("3c503", EL2_3C503) - SLOT_INTERFACE("mpu401", ISA8_MPU401) - SLOT_INTERFACE("lpt", ISA8_LPT) - SLOT_INTERFACE("ibm_mfc", ISA8_IBM_MFC) - SLOT_INTERFACE("fdcsmc", ISA8_FDC_SMC) - SLOT_INTERFACE("dectalk", ISA8_DECTALK) - SLOT_INTERFACE("pds", ISA8_PDS) - SLOT_INTERFACE("lba_enhancer", ISA8_LBA_ENHANCER) + device.option_add("mda", ISA8_MDA); + device.option_add("cga", ISA8_CGA); + device.option_add("cga_cportiii", ISA8_CGA_CPORTIII); + device.option_add("wyse700", ISA8_WYSE700); + device.option_add("ega", ISA8_EGA); + device.option_add("pgc", ISA8_PGC); + device.option_add("vga", ISA8_VGA); + device.option_add("svga_et4k", ISA8_SVGA_ET4K); + device.option_add("num9rev",ISA8_NUM_9_REV); + device.option_add("com", ISA8_COM); + device.option_add("comat", ISA8_COM_AT); + device.option_add("fdc", ISA8_FDC_AT); + device.option_add("fdc344", ISA8_FDC344); + device.option_add("fdcmag", ISA8_FDCMAG); + device.option_add("hdc", ISA8_HDC); + device.option_add("side116", ISA8_SIDE116); + device.option_add("adlib", ISA8_ADLIB); + device.option_add("hercules", ISA8_HERCULES); + device.option_add("gblaster", ISA8_GAME_BLASTER); + device.option_add("sblaster1_0", ISA8_SOUND_BLASTER_1_0); + device.option_add("sblaster1_5", ISA8_SOUND_BLASTER_1_5); + device.option_add("stereo_fx", ISA8_STEREO_FX); + device.option_add("ssi2001", ISA8_SSI2001); + device.option_add("ne1000", NE1000); + device.option_add("3c503", EL2_3C503); + device.option_add("mpu401", ISA8_MPU401); + device.option_add("lpt", ISA8_LPT); + device.option_add("ibm_mfc", ISA8_IBM_MFC); + device.option_add("fdcsmc", ISA8_FDC_SMC); + device.option_add("dectalk", ISA8_DECTALK); + device.option_add("pds", ISA8_PDS); + device.option_add("lba_enhancer", ISA8_LBA_ENHANCER); // 16-bit - SLOT_INTERFACE("ide", ISA16_IDE) - SLOT_INTERFACE("ne2000", NE2000) - SLOT_INTERFACE("aha1542", AHA1542) - SLOT_INTERFACE("gus",ISA16_GUS) - SLOT_INTERFACE("sblaster_16", ISA16_SOUND_BLASTER_16) - SLOT_INTERFACE("svga_s3", ISA16_SVGA_S3) - SLOT_INTERFACE("s3virge", ISA16_S3VIRGE) - SLOT_INTERFACE("s3virgedx", ISA16_S3VIRGEDX) - SLOT_INTERFACE("dms3d2kp", ISA16_DMS3D2KPRO) - SLOT_INTERFACE("svga_dm",ISA16_SVGA_CIRRUS) - SLOT_INTERFACE("clgd542x",ISA16_SVGA_CIRRUS_GD542X) - SLOT_INTERFACE("gfxultra", ISA16_VGA_GFXULTRA) - SLOT_INTERFACE("gfxultrap", ISA16_SVGA_GFXULTRAPRO) - SLOT_INTERFACE("tgui9680",ISA16_SVGA_TGUI9680) - SLOT_INTERFACE("3c505", ISA16_3C505) - SLOT_INTERFACE("mach64", ISA16_SVGA_MACH64) - SLOT_INTERFACE("sb16_lle", ISA16_SB16) - SLOT_INTERFACE("mcd", ISA16_MCD) - SLOT_INTERFACE("sad8852", ISA16_SAD8852) -SLOT_INTERFACE_END + device.option_add("ide", ISA16_IDE); + device.option_add("ne2000", NE2000); + device.option_add("aha1542", AHA1542); + device.option_add("gus",ISA16_GUS); + device.option_add("sblaster_16", ISA16_SOUND_BLASTER_16); + device.option_add("svga_s3", ISA16_SVGA_S3); + device.option_add("s3virge", ISA16_S3VIRGE); + device.option_add("s3virgedx", ISA16_S3VIRGEDX); + device.option_add("dms3d2kp", ISA16_DMS3D2KPRO); + device.option_add("svga_dm",ISA16_SVGA_CIRRUS); + device.option_add("clgd542x",ISA16_SVGA_CIRRUS_GD542X); + device.option_add("gfxultra", ISA16_VGA_GFXULTRA); + device.option_add("gfxultrap", ISA16_SVGA_GFXULTRAPRO); + device.option_add("tgui9680",ISA16_SVGA_TGUI9680); + device.option_add("3c505", ISA16_3C505); + device.option_add("mach64", ISA16_SVGA_MACH64); + device.option_add("sb16_lle", ISA16_SB16); + device.option_add("mcd", ISA16_MCD); + device.option_add("sad8852", ISA16_SAD8852); +} diff --git a/src/devices/bus/isa/isa_cards.h b/src/devices/bus/isa/isa_cards.h index da83f77c5e1..344ed501d51 100644 --- a/src/devices/bus/isa/isa_cards.h +++ b/src/devices/bus/isa/isa_cards.h @@ -13,7 +13,7 @@ // supported devices -SLOT_INTERFACE_EXTERN( pc_isa8_cards ); -SLOT_INTERFACE_EXTERN( pc_isa16_cards ); +void pc_isa8_cards(device_slot_interface &device); +void pc_isa16_cards(device_slot_interface &device); #endif // MAME_BUS_ISA_ISA_CARDS_H diff --git a/src/devices/bus/isa/mc1502_fdc.cpp b/src/devices/bus/isa/mc1502_fdc.cpp index d97985550f7..1f019bbd2b7 100644 --- a/src/devices/bus/isa/mc1502_fdc.cpp +++ b/src/devices/bus/isa/mc1502_fdc.cpp @@ -35,9 +35,10 @@ FLOPPY_FORMATS_MEMBER( mc1502_fdc_device::floppy_formats ) FLOPPY_PC_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( mc1502_floppies ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void mc1502_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); +} //------------------------------------------------- // ROM( mc1502_fdc ) diff --git a/src/devices/bus/isa/mufdc.cpp b/src/devices/bus/isa/mufdc.cpp index ee8e691c46d..197a242ce15 100644 --- a/src/devices/bus/isa/mufdc.cpp +++ b/src/devices/bus/isa/mufdc.cpp @@ -33,12 +33,13 @@ FLOPPY_FORMATS_MEMBER( mufdc_device::floppy_formats ) FLOPPY_NASLITE_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( drives ) - SLOT_INTERFACE("525hd", FLOPPY_525_HD) - SLOT_INTERFACE("35hd", FLOPPY_35_HD) - SLOT_INTERFACE("525dd", FLOPPY_525_DD) - SLOT_INTERFACE("35dd", FLOPPY_35_DD) -SLOT_INTERFACE_END +static void drives(device_slot_interface &device) +{ + device.option_add("525hd", FLOPPY_525_HD); + device.option_add("35hd", FLOPPY_35_HD); + device.option_add("525dd", FLOPPY_525_DD); + device.option_add("35dd", FLOPPY_35_DD); +} //------------------------------------------------- // device_add_mconfig - add device configuration diff --git a/src/devices/bus/isa/myb3k_com.cpp b/src/devices/bus/isa/myb3k_com.cpp index 61a79abe6f2..a5daafbe7b9 100644 --- a/src/devices/bus/isa/myb3k_com.cpp +++ b/src/devices/bus/isa/myb3k_com.cpp @@ -16,9 +16,10 @@ TODO: #include "machine/i8251.h" #include "machine/pit8253.h" -static SLOT_INTERFACE_START(isa8_myb3k_com) - SLOT_INTERFACE("null_modem", NULL_MODEM) -SLOT_INTERFACE_END +static void isa8_myb3k_com(device_slot_interface &device) +{ + device.option_add("null_modem", NULL_MODEM); +} //************************************************************************** diff --git a/src/devices/bus/isa/myb3k_fdc.cpp b/src/devices/bus/isa/myb3k_fdc.cpp index 6396667ae23..4d6349e6c77 100644 --- a/src/devices/bus/isa/myb3k_fdc.cpp +++ b/src/devices/bus/isa/myb3k_fdc.cpp @@ -76,18 +76,21 @@ FLOPPY_FORMATS_MEMBER( isa8_myb3k_fdc4711_device::myb3k_floppy_formats ) FLOPPY_IMD_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( myb3k_sd_floppies ) - SLOT_INTERFACE( "525sd", FLOPPY_525_SD ) -SLOT_INTERFACE_END +static void myb3k_sd_floppies(device_slot_interface &device) +{ + device.option_add("525sd", FLOPPY_525_SD); +} -static SLOT_INTERFACE_START( myb3k_qd_floppies ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void myb3k_qd_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); +} #if 0 -static SLOT_INTERFACE_START( myb3k_8inch_floppies ) - SLOT_INTERFACE( "8dsdd", FLOPPY_8_DSDD ) -SLOT_INTERFACE_END +static void myb3k_8inch_floppies(device_slot_interface &device) +{ + device.option_add("8dsdd", FLOPPY_8_DSDD); +} #endif //------------------------------------------------- diff --git a/src/devices/bus/isa/omti8621.cpp b/src/devices/bus/isa/omti8621.cpp index fdb4e668580..32ab9c6a56f 100644 --- a/src/devices/bus/isa/omti8621.cpp +++ b/src/devices/bus/isa/omti8621.cpp @@ -195,12 +195,13 @@ std::string omti8621_device::cpu_context() const return string_format("%d.%03d %s", s, ms, machine().describe_context()); } -static SLOT_INTERFACE_START( pc_hd_floppies ) - SLOT_INTERFACE( "525hd", FLOPPY_525_HD ) - SLOT_INTERFACE( "35hd", FLOPPY_35_HD ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) - SLOT_INTERFACE( "35dd", FLOPPY_35_DD ) -SLOT_INTERFACE_END +static void pc_hd_floppies(device_slot_interface &device) +{ + device.option_add("525hd", FLOPPY_525_HD); + device.option_add("35hd", FLOPPY_35_HD); + device.option_add("525dd", FLOPPY_525_DD); + device.option_add("35dd", FLOPPY_35_DD); +} FLOPPY_FORMATS_MEMBER( omti8621_device::floppy_formats ) FLOPPY_APOLLO_FORMAT, diff --git a/src/devices/bus/isa/p1_fdc.cpp b/src/devices/bus/isa/p1_fdc.cpp index 5d47a021d94..9718fc00497 100644 --- a/src/devices/bus/isa/p1_fdc.cpp +++ b/src/devices/bus/isa/p1_fdc.cpp @@ -35,9 +35,10 @@ FLOPPY_FORMATS_MEMBER( p1_fdc_device::floppy_formats ) FLOPPY_PC_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( poisk1_floppies ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void poisk1_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); +} //------------------------------------------------- // ROM( p1_fdc ) diff --git a/src/devices/bus/isa/p1_sound.cpp b/src/devices/bus/isa/p1_sound.cpp index 9fa6ea3852e..73ce5f735af 100644 --- a/src/devices/bus/isa/p1_sound.cpp +++ b/src/devices/bus/isa/p1_sound.cpp @@ -69,7 +69,7 @@ MACHINE_CONFIG_START(p1_sound_device::device_add_mconfig) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "filter", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/devices/bus/isa/sblaster.cpp b/src/devices/bus/isa/sblaster.cpp index 9e1260fa25b..c073424fd8d 100644 --- a/src/devices/bus/isa/sblaster.cpp +++ b/src/devices/bus/isa/sblaster.cpp @@ -1155,8 +1155,8 @@ MACHINE_CONFIG_START(isa8_sblaster1_0_device::device_add_mconfig) MCFG_SOUND_ADD("ldac", DAC_16BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) // unknown DAC MCFG_SOUND_ADD("rdac", DAC_16BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) MCFG_PC_JOY_ADD("pc_joy") MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") @@ -1175,8 +1175,8 @@ MACHINE_CONFIG_START(isa8_sblaster1_5_device::device_add_mconfig) MCFG_SOUND_ADD("ldac", DAC_16BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) // unknown DAC MCFG_SOUND_ADD("rdac", DAC_16BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) MCFG_PC_JOY_ADD("pc_joy") MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") @@ -1196,8 +1196,8 @@ MACHINE_CONFIG_START(isa16_sblaster16_device::device_add_mconfig) MCFG_SOUND_ADD("ldac", DAC_16BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) // unknown DAC MCFG_SOUND_ADD("rdac", DAC_16BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) MCFG_PC_JOY_ADD("pc_joy") MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") diff --git a/src/devices/bus/isa/stereo_fx.cpp b/src/devices/bus/isa/stereo_fx.cpp index 01e369944be..6f49baba5f0 100644 --- a/src/devices/bus/isa/stereo_fx.cpp +++ b/src/devices/bus/isa/stereo_fx.cpp @@ -132,8 +132,8 @@ MACHINE_CONFIG_START(stereo_fx_device::device_add_mconfig) MCFG_SOUND_ADD("ldac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) // unknown DAC MCFG_SOUND_ADD("rdac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) MCFG_PC_JOY_ADD("pc_joy") MACHINE_CONFIG_END diff --git a/src/devices/bus/isa/xsu_cards.cpp b/src/devices/bus/isa/xsu_cards.cpp index d8839ebd4d9..1e8856e70ac 100644 --- a/src/devices/bus/isa/xsu_cards.cpp +++ b/src/devices/bus/isa/xsu_cards.cpp @@ -30,59 +30,63 @@ #include "xtide.h" -SLOT_INTERFACE_START( p1_isa8_cards ) - SLOT_INTERFACE("rom", P1_ROM) // B003 - SLOT_INTERFACE("fdc", P1_FDC) // B504 - SLOT_INTERFACE("hdc", P1_HDC) // B942 - SLOT_INTERFACE("p1sound", P1_SOUND) // B623 +void p1_isa8_cards(device_slot_interface &device) +{ + device.option_add("rom", P1_ROM); // B003 + device.option_add("fdc", P1_FDC); // B504 + device.option_add("hdc", P1_HDC); // B942 + device.option_add("p1sound", P1_SOUND); // B623 /* - SLOT_INTERFACE("comlpt", P1_COMLPT) // B620 - SLOT_INTERFACE("joy", P1_JOY) // B621 - SLOT_INTERFACE("mouse", P1_MOUSE) // B943 - SLOT_INTERFACE("lan", P1_LAN) // B944 + device.option_add("comlpt", P1_COMLPT); // B620 + device.option_add("joy", P1_JOY); // B621 + device.option_add("mouse", P1_MOUSE); // B943 + device.option_add("lan", P1_LAN); // B944 */ - SLOT_INTERFACE("pccom", ISA8_COM) - SLOT_INTERFACE("pclpt", ISA8_LPT) - SLOT_INTERFACE("xtide", ISA8_XTIDE) -SLOT_INTERFACE_END + device.option_add("pccom", ISA8_COM); + device.option_add("pclpt", ISA8_LPT); + device.option_add("xtide", ISA8_XTIDE); +} -SLOT_INTERFACE_START( mc1502_isa8_cards ) - SLOT_INTERFACE("cga_mc1502", ISA8_CGA_MC1502) +void mc1502_isa8_cards(device_slot_interface &device) +{ + device.option_add("cga_mc1502", ISA8_CGA_MC1502); - SLOT_INTERFACE("rom", MC1502_ROM) - SLOT_INTERFACE("fdc", MC1502_FDC) + device.option_add("rom", MC1502_ROM); + device.option_add("fdc", MC1502_FDC); /* - SLOT_INTERFACE("hdc", MC1502_HDC) + device.option_add("hdc", MC1502_HDC); */ - SLOT_INTERFACE("pccom", ISA8_COM) - SLOT_INTERFACE("pclpt", ISA8_LPT) - SLOT_INTERFACE("xtide", ISA8_XTIDE) -SLOT_INTERFACE_END + device.option_add("pccom", ISA8_COM); + device.option_add("pclpt", ISA8_LPT); + device.option_add("xtide", ISA8_XTIDE); +} -SLOT_INTERFACE_START( ec184x_isa8_cards ) - SLOT_INTERFACE("ec1840.0002", ISA8_EC1840_0002) // MDA with downloadable font - SLOT_INTERFACE("ec1841.0002", ISA8_EC1841_0002) // CGA with downloadable font - SLOT_INTERFACE("ec1841.0003", ISA8_FDC_XT) +void ec184x_isa8_cards(device_slot_interface &device) +{ + device.option_add("ec1840.0002", ISA8_EC1840_0002); // MDA with downloadable font + device.option_add("ec1841.0002", ISA8_EC1841_0002); // CGA with downloadable font + device.option_add("ec1841.0003", ISA8_FDC_XT); /* - SLOT_INTERFACE("ec1841.0010", ISA8_EC1841_0010) // 8089-based HDC - SLOT_INTERFACE("ec1841.0003", ISA8_EC1841_0003) // FDC + mouse port - SLOT_INTERFACE("ec1841.0004", ISA8_EC1841_0004) // BSC-like serial ports + parallel port + device.option_add("ec1841.0010", ISA8_EC1841_0010); // 8089-based HDC + device.option_add("ec1841.0003", ISA8_EC1841_0003); // FDC + mouse port + device.option_add("ec1841.0004", ISA8_EC1841_0004); // BSC-like serial ports + parallel port */ - SLOT_INTERFACE("mda", ISA8_MDA) - SLOT_INTERFACE("hdc", ISA8_HDC_EC1841) - SLOT_INTERFACE("pccom", ISA8_COM) - SLOT_INTERFACE("pclpt", ISA8_LPT) - SLOT_INTERFACE("xtide", ISA8_XTIDE) -SLOT_INTERFACE_END + device.option_add("mda", ISA8_MDA); + device.option_add("hdc", ISA8_HDC_EC1841); + device.option_add("pccom", ISA8_COM); + device.option_add("pclpt", ISA8_LPT); + device.option_add("xtide", ISA8_XTIDE); +} -SLOT_INTERFACE_START( iskr103x_isa8_cards ) - SLOT_INTERFACE("cga_iskr1030m", ISA8_CGA_ISKR1030M) - SLOT_INTERFACE("cga_iskr1031", ISA8_CGA_ISKR1031) +void iskr103x_isa8_cards(device_slot_interface &device) +{ + device.option_add("cga_iskr1030m", ISA8_CGA_ISKR1030M); + device.option_add("cga_iskr1031", ISA8_CGA_ISKR1031); /**/ - SLOT_INTERFACE("fdc_xt", ISA8_FDC_XT) - SLOT_INTERFACE("mda", ISA8_MDA) - SLOT_INTERFACE("hdc", ISA8_HDC) - SLOT_INTERFACE("pccom", ISA8_COM) - SLOT_INTERFACE("pclpt", ISA8_LPT) - SLOT_INTERFACE("xtide", ISA8_XTIDE) -SLOT_INTERFACE_END + device.option_add("fdc_xt", ISA8_FDC_XT); + device.option_add("mda", ISA8_MDA); + device.option_add("hdc", ISA8_HDC); + device.option_add("pccom", ISA8_COM); + device.option_add("pclpt", ISA8_LPT); + device.option_add("xtide", ISA8_XTIDE); +} diff --git a/src/devices/bus/isa/xsu_cards.h b/src/devices/bus/isa/xsu_cards.h index d8b98be154c..1fc1d93571b 100644 --- a/src/devices/bus/isa/xsu_cards.h +++ b/src/devices/bus/isa/xsu_cards.h @@ -13,9 +13,9 @@ // supported devices -SLOT_INTERFACE_EXTERN( p1_isa8_cards ); -SLOT_INTERFACE_EXTERN( mc1502_isa8_cards ); -SLOT_INTERFACE_EXTERN( ec184x_isa8_cards ); -SLOT_INTERFACE_EXTERN( iskr103x_isa8_cards ); +void p1_isa8_cards(device_slot_interface &device); +void mc1502_isa8_cards(device_slot_interface &device); +void ec184x_isa8_cards(device_slot_interface &device); +void iskr103x_isa8_cards(device_slot_interface &device); #endif // MAME_BUS_ISA_XSU_CARDS_H diff --git a/src/devices/bus/isbx/compis_fdc.cpp b/src/devices/bus/isbx/compis_fdc.cpp index 4632038ec87..df2e76069e6 100644 --- a/src/devices/bus/isbx/compis_fdc.cpp +++ b/src/devices/bus/isbx/compis_fdc.cpp @@ -43,10 +43,11 @@ FLOPPY_FORMATS_MEMBER( compis_fdc_device::floppy_formats ) FLOPPY_CPIS_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( compis_floppies ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) - SLOT_INTERFACE( "525hd", FLOPPY_525_HD ) -SLOT_INTERFACE_END +static void compis_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); + device.option_add("525hd", FLOPPY_525_HD); +} //------------------------------------------------- diff --git a/src/devices/bus/isbx/isbc_218a.cpp b/src/devices/bus/isbx/isbc_218a.cpp index 868462b505d..95f23955890 100644 --- a/src/devices/bus/isbx/isbc_218a.cpp +++ b/src/devices/bus/isbx/isbc_218a.cpp @@ -43,10 +43,11 @@ FLOPPY_FORMATS_MEMBER( isbc_218a_device::floppy_formats ) FLOPPY_PC_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( isbc_218a_floppies ) - SLOT_INTERFACE( "8dd", FLOPPY_8_DSDD ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) -SLOT_INTERFACE_END +static void isbc_218a_floppies(device_slot_interface &device) +{ + device.option_add("8dd", FLOPPY_8_DSDD); + device.option_add("525dd", FLOPPY_525_DD); +} //------------------------------------------------- diff --git a/src/devices/bus/isbx/isbx.cpp b/src/devices/bus/isbx/isbx.cpp index ce658e6b1d3..ae3754e6d62 100644 --- a/src/devices/bus/isbx/isbx.cpp +++ b/src/devices/bus/isbx/isbx.cpp @@ -73,7 +73,8 @@ void isbx_slot_device::device_start() #include "compis_fdc.h" #include "isbc_218a.h" -SLOT_INTERFACE_START( isbx_cards ) - SLOT_INTERFACE("fdc", COMPIS_FDC) - SLOT_INTERFACE("fdc_218a", ISBC_218A) -SLOT_INTERFACE_END +void isbx_cards(device_slot_interface &device) +{ + device.option_add("fdc", COMPIS_FDC); + device.option_add("fdc_218a", ISBC_218A); +} diff --git a/src/devices/bus/isbx/isbx.h b/src/devices/bus/isbx/isbx.h index 3cd74178228..1219a5fc61c 100644 --- a/src/devices/bus/isbx/isbx.h +++ b/src/devices/bus/isbx/isbx.h @@ -147,7 +147,7 @@ protected: DECLARE_DEVICE_TYPE(ISBX_SLOT, isbx_slot_device) -SLOT_INTERFACE_EXTERN( isbx_cards ); +void isbx_cards(device_slot_interface &device); #endif // MAME_BUS_ISBX_ISBX_SLOT_H diff --git a/src/devices/bus/kc/d002.cpp b/src/devices/bus/kc/d002.cpp index 90b5bf7b3ce..ebc24b06f8b 100644 --- a/src/devices/bus/kc/d002.cpp +++ b/src/devices/bus/kc/d002.cpp @@ -46,8 +46,9 @@ static INPUT_PORTS_START( kc_d002 ) INPUT_PORTS_END // defined in drivers/kc.c -SLOT_INTERFACE_EXTERN(kc85_cart); -SLOT_INTERFACE_EXTERN(kc85_exp); +// FIXME: if src/devices depends on src/mame, you're doing it wrong! +void kc85_cart(device_slot_interface &device); +void kc85_exp(device_slot_interface &device); WRITE_LINE_MEMBER(kc_d002_device::out_irq_w) { diff --git a/src/devices/bus/kc/d004.cpp b/src/devices/bus/kc/d004.cpp index 9034b34b054..3831c9f2eb5 100644 --- a/src/devices/bus/kc/d004.cpp +++ b/src/devices/bus/kc/d004.cpp @@ -56,9 +56,10 @@ FLOPPY_FORMATS_MEMBER( kc_d004_device::floppy_formats ) FLOPPY_KC85_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( kc_d004_floppies ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void kc_d004_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); +} static const z80_daisy_config kc_d004_daisy_chain[] = { diff --git a/src/devices/bus/lpci/southbridge.cpp b/src/devices/bus/lpci/southbridge.cpp index df23c3fd9e9..965fc3fe58b 100644 --- a/src/devices/bus/lpci/southbridge.cpp +++ b/src/devices/bus/lpci/southbridge.cpp @@ -496,11 +496,12 @@ WRITE8_MEMBER( southbridge_device::at_dma8237_2_w ) Extended Southbridge Device ***************************************************************************/ -static SLOT_INTERFACE_START(pc_isa_onboard) - SLOT_INTERFACE("comat", ISA8_COM_AT) - SLOT_INTERFACE("lpt", ISA8_LPT) - SLOT_INTERFACE("fdcsmc", ISA8_FDC_SMC) -SLOT_INTERFACE_END +static void pc_isa_onboard(device_slot_interface &device) +{ + device.option_add("comat", ISA8_COM_AT); + device.option_add("lpt", ISA8_LPT); + device.option_add("fdcsmc", ISA8_FDC_SMC); +} //------------------------------------------------- // device_add_mconfig - add device configuration diff --git a/src/devices/bus/megadrive/ggenie.cpp b/src/devices/bus/megadrive/ggenie.cpp index 3bbcba0206c..a6001971529 100644 --- a/src/devices/bus/megadrive/ggenie.cpp +++ b/src/devices/bus/megadrive/ggenie.cpp @@ -158,13 +158,14 @@ WRITE16_MEMBER(md_rom_ggenie_device::write) } -static SLOT_INTERFACE_START(ggenie_sub_cart) - SLOT_INTERFACE_INTERNAL("rom", MD_STD_ROM) - SLOT_INTERFACE_INTERNAL("rom_svp", MD_STD_ROM) - SLOT_INTERFACE_INTERNAL("rom_sram", MD_ROM_SRAM) - SLOT_INTERFACE_INTERNAL("rom_sramsafe", MD_ROM_SRAM) - SLOT_INTERFACE_INTERNAL("rom_fram", MD_ROM_FRAM) -SLOT_INTERFACE_END +static void ggenie_sub_cart(device_slot_interface &device) +{ + device.option_add_internal("rom", MD_STD_ROM); + device.option_add_internal("rom_svp", MD_STD_ROM); + device.option_add_internal("rom_sram", MD_ROM_SRAM); + device.option_add_internal("rom_sramsafe", MD_ROM_SRAM); + device.option_add_internal("rom_fram", MD_ROM_FRAM); +} //------------------------------------------------- diff --git a/src/devices/bus/megadrive/md_carts.cpp b/src/devices/bus/megadrive/md_carts.cpp index 30fff82a81e..7b2e8fa333d 100644 --- a/src/devices/bus/megadrive/md_carts.cpp +++ b/src/devices/bus/megadrive/md_carts.cpp @@ -18,69 +18,70 @@ #include "stm95.h" -SLOT_INTERFACE_START(md_cart) - SLOT_INTERFACE_INTERNAL("rom", MD_STD_ROM) - SLOT_INTERFACE_INTERNAL("rom_svp", MD_ROM_SVP) - SLOT_INTERFACE_INTERNAL("rom_sk", MD_ROM_SK) +void md_cart(device_slot_interface &device) +{ + device.option_add_internal("rom", MD_STD_ROM); + device.option_add_internal("rom_svp", MD_ROM_SVP); + device.option_add_internal("rom_sk", MD_ROM_SK); // NVRAM handling - SLOT_INTERFACE_INTERNAL("rom_sram", MD_ROM_SRAM) - SLOT_INTERFACE_INTERNAL("rom_sramsafe", MD_ROM_SRAM) - SLOT_INTERFACE_INTERNAL("rom_fram", MD_ROM_FRAM) - SLOT_INTERFACE_INTERNAL("rom_hardbl95", MD_ROM_SRAM) - SLOT_INTERFACE_INTERNAL("rom_xinqig", MD_ROM_SRAM) - SLOT_INTERFACE_INTERNAL("rom_sf001", MD_ROM_BEGGARP) - SLOT_INTERFACE_INTERNAL("rom_sf002", MD_ROM_WUKONG) - SLOT_INTERFACE_INTERNAL("rom_sf004", MD_ROM_STARODYS) + device.option_add_internal("rom_sram", MD_ROM_SRAM); + device.option_add_internal("rom_sramsafe", MD_ROM_SRAM); + device.option_add_internal("rom_fram", MD_ROM_FRAM); + device.option_add_internal("rom_hardbl95", MD_ROM_SRAM); + device.option_add_internal("rom_xinqig", MD_ROM_SRAM); + device.option_add_internal("rom_sf001", MD_ROM_BEGGARP); + device.option_add_internal("rom_sf002", MD_ROM_WUKONG); + device.option_add_internal("rom_sf004", MD_ROM_STARODYS); // EEPROM handling (not supported fully yet) - SLOT_INTERFACE_INTERNAL("rom_eeprom", MD_STD_EEPROM) - SLOT_INTERFACE_INTERNAL("rom_nbajam", MD_EEPROM_NBAJAM) - SLOT_INTERFACE_INTERNAL("rom_nbajamte", MD_EEPROM_NBAJAMTE) - SLOT_INTERFACE_INTERNAL("rom_nflqb96", MD_EEPROM_NFLQB) - SLOT_INTERFACE_INTERNAL("rom_cslam", MD_EEPROM_CSLAM) - SLOT_INTERFACE_INTERNAL("rom_nhlpa", MD_EEPROM_NHLPA) - SLOT_INTERFACE_INTERNAL("rom_blara", MD_EEPROM_BLARA) + device.option_add_internal("rom_eeprom", MD_STD_EEPROM); + device.option_add_internal("rom_nbajam", MD_EEPROM_NBAJAM); + device.option_add_internal("rom_nbajamte", MD_EEPROM_NBAJAMTE); + device.option_add_internal("rom_nflqb96", MD_EEPROM_NFLQB); + device.option_add_internal("rom_cslam", MD_EEPROM_CSLAM); + device.option_add_internal("rom_nhlpa", MD_EEPROM_NHLPA); + device.option_add_internal("rom_blara", MD_EEPROM_BLARA); // J-Cart controller (Sampras Tennis) - SLOT_INTERFACE_INTERNAL("rom_jcart", MD_JCART) + device.option_add_internal("rom_jcart", MD_JCART); // J-Cart controller + EEPROM handling (not supported fully yet) - SLOT_INTERFACE_INTERNAL("rom_codemast", MD_SEPROM_CODEMAST) - SLOT_INTERFACE_INTERNAL("rom_mm96", MD_SEPROM_MM96) + device.option_add_internal("rom_codemast", MD_SEPROM_CODEMAST); + device.option_add_internal("rom_mm96", MD_SEPROM_MM96); // STM95 EEPROM - SLOT_INTERFACE_INTERNAL("rom_stm95", MD_EEPROM_STM95) + device.option_add_internal("rom_stm95", MD_EEPROM_STM95); // CodeMasters 2-in-1 (reset based) - SLOT_INTERFACE_INTERNAL("rom_cm2in1", MD_ROM_CM2IN1) + device.option_add_internal("rom_cm2in1", MD_ROM_CM2IN1); // Game Genie - SLOT_INTERFACE_INTERNAL("rom_ggenie", MD_ROM_GAMEGENIE) + device.option_add_internal("rom_ggenie", MD_ROM_GAMEGENIE); // unique bankswitch - SLOT_INTERFACE_INTERNAL("rom_ssf2", MD_ROM_SSF2) - SLOT_INTERFACE_INTERNAL("rom_radica", MD_ROM_RADICA) + device.option_add_internal("rom_ssf2", MD_ROM_SSF2); + device.option_add_internal("rom_radica", MD_ROM_RADICA); // pirate mappers (protection and/or bankswitch) - SLOT_INTERFACE_INTERNAL("rom_16mj2", MD_ROM_16MJ2) - SLOT_INTERFACE_INTERNAL("rom_bugs", MD_ROM_BUGSLIFE) - SLOT_INTERFACE_INTERNAL("rom_chinf3", MD_ROM_CHINF3) - SLOT_INTERFACE_INTERNAL("rom_elfwor", MD_ROM_ELFWOR) - SLOT_INTERFACE_INTERNAL("rom_yasech", MD_ROM_YASECH) - SLOT_INTERFACE_INTERNAL("rom_kof98", MD_ROM_KOF98) - SLOT_INTERFACE_INTERNAL("rom_kof99", MD_ROM_KOF99) - SLOT_INTERFACE_INTERNAL("rom_lion2", MD_ROM_LION2) - SLOT_INTERFACE_INTERNAL("rom_lion3", MD_ROM_LION3) - SLOT_INTERFACE_INTERNAL("rom_mcpir", MD_ROM_MCPIR) - SLOT_INTERFACE_INTERNAL("rom_mjlov", MD_ROM_MJLOV) - SLOT_INTERFACE_INTERNAL("rom_cjmjclub", MD_ROM_CJMJCLUB) - SLOT_INTERFACE_INTERNAL("rom_pokea", MD_ROM_POKEA) - SLOT_INTERFACE_INTERNAL("rom_pokestad", MD_ROM_POKESTAD) - SLOT_INTERFACE_INTERNAL("rom_realtec", MD_ROM_REALTEC) - SLOT_INTERFACE_INTERNAL("rom_redcl", MD_ROM_REDCL) - SLOT_INTERFACE_INTERNAL("rom_rx3", MD_ROM_RX3) - SLOT_INTERFACE_INTERNAL("rom_sbubl", MD_ROM_SBUBL) - SLOT_INTERFACE_INTERNAL("rom_smb", MD_ROM_SMB) - SLOT_INTERFACE_INTERNAL("rom_smb2", MD_ROM_SMB2) - SLOT_INTERFACE_INTERNAL("rom_smw64", MD_ROM_SMW64) - SLOT_INTERFACE_INTERNAL("rom_smouse", MD_ROM_SMOUSE) - SLOT_INTERFACE_INTERNAL("rom_soulb", MD_ROM_SOULB) - SLOT_INTERFACE_INTERNAL("rom_squir", MD_ROM_SQUIR) - SLOT_INTERFACE_INTERNAL("rom_tekkensp", MD_ROM_TEKKENSP) - SLOT_INTERFACE_INTERNAL("rom_topf", MD_ROM_TOPF) + device.option_add_internal("rom_16mj2", MD_ROM_16MJ2); + device.option_add_internal("rom_bugs", MD_ROM_BUGSLIFE); + device.option_add_internal("rom_chinf3", MD_ROM_CHINF3); + device.option_add_internal("rom_elfwor", MD_ROM_ELFWOR); + device.option_add_internal("rom_yasech", MD_ROM_YASECH); + device.option_add_internal("rom_kof98", MD_ROM_KOF98); + device.option_add_internal("rom_kof99", MD_ROM_KOF99); + device.option_add_internal("rom_lion2", MD_ROM_LION2); + device.option_add_internal("rom_lion3", MD_ROM_LION3); + device.option_add_internal("rom_mcpir", MD_ROM_MCPIR); + device.option_add_internal("rom_mjlov", MD_ROM_MJLOV); + device.option_add_internal("rom_cjmjclub", MD_ROM_CJMJCLUB); + device.option_add_internal("rom_pokea", MD_ROM_POKEA); + device.option_add_internal("rom_pokestad", MD_ROM_POKESTAD); + device.option_add_internal("rom_realtec", MD_ROM_REALTEC); + device.option_add_internal("rom_redcl", MD_ROM_REDCL); + device.option_add_internal("rom_rx3", MD_ROM_RX3); + device.option_add_internal("rom_sbubl", MD_ROM_SBUBL); + device.option_add_internal("rom_smb", MD_ROM_SMB); + device.option_add_internal("rom_smb2", MD_ROM_SMB2); + device.option_add_internal("rom_smw64", MD_ROM_SMW64); + device.option_add_internal("rom_smouse", MD_ROM_SMOUSE); + device.option_add_internal("rom_soulb", MD_ROM_SOULB); + device.option_add_internal("rom_squir", MD_ROM_SQUIR); + device.option_add_internal("rom_tekkensp", MD_ROM_TEKKENSP); + device.option_add_internal("rom_topf", MD_ROM_TOPF); -SLOT_INTERFACE_INTERNAL("rom_nbajam_alt", MD_EEPROM_NBAJAM_ALT) -SLOT_INTERFACE_END + device.option_add_internal("rom_nbajam_alt", MD_EEPROM_NBAJAM_ALT); +} diff --git a/src/devices/bus/megadrive/md_carts.h b/src/devices/bus/megadrive/md_carts.h index 7547a015657..03401ee2952 100644 --- a/src/devices/bus/megadrive/md_carts.h +++ b/src/devices/bus/megadrive/md_carts.h @@ -13,6 +13,6 @@ // supported devices -SLOT_INTERFACE_EXTERN(md_cart); +void md_cart(device_slot_interface &device); #endif // MAME_BUS_MEGADRIVE_MD_CARTS_H diff --git a/src/devices/bus/megadrive/sk.cpp b/src/devices/bus/megadrive/sk.cpp index 311de07b58e..b48163e9b94 100644 --- a/src/devices/bus/megadrive/sk.cpp +++ b/src/devices/bus/megadrive/sk.cpp @@ -64,14 +64,15 @@ WRITE16_MEMBER(md_rom_sk_device::write) } -static SLOT_INTERFACE_START(sk_sub_cart) - SLOT_INTERFACE_INTERNAL("rom", MD_STD_ROM) - SLOT_INTERFACE_INTERNAL("rom_svp", MD_STD_ROM) - SLOT_INTERFACE_INTERNAL("rom_sram", MD_ROM_SRAM) - SLOT_INTERFACE_INTERNAL("rom_sramsafe", MD_ROM_SRAM) - SLOT_INTERFACE_INTERNAL("rom_fram", MD_ROM_FRAM) +static void sk_sub_cart(device_slot_interface &device) +{ + device.option_add_internal("rom", MD_STD_ROM); + device.option_add_internal("rom_svp", MD_STD_ROM); + device.option_add_internal("rom_sram", MD_ROM_SRAM); + device.option_add_internal("rom_sramsafe", MD_ROM_SRAM); + device.option_add_internal("rom_fram", MD_ROM_FRAM); // add all types?? -SLOT_INTERFACE_END +} //------------------------------------------------- diff --git a/src/devices/bus/midi/midi.cpp b/src/devices/bus/midi/midi.cpp index baf8cf91a8e..be55f0d71a1 100644 --- a/src/devices/bus/midi/midi.cpp +++ b/src/devices/bus/midi/midi.cpp @@ -46,12 +46,14 @@ device_midi_port_interface::~device_midi_port_interface() #include "bus/midi/midiinport.h" -SLOT_INTERFACE_START(midiin_slot) - SLOT_INTERFACE("midiin", MIDIIN_PORT) -SLOT_INTERFACE_END +void midiin_slot(device_slot_interface &device) +{ + device.option_add("midiin", MIDIIN_PORT); +} #include "bus/midi/midioutport.h" -SLOT_INTERFACE_START(midiout_slot) - SLOT_INTERFACE("midiout", MIDIOUT_PORT) -SLOT_INTERFACE_END +void midiout_slot(device_slot_interface &device) +{ + device.option_add("midiout", MIDIOUT_PORT); +} diff --git a/src/devices/bus/midi/midi.h b/src/devices/bus/midi/midi.h index 52c889efbd7..114c6bf948b 100644 --- a/src/devices/bus/midi/midi.h +++ b/src/devices/bus/midi/midi.h @@ -61,7 +61,7 @@ protected: DECLARE_DEVICE_TYPE(MIDI_PORT, midi_port_device) -SLOT_INTERFACE_EXTERN(midiin_slot); -SLOT_INTERFACE_EXTERN(midiout_slot); +void midiin_slot(device_slot_interface &device); +void midiout_slot(device_slot_interface &device); #endif // MAME_BUS_MIDI_MIDI_H diff --git a/src/devices/bus/msx_cart/cartridge.cpp b/src/devices/bus/msx_cart/cartridge.cpp index 9f1e27c44c8..9c722e74872 100644 --- a/src/devices/bus/msx_cart/cartridge.cpp +++ b/src/devices/bus/msx_cart/cartridge.cpp @@ -27,46 +27,47 @@ #include "yamaha.h" -SLOT_INTERFACE_START(msx_cart) - SLOT_INTERFACE_INTERNAL("nomapper", MSX_CART_NOMAPPER) - SLOT_INTERFACE_INTERNAL("msxdos2", MSX_CART_MSXDOS2) - SLOT_INTERFACE_INTERNAL("konami_scc", MSX_CART_KONAMI_SCC) - SLOT_INTERFACE_INTERNAL("konami", MSX_CART_KONAMI) - SLOT_INTERFACE_INTERNAL("ascii8", MSX_CART_ASCII8) - SLOT_INTERFACE_INTERNAL("ascii16", MSX_CART_ASCII16) - SLOT_INTERFACE_INTERNAL("gamemaster2", MSX_CART_GAMEMASTER2) - SLOT_INTERFACE_INTERNAL("ascii8_sram", MSX_CART_ASCII8_SRAM) - SLOT_INTERFACE_INTERNAL("ascii16_sram", MSX_CART_ASCII16_SRAM) - SLOT_INTERFACE_INTERNAL("rtype", MSX_CART_RTYPE) - SLOT_INTERFACE_INTERNAL("majutsushi", MSX_CART_MAJUTSUSHI) - SLOT_INTERFACE_INTERNAL("fmpac", MSX_CART_FMPAC) - SLOT_INTERFACE_INTERNAL("fs_sr022", MSX_CART_FS_SR022) - SLOT_INTERFACE_INTERNAL("superloderunner", MSX_CART_SUPERLODERUNNER) - SLOT_INTERFACE_INTERNAL("synthesizer", MSX_CART_SYNTHESIZER) - SLOT_INTERFACE_INTERNAL("cross_blaim", MSX_CART_CROSSBLAIM) - SLOT_INTERFACE_INTERNAL("korean_80in1", MSX_CART_KOREAN_80IN1) - SLOT_INTERFACE_INTERNAL("korean_90in1", MSX_CART_KOREAN_90IN1) - SLOT_INTERFACE_INTERNAL("korean_126in1", MSX_CART_KOREAN_126IN1) - SLOT_INTERFACE_INTERNAL("msxwrite", MSX_CART_MSXWRITE) - SLOT_INTERFACE_INTERNAL("sound_snatcher", MSX_CART_SOUND_SNATCHER) - SLOT_INTERFACE_INTERNAL("sound_sdsnatch", MSX_CART_SOUND_SDSNATCHER) - SLOT_INTERFACE_INTERNAL("msxaud_hxmu900", MSX_CART_MSX_AUDIO_HXMU900) - SLOT_INTERFACE_INTERNAL("msxaud_fsca1", MSX_CART_MSX_AUDIO_FSCA1) - SLOT_INTERFACE_INTERNAL("msxaud_nms1205", MSX_CART_MSX_AUDIO_NMS1205) - SLOT_INTERFACE_INTERNAL("super_swangi", MSX_CART_SUPER_SWANGI) - SLOT_INTERFACE_INTERNAL("hfox", MSX_CART_HFOX) - SLOT_INTERFACE_INTERNAL("keyboard_master", MSX_CART_KEYBOARD_MASTER) - SLOT_INTERFACE_INTERNAL("holy_quran", MSX_CART_HOLY_QURAN) - SLOT_INTERFACE_INTERNAL("dooly", MSX_CART_DOOLY) - SLOT_INTERFACE_INTERNAL("halnote", MSX_CART_HALNOTE) - SLOT_INTERFACE_INTERNAL("arc", MSX_CART_ARC) - SLOT_INTERFACE_INTERNAL("disk_vy0010", MSX_CART_VY0010) - SLOT_INTERFACE_INTERNAL("disk_fsfd1", MSX_CART_FSFD1) - SLOT_INTERFACE_INTERNAL("disk_fsfd1a", MSX_CART_FSFD1A) - SLOT_INTERFACE_INTERNAL("disk_fscf351", MSX_CART_FSCF351) - SLOT_INTERFACE("bm_012", MSX_CART_BM_012) - SLOT_INTERFACE("moonsound", MSX_CART_MOONSOUND) -SLOT_INTERFACE_END +void msx_cart(device_slot_interface &device) +{ + device.option_add_internal("nomapper", MSX_CART_NOMAPPER); + device.option_add_internal("msxdos2", MSX_CART_MSXDOS2); + device.option_add_internal("konami_scc", MSX_CART_KONAMI_SCC); + device.option_add_internal("konami", MSX_CART_KONAMI); + device.option_add_internal("ascii8", MSX_CART_ASCII8); + device.option_add_internal("ascii16", MSX_CART_ASCII16); + device.option_add_internal("gamemaster2", MSX_CART_GAMEMASTER2); + device.option_add_internal("ascii8_sram", MSX_CART_ASCII8_SRAM); + device.option_add_internal("ascii16_sram", MSX_CART_ASCII16_SRAM); + device.option_add_internal("rtype", MSX_CART_RTYPE); + device.option_add_internal("majutsushi", MSX_CART_MAJUTSUSHI); + device.option_add_internal("fmpac", MSX_CART_FMPAC); + device.option_add_internal("fs_sr022", MSX_CART_FS_SR022); + device.option_add_internal("superloderunner", MSX_CART_SUPERLODERUNNER); + device.option_add_internal("synthesizer", MSX_CART_SYNTHESIZER); + device.option_add_internal("cross_blaim", MSX_CART_CROSSBLAIM); + device.option_add_internal("korean_80in1", MSX_CART_KOREAN_80IN1); + device.option_add_internal("korean_90in1", MSX_CART_KOREAN_90IN1); + device.option_add_internal("korean_126in1", MSX_CART_KOREAN_126IN1); + device.option_add_internal("msxwrite", MSX_CART_MSXWRITE); + device.option_add_internal("sound_snatcher", MSX_CART_SOUND_SNATCHER); + device.option_add_internal("sound_sdsnatch", MSX_CART_SOUND_SDSNATCHER); + device.option_add_internal("msxaud_hxmu900", MSX_CART_MSX_AUDIO_HXMU900); + device.option_add_internal("msxaud_fsca1", MSX_CART_MSX_AUDIO_FSCA1); + device.option_add_internal("msxaud_nms1205", MSX_CART_MSX_AUDIO_NMS1205); + device.option_add_internal("super_swangi", MSX_CART_SUPER_SWANGI); + device.option_add_internal("hfox", MSX_CART_HFOX); + device.option_add_internal("keyboard_master", MSX_CART_KEYBOARD_MASTER); + device.option_add_internal("holy_quran", MSX_CART_HOLY_QURAN); + device.option_add_internal("dooly", MSX_CART_DOOLY); + device.option_add_internal("halnote", MSX_CART_HALNOTE); + device.option_add_internal("arc", MSX_CART_ARC); + device.option_add_internal("disk_vy0010", MSX_CART_VY0010); + device.option_add_internal("disk_fsfd1", MSX_CART_FSFD1); + device.option_add_internal("disk_fsfd1a", MSX_CART_FSFD1A); + device.option_add_internal("disk_fscf351", MSX_CART_FSCF351); + device.option_add("bm_012", MSX_CART_BM_012); + device.option_add("moonsound", MSX_CART_MOONSOUND); +} msx_cart_interface::msx_cart_interface(const machine_config &mconfig, device_t &device) @@ -103,7 +104,8 @@ void msx_cart_interface::sram_alloc(uint32_t size) // Several yamaha machines had 60 pin expansion slots. The pinouts of these slots was // exactly the same as the regular 50 pin cartridge slots. The lowest 10 pins are simply // not connected. -SLOT_INTERFACE_START(msx_yamaha_60pin) - SLOT_INTERFACE("sfg01", MSX_CART_SFG01) - SLOT_INTERFACE("sfg05", MSX_CART_SFG05) -SLOT_INTERFACE_END +void msx_yamaha_60pin(device_slot_interface &device) +{ + device.option_add("sfg01", MSX_CART_SFG01); + device.option_add("sfg05", MSX_CART_SFG05); +} diff --git a/src/devices/bus/msx_cart/cartridge.h b/src/devices/bus/msx_cart/cartridge.h index c80f2949732..381ec09e566 100644 --- a/src/devices/bus/msx_cart/cartridge.h +++ b/src/devices/bus/msx_cart/cartridge.h @@ -6,8 +6,8 @@ #pragma once -SLOT_INTERFACE_EXTERN(msx_cart); -SLOT_INTERFACE_EXTERN(msx_yamaha_60pin); // 60 pin expansion slots as found in yamaha machines +void msx_cart(device_slot_interface &device); +void msx_yamaha_60pin(device_slot_interface &device); // 60 pin expansion slots as found in yamaha machines class msx_cart_interface : public device_slot_card_interface diff --git a/src/devices/bus/msx_cart/disk.cpp b/src/devices/bus/msx_cart/disk.cpp index 30ff4361e7c..24dca42fd93 100644 --- a/src/devices/bus/msx_cart/disk.cpp +++ b/src/devices/bus/msx_cart/disk.cpp @@ -116,10 +116,11 @@ FLOPPY_FORMATS_MEMBER( msx_cart_disk_device::floppy_formats ) FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( msx_floppies ) - SLOT_INTERFACE( "35dd", FLOPPY_35_DD ) - SLOT_INTERFACE( "35ssdd", FLOPPY_35_SSDD ) -SLOT_INTERFACE_END +static void msx_floppies(device_slot_interface &device) +{ + device.option_add("35dd", FLOPPY_35_DD); + device.option_add("35ssdd", FLOPPY_35_SSDD); +} msx_cart_disk_device::msx_cart_disk_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) diff --git a/src/devices/bus/msx_cart/konami.cpp b/src/devices/bus/msx_cart/konami.cpp index 7bdde846cf8..05449ab7d42 100644 --- a/src/devices/bus/msx_cart/konami.cpp +++ b/src/devices/bus/msx_cart/konami.cpp @@ -477,7 +477,7 @@ MACHINE_CONFIG_START(msx_cart_synthesizer_device::device_add_mconfig) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/devices/bus/msx_cart/majutsushi.cpp b/src/devices/bus/msx_cart/majutsushi.cpp index 77baf81636a..e6d601473f2 100644 --- a/src/devices/bus/msx_cart/majutsushi.cpp +++ b/src/devices/bus/msx_cart/majutsushi.cpp @@ -31,7 +31,7 @@ MACHINE_CONFIG_START(msx_cart_majutsushi_device::device_add_mconfig) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.05) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/devices/bus/msx_cart/msx_audio_kb.cpp b/src/devices/bus/msx_cart/msx_audio_kb.cpp index 2bfa98758e9..9bbae0aab93 100644 --- a/src/devices/bus/msx_cart/msx_audio_kb.cpp +++ b/src/devices/bus/msx_cart/msx_audio_kb.cpp @@ -308,7 +308,8 @@ DEFINE_DEVICE_TYPE(MSX_AUDIO_KB_HXMU901, msx_hxmu901_device, "hxmu901", "Toshiba DEFINE_DEVICE_TYPE(MSX_AUDIO_KB_NMS1160, msx_nms1160_device, "nms1160", "Philips NMS-1160") -SLOT_INTERFACE_START( msx_audio_keyboards ) - SLOT_INTERFACE("hxmu901", MSX_AUDIO_KB_HXMU901) - SLOT_INTERFACE("nms1160", MSX_AUDIO_KB_NMS1160) -SLOT_INTERFACE_END +void msx_audio_keyboards(device_slot_interface &device) +{ + device.option_add("hxmu901", MSX_AUDIO_KB_HXMU901); + device.option_add("nms1160", MSX_AUDIO_KB_NMS1160); +} diff --git a/src/devices/bus/msx_cart/msx_audio_kb.h b/src/devices/bus/msx_cart/msx_audio_kb.h index 139d78f486b..0746a803b40 100644 --- a/src/devices/bus/msx_cart/msx_audio_kb.h +++ b/src/devices/bus/msx_cart/msx_audio_kb.h @@ -46,7 +46,7 @@ protected: }; -SLOT_INTERFACE_EXTERN( msx_audio_keyboards ); +void msx_audio_keyboards(device_slot_interface &device); #endif // MAME_BUS_MSX_CART_MSX_AUDIO_KB_H diff --git a/src/devices/bus/nasbus/cards.cpp b/src/devices/bus/nasbus/cards.cpp index db6606dad50..5c48a13fb22 100644 --- a/src/devices/bus/nasbus/cards.cpp +++ b/src/devices/bus/nasbus/cards.cpp @@ -13,7 +13,8 @@ #include "floppy.h" -SLOT_INTERFACE_START( nasbus_slot_cards ) - SLOT_INTERFACE("avc", NASCOM_AVC) - SLOT_INTERFACE("floppy", NASCOM_FDC) -SLOT_INTERFACE_END +void nasbus_slot_cards(device_slot_interface &device) +{ + device.option_add("avc", NASCOM_AVC); + device.option_add("floppy", NASCOM_FDC); +} diff --git a/src/devices/bus/nasbus/cards.h b/src/devices/bus/nasbus/cards.h index 89179c4a16f..747fa8ff984 100644 --- a/src/devices/bus/nasbus/cards.h +++ b/src/devices/bus/nasbus/cards.h @@ -12,6 +12,6 @@ #pragma once -SLOT_INTERFACE_EXTERN( nasbus_slot_cards ); +void nasbus_slot_cards(device_slot_interface &device); #endif // MAME_BUS_NASBUS_CARDS_H diff --git a/src/devices/bus/nasbus/floppy.cpp b/src/devices/bus/nasbus/floppy.cpp index ffa1be5fce8..55ad5c0d128 100644 --- a/src/devices/bus/nasbus/floppy.cpp +++ b/src/devices/bus/nasbus/floppy.cpp @@ -28,10 +28,11 @@ FLOPPY_FORMATS_MEMBER( nascom_fdc_device::floppy_formats ) FLOPPY_NASCOM_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( nascom_floppies ) - SLOT_INTERFACE("55e", TEAC_FD_55E) - SLOT_INTERFACE("55f", TEAC_FD_55F) -SLOT_INTERFACE_END +static void nascom_floppies(device_slot_interface &device) +{ + device.option_add("55e", TEAC_FD_55E); + device.option_add("55f", TEAC_FD_55F); +} //------------------------------------------------- // device_add_mconfig - add device configuration diff --git a/src/devices/bus/neogeo/carts.cpp b/src/devices/bus/neogeo/carts.cpp index ad732e966b7..356ddf60340 100644 --- a/src/devices/bus/neogeo/carts.cpp +++ b/src/devices/bus/neogeo/carts.cpp @@ -24,91 +24,92 @@ #include "bus/neogeo/sbp.h" -SLOT_INTERFACE_START(neogeo_cart) - SLOT_INTERFACE_INTERNAL("rom", NEOGEO_ROM) // Standard cart with banking +void neogeo_cart(device_slot_interface &device) +{ + device.option_add_internal("rom", NEOGEO_ROM); // Standard cart with banking - SLOT_INTERFACE_INTERNAL("rom_vliner", NEOGEO_VLINER_CART) // Standard cart + RAM - SLOT_INTERFACE_INTERNAL("rom_fatfur2", NEOGEO_FATFURY2_CART) // Custom Fatal Fury 2 protection - SLOT_INTERFACE_INTERNAL("rom_kof98", NEOGEO_KOF98_CART) // Custom King of Fighters 98 protection - SLOT_INTERFACE_INTERNAL("rom_mslugx", NEOGEO_MSLUGX_CART) // Custom Metal Slug X protection + device.option_add_internal("rom_vliner", NEOGEO_VLINER_CART); // Standard cart + RAM + device.option_add_internal("rom_fatfur2", NEOGEO_FATFURY2_CART); // Custom Fatal Fury 2 protection + device.option_add_internal("rom_kof98", NEOGEO_KOF98_CART); // Custom King of Fighters 98 protection + device.option_add_internal("rom_mslugx", NEOGEO_MSLUGX_CART); // Custom Metal Slug X protection // only CMC42 for gfx - SLOT_INTERFACE_INTERNAL("cmc42_zupapa", NEOGEO_CMC_ZUPAPA_CART) - SLOT_INTERFACE_INTERNAL("cmc42_mslug3h", NEOGEO_CMC_MSLUG3H_CART) - SLOT_INTERFACE_INTERNAL("cmc42_ganryu", NEOGEO_CMC_GANRYU_CART) - SLOT_INTERFACE_INTERNAL("cmc42_s1945p", NEOGEO_CMC_S1945P_CART) - SLOT_INTERFACE_INTERNAL("cmc42_preisle2", NEOGEO_CMC_PREISLE2_CART) - SLOT_INTERFACE_INTERNAL("cmc42_bangbead", NEOGEO_CMC_BANGBEAD_CART) - SLOT_INTERFACE_INTERNAL("cmc42_nitd", NEOGEO_CMC_NITD_CART) - SLOT_INTERFACE_INTERNAL("cmc42_sengoku3", NEOGEO_CMC_SENGOKU3_CART) - SLOT_INTERFACE_INTERNAL("cmc42_kof99k", NEOGEO_CMC_KOF99K_CART) + device.option_add_internal("cmc42_zupapa", NEOGEO_CMC_ZUPAPA_CART); + device.option_add_internal("cmc42_mslug3h", NEOGEO_CMC_MSLUG3H_CART); + device.option_add_internal("cmc42_ganryu", NEOGEO_CMC_GANRYU_CART); + device.option_add_internal("cmc42_s1945p", NEOGEO_CMC_S1945P_CART); + device.option_add_internal("cmc42_preisle2", NEOGEO_CMC_PREISLE2_CART); + device.option_add_internal("cmc42_bangbead", NEOGEO_CMC_BANGBEAD_CART); + device.option_add_internal("cmc42_nitd", NEOGEO_CMC_NITD_CART); + device.option_add_internal("cmc42_sengoku3", NEOGEO_CMC_SENGOKU3_CART); + device.option_add_internal("cmc42_kof99k", NEOGEO_CMC_KOF99K_CART); // only CMC50 for gfx + audiocpu - SLOT_INTERFACE_INTERNAL("cmc50_kof2001", NEOGEO_CMC_KOF2001_CART) - SLOT_INTERFACE_INTERNAL("cmc50_kof2000n", NEOGEO_CMC_KOF2000N_CART) - SLOT_INTERFACE_INTERNAL("cmc50_jockeygp", NEOGEO_CMC_JOCKEYGP_CART) // CMC50 + RAM + device.option_add_internal("cmc50_kof2001", NEOGEO_CMC_KOF2001_CART); + device.option_add_internal("cmc50_kof2000n", NEOGEO_CMC_KOF2000N_CART); + device.option_add_internal("cmc50_jockeygp", NEOGEO_CMC_JOCKEYGP_CART); // CMC50 + RAM // These use SMA for prg & CMC42 for gfx - SLOT_INTERFACE_INTERNAL("sma_kof99", NEOGEO_SMA_KOF99_CART) - SLOT_INTERFACE_INTERNAL("sma_garou", NEOGEO_SMA_GAROU_CART) - SLOT_INTERFACE_INTERNAL("sma_garouh", NEOGEO_SMA_GAROUH_CART) - SLOT_INTERFACE_INTERNAL("sma_mslug3", NEOGEO_SMA_MSLUG3_CART) + device.option_add_internal("sma_kof99", NEOGEO_SMA_KOF99_CART); + device.option_add_internal("sma_garou", NEOGEO_SMA_GAROU_CART); + device.option_add_internal("sma_garouh", NEOGEO_SMA_GAROUH_CART); + device.option_add_internal("sma_mslug3", NEOGEO_SMA_MSLUG3_CART); // These use SMA for prg & CMC50 for gfx + audiocpu - SLOT_INTERFACE_INTERNAL("sma_kof2k", NEOGEO_SMA_KOF2000_CART) + device.option_add_internal("sma_kof2k", NEOGEO_SMA_KOF2000_CART); // CMC50 for gfx + audiocpu & NEOPCM2 for YM scramble - SLOT_INTERFACE_INTERNAL("pcm2_mslug4", NEOGEO_PCM2_MSLUG4_CART) - SLOT_INTERFACE_INTERNAL("pcm2_rotd", NEOGEO_PCM2_ROTD_CART) - SLOT_INTERFACE_INTERNAL("pcm2_pnyaa", NEOGEO_PCM2_PNYAA_CART) - SLOT_INTERFACE_INTERNAL("pcm2_ms4p", NEOGEO_PCM2_MS4PLUS_CART) // regular encryption but external S1 rom = no audiocpu encryption from CMC + device.option_add_internal("pcm2_mslug4", NEOGEO_PCM2_MSLUG4_CART); + device.option_add_internal("pcm2_rotd", NEOGEO_PCM2_ROTD_CART); + device.option_add_internal("pcm2_pnyaa", NEOGEO_PCM2_PNYAA_CART); + device.option_add_internal("pcm2_ms4p", NEOGEO_PCM2_MS4PLUS_CART); // regular encryption but external S1 rom = no audiocpu encryption from CMC // CMC50 for gfx + audiocpu & NEOPCM2 for YM scramble & additonal prg scramble - SLOT_INTERFACE_INTERNAL("k2k2_kof2k2", NEOGEO_K2K2_KOF2002_CART) - SLOT_INTERFACE_INTERNAL("k2k2_matrim", NEOGEO_K2K2_MATRIM_CART) - SLOT_INTERFACE_INTERNAL("k2k2_samsh5", NEOGEO_K2K2_SAMSHO5_CART) - SLOT_INTERFACE_INTERNAL("k2k2_sams5s", NEOGEO_K2K2_SAMSHO5SP_CART) - SLOT_INTERFACE_INTERNAL("k2k2_kf2k2p", NEOGEO_K2K2_KF2K2PLS_CART) // regular encryption but external S1 rom = no audiocpu encryption from CMC + device.option_add_internal("k2k2_kof2k2", NEOGEO_K2K2_KOF2002_CART); + device.option_add_internal("k2k2_matrim", NEOGEO_K2K2_MATRIM_CART); + device.option_add_internal("k2k2_samsh5", NEOGEO_K2K2_SAMSHO5_CART); + device.option_add_internal("k2k2_sams5s", NEOGEO_K2K2_SAMSHO5SP_CART); + device.option_add_internal("k2k2_kf2k2p", NEOGEO_K2K2_KF2K2PLS_CART); // regular encryption but external S1 rom = no audiocpu encryption from CMC // CMC50 for gfx + audiocpu & NEOPCM2 for YM scramble & PVC protection/encryption - SLOT_INTERFACE_INTERNAL("pvc_mslug5", NEOGEO_PVC_MSLUG5_CART) - SLOT_INTERFACE_INTERNAL("pvc_svc", NEOGEO_PVC_SVC_CART) - SLOT_INTERFACE_INTERNAL("pvc_kf2k3", NEOGEO_PVC_KOF2003_CART) - SLOT_INTERFACE_INTERNAL("pvc_kf2k3h", NEOGEO_PVC_KOF2003H_CART) + device.option_add_internal("pvc_mslug5", NEOGEO_PVC_MSLUG5_CART); + device.option_add_internal("pvc_svc", NEOGEO_PVC_SVC_CART); + device.option_add_internal("pvc_kf2k3", NEOGEO_PVC_KOF2003_CART); + device.option_add_internal("pvc_kf2k3h", NEOGEO_PVC_KOF2003H_CART); // Bootleg logic for CTHD2K3 and clones - SLOT_INTERFACE_INTERNAL("boot_cthd2k3", NEOGEO_CTHD2K3_CART) - SLOT_INTERFACE_INTERNAL("boot_ct2k3sp", NEOGEO_CT2K3SP_CART) - SLOT_INTERFACE_INTERNAL("boot_ct2k3sa", NEOGEO_CT2K3SA_CART) - SLOT_INTERFACE_INTERNAL("boot_matrimbl", NEOGEO_MATRIMBL_CART) // this also uses a CMC for SFIX & additional prg scramble from kof2002 + device.option_add_internal("boot_cthd2k3", NEOGEO_CTHD2K3_CART); + device.option_add_internal("boot_ct2k3sp", NEOGEO_CT2K3SP_CART); + device.option_add_internal("boot_ct2k3sa", NEOGEO_CT2K3SA_CART); + device.option_add_internal("boot_matrimbl", NEOGEO_MATRIMBL_CART); // this also uses a CMC for SFIX & additional prg scramble from kof2002 // Bootleg logic for SVC clones - SLOT_INTERFACE_INTERNAL("boot_svcboot", NEOGEO_SVCBOOT_CART) // this also uses a PVC protection/encryption - SLOT_INTERFACE_INTERNAL("boot_svcplus", NEOGEO_SVCPLUS_CART) - SLOT_INTERFACE_INTERNAL("boot_svcplusa", NEOGEO_SVCPLUSA_CART) - SLOT_INTERFACE_INTERNAL("boot_svcsplus", NEOGEO_SVCSPLUS_CART) // this also uses a PVC protection/encryption + device.option_add_internal("boot_svcboot", NEOGEO_SVCBOOT_CART); // this also uses a PVC protection/encryption + device.option_add_internal("boot_svcplus", NEOGEO_SVCPLUS_CART); + device.option_add_internal("boot_svcplusa", NEOGEO_SVCPLUSA_CART); + device.option_add_internal("boot_svcsplus", NEOGEO_SVCSPLUS_CART); // this also uses a PVC protection/encryption // Bootleg logic for KOF2002 clones - SLOT_INTERFACE_INTERNAL("boot_kf2k2b", NEOGEO_KOF2002B_CART) - SLOT_INTERFACE_INTERNAL("boot_kf2k2mp", NEOGEO_KF2K2MP_CART) - SLOT_INTERFACE_INTERNAL("boot_kf2k2mp2", NEOGEO_KF2K2MP2_CART) + device.option_add_internal("boot_kf2k2b", NEOGEO_KOF2002B_CART); + device.option_add_internal("boot_kf2k2mp", NEOGEO_KF2K2MP_CART); + device.option_add_internal("boot_kf2k2mp2", NEOGEO_KF2K2MP2_CART); // Bootleg logic for KOF2003 clones - SLOT_INTERFACE_INTERNAL("boot_kf2k3bl", NEOGEO_KF2K3BL_CART) - SLOT_INTERFACE_INTERNAL("boot_kf2k3pl", NEOGEO_KF2K3PL_CART) - SLOT_INTERFACE_INTERNAL("boot_kf2k3upl", NEOGEO_KF2K3UPL_CART) + device.option_add_internal("boot_kf2k3bl", NEOGEO_KF2K3BL_CART); + device.option_add_internal("boot_kf2k3pl", NEOGEO_KF2K3PL_CART); + device.option_add_internal("boot_kf2k3upl", NEOGEO_KF2K3UPL_CART); // Misc carts with bootleg logic - SLOT_INTERFACE_INTERNAL("boot_garoubl", NEOGEO_GAROUBL_CART) - SLOT_INTERFACE_INTERNAL("boot_kof97oro", NEOGEO_KOF97ORO_CART) - SLOT_INTERFACE_INTERNAL("boot_kf10thep", NEOGEO_KF10THEP_CART) - SLOT_INTERFACE_INTERNAL("boot_kf2k5uni", NEOGEO_KF2K5UNI_CART) - SLOT_INTERFACE_INTERNAL("boot_kf2k4se", NEOGEO_KF2K4SE_CART) - SLOT_INTERFACE_INTERNAL("boot_lans2004", NEOGEO_LANS2004_CART) - SLOT_INTERFACE_INTERNAL("boot_samsho5b", NEOGEO_SAMSHO5B_CART) - SLOT_INTERFACE_INTERNAL("boot_mslug3b6", NEOGEO_MSLUG3B6_CART) // this also uses a CMC42 for gfx - SLOT_INTERFACE_INTERNAL("boot_ms5plus", NEOGEO_MS5PLUS_CART) // this also uses a CMC50 for gfx + audiocpu & NEOPCM2 for YM scramble - SLOT_INTERFACE_INTERNAL("boot_kog", NEOGEO_KOG_CART) + device.option_add_internal("boot_garoubl", NEOGEO_GAROUBL_CART); + device.option_add_internal("boot_kof97oro", NEOGEO_KOF97ORO_CART); + device.option_add_internal("boot_kf10thep", NEOGEO_KF10THEP_CART); + device.option_add_internal("boot_kf2k5uni", NEOGEO_KF2K5UNI_CART); + device.option_add_internal("boot_kf2k4se", NEOGEO_KF2K4SE_CART); + device.option_add_internal("boot_lans2004", NEOGEO_LANS2004_CART); + device.option_add_internal("boot_samsho5b", NEOGEO_SAMSHO5B_CART); + device.option_add_internal("boot_mslug3b6", NEOGEO_MSLUG3B6_CART); // this also uses a CMC42 for gfx + device.option_add_internal("boot_ms5plus", NEOGEO_MS5PLUS_CART); // this also uses a CMC50 for gfx + audiocpu & NEOPCM2 for YM scramble + device.option_add_internal("boot_kog", NEOGEO_KOG_CART); - SLOT_INTERFACE_INTERNAL("boot_kf10th", NEOGEO_KOF10TH_CART) - SLOT_INTERFACE_INTERNAL("boot_sbp", NEOGEO_SBP_CART) -SLOT_INTERFACE_END + device.option_add_internal("boot_kf10th", NEOGEO_KOF10TH_CART); + device.option_add_internal("boot_sbp", NEOGEO_SBP_CART); +} diff --git a/src/devices/bus/neogeo/carts.h b/src/devices/bus/neogeo/carts.h index f66b881a9b7..fd5b3704081 100644 --- a/src/devices/bus/neogeo/carts.h +++ b/src/devices/bus/neogeo/carts.h @@ -11,6 +11,6 @@ // supported devices -SLOT_INTERFACE_EXTERN(neogeo_cart); +void neogeo_cart(device_slot_interface &device); #endif // MAME_BUS_NEOGEO_CARTS_H diff --git a/src/devices/bus/neogeo_ctrl/ctrl.cpp b/src/devices/bus/neogeo_ctrl/ctrl.cpp index 2a936c1fa53..023d28adaf8 100644 --- a/src/devices/bus/neogeo_ctrl/ctrl.cpp +++ b/src/devices/bus/neogeo_ctrl/ctrl.cpp @@ -189,23 +189,27 @@ void neogeo_ctrl_edge_port_device::write_ctrlsel(uint8_t data) // SLOT_INTERFACE( neogeo_control_port_devices ) //------------------------------------------------- -SLOT_INTERFACE_START( neogeo_controls ) - SLOT_INTERFACE("joy", NEOGEO_JOY) - SLOT_INTERFACE("mahjong", NEOGEO_MJCTRL) -SLOT_INTERFACE_END +void neogeo_controls(device_slot_interface &device) +{ + device.option_add("joy", NEOGEO_JOY); + device.option_add("mahjong", NEOGEO_MJCTRL); +} -SLOT_INTERFACE_START( neogeo_arc_edge ) - SLOT_INTERFACE("joy", NEOGEO_JOY_AC) -SLOT_INTERFACE_END +void neogeo_arc_edge(device_slot_interface &device) +{ + device.option_add("joy", NEOGEO_JOY_AC); +} -SLOT_INTERFACE_START( neogeo_arc_edge_fixed ) - SLOT_INTERFACE("joy", NEOGEO_JOY_AC) - SLOT_INTERFACE("dial", NEOGEO_DIAL) - SLOT_INTERFACE("irrmaze", NEOGEO_IRRMAZE) - SLOT_INTERFACE("kiz4p", NEOGEO_KIZ4P) -SLOT_INTERFACE_END +void neogeo_arc_edge_fixed(device_slot_interface &device) +{ + device.option_add("joy", NEOGEO_JOY_AC); + device.option_add("dial", NEOGEO_DIAL); + device.option_add("irrmaze", NEOGEO_IRRMAZE); + device.option_add("kiz4p", NEOGEO_KIZ4P); +} -SLOT_INTERFACE_START( neogeo_arc_pin15 ) - SLOT_INTERFACE("mahjong", NEOGEO_MJCTRL_AC) - SLOT_INTERFACE("joy", NEOGEO_JOY) -SLOT_INTERFACE_END +void neogeo_arc_pin15(device_slot_interface &device) +{ + device.option_add("mahjong", NEOGEO_MJCTRL_AC); + device.option_add("joy", NEOGEO_JOY); +} diff --git a/src/devices/bus/neogeo_ctrl/ctrl.h b/src/devices/bus/neogeo_ctrl/ctrl.h index ea133f30b79..aee534d61ad 100644 --- a/src/devices/bus/neogeo_ctrl/ctrl.h +++ b/src/devices/bus/neogeo_ctrl/ctrl.h @@ -118,10 +118,10 @@ DECLARE_DEVICE_TYPE(NEOGEO_CTRL_EDGE_CONNECTOR, neogeo_ctrl_edge_port_device) -SLOT_INTERFACE_EXTERN( neogeo_controls ); -SLOT_INTERFACE_EXTERN( neogeo_arc_edge ); -SLOT_INTERFACE_EXTERN( neogeo_arc_edge_fixed ); -SLOT_INTERFACE_EXTERN( neogeo_arc_pin15 ); +void neogeo_controls(device_slot_interface &device); +void neogeo_arc_edge(device_slot_interface &device); +void neogeo_arc_edge_fixed(device_slot_interface &device); +void neogeo_arc_pin15(device_slot_interface &device); #endif // MAME_BUS_NEOGEO_CTRL_CTRL_H diff --git a/src/devices/bus/nes/aladdin.cpp b/src/devices/bus/nes/aladdin.cpp index 3ebab2fc90b..e9d81555a72 100644 --- a/src/devices/bus/nes/aladdin.cpp +++ b/src/devices/bus/nes/aladdin.cpp @@ -318,10 +318,11 @@ WRITE8_MEMBER(nes_aladdin_device::write_h) // CART SLOT //------------------------------------------------- -static SLOT_INTERFACE_START(ade_cart) - SLOT_INTERFACE_INTERNAL("algn", NES_ALGN_ROM) - SLOT_INTERFACE_INTERNAL("algq", NES_ALGQ_ROM) -SLOT_INTERFACE_END +static void ade_cart(device_slot_interface &device) +{ + device.option_add_internal("algn", NES_ALGN_ROM); + device.option_add_internal("algq", NES_ALGQ_ROM); +} MACHINE_CONFIG_START(nes_aladdin_device::device_add_mconfig) diff --git a/src/devices/bus/nes/datach.cpp b/src/devices/bus/nes/datach.cpp index 7cb58980960..34d615c4504 100644 --- a/src/devices/bus/nes/datach.cpp +++ b/src/devices/bus/nes/datach.cpp @@ -362,10 +362,11 @@ WRITE8_MEMBER(nes_datach_device::write_h) // BARCODE READER + CART SLOT + X24C02 //------------------------------------------------- -static SLOT_INTERFACE_START(datach_cart) - SLOT_INTERFACE_INTERNAL("datach_rom", NES_DATACH_ROM) - SLOT_INTERFACE_INTERNAL("datach_ep1", NES_DATACH_24C01) -SLOT_INTERFACE_END +static void datach_cart(device_slot_interface &device) +{ + device.option_add_internal("datach_rom", NES_DATACH_ROM); + device.option_add_internal("datach_ep1", NES_DATACH_24C01); +} MACHINE_CONFIG_START(nes_datach_device::device_add_mconfig) diff --git a/src/devices/bus/nes/karastudio.cpp b/src/devices/bus/nes/karastudio.cpp index eefd7c5d17d..1b828001078 100644 --- a/src/devices/bus/nes/karastudio.cpp +++ b/src/devices/bus/nes/karastudio.cpp @@ -290,9 +290,10 @@ ioport_constructor nes_karaokestudio_device::device_input_ports() const // CART SLOT //------------------------------------------------- -static SLOT_INTERFACE_START(karaoke_studio_cart) - SLOT_INTERFACE_INTERNAL("ks_exp", NES_KSEXPANSION_ROM) -SLOT_INTERFACE_END +static void karaoke_studio_cart(device_slot_interface &device) +{ + device.option_add_internal("ks_exp", NES_KSEXPANSION_ROM); +} MACHINE_CONFIG_START(nes_karaokestudio_device::device_add_mconfig) diff --git a/src/devices/bus/nes/nes_carts.cpp b/src/devices/bus/nes/nes_carts.cpp index a2434621b4c..a4a3950b98d 100644 --- a/src/devices/bus/nes/nes_carts.cpp +++ b/src/devices/bus/nes/nes_carts.cpp @@ -64,370 +64,372 @@ #include "mmc3_clones.h" -SLOT_INTERFACE_START(nes_cart) +void nes_cart(device_slot_interface &device) +{ // HROM, NROM, RROM, SROM & STROM - SLOT_INTERFACE_INTERNAL("nrom", NES_NROM) + device.option_add_internal("nrom", NES_NROM); // Nintendo Family BASIC pcb (NROM + 2K or 4K WRAM) - SLOT_INTERFACE_INTERNAL("hvc_basic", NES_FCBASIC) + device.option_add_internal("hvc_basic", NES_FCBASIC); // Extended NROM-368 board (NROM with 46K PRG) - SLOT_INTERFACE_INTERNAL("nrom368", NES_NROM368) + device.option_add_internal("nrom368", NES_NROM368); // Game Genie - SLOT_INTERFACE_INTERNAL("nrom_gg", NES_GGENIE) + device.option_add_internal("nrom_gg", NES_GGENIE); // UNROM/UOROM - SLOT_INTERFACE_INTERNAL("uxrom", NES_UXROM) - SLOT_INTERFACE_INTERNAL("unrom_cc", NES_UXROM_CC) + device.option_add_internal("uxrom", NES_UXROM); + device.option_add_internal("unrom_cc", NES_UXROM_CC); // CNROM - SLOT_INTERFACE_INTERNAL("cnrom", NES_CNROM) + device.option_add_internal("cnrom", NES_CNROM); // Bandai PT-554 (CNROM boards + special audio chip, used by Aerobics Studio) - SLOT_INTERFACE_INTERNAL("bandai_pt554", NES_BANDAI_PT554) + device.option_add_internal("bandai_pt554", NES_BANDAI_PT554); // CPROM - SLOT_INTERFACE_INTERNAL("cprom", NES_CPROM) + device.option_add_internal("cprom", NES_CPROM); // AMROM, ANROM, AOROM - SLOT_INTERFACE_INTERNAL("axrom", NES_AXROM) + device.option_add_internal("axrom", NES_AXROM); // PxROM - SLOT_INTERFACE_INTERNAL("pxrom", NES_PXROM) + device.option_add_internal("pxrom", NES_PXROM); // FxROM - SLOT_INTERFACE_INTERNAL("fxrom", NES_FXROM) + device.option_add_internal("fxrom", NES_FXROM); // BNROM - SLOT_INTERFACE_INTERNAL("bnrom", NES_BXROM) + device.option_add_internal("bnrom", NES_BXROM); // GNROM & MHROM - SLOT_INTERFACE_INTERNAL("gxrom", NES_GXROM) + device.option_add_internal("gxrom", NES_GXROM); // UN1ROM - SLOT_INTERFACE_INTERNAL("un1rom", NES_UN1ROM) + device.option_add_internal("un1rom", NES_UN1ROM); // SxROM - SLOT_INTERFACE_INTERNAL("sxrom", NES_SXROM) - SLOT_INTERFACE_INTERNAL("sorom", NES_SOROM) - SLOT_INTERFACE_INTERNAL("sxrom_a", NES_SXROM_A) // in MMC1-A PRG RAM is always enabled - SLOT_INTERFACE_INTERNAL("sorom_a", NES_SOROM_A) // in MMC1-A PRG RAM is always enabled + device.option_add_internal("sxrom", NES_SXROM); + device.option_add_internal("sorom", NES_SOROM); + device.option_add_internal("sxrom_a", NES_SXROM_A); // in MMC1-A PRG RAM is always enabled + device.option_add_internal("sorom_a", NES_SOROM_A); // in MMC1-A PRG RAM is always enabled // TxROM - SLOT_INTERFACE_INTERNAL("txrom", NES_TXROM) + device.option_add_internal("txrom", NES_TXROM); // HKROM - SLOT_INTERFACE_INTERNAL("hkrom", NES_HKROM) + device.option_add_internal("hkrom", NES_HKROM); // TQROM - SLOT_INTERFACE_INTERNAL("tqrom", NES_TQROM) + device.option_add_internal("tqrom", NES_TQROM); // TxSROM - SLOT_INTERFACE_INTERNAL("txsrom", NES_TXSROM) + device.option_add_internal("txsrom", NES_TXSROM); // ExROM - SLOT_INTERFACE_INTERNAL("exrom", NES_EXROM) + device.option_add_internal("exrom", NES_EXROM); // RAM expansion + Disk System add-on - SLOT_INTERFACE_INTERNAL("disksys", NES_DISKSYS) + device.option_add_internal("disksys", NES_DISKSYS); // Nintendo Custom boards - SLOT_INTERFACE_INTERNAL("pal_zz", NES_ZZ_PCB) - SLOT_INTERFACE_INTERNAL("nes_qj", NES_QJ_PCB) - SLOT_INTERFACE_INTERNAL("nes_event", NES_EVENT) + device.option_add_internal("pal_zz", NES_ZZ_PCB); + device.option_add_internal("nes_qj", NES_QJ_PCB); + device.option_add_internal("nes_event", NES_EVENT); // Discrete Components boards // IC_74x139x74 - SLOT_INTERFACE_INTERNAL("discrete_74x139", NES_74X139X74) + device.option_add_internal("discrete_74x139", NES_74X139X74); // IC_74x377 - SLOT_INTERFACE_INTERNAL("discrete_74x377", NES_74X377) + device.option_add_internal("discrete_74x377", NES_74X377); // Discrete board IC_74x161x161x32 - SLOT_INTERFACE_INTERNAL("discrete_74x161", NES_74X161X161X32) + device.option_add_internal("discrete_74x161", NES_74X161X161X32); // Discrete board IC_74x161x138 - SLOT_INTERFACE_INTERNAL("bitcorp_dis", NES_74X161X138) + device.option_add_internal("bitcorp_dis", NES_74X161X138); // Bandai boards - SLOT_INTERFACE_INTERNAL("lz93d50", NES_LZ93D50) - SLOT_INTERFACE_INTERNAL("lz93d50_ep1", NES_LZ93D50_24C01) - SLOT_INTERFACE_INTERNAL("lz93d50_ep2", NES_LZ93D50_24C02) - SLOT_INTERFACE_INTERNAL("fcg", NES_FCG) - SLOT_INTERFACE_INTERNAL("fjump2", NES_FJUMP2) - SLOT_INTERFACE_INTERNAL("datach", NES_DATACH) - SLOT_INTERFACE_INTERNAL("karastudio", NES_KARAOKESTUDIO) - SLOT_INTERFACE_INTERNAL("oekakids", NES_OEKAKIDS) + device.option_add_internal("lz93d50", NES_LZ93D50); + device.option_add_internal("lz93d50_ep1", NES_LZ93D50_24C01); + device.option_add_internal("lz93d50_ep2", NES_LZ93D50_24C02); + device.option_add_internal("fcg", NES_FCG); + device.option_add_internal("fjump2", NES_FJUMP2); + device.option_add_internal("datach", NES_DATACH); + device.option_add_internal("karastudio", NES_KARAOKESTUDIO); + device.option_add_internal("oekakids", NES_OEKAKIDS); // Irem boards - SLOT_INTERFACE_INTERNAL("g101", NES_G101) - SLOT_INTERFACE_INTERNAL("lrog017", NES_LROG017) - SLOT_INTERFACE_INTERNAL("h3001", NES_H3001) - SLOT_INTERFACE_INTERNAL("holydivr", NES_HOLYDIVR) - SLOT_INTERFACE_INTERNAL("tam_s1", NES_TAM_S1) + device.option_add_internal("g101", NES_G101); + device.option_add_internal("lrog017", NES_LROG017); + device.option_add_internal("h3001", NES_H3001); + device.option_add_internal("holydivr", NES_HOLYDIVR); + device.option_add_internal("tam_s1", NES_TAM_S1); // Jaleco boards - SLOT_INTERFACE_INTERNAL("jf11", NES_JF11) - SLOT_INTERFACE_INTERNAL("jf13", NES_JF13) - SLOT_INTERFACE_INTERNAL("jf16", NES_JF16) - SLOT_INTERFACE_INTERNAL("jf17", NES_JF17) - SLOT_INTERFACE_INTERNAL("jf17pcm", NES_JF17_ADPCM) - SLOT_INTERFACE_INTERNAL("jf19", NES_JF19) - SLOT_INTERFACE_INTERNAL("jf19pcm", NES_JF19_ADPCM) - SLOT_INTERFACE_INTERNAL("ss88006", NES_SS88006) - SLOT_INTERFACE_INTERNAL("jf23", NES_JF23) - SLOT_INTERFACE_INTERNAL("jf24", NES_JF24) - SLOT_INTERFACE_INTERNAL("jf29", NES_JF29) - SLOT_INTERFACE_INTERNAL("jf33", NES_JF33) + device.option_add_internal("jf11", NES_JF11); + device.option_add_internal("jf13", NES_JF13); + device.option_add_internal("jf16", NES_JF16); + device.option_add_internal("jf17", NES_JF17); + device.option_add_internal("jf17pcm", NES_JF17_ADPCM); + device.option_add_internal("jf19", NES_JF19); + device.option_add_internal("jf19pcm", NES_JF19_ADPCM); + device.option_add_internal("ss88006", NES_SS88006); + device.option_add_internal("jf23", NES_JF23); + device.option_add_internal("jf24", NES_JF24); + device.option_add_internal("jf29", NES_JF29); + device.option_add_internal("jf33", NES_JF33); // Konami boards - SLOT_INTERFACE_INTERNAL("vrc1", NES_VRC1) - SLOT_INTERFACE_INTERNAL("vrc2", NES_VRC2) - SLOT_INTERFACE_INTERNAL("vrc3", NES_VRC3) - SLOT_INTERFACE_INTERNAL("vrc4", NES_VRC4) - SLOT_INTERFACE_INTERNAL("vrc6", NES_VRC6) - SLOT_INTERFACE_INTERNAL("vrc7", NES_VRC7) + device.option_add_internal("vrc1", NES_VRC1); + device.option_add_internal("vrc2", NES_VRC2); + device.option_add_internal("vrc3", NES_VRC3); + device.option_add_internal("vrc4", NES_VRC4); + device.option_add_internal("vrc6", NES_VRC6); + device.option_add_internal("vrc7", NES_VRC7); // Namcot boards - SLOT_INTERFACE_INTERNAL("namcot_163", NES_NAMCOT163) - SLOT_INTERFACE_INTERNAL("namcot_175", NES_NAMCOT175) - SLOT_INTERFACE_INTERNAL("namcot_340", NES_NAMCOT340) - SLOT_INTERFACE_INTERNAL("namcot_3433", NES_NAMCOT3433) // DxROM is a Nintendo board for US versions of the 3433/3443 games - SLOT_INTERFACE_INTERNAL("namcot_3425", NES_NAMCOT3425) - SLOT_INTERFACE_INTERNAL("namcot_3446", NES_NAMCOT3446) + device.option_add_internal("namcot_163", NES_NAMCOT163); + device.option_add_internal("namcot_175", NES_NAMCOT175); + device.option_add_internal("namcot_340", NES_NAMCOT340); + device.option_add_internal("namcot_3433", NES_NAMCOT3433); // DxROM is a Nintendo board for US versions of the 3433/3443 games + device.option_add_internal("namcot_3425", NES_NAMCOT3425); + device.option_add_internal("namcot_3446", NES_NAMCOT3446); // Sunsoft boards - SLOT_INTERFACE_INTERNAL("sunsoft1", NES_SUNSOFT_1) - SLOT_INTERFACE_INTERNAL("sunsoft2", NES_SUNSOFT_2) - SLOT_INTERFACE_INTERNAL("sunsoft3", NES_SUNSOFT_3) - SLOT_INTERFACE_INTERNAL("sunsoft4", NES_SUNSOFT_4) - SLOT_INTERFACE_INTERNAL("sunsoft_dcs", NES_SUNSOFT_DCS) - SLOT_INTERFACE_INTERNAL("sunsoft_fme7", NES_SUNSOFT_FME7) // JxROM is a Nintendo board for US versions of the Sunsoft FME7 games - SLOT_INTERFACE_INTERNAL("sunsoft5a", NES_SUNSOFT_5) - SLOT_INTERFACE_INTERNAL("sunsoft5b", NES_SUNSOFT_5) + device.option_add_internal("sunsoft1", NES_SUNSOFT_1); + device.option_add_internal("sunsoft2", NES_SUNSOFT_2); + device.option_add_internal("sunsoft3", NES_SUNSOFT_3); + device.option_add_internal("sunsoft4", NES_SUNSOFT_4); + device.option_add_internal("sunsoft_dcs", NES_SUNSOFT_DCS); + device.option_add_internal("sunsoft_fme7", NES_SUNSOFT_FME7); // JxROM is a Nintendo board for US versions of the Sunsoft FME7 games + device.option_add_internal("sunsoft5a", NES_SUNSOFT_5); + device.option_add_internal("sunsoft5b", NES_SUNSOFT_5); // Taito boards - SLOT_INTERFACE_INTERNAL("tc0190fmc", NES_TC0190FMC) - SLOT_INTERFACE_INTERNAL("tc0190fmcp", NES_TC0190FMC_PAL16R4) - SLOT_INTERFACE_INTERNAL("tc0350fmr", NES_TC0190FMC) - SLOT_INTERFACE_INTERNAL("x1_005", NES_X1_005) // two variants exist, depending on pin17 & pin31 connections - SLOT_INTERFACE_INTERNAL("x1_017", NES_X1_017) + device.option_add_internal("tc0190fmc", NES_TC0190FMC); + device.option_add_internal("tc0190fmcp", NES_TC0190FMC_PAL16R4); + device.option_add_internal("tc0350fmr", NES_TC0190FMC); + device.option_add_internal("x1_005", NES_X1_005); // two variants exist, depending on pin17 & pin31 connections + device.option_add_internal("x1_017", NES_X1_017); // Misc pirate boards (by AVE, Camerica, C&E, Nanjing, NTDEC, JY Company, Sachen, Tengen, TXC, Waixing, Henggendianzi, etc.) - SLOT_INTERFACE_INTERNAL("nina001", NES_NINA001) - SLOT_INTERFACE_INTERNAL("nina006", NES_NINA006) - SLOT_INTERFACE_INTERNAL("bf9093", NES_BF9093) - SLOT_INTERFACE_INTERNAL("bf9096", NES_BF9096) - SLOT_INTERFACE_INTERNAL("goldenfive", NES_GOLDEN5) - SLOT_INTERFACE_INTERNAL("ade", NES_ALADDIN) - SLOT_INTERFACE_INTERNAL("cne_decathl", NES_CNE_DECATHL) - SLOT_INTERFACE_INTERNAL("cne_fsb", NES_CNE_FSB) - SLOT_INTERFACE_INTERNAL("cne_shlz", NES_CNE_SHLZ) - SLOT_INTERFACE_INTERNAL("nanjing", NES_NANJING) // mapper 163 - SLOT_INTERFACE_INTERNAL("ntdec_asder", NES_NTDEC_ASDER) // mapper 112 - SLOT_INTERFACE_INTERNAL("ntdec_fh", NES_NTDEC_FH) // mapper 193 - SLOT_INTERFACE_INTERNAL("jyc_a", NES_JY_TYPEA) // mapper 90 - SLOT_INTERFACE_INTERNAL("jyc_b", NES_JY_TYPEB) // mapper 211 - SLOT_INTERFACE_INTERNAL("jyc_c", NES_JY_TYPEC) // mapper 209 - SLOT_INTERFACE_INTERNAL("sa009", NES_SACHEN_SA009) - SLOT_INTERFACE_INTERNAL("sa0036", NES_SACHEN_SA0036) - SLOT_INTERFACE_INTERNAL("sa0037", NES_SACHEN_SA0037) - SLOT_INTERFACE_INTERNAL("sa72007", NES_SACHEN_SA72007) - SLOT_INTERFACE_INTERNAL("sa72008", NES_SACHEN_SA72008) - SLOT_INTERFACE_INTERNAL("tca01", NES_SACHEN_TCA01) - SLOT_INTERFACE_INTERNAL("s8259a", NES_SACHEN_8259A) - SLOT_INTERFACE_INTERNAL("s8259b", NES_SACHEN_8259B) - SLOT_INTERFACE_INTERNAL("s8259c", NES_SACHEN_8259C) - SLOT_INTERFACE_INTERNAL("s8259d", NES_SACHEN_8259D) - SLOT_INTERFACE_INTERNAL("s74x374", NES_SACHEN_74X374) - SLOT_INTERFACE_INTERNAL("s74x374a", NES_SACHEN_74X374_ALT) /* FIXME: Made up boards some different handling */ - SLOT_INTERFACE_INTERNAL("tcu01", NES_SACHEN_TCU01) - SLOT_INTERFACE_INTERNAL("tcu02", NES_SACHEN_TCU02) - SLOT_INTERFACE_INTERNAL("tengen_800008", NES_TENGEN_800008) /* FIXME: Is this the same as CNROM? */ - SLOT_INTERFACE_INTERNAL("tengen_800032", NES_TENGEN_800032) - SLOT_INTERFACE_INTERNAL("tengen_800037", NES_TENGEN_800037) - SLOT_INTERFACE_INTERNAL("txc_22211", NES_TXC_22211) - SLOT_INTERFACE_INTERNAL("txc_dumarc", NES_TXC_DUMARACING) - SLOT_INTERFACE_INTERNAL("txc_mjblock", NES_TXC_MJBLOCK) - SLOT_INTERFACE_INTERNAL("txc_strikew", NES_TXC_STRIKEW) - SLOT_INTERFACE_INTERNAL("txc_commandos", NES_TXC_COMMANDOS) - SLOT_INTERFACE_INTERNAL("waixing_a", NES_WAIXING_A) - SLOT_INTERFACE_INTERNAL("waixing_a1", NES_WAIXING_A1) /* FIXME: Made up boards the different CHRRAM banks (see Ji Jia Zhan Shi) */ - SLOT_INTERFACE_INTERNAL("waixing_b", NES_WAIXING_B) - SLOT_INTERFACE_INTERNAL("waixing_c", NES_WAIXING_C) - SLOT_INTERFACE_INTERNAL("waixing_d", NES_WAIXING_D) - SLOT_INTERFACE_INTERNAL("waixing_e", NES_WAIXING_E) - SLOT_INTERFACE_INTERNAL("waixing_f", NES_WAIXING_F) - SLOT_INTERFACE_INTERNAL("waixing_g", NES_WAIXING_G) - SLOT_INTERFACE_INTERNAL("waixing_h", NES_WAIXING_H) - SLOT_INTERFACE_INTERNAL("waixing_h1", NES_WAIXING_H1) /* FIXME: Made up boards the different WRAM protect banks (see Shen Mi Jin San Jiao) */ - SLOT_INTERFACE_INTERNAL("waixing_i", NES_WAIXING_I) - SLOT_INTERFACE_INTERNAL("waixing_j", NES_WAIXING_J) - SLOT_INTERFACE_INTERNAL("waixing_sgz", NES_WAIXING_SGZ) - SLOT_INTERFACE_INTERNAL("waixing_sgzlz", NES_WAIXING_SGZLZ) - SLOT_INTERFACE_INTERNAL("waixing_sec", NES_WAIXING_SEC) - SLOT_INTERFACE_INTERNAL("waixing_ffv", NES_WAIXING_FFV) - SLOT_INTERFACE_INTERNAL("waixing_wxzs", NES_WAIXING_WXZS) - SLOT_INTERFACE_INTERNAL("waixing_wxzs2", NES_WAIXING_WXZS2) - SLOT_INTERFACE_INTERNAL("waixing_dq8", NES_WAIXING_DQ8) - SLOT_INTERFACE_INTERNAL("waixing_sh2", NES_WAIXING_SH2) - SLOT_INTERFACE_INTERNAL("fs304", NES_WAIXING_FS304) // used in Zelda 3 by Waixing - SLOT_INTERFACE_INTERNAL("cony", NES_CONY) - SLOT_INTERFACE_INTERNAL("yoko", NES_YOKO) - SLOT_INTERFACE_INTERNAL("hengg_srich", NES_HENGG_SRICH) - SLOT_INTERFACE_INTERNAL("hengg_xhzs", NES_HENGG_XHZS) - SLOT_INTERFACE_INTERNAL("hengg_shjy3", NES_HENGG_SHJY3) // mapper 253 - SLOT_INTERFACE_INTERNAL("hes", NES_HES) - SLOT_INTERFACE_INTERNAL("hosenkan", NES_HOSENKAN) - SLOT_INTERFACE_INTERNAL("ks7058", NES_KS7058) - SLOT_INTERFACE_INTERNAL("ks202", NES_KS202) // mapper 56 - SLOT_INTERFACE_INTERNAL("ks7022", NES_KS7022)// mapper 175 - SLOT_INTERFACE_INTERNAL("ks7017", NES_KS7017) - SLOT_INTERFACE_INTERNAL("ks7032", NES_KS7032) // mapper 142 - SLOT_INTERFACE_INTERNAL("ks7012", NES_KS7012) // used in Zanac (FDS Conversion) - SLOT_INTERFACE_INTERNAL("ks7013b", NES_KS7013B) // used in Highway Star (FDS Conversion) - SLOT_INTERFACE_INTERNAL("ks7031", NES_KS7031) // used in Dracula II (FDS Conversion) - SLOT_INTERFACE_INTERNAL("ks7016", NES_KS7016) // used in Exciting Basket (FDS Conversion) - SLOT_INTERFACE_INTERNAL("ks7037", NES_KS7037) // used in Metroid (FDS Conversion) - SLOT_INTERFACE_INTERNAL("gs2015", NES_GS2015) - SLOT_INTERFACE_INTERNAL("gs2004", NES_GS2004) - SLOT_INTERFACE_INTERNAL("gs2013", NES_GS2013) - SLOT_INTERFACE_INTERNAL("tf9in1", NES_TF9IN1) - SLOT_INTERFACE_INTERNAL("3dblock", NES_3DBLOCK) // NROM + IRQ? - SLOT_INTERFACE_INTERNAL("racermate", NES_RACERMATE) // mapper 168 - SLOT_INTERFACE_INTERNAL("agci_50282", NES_AGCI_50282) - SLOT_INTERFACE_INTERNAL("dreamtech01", NES_DREAMTECH01) - SLOT_INTERFACE_INTERNAL("fukutake", NES_FUKUTAKE) - SLOT_INTERFACE_INTERNAL("futuremedia", NES_FUTUREMEDIA) - SLOT_INTERFACE_INTERNAL("magicseries", NES_MAGSERIES) - SLOT_INTERFACE_INTERNAL("daou_306", NES_DAOU306) - SLOT_INTERFACE_INTERNAL("subor0", NES_SUBOR0) - SLOT_INTERFACE_INTERNAL("subor1", NES_SUBOR1) - SLOT_INTERFACE_INTERNAL("subor2", NES_SUBOR2) - SLOT_INTERFACE_INTERNAL("cc21", NES_CC21) - SLOT_INTERFACE_INTERNAL("xiaozy", NES_XIAOZY) - SLOT_INTERFACE_INTERNAL("edu2k", NES_EDU2K) - SLOT_INTERFACE_INTERNAL("t230", NES_T230) - SLOT_INTERFACE_INTERNAL("mk2", NES_MK2) - SLOT_INTERFACE_INTERNAL("unl_whero", NES_WHERO) // mapper 27 - SLOT_INTERFACE_INTERNAL("unl_43272", NES_43272) // used in Gaau Hok Gwong Cheung - SLOT_INTERFACE_INTERNAL("tf1201", NES_TF1201) - SLOT_INTERFACE_INTERNAL("unl_cfight", NES_CITYFIGHT) // used by City Fighter IV - SLOT_INTERFACE_INTERNAL("zemina", NES_ZEMINA) // mapper 190 - Magic Kid GooGoo + device.option_add_internal("nina001", NES_NINA001); + device.option_add_internal("nina006", NES_NINA006); + device.option_add_internal("bf9093", NES_BF9093); + device.option_add_internal("bf9096", NES_BF9096); + device.option_add_internal("goldenfive", NES_GOLDEN5); + device.option_add_internal("ade", NES_ALADDIN); + device.option_add_internal("cne_decathl", NES_CNE_DECATHL); + device.option_add_internal("cne_fsb", NES_CNE_FSB); + device.option_add_internal("cne_shlz", NES_CNE_SHLZ); + device.option_add_internal("nanjing", NES_NANJING); // mapper 163 + device.option_add_internal("ntdec_asder", NES_NTDEC_ASDER); // mapper 112 + device.option_add_internal("ntdec_fh", NES_NTDEC_FH); // mapper 193 + device.option_add_internal("jyc_a", NES_JY_TYPEA); // mapper 90 + device.option_add_internal("jyc_b", NES_JY_TYPEB); // mapper 211 + device.option_add_internal("jyc_c", NES_JY_TYPEC); // mapper 209 + device.option_add_internal("sa009", NES_SACHEN_SA009); + device.option_add_internal("sa0036", NES_SACHEN_SA0036); + device.option_add_internal("sa0037", NES_SACHEN_SA0037); + device.option_add_internal("sa72007", NES_SACHEN_SA72007); + device.option_add_internal("sa72008", NES_SACHEN_SA72008); + device.option_add_internal("tca01", NES_SACHEN_TCA01); + device.option_add_internal("s8259a", NES_SACHEN_8259A); + device.option_add_internal("s8259b", NES_SACHEN_8259B); + device.option_add_internal("s8259c", NES_SACHEN_8259C); + device.option_add_internal("s8259d", NES_SACHEN_8259D); + device.option_add_internal("s74x374", NES_SACHEN_74X374); + device.option_add_internal("s74x374a", NES_SACHEN_74X374_ALT); // FIXME: Made up boards some different handling + device.option_add_internal("tcu01", NES_SACHEN_TCU01); + device.option_add_internal("tcu02", NES_SACHEN_TCU02); + device.option_add_internal("tengen_800008", NES_TENGEN_800008); // FIXME: Is this the same as CNROM? + device.option_add_internal("tengen_800032", NES_TENGEN_800032); + device.option_add_internal("tengen_800037", NES_TENGEN_800037); + device.option_add_internal("txc_22211", NES_TXC_22211); + device.option_add_internal("txc_dumarc", NES_TXC_DUMARACING); + device.option_add_internal("txc_mjblock", NES_TXC_MJBLOCK); + device.option_add_internal("txc_strikew", NES_TXC_STRIKEW); + device.option_add_internal("txc_commandos", NES_TXC_COMMANDOS); + device.option_add_internal("waixing_a", NES_WAIXING_A); + device.option_add_internal("waixing_a1", NES_WAIXING_A1); // FIXME: Made up boards the different CHRRAM banks (see Ji Jia Zhan Shi) + device.option_add_internal("waixing_b", NES_WAIXING_B); + device.option_add_internal("waixing_c", NES_WAIXING_C); + device.option_add_internal("waixing_d", NES_WAIXING_D); + device.option_add_internal("waixing_e", NES_WAIXING_E); + device.option_add_internal("waixing_f", NES_WAIXING_F); + device.option_add_internal("waixing_g", NES_WAIXING_G); + device.option_add_internal("waixing_h", NES_WAIXING_H); + device.option_add_internal("waixing_h1", NES_WAIXING_H1); // FIXME: Made up boards the different WRAM protect banks (see Shen Mi Jin San Jiao) + device.option_add_internal("waixing_i", NES_WAIXING_I); + device.option_add_internal("waixing_j", NES_WAIXING_J); + device.option_add_internal("waixing_sgz", NES_WAIXING_SGZ); + device.option_add_internal("waixing_sgzlz", NES_WAIXING_SGZLZ); + device.option_add_internal("waixing_sec", NES_WAIXING_SEC); + device.option_add_internal("waixing_ffv", NES_WAIXING_FFV); + device.option_add_internal("waixing_wxzs", NES_WAIXING_WXZS); + device.option_add_internal("waixing_wxzs2", NES_WAIXING_WXZS2); + device.option_add_internal("waixing_dq8", NES_WAIXING_DQ8); + device.option_add_internal("waixing_sh2", NES_WAIXING_SH2); + device.option_add_internal("fs304", NES_WAIXING_FS304); // used in Zelda 3 by Waixing + device.option_add_internal("cony", NES_CONY); + device.option_add_internal("yoko", NES_YOKO); + device.option_add_internal("hengg_srich", NES_HENGG_SRICH); + device.option_add_internal("hengg_xhzs", NES_HENGG_XHZS); + device.option_add_internal("hengg_shjy3", NES_HENGG_SHJY3); // mapper 253 + device.option_add_internal("hes", NES_HES); + device.option_add_internal("hosenkan", NES_HOSENKAN); + device.option_add_internal("ks7058", NES_KS7058); + device.option_add_internal("ks202", NES_KS202); // mapper 56 + device.option_add_internal("ks7022", NES_KS7022); // mapper 175 + device.option_add_internal("ks7017", NES_KS7017); + device.option_add_internal("ks7032", NES_KS7032); // mapper 142 + device.option_add_internal("ks7012", NES_KS7012); // used in Zanac (FDS Conversion); + device.option_add_internal("ks7013b", NES_KS7013B); // used in Highway Star (FDS Conversion); + device.option_add_internal("ks7031", NES_KS7031); // used in Dracula II (FDS Conversion); + device.option_add_internal("ks7016", NES_KS7016); // used in Exciting Basket (FDS Conversion); + device.option_add_internal("ks7037", NES_KS7037); // used in Metroid (FDS Conversion); + device.option_add_internal("gs2015", NES_GS2015); + device.option_add_internal("gs2004", NES_GS2004); + device.option_add_internal("gs2013", NES_GS2013); + device.option_add_internal("tf9in1", NES_TF9IN1); + device.option_add_internal("3dblock", NES_3DBLOCK); // NROM + IRQ? + device.option_add_internal("racermate", NES_RACERMATE); // mapper 168 + device.option_add_internal("agci_50282", NES_AGCI_50282); + device.option_add_internal("dreamtech01", NES_DREAMTECH01); + device.option_add_internal("fukutake", NES_FUKUTAKE); + device.option_add_internal("futuremedia", NES_FUTUREMEDIA); + device.option_add_internal("magicseries", NES_MAGSERIES); + device.option_add_internal("daou_306", NES_DAOU306); + device.option_add_internal("subor0", NES_SUBOR0); + device.option_add_internal("subor1", NES_SUBOR1); + device.option_add_internal("subor2", NES_SUBOR2); + device.option_add_internal("cc21", NES_CC21); + device.option_add_internal("xiaozy", NES_XIAOZY); + device.option_add_internal("edu2k", NES_EDU2K); + device.option_add_internal("t230", NES_T230); + device.option_add_internal("mk2", NES_MK2); + device.option_add_internal("unl_whero", NES_WHERO); // mapper 27 + device.option_add_internal("unl_43272", NES_43272); // used in Gaau Hok Gwong Cheung + device.option_add_internal("tf1201", NES_TF1201); + device.option_add_internal("unl_cfight", NES_CITYFIGHT); // used by City Fighter IV + device.option_add_internal("zemina", NES_ZEMINA); // mapper 190 - Magic Kid GooGoo // misc bootleg boards - SLOT_INTERFACE_INTERNAL("ax5705", NES_AX5705) - SLOT_INTERFACE_INTERNAL("sc127", NES_SC127) - SLOT_INTERFACE_INTERNAL("mariobaby", NES_MARIOBABY) - SLOT_INTERFACE_INTERNAL("asnicol", NES_ASN) - SLOT_INTERFACE_INTERNAL("smb3pirate", NES_SMB3PIRATE) - SLOT_INTERFACE_INTERNAL("btl_dninja", NES_BTL_DNINJA) - SLOT_INTERFACE_INTERNAL("whirl2706", NES_WHIRLWIND_2706) - SLOT_INTERFACE_INTERNAL("smb2j", NES_SMB2J) - SLOT_INTERFACE_INTERNAL("smb2ja", NES_SMB2JA) - SLOT_INTERFACE_INTERNAL("smb2jb", NES_SMB2JB) - SLOT_INTERFACE_INTERNAL("09034a", NES_09034A) - SLOT_INTERFACE_INTERNAL("tobidase", NES_TOBIDASE) // mapper 120 - SLOT_INTERFACE_INTERNAL("mmalee2", NES_MMALEE) // mapper 55? - SLOT_INTERFACE_INTERNAL("unl_2708", NES_2708) // mapper 103 - SLOT_INTERFACE_INTERNAL("unl_lh32", NES_LH32) // used by Monty no Doki Doki Daidassou FDS conversion - SLOT_INTERFACE_INTERNAL("unl_lh10", NES_LH10) // used in Fuuun Shaolin Kyo (FDS Conversion) - SLOT_INTERFACE_INTERNAL("unl_lh53", NES_LH53) // used in Nazo no Murasamejou (FDS Conversion) - SLOT_INTERFACE_INTERNAL("unl_ac08", NES_AC08) // used by Green Beret FDS conversion - SLOT_INTERFACE_INTERNAL("unl_bb", NES_UNL_BB) // used by a few FDS conversions - SLOT_INTERFACE_INTERNAL("sgpipe", NES_SHUIGUAN) // mapper 183 - SLOT_INTERFACE_INTERNAL("rt01", NES_RT01) + device.option_add_internal("ax5705", NES_AX5705); + device.option_add_internal("sc127", NES_SC127); + device.option_add_internal("mariobaby", NES_MARIOBABY); + device.option_add_internal("asnicol", NES_ASN); + device.option_add_internal("smb3pirate", NES_SMB3PIRATE); + device.option_add_internal("btl_dninja", NES_BTL_DNINJA); + device.option_add_internal("whirl2706", NES_WHIRLWIND_2706); + device.option_add_internal("smb2j", NES_SMB2J); + device.option_add_internal("smb2ja", NES_SMB2JA); + device.option_add_internal("smb2jb", NES_SMB2JB); + device.option_add_internal("09034a", NES_09034A); + device.option_add_internal("tobidase", NES_TOBIDASE); // mapper 120 + device.option_add_internal("mmalee2", NES_MMALEE); // mapper 55? + device.option_add_internal("unl_2708", NES_2708); // mapper 103 + device.option_add_internal("unl_lh32", NES_LH32); // used by Monty no Doki Doki Daidassou FDS conversion + device.option_add_internal("unl_lh10", NES_LH10); // used in Fuuun Shaolin Kyo (FDS Conversion); + device.option_add_internal("unl_lh53", NES_LH53); // used in Nazo no Murasamejou (FDS Conversion); + device.option_add_internal("unl_ac08", NES_AC08); // used by Green Beret FDS conversion + device.option_add_internal("unl_bb", NES_UNL_BB); // used by a few FDS conversions + device.option_add_internal("sgpipe", NES_SHUIGUAN); // mapper 183 + device.option_add_internal("rt01", NES_RT01); // misc MMC3 clone boards - SLOT_INTERFACE_INTERNAL("dbz5", NES_REX_DBZ5) - SLOT_INTERFACE_INTERNAL("sl1632", NES_REX_SL1632) - SLOT_INTERFACE_INTERNAL("somari", NES_SOMARI) // mapper 116 - SLOT_INTERFACE_INTERNAL("nitra", NES_NITRA) - SLOT_INTERFACE_INTERNAL("ks7057", NES_KS7057) // mapper 196 alt (for Street Fighter VI / Fight Street VI) - SLOT_INTERFACE_INTERNAL("sbros11", NES_SBROS11) - SLOT_INTERFACE_INTERNAL("unl_malisb", NES_MALISB) // used by Super Mali Splash Bomb - SLOT_INTERFACE_INTERNAL("family4646", NES_FAMILY4646) - SLOT_INTERFACE_INTERNAL("pikay2k", NES_PIKAY2K) // mapper 254 - SLOT_INTERFACE_INTERNAL("8237", NES_8237) - SLOT_INTERFACE_INTERNAL("8237a", NES_NROM) // UNSUPPORTED - SLOT_INTERFACE_INTERNAL("sg_lionk", NES_SG_LIONK) - SLOT_INTERFACE_INTERNAL("sg_boog", NES_SG_BOOG) - SLOT_INTERFACE_INTERNAL("kasing", NES_KASING) - SLOT_INTERFACE_INTERNAL("kay", NES_KAY) - SLOT_INTERFACE_INTERNAL("h2288", NES_H2288) - SLOT_INTERFACE_INTERNAL("unl_6035052", NES_6035052) // mapper 238? - SLOT_INTERFACE_INTERNAL("txc_tw", NES_TXC_TW) - SLOT_INTERFACE_INTERNAL("kof97", NES_KOF97) - SLOT_INTERFACE_INTERNAL("kof96", NES_KOF96) - SLOT_INTERFACE_INTERNAL("sfight3", NES_SF3) - SLOT_INTERFACE_INTERNAL("gouder", NES_GOUDER) - SLOT_INTERFACE_INTERNAL("sa9602b", NES_SA9602B) - SLOT_INTERFACE_INTERNAL("unl_shero", NES_SACHEN_SHERO) + device.option_add_internal("dbz5", NES_REX_DBZ5); + device.option_add_internal("sl1632", NES_REX_SL1632); + device.option_add_internal("somari", NES_SOMARI); // mapper 116 + device.option_add_internal("nitra", NES_NITRA); + device.option_add_internal("ks7057", NES_KS7057); // mapper 196 alt (for Street Fighter VI / Fight Street VI); + device.option_add_internal("sbros11", NES_SBROS11); + device.option_add_internal("unl_malisb", NES_MALISB); // used by Super Mali Splash Bomb + device.option_add_internal("family4646", NES_FAMILY4646); + device.option_add_internal("pikay2k", NES_PIKAY2K); // mapper 254 + device.option_add_internal("8237", NES_8237); + device.option_add_internal("8237a", NES_NROM); // UNSUPPORTED + device.option_add_internal("sg_lionk", NES_SG_LIONK); + device.option_add_internal("sg_boog", NES_SG_BOOG); + device.option_add_internal("kasing", NES_KASING); + device.option_add_internal("kay", NES_KAY); + device.option_add_internal("h2288", NES_H2288); + device.option_add_internal("unl_6035052", NES_6035052); // mapper 238? + device.option_add_internal("txc_tw", NES_TXC_TW); + device.option_add_internal("kof97", NES_KOF97); + device.option_add_internal("kof96", NES_KOF96); + device.option_add_internal("sfight3", NES_SF3); + device.option_add_internal("gouder", NES_GOUDER); + device.option_add_internal("sa9602b", NES_SA9602B); + device.option_add_internal("unl_shero", NES_SACHEN_SHERO); // misc multigame cart boards - SLOT_INTERFACE_INTERNAL("benshieng", NES_BENSHIENG) - SLOT_INTERFACE_INTERNAL("action52", NES_ACTION52) - SLOT_INTERFACE_INTERNAL("caltron6in1", NES_CALTRON6IN1) - SLOT_INTERFACE_INTERNAL("maxi15", NES_MAXI15) // mapper 234 - SLOT_INTERFACE_INTERNAL("rumblestation", NES_RUMBLESTATION) // mapper 46 - SLOT_INTERFACE_INTERNAL("svision16", NES_SVISION16) // mapper 53 - SLOT_INTERFACE_INTERNAL("n625092", NES_N625092) - SLOT_INTERFACE_INTERNAL("a65as", NES_A65AS) - SLOT_INTERFACE_INTERNAL("t262", NES_T262) - SLOT_INTERFACE_INTERNAL("novel1", NES_NOVEL1) - SLOT_INTERFACE_INTERNAL("novel2", NES_NOVEL2) // mapper 213... same as BMC-NOVELDIAMOND9999999IN1 board? - SLOT_INTERFACE_INTERNAL("studyngame", NES_STUDYNGAME) // mapper 39 - SLOT_INTERFACE_INTERNAL("sgun20in1", NES_SUPERGUN20IN1) - SLOT_INTERFACE_INTERNAL("bmc_vt5201", NES_VT5201) // mapper 60 otherwise - SLOT_INTERFACE_INTERNAL("bmc_d1038", NES_VT5201) // mapper 60? - SLOT_INTERFACE_INTERNAL("810544c", NES_810544C) - SLOT_INTERFACE_INTERNAL("ntd03", NES_NTD03) - SLOT_INTERFACE_INTERNAL("bmc_gb63", NES_BMC_GB63) - SLOT_INTERFACE_INTERNAL("bmc_gka", NES_BMC_GKA) - SLOT_INTERFACE_INTERNAL("bmc_gkb", NES_BMC_GKB) - SLOT_INTERFACE_INTERNAL("bmc_ws", NES_BMC_WS) - SLOT_INTERFACE_INTERNAL("bmc_g146", NES_BMC_G146) - SLOT_INTERFACE_INTERNAL("bmc_11160", NES_BMC_11160) - SLOT_INTERFACE_INTERNAL("bmc_8157", NES_BMC_8157) - SLOT_INTERFACE_INTERNAL("bmc_hik300", NES_BMC_HIK300) - SLOT_INTERFACE_INTERNAL("bmc_s700", NES_BMC_S700) - SLOT_INTERFACE_INTERNAL("bmc_ball11", NES_BMC_BALL11) - SLOT_INTERFACE_INTERNAL("bmc_22games", NES_BMC_22GAMES) - SLOT_INTERFACE_INTERNAL("bmc_64y2k", NES_BMC_64Y2K) - SLOT_INTERFACE_INTERNAL("bmc_12in1", NES_BMC_12IN1) - SLOT_INTERFACE_INTERNAL("bmc_20in1", NES_BMC_20IN1) - SLOT_INTERFACE_INTERNAL("bmc_21in1", NES_BMC_21IN1) - SLOT_INTERFACE_INTERNAL("bmc_31in1", NES_BMC_31IN1) - SLOT_INTERFACE_INTERNAL("bmc_35in1", NES_BMC_35IN1) - SLOT_INTERFACE_INTERNAL("bmc_36in1", NES_BMC_36IN1) - SLOT_INTERFACE_INTERNAL("bmc_64in1", NES_BMC_64IN1) - SLOT_INTERFACE_INTERNAL("bmc_70in1", NES_BMC_70IN1) // mapper 236? - SLOT_INTERFACE_INTERNAL("bmc_72in1", NES_BMC_72IN1) - SLOT_INTERFACE_INTERNAL("bmc_76in1", NES_BMC_76IN1) - SLOT_INTERFACE_INTERNAL("bmc_s42in1", NES_BMC_76IN1) - SLOT_INTERFACE_INTERNAL("bmc_110in1", NES_BMC_110IN1) - SLOT_INTERFACE_INTERNAL("bmc_150in1", NES_BMC_150IN1) - SLOT_INTERFACE_INTERNAL("bmc_190in1", NES_BMC_190IN1) - SLOT_INTERFACE_INTERNAL("bmc_800in1", NES_BMC_800IN1) // mapper 236? - SLOT_INTERFACE_INTERNAL("bmc_1200in1", NES_BMC_1200IN1) - SLOT_INTERFACE_INTERNAL("bmc_gold150", NES_BMC_GOLD150) // mapper 235 with 2M PRG - SLOT_INTERFACE_INTERNAL("bmc_gold260", NES_BMC_GOLD260) // mapper 235 with 4M PRG - SLOT_INTERFACE_INTERNAL("bmc_power255", NES_BMC_CH001) // mapper 63? - SLOT_INTERFACE_INTERNAL("bmc_s22games", NES_BMC_SUPER22) // mapper 233 - SLOT_INTERFACE_INTERNAL("bmc_reset4", NES_BMC_4IN1RESET) // mapper 60 with 64k prg and 32k chr - SLOT_INTERFACE_INTERNAL("bmc_reset42", NES_BMC_42IN1RESET) // mapper 60? or 226? or 233? + device.option_add_internal("benshieng", NES_BENSHIENG); + device.option_add_internal("action52", NES_ACTION52); + device.option_add_internal("caltron6in1", NES_CALTRON6IN1); + device.option_add_internal("maxi15", NES_MAXI15); // mapper 234 + device.option_add_internal("rumblestation", NES_RUMBLESTATION); // mapper 46 + device.option_add_internal("svision16", NES_SVISION16); // mapper 53 + device.option_add_internal("n625092", NES_N625092); + device.option_add_internal("a65as", NES_A65AS); + device.option_add_internal("t262", NES_T262); + device.option_add_internal("novel1", NES_NOVEL1); + device.option_add_internal("novel2", NES_NOVEL2); // mapper 213... same as BMC-NOVELDIAMOND9999999IN1 board? + device.option_add_internal("studyngame", NES_STUDYNGAME); // mapper 39 + device.option_add_internal("sgun20in1", NES_SUPERGUN20IN1); + device.option_add_internal("bmc_vt5201", NES_VT5201); // mapper 60 otherwise + device.option_add_internal("bmc_d1038", NES_VT5201); // mapper 60? + device.option_add_internal("810544c", NES_810544C); + device.option_add_internal("ntd03", NES_NTD03); + device.option_add_internal("bmc_gb63", NES_BMC_GB63); + device.option_add_internal("bmc_gka", NES_BMC_GKA); + device.option_add_internal("bmc_gkb", NES_BMC_GKB); + device.option_add_internal("bmc_ws", NES_BMC_WS); + device.option_add_internal("bmc_g146", NES_BMC_G146); + device.option_add_internal("bmc_11160", NES_BMC_11160); + device.option_add_internal("bmc_8157", NES_BMC_8157); + device.option_add_internal("bmc_hik300", NES_BMC_HIK300); + device.option_add_internal("bmc_s700", NES_BMC_S700); + device.option_add_internal("bmc_ball11", NES_BMC_BALL11); + device.option_add_internal("bmc_22games", NES_BMC_22GAMES); + device.option_add_internal("bmc_64y2k", NES_BMC_64Y2K); + device.option_add_internal("bmc_12in1", NES_BMC_12IN1); + device.option_add_internal("bmc_20in1", NES_BMC_20IN1); + device.option_add_internal("bmc_21in1", NES_BMC_21IN1); + device.option_add_internal("bmc_31in1", NES_BMC_31IN1); + device.option_add_internal("bmc_35in1", NES_BMC_35IN1); + device.option_add_internal("bmc_36in1", NES_BMC_36IN1); + device.option_add_internal("bmc_64in1", NES_BMC_64IN1); + device.option_add_internal("bmc_70in1", NES_BMC_70IN1); // mapper 236? + device.option_add_internal("bmc_72in1", NES_BMC_72IN1); + device.option_add_internal("bmc_76in1", NES_BMC_76IN1); + device.option_add_internal("bmc_s42in1", NES_BMC_76IN1); + device.option_add_internal("bmc_110in1", NES_BMC_110IN1); + device.option_add_internal("bmc_150in1", NES_BMC_150IN1); + device.option_add_internal("bmc_190in1", NES_BMC_190IN1); + device.option_add_internal("bmc_800in1", NES_BMC_800IN1); // mapper 236? + device.option_add_internal("bmc_1200in1", NES_BMC_1200IN1); + device.option_add_internal("bmc_gold150", NES_BMC_GOLD150); // mapper 235 with 2M PRG + device.option_add_internal("bmc_gold260", NES_BMC_GOLD260); // mapper 235 with 4M PRG + device.option_add_internal("bmc_power255", NES_BMC_CH001); // mapper 63? + device.option_add_internal("bmc_s22games", NES_BMC_SUPER22); // mapper 233 + device.option_add_internal("bmc_reset4", NES_BMC_4IN1RESET); // mapper 60 with 64k prg and 32k chr + device.option_add_internal("bmc_reset42", NES_BMC_42IN1RESET); // mapper 60? or 226? or 233? // misc multigame cart MMC3 clone boards - SLOT_INTERFACE_INTERNAL("fk23c", NES_FK23C) - SLOT_INTERFACE_INTERNAL("fk23ca", NES_FK23CA) - SLOT_INTERFACE_INTERNAL("s24in1c03", NES_S24IN1SC03) - SLOT_INTERFACE_INTERNAL("bmc_15in1", NES_BMC_15IN1) - SLOT_INTERFACE_INTERNAL("bmc_sbig7in1", NES_BMC_SBIG7) - SLOT_INTERFACE_INTERNAL("bmc_hik8in1", NES_BMC_HIK8) - SLOT_INTERFACE_INTERNAL("bmc_hik4in1", NES_BMC_HIK4) - SLOT_INTERFACE_INTERNAL("bmc_mario7in1", NES_BMC_MARIO7IN1) - SLOT_INTERFACE_INTERNAL("bmc_gold7in1", NES_BMC_GOLD7IN1) - SLOT_INTERFACE_INTERNAL("bmc_gc6in1", NES_BMC_GC6IN1) - SLOT_INTERFACE_INTERNAL("bmc_411120c", NES_BMC_411120C) - SLOT_INTERFACE_INTERNAL("bmc_830118c", NES_BMC_830118C) - SLOT_INTERFACE_INTERNAL("pjoy84", NES_PJOY84) - SLOT_INTERFACE_INTERNAL("nocash_nochr", NES_NOCHR) - SLOT_INTERFACE_INTERNAL("nes_action53", NES_ACTION53) - SLOT_INTERFACE_INTERNAL("nes_2a03pur", NES_2A03PURITANS) + device.option_add_internal("fk23c", NES_FK23C); + device.option_add_internal("fk23ca", NES_FK23CA); + device.option_add_internal("s24in1c03", NES_S24IN1SC03); + device.option_add_internal("bmc_15in1", NES_BMC_15IN1); + device.option_add_internal("bmc_sbig7in1", NES_BMC_SBIG7); + device.option_add_internal("bmc_hik8in1", NES_BMC_HIK8); + device.option_add_internal("bmc_hik4in1", NES_BMC_HIK4); + device.option_add_internal("bmc_mario7in1", NES_BMC_MARIO7IN1); + device.option_add_internal("bmc_gold7in1", NES_BMC_GOLD7IN1); + device.option_add_internal("bmc_gc6in1", NES_BMC_GC6IN1); + device.option_add_internal("bmc_411120c", NES_BMC_411120C); + device.option_add_internal("bmc_830118c", NES_BMC_830118C); + device.option_add_internal("pjoy84", NES_PJOY84); + device.option_add_internal("nocash_nochr", NES_NOCHR); + device.option_add_internal("nes_action53", NES_ACTION53); + device.option_add_internal("nes_2a03pur", NES_2A03PURITANS); // other unsupported... - SLOT_INTERFACE_INTERNAL("ninjaryu", NES_NROM) // mapper 111 - UNSUPPORTED - SLOT_INTERFACE_INTERNAL("unl_dance", NES_NROM) // UNSUPPORTED - SLOT_INTERFACE_INTERNAL("onebus", NES_NROM) // UNSUPPORTED - SLOT_INTERFACE_INTERNAL("pec586", NES_NROM) // UNSUPPORTED - SLOT_INTERFACE_INTERNAL("coolboy", NES_NROM) // UNSUPPORTED - SLOT_INTERFACE_INTERNAL("bmc_f15", NES_NROM) // UNSUPPORTED - SLOT_INTERFACE_INTERNAL("bmc_hp898f", NES_NROM) // UNSUPPORTED - SLOT_INTERFACE_INTERNAL("bmc_8in1", NES_NROM) // UNSUPPORTED - SLOT_INTERFACE_INTERNAL("unl_eh8813a", NES_NROM) // UNSUPPORTED - SLOT_INTERFACE_INTERNAL("unl_158b", NES_NROM) // UNSUPPORTED - SLOT_INTERFACE_INTERNAL("unl_drgnfgt", NES_NROM) // UNSUPPORTED + device.option_add_internal("ninjaryu", NES_NROM); // mapper 111 - UNSUPPORTED + device.option_add_internal("unl_dance", NES_NROM); // UNSUPPORTED + device.option_add_internal("onebus", NES_NROM); // UNSUPPORTED + device.option_add_internal("pec586", NES_NROM); // UNSUPPORTED + device.option_add_internal("coolboy", NES_NROM); // UNSUPPORTED + device.option_add_internal("bmc_f15", NES_NROM); // UNSUPPORTED + device.option_add_internal("bmc_hp898f", NES_NROM); // UNSUPPORTED + device.option_add_internal("bmc_8in1", NES_NROM); // UNSUPPORTED + device.option_add_internal("unl_eh8813a", NES_NROM); // UNSUPPORTED + device.option_add_internal("unl_158b", NES_NROM); // UNSUPPORTED + device.option_add_internal("unl_drgnfgt", NES_NROM); // UNSUPPORTED // are there dumps of games with these boards? - SLOT_INTERFACE_INTERNAL("bmc_hik_kof", NES_NROM) // mapper 251 - UNSUPPORTED - SLOT_INTERFACE_INTERNAL("bmc_13in1jy110", NES_NROM) // [mentioned in FCEUMM source - we need more info] - UNSUPPORTED - SLOT_INTERFACE_INTERNAL("bmc_gk_192", NES_NROM) // [mentioned in FCEUMM source - we need more info] - UNSUPPORTED - SLOT_INTERFACE_INTERNAL("konami_qtai", NES_NROM) // [mentioned in FCEUMM source - we need more info] - UNSUPPORTED - SLOT_INTERFACE_INTERNAL("unl_3d_block", NES_NROM) // [mentioned in FCEUMM source - we need more info] - UNSUPPORTED - SLOT_INTERFACE_INTERNAL("unl_c_n22m", NES_NROM) // [mentioned in FCEUMM source - we need more info] - UNSUPPORTED - SLOT_INTERFACE_INTERNAL("a9746", NES_NROM) // mapper 219 - UNSUPPORTED (no dump available) + device.option_add_internal("bmc_hik_kof", NES_NROM); // mapper 251 - UNSUPPORTED + device.option_add_internal("bmc_13in1jy110", NES_NROM); // [mentioned in FCEUMM source - we need more info] - UNSUPPORTED + device.option_add_internal("bmc_gk_192", NES_NROM); // [mentioned in FCEUMM source - we need more info] - UNSUPPORTED + device.option_add_internal("konami_qtai", NES_NROM); // [mentioned in FCEUMM source - we need more info] - UNSUPPORTED + device.option_add_internal("unl_3d_block", NES_NROM); // [mentioned in FCEUMM source - we need more info] - UNSUPPORTED + device.option_add_internal("unl_c_n22m", NES_NROM); // [mentioned in FCEUMM source - we need more info] - UNSUPPORTED + device.option_add_internal("a9746", NES_NROM); // mapper 219 - UNSUPPORTED (no dump available); // legacy boards for FFE copier mappers (are there images available to fix/improve emulation?) - SLOT_INTERFACE_INTERNAL("ffe3", NES_FFE3) - SLOT_INTERFACE_INTERNAL("ffe4", NES_FFE4) - SLOT_INTERFACE_INTERNAL("ffe8", NES_FFE8) - SLOT_INTERFACE_INTERNAL("test", NES_NROM) + device.option_add_internal("ffe3", NES_FFE3); + device.option_add_internal("ffe4", NES_FFE4); + device.option_add_internal("ffe8", NES_FFE8); + device.option_add_internal("test", NES_NROM); // - SLOT_INTERFACE_INTERNAL("unknown", NES_NROM) // a few pirate dumps uses the wrong mapper... -SLOT_INTERFACE_END + device.option_add_internal("unknown", NES_NROM); // a few pirate dumps uses the wrong mapper... +} -SLOT_INTERFACE_START(disksys_only) +void disksys_only(device_slot_interface &device) +{ // RAM expansion + Disk System add-on - SLOT_INTERFACE("disksys", NES_DISKSYS) -SLOT_INTERFACE_END + device.option_add("disksys", NES_DISKSYS); +} diff --git a/src/devices/bus/nes/nes_carts.h b/src/devices/bus/nes/nes_carts.h index 421a5b12386..8114129be86 100644 --- a/src/devices/bus/nes/nes_carts.h +++ b/src/devices/bus/nes/nes_carts.h @@ -13,7 +13,7 @@ // supported devices -SLOT_INTERFACE_EXTERN(nes_cart); -SLOT_INTERFACE_EXTERN(disksys_only); +void nes_cart(device_slot_interface &device); +void disksys_only(device_slot_interface &device); #endif // MAME_BUS_NES_NES_CARTS_H diff --git a/src/devices/bus/nes/sunsoft_dcs.cpp b/src/devices/bus/nes/sunsoft_dcs.cpp index 5f2643865dd..a933fdcfb5b 100644 --- a/src/devices/bus/nes/sunsoft_dcs.cpp +++ b/src/devices/bus/nes/sunsoft_dcs.cpp @@ -273,9 +273,10 @@ READ8_MEMBER(nes_sunsoft_dcs_device::read_m) } -static SLOT_INTERFACE_START(ntb_cart) - SLOT_INTERFACE_INTERNAL("ntbrom", NES_NTB_ROM) -SLOT_INTERFACE_END +static void ntb_cart(device_slot_interface &device) +{ + device.option_add_internal("ntbrom", NES_NTB_ROM); +} diff --git a/src/devices/bus/nes_ctrl/ctrl.cpp b/src/devices/bus/nes_ctrl/ctrl.cpp index ef491efc889..7618f89dbd7 100644 --- a/src/devices/bus/nes_ctrl/ctrl.cpp +++ b/src/devices/bus/nes_ctrl/ctrl.cpp @@ -165,45 +165,50 @@ void nes_control_port_device::write(uint8_t data) // SLOT_INTERFACE( nes_control_port_devices ) //------------------------------------------------- -SLOT_INTERFACE_START( nes_control_port1_devices ) - SLOT_INTERFACE("joypad", NES_JOYPAD) - SLOT_INTERFACE("zapper", NES_ZAPPER) - SLOT_INTERFACE("4score_p1p3", NES_4SCORE_P1P3) - SLOT_INTERFACE("miracle_piano", NES_MIRACLE) -SLOT_INTERFACE_END +void nes_control_port1_devices(device_slot_interface &device) +{ + device.option_add("joypad", NES_JOYPAD); + device.option_add("zapper", NES_ZAPPER); + device.option_add("4score_p1p3", NES_4SCORE_P1P3); + device.option_add("miracle_piano", NES_MIRACLE); +} -SLOT_INTERFACE_START( nes_control_port2_devices ) - SLOT_INTERFACE("joypad", NES_JOYPAD) - SLOT_INTERFACE("zapper", NES_ZAPPER) - SLOT_INTERFACE("vaus", NES_ARKPADDLE) - SLOT_INTERFACE("powerpad", NES_POWERPAD) - SLOT_INTERFACE("4score_p2p4", NES_4SCORE_P2P4) -SLOT_INTERFACE_END +void nes_control_port2_devices(device_slot_interface &device) +{ + device.option_add("joypad", NES_JOYPAD); + device.option_add("zapper", NES_ZAPPER); + device.option_add("vaus", NES_ARKPADDLE); + device.option_add("powerpad", NES_POWERPAD); + device.option_add("4score_p2p4", NES_4SCORE_P2P4); +} -SLOT_INTERFACE_START( fc_control_port1_devices ) - SLOT_INTERFACE("joypad", NES_JOYPAD) - SLOT_INTERFACE("ccpad_left", NES_CCPAD_LEFT) -SLOT_INTERFACE_END +void fc_control_port1_devices(device_slot_interface &device) +{ + device.option_add("joypad", NES_JOYPAD); + device.option_add("ccpad_left", NES_CCPAD_LEFT); +} -SLOT_INTERFACE_START( fc_control_port2_devices ) - SLOT_INTERFACE("joypad", NES_JOYPAD) - SLOT_INTERFACE("joypad_old", NES_FCPAD_P2) - SLOT_INTERFACE("ccpad_right", NES_CCPAD_RIGHT) -SLOT_INTERFACE_END +void fc_control_port2_devices(device_slot_interface &device) +{ + device.option_add("joypad", NES_JOYPAD); + device.option_add("joypad_old", NES_FCPAD_P2); + device.option_add("ccpad_right", NES_CCPAD_RIGHT); +} -SLOT_INTERFACE_START( fc_expansion_devices ) - SLOT_INTERFACE("joypad", NES_JOYPAD) - SLOT_INTERFACE("arcstick", NES_ARCSTICK) - SLOT_INTERFACE("fc_keyboard", NES_FCKEYBOARD) - SLOT_INTERFACE("zapper", NES_ZAPPER) - SLOT_INTERFACE("vaus", NES_ARKPADDLE_FC) - SLOT_INTERFACE("family_trainer", NES_FTRAINER) - SLOT_INTERFACE("konamihs", NES_KONAMIHS) - SLOT_INTERFACE("mj_panel", NES_MJPANEL) - SLOT_INTERFACE("pachinko", NES_PACHINKO) - SLOT_INTERFACE("partytap", NES_PARTYTAP) - SLOT_INTERFACE("hori_twin", NES_HORITWIN) - SLOT_INTERFACE("hori_4p", NES_HORI4P) - SLOT_INTERFACE("barcode_battler", NES_BARCODE_BATTLER) - SLOT_INTERFACE("subor_keyboard", NES_SUBORKEYBOARD) -SLOT_INTERFACE_END +void fc_expansion_devices(device_slot_interface &device) +{ + device.option_add("joypad", NES_JOYPAD); + device.option_add("arcstick", NES_ARCSTICK); + device.option_add("fc_keyboard", NES_FCKEYBOARD); + device.option_add("zapper", NES_ZAPPER); + device.option_add("vaus", NES_ARKPADDLE_FC); + device.option_add("family_trainer", NES_FTRAINER); + device.option_add("konamihs", NES_KONAMIHS); + device.option_add("mj_panel", NES_MJPANEL); + device.option_add("pachinko", NES_PACHINKO); + device.option_add("partytap", NES_PARTYTAP); + device.option_add("hori_twin", NES_HORITWIN); + device.option_add("hori_4p", NES_HORI4P); + device.option_add("barcode_battler", NES_BARCODE_BATTLER); + device.option_add("subor_keyboard", NES_SUBORKEYBOARD); +} diff --git a/src/devices/bus/nes_ctrl/ctrl.h b/src/devices/bus/nes_ctrl/ctrl.h index a0ca47d4d36..44b029a0042 100644 --- a/src/devices/bus/nes_ctrl/ctrl.h +++ b/src/devices/bus/nes_ctrl/ctrl.h @@ -93,11 +93,11 @@ DECLARE_DEVICE_TYPE(NES_CONTROL_PORT, nes_control_port_device) downcast(*device).set_brightpixel_callback(nesctrl_brightpixel_delegate(&_class::_method, #_class "::" #_method, this)); -SLOT_INTERFACE_EXTERN( nes_control_port1_devices ); -SLOT_INTERFACE_EXTERN( nes_control_port2_devices ); -SLOT_INTERFACE_EXTERN( fc_control_port1_devices ); -SLOT_INTERFACE_EXTERN( fc_control_port2_devices ); -SLOT_INTERFACE_EXTERN( fc_expansion_devices ); +void nes_control_port1_devices(device_slot_interface &device); +void nes_control_port2_devices(device_slot_interface &device); +void fc_control_port1_devices(device_slot_interface &device); +void fc_control_port2_devices(device_slot_interface &device); +void fc_expansion_devices(device_slot_interface &device); #endif // MAME_BUS_NES_CTRL_CTRL_H diff --git a/src/devices/bus/nes_ctrl/hori.cpp b/src/devices/bus/nes_ctrl/hori.cpp index 9710c33deeb..80e7dd835aa 100644 --- a/src/devices/bus/nes_ctrl/hori.cpp +++ b/src/devices/bus/nes_ctrl/hori.cpp @@ -49,9 +49,10 @@ ioport_constructor nes_hori4p_device::device_input_ports() const } -static SLOT_INTERFACE_START( hori_adapter ) - SLOT_INTERFACE("joypad", NES_JOYPAD) -SLOT_INTERFACE_END +static void hori_adapter(device_slot_interface &device) +{ + device.option_add("joypad", NES_JOYPAD); +} //------------------------------------------------- diff --git a/src/devices/bus/nes_ctrl/joypad.cpp b/src/devices/bus/nes_ctrl/joypad.cpp index 96a22ac1f66..dd1f2272e97 100644 --- a/src/devices/bus/nes_ctrl/joypad.cpp +++ b/src/devices/bus/nes_ctrl/joypad.cpp @@ -144,9 +144,10 @@ ioport_constructor nes_arcstick_device::device_input_ports() const -static SLOT_INTERFACE_START( arcstick_daisy ) - SLOT_INTERFACE("arcstick", NES_ARCSTICK) -SLOT_INTERFACE_END +static void arcstick_daisy(device_slot_interface &device) +{ + device.option_add("arcstick", NES_ARCSTICK); +} //------------------------------------------------- diff --git a/src/devices/bus/newbrain/exp.cpp b/src/devices/bus/newbrain/exp.cpp index 7a27758764a..b4675c3b89f 100644 --- a/src/devices/bus/newbrain/exp.cpp +++ b/src/devices/bus/newbrain/exp.cpp @@ -137,7 +137,8 @@ void newbrain_expansion_slot_device::iorq_w(address_space &space, offs_t offset, #include "eim.h" #include "fdc.h" -SLOT_INTERFACE_START( newbrain_expansion_cards ) - SLOT_INTERFACE("eim", NEWBRAIN_EIM) - SLOT_INTERFACE("fdc", NEWBRAIN_FDC) -SLOT_INTERFACE_END +void newbrain_expansion_cards(device_slot_interface &device) +{ + device.option_add("eim", NEWBRAIN_EIM); + device.option_add("fdc", NEWBRAIN_FDC); +} diff --git a/src/devices/bus/newbrain/exp.h b/src/devices/bus/newbrain/exp.h index 219c819d575..e3ab89a35ef 100644 --- a/src/devices/bus/newbrain/exp.h +++ b/src/devices/bus/newbrain/exp.h @@ -117,7 +117,7 @@ protected: DECLARE_DEVICE_TYPE(NEWBRAIN_EXPANSION_SLOT, newbrain_expansion_slot_device) -SLOT_INTERFACE_EXTERN( newbrain_expansion_cards ); +void newbrain_expansion_cards(device_slot_interface &device); diff --git a/src/devices/bus/newbrain/fdc.cpp b/src/devices/bus/newbrain/fdc.cpp index 9d59cd672bc..524bbbbeaec 100644 --- a/src/devices/bus/newbrain/fdc.cpp +++ b/src/devices/bus/newbrain/fdc.cpp @@ -94,9 +94,10 @@ void newbrain_fdc_device::newbrain_fdc_io(address_map &map) // newbrain_floppies //------------------------------------------------- -static SLOT_INTERFACE_START( newbrain_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) -SLOT_INTERFACE_END +static void newbrain_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); +} //------------------------------------------------- diff --git a/src/devices/bus/nubus/bootbug.cpp b/src/devices/bus/nubus/bootbug.cpp index af507307918..e22da015577 100644 --- a/src/devices/bus/nubus/bootbug.cpp +++ b/src/devices/bus/nubus/bootbug.cpp @@ -18,10 +18,11 @@ #include "bus/rs232/null_modem.h" #include "screen.h" -static SLOT_INTERFACE_START(isa_com) - SLOT_INTERFACE("terminal", SERIAL_TERMINAL) - SLOT_INTERFACE("null_modem", NULL_MODEM) -SLOT_INTERFACE_END +static void isa_com(device_slot_interface &device) +{ + device.option_add("terminal", SERIAL_TERMINAL); + device.option_add("null_modem", NULL_MODEM); +} #define BOOTBUG_ROM_REGION "btbug_rom" diff --git a/src/devices/bus/nubus/quadralink.cpp b/src/devices/bus/nubus/quadralink.cpp index e8375b181e8..461b8e69257 100644 --- a/src/devices/bus/nubus/quadralink.cpp +++ b/src/devices/bus/nubus/quadralink.cpp @@ -13,10 +13,11 @@ #include "bus/rs232/null_modem.h" #include "screen.h" -static SLOT_INTERFACE_START(isa_com) - SLOT_INTERFACE("terminal", SERIAL_TERMINAL) - SLOT_INTERFACE("null_modem", NULL_MODEM) -SLOT_INTERFACE_END +static void isa_com(device_slot_interface &device) +{ + device.option_add("terminal", SERIAL_TERMINAL); + device.option_add("null_modem", NULL_MODEM); +} #define QUADRALINK_ROM_REGION "qdlink_rom" diff --git a/src/devices/bus/odyssey2/slot.cpp b/src/devices/bus/odyssey2/slot.cpp index b75ccdb92e2..417bb27a38b 100644 --- a/src/devices/bus/odyssey2/slot.cpp +++ b/src/devices/bus/odyssey2/slot.cpp @@ -244,10 +244,11 @@ WRITE8_MEMBER(o2_cart_slot_device::io_write) #include "bus/odyssey2/chess.h" #include "bus/odyssey2/voice.h" -SLOT_INTERFACE_START(o2_cart) - SLOT_INTERFACE_INTERNAL("o2_rom", O2_ROM_STD) - SLOT_INTERFACE_INTERNAL("o2_rom12", O2_ROM_12K) - SLOT_INTERFACE_INTERNAL("o2_rom16", O2_ROM_16K) - SLOT_INTERFACE_INTERNAL("o2_chess", O2_ROM_CHESS) - SLOT_INTERFACE_INTERNAL("o2_voice", O2_ROM_VOICE) -SLOT_INTERFACE_END +void o2_cart(device_slot_interface &device) +{ + device.option_add_internal("o2_rom", O2_ROM_STD); + device.option_add_internal("o2_rom12", O2_ROM_12K); + device.option_add_internal("o2_rom16", O2_ROM_16K); + device.option_add_internal("o2_chess", O2_ROM_CHESS); + device.option_add_internal("o2_voice", O2_ROM_VOICE); +} diff --git a/src/devices/bus/odyssey2/slot.h b/src/devices/bus/odyssey2/slot.h index 992d55abad5..28192aa3457 100644 --- a/src/devices/bus/odyssey2/slot.h +++ b/src/devices/bus/odyssey2/slot.h @@ -118,6 +118,6 @@ DECLARE_DEVICE_TYPE(O2_CART_SLOT, o2_cart_slot_device) MCFG_DEVICE_ADD(_tag, O2_CART_SLOT, 0) \ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) -SLOT_INTERFACE_EXTERN(o2_cart); +void o2_cart(device_slot_interface &device); #endif // MAME_BUS_ODYSSEY2_SLOT_H diff --git a/src/devices/bus/oricext/jasmin.cpp b/src/devices/bus/oricext/jasmin.cpp index 557960f5b76..7621b0adf8e 100644 --- a/src/devices/bus/oricext/jasmin.cpp +++ b/src/devices/bus/oricext/jasmin.cpp @@ -15,9 +15,10 @@ FLOPPY_FORMATS_MEMBER( jasmin_device::floppy_formats ) FLOPPY_ORIC_DSK_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( jasmin_floppies ) - SLOT_INTERFACE( "3dsdd", FLOPPY_3_DSDD ) -SLOT_INTERFACE_END +static void jasmin_floppies(device_slot_interface &device) +{ + device.option_add("3dsdd", FLOPPY_3_DSDD); +} INPUT_PORTS_START( jasmin ) PORT_START("JASMIN") diff --git a/src/devices/bus/oricext/microdisc.cpp b/src/devices/bus/oricext/microdisc.cpp index 6f3330d7109..4254ea2b571 100644 --- a/src/devices/bus/oricext/microdisc.cpp +++ b/src/devices/bus/oricext/microdisc.cpp @@ -15,9 +15,10 @@ FLOPPY_FORMATS_MEMBER( microdisc_device::floppy_formats ) FLOPPY_ORIC_DSK_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( microdisc_floppies ) - SLOT_INTERFACE( "3dsdd", FLOPPY_3_DSDD ) -SLOT_INTERFACE_END +static void microdisc_floppies(device_slot_interface &device) +{ + device.option_add("3dsdd", FLOPPY_3_DSDD); +} void microdisc_device::map(address_map &map) { diff --git a/src/devices/bus/oricext/oricext.cpp b/src/devices/bus/oricext/oricext.cpp index feb7f821c69..f5623e4548a 100644 --- a/src/devices/bus/oricext/oricext.cpp +++ b/src/devices/bus/oricext/oricext.cpp @@ -85,7 +85,8 @@ WRITE_LINE_MEMBER(oricext_device::irq_w) connector->irq_w(state); } -SLOT_INTERFACE_START(oricext_intf) - SLOT_INTERFACE("jasmin", JASMIN) - SLOT_INTERFACE("microdisc", MICRODISC) -SLOT_INTERFACE_END +void oricext_intf(device_slot_interface &device) +{ + device.option_add("jasmin", JASMIN); + device.option_add("microdisc", MICRODISC); +} diff --git a/src/devices/bus/oricext/oricext.h b/src/devices/bus/oricext/oricext.h index e914ceeefb7..febcc9384e0 100644 --- a/src/devices/bus/oricext/oricext.h +++ b/src/devices/bus/oricext/oricext.h @@ -62,6 +62,6 @@ protected: DECLARE_DEVICE_TYPE(ORICEXT_CONNECTOR, oricext_connector) -SLOT_INTERFACE_EXTERN( oricext_intf ); +void oricext_intf(device_slot_interface &device); #endif // MAME_BUS_ORICEXT_ORICEXT_H diff --git a/src/devices/bus/pc1512/mouse.cpp b/src/devices/bus/pc1512/mouse.cpp index 0ad17623d90..882284e89d2 100644 --- a/src/devices/bus/pc1512/mouse.cpp +++ b/src/devices/bus/pc1512/mouse.cpp @@ -113,6 +113,7 @@ ioport_constructor pc1512_mouse_device::device_input_ports() const // SLOT_INTERFACE( pc1512_mouse_port_devices ) //------------------------------------------------- -SLOT_INTERFACE_START( pc1512_mouse_port_devices ) - SLOT_INTERFACE("mouse", PC1512_MOUSE) -SLOT_INTERFACE_END +void pc1512_mouse_port_devices(device_slot_interface &device) +{ + device.option_add("mouse", PC1512_MOUSE); +} diff --git a/src/devices/bus/pc1512/mouse.h b/src/devices/bus/pc1512/mouse.h index 36cf22ce9bd..ca98296f53d 100644 --- a/src/devices/bus/pc1512/mouse.h +++ b/src/devices/bus/pc1512/mouse.h @@ -133,6 +133,6 @@ DECLARE_DEVICE_TYPE(PC1512_MOUSE, pc1512_mouse_device) // slot devices -SLOT_INTERFACE_EXTERN( pc1512_mouse_port_devices ); +void pc1512_mouse_port_devices(device_slot_interface &device); #endif // MAME_BUS_PC1512_MOUSE_H diff --git a/src/devices/bus/pc_joy/pc_joy.cpp b/src/devices/bus/pc_joy/pc_joy.cpp index e71395e84fe..b790af3ee4c 100644 --- a/src/devices/bus/pc_joy/pc_joy.cpp +++ b/src/devices/bus/pc_joy/pc_joy.cpp @@ -91,7 +91,8 @@ pc_basic_joy_device::pc_basic_joy_device(const machine_config &mconfig, const ch { } -SLOT_INTERFACE_START(pc_joysticks) - SLOT_INTERFACE("basic_joy", PC_BASIC_JOY) - SLOT_INTERFACE("mssw_pad", PC_MSSW_PAD) -SLOT_INTERFACE_END +void pc_joysticks(device_slot_interface &device) +{ + device.option_add("basic_joy", PC_BASIC_JOY); + device.option_add("mssw_pad", PC_MSSW_PAD); +} diff --git a/src/devices/bus/pc_joy/pc_joy.h b/src/devices/bus/pc_joy/pc_joy.h index 39a32816a82..eb7d489b9b0 100644 --- a/src/devices/bus/pc_joy/pc_joy.h +++ b/src/devices/bus/pc_joy/pc_joy.h @@ -18,7 +18,7 @@ MCFG_DEVICE_ADD(_tag, PC_JOY, 0) \ MCFG_DEVICE_SLOT_INTERFACE(pc_joysticks, "basic_joy", false) -SLOT_INTERFACE_EXTERN(pc_joysticks); +void pc_joysticks(device_slot_interface &device); class device_pc_joy_interface : public device_slot_card_interface { diff --git a/src/devices/bus/pc_kbd/keyboards.cpp b/src/devices/bus/pc_kbd/keyboards.cpp index c9bc4c33acd..7c9d32501fc 100644 --- a/src/devices/bus/pc_kbd/keyboards.cpp +++ b/src/devices/bus/pc_kbd/keyboards.cpp @@ -11,18 +11,20 @@ #include "pcxt83.h" #include "pcat84.h" -SLOT_INTERFACE_START(pc_xt_keyboards) - SLOT_INTERFACE(STR_KBD_KEYTRONIC_PC3270, PC_KBD_KEYTRONIC_PC3270) - SLOT_INTERFACE(STR_KBD_IBM_PC_83, PC_KBD_IBM_PC_83) - SLOT_INTERFACE(STR_KBD_IBM_PC_XT_83, PC_KBD_IBM_PC_XT_83) - SLOT_INTERFACE(STR_KBD_EC_1841, PC_KBD_EC_1841) - SLOT_INTERFACE(STR_KBD_ISKR_1030, PC_KBD_ISKR_1030) -SLOT_INTERFACE_END +void pc_xt_keyboards(device_slot_interface &device) +{ + device.option_add(STR_KBD_KEYTRONIC_PC3270, PC_KBD_KEYTRONIC_PC3270); + device.option_add(STR_KBD_IBM_PC_83, PC_KBD_IBM_PC_83); + device.option_add(STR_KBD_IBM_PC_XT_83, PC_KBD_IBM_PC_XT_83); + device.option_add(STR_KBD_EC_1841, PC_KBD_EC_1841); + device.option_add(STR_KBD_ISKR_1030, PC_KBD_ISKR_1030); +} -SLOT_INTERFACE_START(pc_at_keyboards) - SLOT_INTERFACE(STR_KBD_KEYTRONIC_PC3270, PC_KBD_KEYTRONIC_PC3270_AT) - SLOT_INTERFACE(STR_KBD_MICROSOFT_NATURAL, PC_KBD_MICROSOFT_NATURAL) - SLOT_INTERFACE(STR_KBD_IBM_PC_AT_84, PC_KBD_IBM_PC_AT_84) - SLOT_INTERFACE(STR_KBD_IBM_3270PC_122, PC_KBD_IBM_3270PC_122) -SLOT_INTERFACE_END +void pc_at_keyboards(device_slot_interface &device) +{ + device.option_add(STR_KBD_KEYTRONIC_PC3270, PC_KBD_KEYTRONIC_PC3270_AT); + device.option_add(STR_KBD_MICROSOFT_NATURAL, PC_KBD_MICROSOFT_NATURAL); + device.option_add(STR_KBD_IBM_PC_AT_84, PC_KBD_IBM_PC_AT_84); + device.option_add(STR_KBD_IBM_3270PC_122, PC_KBD_IBM_3270PC_122); +} diff --git a/src/devices/bus/pc_kbd/keyboards.h b/src/devices/bus/pc_kbd/keyboards.h index a2a375f96ed..a4dc98432c7 100644 --- a/src/devices/bus/pc_kbd/keyboards.h +++ b/src/devices/bus/pc_kbd/keyboards.h @@ -19,7 +19,7 @@ #define STR_KBD_EC_1841 "ec1841" #define STR_KBD_ISKR_1030 "iskr1030" -SLOT_INTERFACE_EXTERN(pc_xt_keyboards); +void pc_xt_keyboards(device_slot_interface &device); // PC AT protocol keyboards // Reuses STR_KBD_KEYTRONIC_PC3270 (same keyboard in AT protocol mode by default) @@ -28,6 +28,6 @@ SLOT_INTERFACE_EXTERN(pc_xt_keyboards); #define STR_KBD_IBM_PC_AT_84 "pcat" #define STR_KBD_IBM_3270PC_122 "3270pc" -SLOT_INTERFACE_EXTERN(pc_at_keyboards); +void pc_at_keyboards(device_slot_interface &device); #endif // MAME_BUS_PC_KBD_KEYBOARDS_H diff --git a/src/devices/bus/pet/2joysnd.cpp b/src/devices/bus/pet/2joysnd.cpp index 8234878e025..db492cef523 100644 --- a/src/devices/bus/pet/2joysnd.cpp +++ b/src/devices/bus/pet/2joysnd.cpp @@ -97,7 +97,7 @@ MACHINE_CONFIG_START(pet_userport_joystick_and_sound_device::device_add_mconfig) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.99) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MACHINE_CONFIG_END //************************************************************************** diff --git a/src/devices/bus/pet/cass.cpp b/src/devices/bus/pet/cass.cpp index 67e600d71a7..52b501b68b4 100644 --- a/src/devices/bus/pet/cass.cpp +++ b/src/devices/bus/pet/cass.cpp @@ -98,7 +98,8 @@ WRITE_LINE_MEMBER( pet_datassette_port_device::read_w ) { m_read_handler(state); // SLOT_INTERFACE( cbm_datassette_devices ) //------------------------------------------------- -SLOT_INTERFACE_START( cbm_datassette_devices ) - SLOT_INTERFACE("c2n", C2N) - SLOT_INTERFACE("c1530", C1530) -SLOT_INTERFACE_END +void cbm_datassette_devices(device_slot_interface &device) +{ + device.option_add("c2n", C2N); + device.option_add("c1530", C1530); +} diff --git a/src/devices/bus/pet/cass.h b/src/devices/bus/pet/cass.h index c906f83754b..c843f58282b 100644 --- a/src/devices/bus/pet/cass.h +++ b/src/devices/bus/pet/cass.h @@ -105,6 +105,6 @@ protected: DECLARE_DEVICE_TYPE(PET_DATASSETTE_PORT, pet_datassette_port_device) -SLOT_INTERFACE_EXTERN( cbm_datassette_devices ); +void cbm_datassette_devices(device_slot_interface &device); #endif // MAME_BUS_PET_CASS_H diff --git a/src/devices/bus/pet/cb2snd.cpp b/src/devices/bus/pet/cb2snd.cpp index a81bef5dbef..1aa6e67ea8f 100644 --- a/src/devices/bus/pet/cb2snd.cpp +++ b/src/devices/bus/pet/cb2snd.cpp @@ -30,7 +30,7 @@ MACHINE_CONFIG_START(pet_userport_cb2_sound_device::device_add_mconfig) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.99) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MACHINE_CONFIG_END //************************************************************************** diff --git a/src/devices/bus/pet/exp.cpp b/src/devices/bus/pet/exp.cpp index 90157752444..ab7cc9e04dd 100644 --- a/src/devices/bus/pet/exp.cpp +++ b/src/devices/bus/pet/exp.cpp @@ -208,9 +208,10 @@ int pet_expansion_slot_device::phi2() #include "hsg.h" #include "superpet.h" -SLOT_INTERFACE_START( pet_expansion_cards ) - SLOT_INTERFACE("64k", PET_64K) - SLOT_INTERFACE("hsga", CBM8000_HSG_A) - SLOT_INTERFACE("hsgb", CBM8000_HSG_B) - SLOT_INTERFACE("superpet", SUPERPET) -SLOT_INTERFACE_END +void pet_expansion_cards(device_slot_interface &device) +{ + device.option_add("64k", PET_64K); + device.option_add("hsga", CBM8000_HSG_A); + device.option_add("hsgb", CBM8000_HSG_B); + device.option_add("superpet", SUPERPET); +} diff --git a/src/devices/bus/pet/exp.h b/src/devices/bus/pet/exp.h index 3e941985b16..0bf7db60f05 100644 --- a/src/devices/bus/pet/exp.h +++ b/src/devices/bus/pet/exp.h @@ -133,6 +133,6 @@ protected: DECLARE_DEVICE_TYPE(PET_EXPANSION_SLOT, pet_expansion_slot_device) -SLOT_INTERFACE_EXTERN( pet_expansion_cards ); +void pet_expansion_cards(device_slot_interface &device); #endif // MAME_BUS_PET_EXP_H diff --git a/src/devices/bus/pet/user.cpp b/src/devices/bus/pet/user.cpp index 95b98bad5bf..d0f889db0b6 100644 --- a/src/devices/bus/pet/user.cpp +++ b/src/devices/bus/pet/user.cpp @@ -125,9 +125,10 @@ device_pet_user_port_interface::~device_pet_user_port_interface() #include "cb2snd.h" #include "2joysnd.h" -SLOT_INTERFACE_START( pet_user_port_cards ) - SLOT_INTERFACE("diag", PET_USERPORT_DIAGNOSTIC_CONNECTOR) - SLOT_INTERFACE("petuja", PET_USERPORT_JOYSTICK_ADAPTER) - SLOT_INTERFACE("cb2snd", PET_USERPORT_CB2_SOUND_DEVICE) - SLOT_INTERFACE("2joysnd", PET_USERPORT_JOYSTICK_AND_SOUND_DEVICE) -SLOT_INTERFACE_END +void pet_user_port_cards(device_slot_interface &device) +{ + device.option_add("diag", PET_USERPORT_DIAGNOSTIC_CONNECTOR); + device.option_add("petuja", PET_USERPORT_JOYSTICK_ADAPTER); + device.option_add("cb2snd", PET_USERPORT_CB2_SOUND_DEVICE); + device.option_add("2joysnd", PET_USERPORT_JOYSTICK_AND_SOUND_DEVICE); +} diff --git a/src/devices/bus/pet/user.h b/src/devices/bus/pet/user.h index 04034c492e0..d7753ad23f1 100644 --- a/src/devices/bus/pet/user.h +++ b/src/devices/bus/pet/user.h @@ -226,6 +226,6 @@ protected: }; -SLOT_INTERFACE_EXTERN( pet_user_port_cards ); +void pet_user_port_cards(device_slot_interface &device); #endif // MAME_BUS_PET_USER_H diff --git a/src/devices/bus/plus4/c1551.cpp b/src/devices/bus/plus4/c1551.cpp index 5ca191c0b44..d698dae475d 100644 --- a/src/devices/bus/plus4/c1551.cpp +++ b/src/devices/bus/plus4/c1551.cpp @@ -325,9 +325,10 @@ void c1551_device::c1551_mem(address_map &map) // SLOT_INTERFACE( c1551_floppies ) //------------------------------------------------- -static SLOT_INTERFACE_START( c1551_floppies ) - SLOT_INTERFACE( "525ssqd", FLOPPY_525_SSQD ) -SLOT_INTERFACE_END +static void c1551_floppies(device_slot_interface &device) +{ + device.option_add("525ssqd", FLOPPY_525_SSQD); +} //------------------------------------------------- diff --git a/src/devices/bus/plus4/exp.cpp b/src/devices/bus/plus4/exp.cpp index 79326a5aef1..d9ee8642eba 100644 --- a/src/devices/bus/plus4/exp.cpp +++ b/src/devices/bus/plus4/exp.cpp @@ -200,10 +200,11 @@ void plus4_expansion_slot_device::cd_w(address_space &space, offs_t offset, uint #include "sid.h" #include "std.h" -SLOT_INTERFACE_START( plus4_expansion_cards ) - SLOT_INTERFACE("c1551", C1551) - SLOT_INTERFACE("sid", PLUS4_SID) +void plus4_expansion_cards(device_slot_interface &device) +{ + device.option_add("c1551", C1551); + device.option_add("sid", PLUS4_SID); // the following need ROMs from the software list - SLOT_INTERFACE_INTERNAL("standard", PLUS4_STD) -SLOT_INTERFACE_END + device.option_add_internal("standard", PLUS4_STD); +} diff --git a/src/devices/bus/plus4/exp.h b/src/devices/bus/plus4/exp.h index 4a4d583dd5b..9aa7be4d74d 100644 --- a/src/devices/bus/plus4/exp.h +++ b/src/devices/bus/plus4/exp.h @@ -179,6 +179,6 @@ protected: DECLARE_DEVICE_TYPE(PLUS4_EXPANSION_SLOT, plus4_expansion_slot_device) -SLOT_INTERFACE_EXTERN( plus4_expansion_cards ); +void plus4_expansion_cards(device_slot_interface &device); #endif // MAME_BUS_PLUS4_EXP_H diff --git a/src/devices/bus/plus4/user.cpp b/src/devices/bus/plus4/user.cpp index aa0e04d9452..ad02afdc08c 100644 --- a/src/devices/bus/plus4/user.cpp +++ b/src/devices/bus/plus4/user.cpp @@ -17,7 +17,8 @@ #include "diag264_lb_user.h" #include "bus/vic20/vic1011.h" -SLOT_INTERFACE_START( plus4_user_port_cards ) - SLOT_INTERFACE("diag264", DIAG264_USER_PORT_LOOPBACK) - SLOT_INTERFACE("rs232", VIC1011) -SLOT_INTERFACE_END +void plus4_user_port_cards(device_slot_interface &device) +{ + device.option_add("diag264", DIAG264_USER_PORT_LOOPBACK); + device.option_add("rs232", VIC1011); +} diff --git a/src/devices/bus/plus4/user.h b/src/devices/bus/plus4/user.h index 8aac44235de..1f398a102ae 100644 --- a/src/devices/bus/plus4/user.h +++ b/src/devices/bus/plus4/user.h @@ -28,6 +28,6 @@ #include "bus/vic20/user.h" -SLOT_INTERFACE_EXTERN( plus4_user_port_cards ); +void plus4_user_port_cards(device_slot_interface &device); #endif // MAME_BUS_PLUS4_USER_H diff --git a/src/devices/bus/pofo/ccm.cpp b/src/devices/bus/pofo/ccm.cpp index 9619be68712..9562ddfecd6 100644 --- a/src/devices/bus/pofo/ccm.cpp +++ b/src/devices/bus/pofo/ccm.cpp @@ -104,7 +104,8 @@ std::string portfolio_memory_card_slot_device::get_default_card_software(get_def #include "ram.h" #include "rom.h" -SLOT_INTERFACE_START( portfolio_memory_cards ) - SLOT_INTERFACE("ram", PORTFOLIO_RAM_CARD) - SLOT_INTERFACE("rom", PORTFOLIO_ROM_CARD) -SLOT_INTERFACE_END +void portfolio_memory_cards(device_slot_interface &device) +{ + device.option_add("ram", PORTFOLIO_RAM_CARD); + device.option_add("rom", PORTFOLIO_ROM_CARD); +} diff --git a/src/devices/bus/pofo/ccm.h b/src/devices/bus/pofo/ccm.h index a71ac4de544..b7deab09c69 100644 --- a/src/devices/bus/pofo/ccm.h +++ b/src/devices/bus/pofo/ccm.h @@ -145,7 +145,7 @@ protected: DECLARE_DEVICE_TYPE(PORTFOLIO_MEMORY_CARD_SLOT, portfolio_memory_card_slot_device) -SLOT_INTERFACE_EXTERN( portfolio_memory_cards ); +void portfolio_memory_cards(device_slot_interface &device); diff --git a/src/devices/bus/pofo/exp.cpp b/src/devices/bus/pofo/exp.cpp index 37991dd8989..f8a892fbe6c 100644 --- a/src/devices/bus/pofo/exp.cpp +++ b/src/devices/bus/pofo/exp.cpp @@ -96,9 +96,10 @@ void portfolio_expansion_slot_device::device_reset() #include "hpc102.h" #include "hpc104.h" -SLOT_INTERFACE_START( portfolio_expansion_cards ) - SLOT_INTERFACE("lpt", POFO_HPC101) - SLOT_INTERFACE("uart", POFO_HPC102) - SLOT_INTERFACE("ram", POFO_HPC104) - SLOT_INTERFACE("ram2", POFO_HPC104_2) -SLOT_INTERFACE_END +void portfolio_expansion_cards(device_slot_interface &device) +{ + device.option_add("lpt", POFO_HPC101); + device.option_add("uart", POFO_HPC102); + device.option_add("ram", POFO_HPC104); + device.option_add("ram2", POFO_HPC104_2); +} diff --git a/src/devices/bus/pofo/exp.h b/src/devices/bus/pofo/exp.h index fadf724b68f..08db6ef24ee 100644 --- a/src/devices/bus/pofo/exp.h +++ b/src/devices/bus/pofo/exp.h @@ -156,6 +156,6 @@ protected: DECLARE_DEVICE_TYPE(PORTFOLIO_EXPANSION_SLOT, portfolio_expansion_slot_device) -SLOT_INTERFACE_EXTERN( portfolio_expansion_cards ); +void portfolio_expansion_cards(device_slot_interface &device); #endif // MAME_BUS_POFO_EXP_H diff --git a/src/devices/bus/psi_kbd/psi_kbd.cpp b/src/devices/bus/psi_kbd/psi_kbd.cpp index 2b6ad60f90e..36a29518213 100644 --- a/src/devices/bus/psi_kbd/psi_kbd.cpp +++ b/src/devices/bus/psi_kbd/psi_kbd.cpp @@ -106,7 +106,8 @@ device_psi_keyboard_interface::~device_psi_keyboard_interface() // SLOT INTERFACE //************************************************************************** -SLOT_INTERFACE_START( psi_keyboard_devices ) - SLOT_INTERFACE("ergoline", ERGOLINE_KEYBOARD) - SLOT_INTERFACE("hle", PSI_HLE_KEYBOARD) -SLOT_INTERFACE_END +void psi_keyboard_devices(device_slot_interface &device) +{ + device.option_add("ergoline", ERGOLINE_KEYBOARD); + device.option_add("hle", PSI_HLE_KEYBOARD); +} diff --git a/src/devices/bus/psi_kbd/psi_kbd.h b/src/devices/bus/psi_kbd/psi_kbd.h index 2381ccc97be..1b35adca1c6 100644 --- a/src/devices/bus/psi_kbd/psi_kbd.h +++ b/src/devices/bus/psi_kbd/psi_kbd.h @@ -109,7 +109,7 @@ protected: DECLARE_DEVICE_TYPE(PSI_KEYBOARD_INTERFACE, psi_keyboard_bus_device) // supported devices -SLOT_INTERFACE_EXTERN( psi_keyboard_devices ); +void psi_keyboard_devices(device_slot_interface &device); #endif // MAME_BUS_PSI_KBD_PSI_KBD_H diff --git a/src/devices/bus/psx/ctlrport.cpp b/src/devices/bus/psx/ctlrport.cpp index 328c338c45f..2c9dd6ee957 100644 --- a/src/devices/bus/psx/ctlrport.cpp +++ b/src/devices/bus/psx/ctlrport.cpp @@ -58,18 +58,20 @@ void psxcontrollerports_device::device_start() // add controllers to define so they can be connected to the multitap #define PSX_CONTROLLERS \ - SLOT_INTERFACE("digital_pad", PSX_STANDARD_CONTROLLER) \ - SLOT_INTERFACE("dualshock_pad", PSX_DUALSHOCK) \ - SLOT_INTERFACE("analog_joystick", PSX_ANALOG_JOYSTICK) + device.option_add("digital_pad", PSX_STANDARD_CONTROLLER); \ + device.option_add("dualshock_pad", PSX_DUALSHOCK); \ + device.option_add("analog_joystick", PSX_ANALOG_JOYSTICK); -SLOT_INTERFACE_START(psx_controllers) +void psx_controllers(device_slot_interface &device) +{ PSX_CONTROLLERS - SLOT_INTERFACE("multitap", PSX_MULTITAP) -SLOT_INTERFACE_END + device.option_add("multitap", PSX_MULTITAP); +} -SLOT_INTERFACE_START(psx_controllers_nomulti) +void psx_controllers_nomulti(device_slot_interface &device) +{ PSX_CONTROLLERS -SLOT_INTERFACE_END +} WRITE_LINE_MEMBER(psxcontrollerports_device::write_dtr) { diff --git a/src/devices/bus/psx/ctlrport.h b/src/devices/bus/psx/ctlrport.h index 55c8d4473d3..3c6a44da0eb 100644 --- a/src/devices/bus/psx/ctlrport.h +++ b/src/devices/bus/psx/ctlrport.h @@ -12,7 +12,7 @@ MCFG_DEVICE_ADD(_tag, PSX_CONTROLLER_PORT, 0) \ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) -SLOT_INTERFACE_EXTERN(psx_controllers); +void psx_controllers(device_slot_interface &device); DECLARE_DEVICE_TYPE(PSXCONTROLLERPORTS, psxcontrollerports_device) DECLARE_DEVICE_TYPE(PSX_CONTROLLER_PORT, psx_controller_port_device) diff --git a/src/devices/bus/psx/gamebooster.cpp b/src/devices/bus/psx/gamebooster.cpp index 9b50b4754a0..230ebfea49b 100644 --- a/src/devices/bus/psx/gamebooster.cpp +++ b/src/devices/bus/psx/gamebooster.cpp @@ -117,37 +117,38 @@ WRITE16_MEMBER(psx_gamebooster_device::exp_w) } } -static SLOT_INTERFACE_START(gb_cart) - SLOT_INTERFACE_INTERNAL("rom", GB_STD_ROM) - SLOT_INTERFACE_INTERNAL("rom_mbc1", GB_ROM_MBC1) - SLOT_INTERFACE_INTERNAL("rom_mbc1col", GB_ROM_MBC1) - SLOT_INTERFACE_INTERNAL("rom_mbc2", GB_ROM_MBC2) - SLOT_INTERFACE_INTERNAL("rom_mbc3", GB_ROM_MBC3) - SLOT_INTERFACE_INTERNAL("rom_huc1", GB_ROM_MBC3) - SLOT_INTERFACE_INTERNAL("rom_huc3", GB_ROM_MBC3) - SLOT_INTERFACE_INTERNAL("rom_mbc5", GB_ROM_MBC5) - SLOT_INTERFACE_INTERNAL("rom_mbc6", GB_ROM_MBC6) - SLOT_INTERFACE_INTERNAL("rom_mbc7", GB_ROM_MBC7) - SLOT_INTERFACE_INTERNAL("rom_tama5", GB_ROM_TAMA5) - SLOT_INTERFACE_INTERNAL("rom_mmm01", GB_ROM_MMM01) - SLOT_INTERFACE_INTERNAL("rom_m161", GB_ROM_M161) - SLOT_INTERFACE_INTERNAL("rom_sachen1", GB_ROM_SACHEN1) - SLOT_INTERFACE_INTERNAL("rom_sachen2", GB_ROM_SACHEN2) - SLOT_INTERFACE_INTERNAL("rom_wisdom", GB_ROM_WISDOM) - SLOT_INTERFACE_INTERNAL("rom_yong", GB_ROM_YONG) - SLOT_INTERFACE_INTERNAL("rom_lasama", GB_ROM_LASAMA) - SLOT_INTERFACE_INTERNAL("rom_atvrac", GB_ROM_ATVRAC) - SLOT_INTERFACE_INTERNAL("rom_camera", GB_STD_ROM) - SLOT_INTERFACE_INTERNAL("rom_188in1", GB_ROM_188IN1) - SLOT_INTERFACE_INTERNAL("rom_sintax", GB_ROM_SINTAX) - SLOT_INTERFACE_INTERNAL("rom_chong", GB_ROM_CHONGWU) - SLOT_INTERFACE_INTERNAL("rom_licheng", GB_ROM_LICHENG) - SLOT_INTERFACE_INTERNAL("rom_digimon", GB_ROM_DIGIMON) - SLOT_INTERFACE_INTERNAL("rom_rock8", GB_ROM_ROCKMAN8) - SLOT_INTERFACE_INTERNAL("rom_sm3sp", GB_ROM_SM3SP) -// SLOT_INTERFACE_INTERNAL("rom_dkong5", GB_ROM_DKONG5) -// SLOT_INTERFACE_INTERNAL("rom_unk01", GB_ROM_UNK01) -SLOT_INTERFACE_END +static void gb_cart(device_slot_interface &device) +{ + device.option_add_internal("rom", GB_STD_ROM); + device.option_add_internal("rom_mbc1", GB_ROM_MBC1); + device.option_add_internal("rom_mbc1col", GB_ROM_MBC1); + device.option_add_internal("rom_mbc2", GB_ROM_MBC2); + device.option_add_internal("rom_mbc3", GB_ROM_MBC3); + device.option_add_internal("rom_huc1", GB_ROM_MBC3); + device.option_add_internal("rom_huc3", GB_ROM_MBC3); + device.option_add_internal("rom_mbc5", GB_ROM_MBC5); + device.option_add_internal("rom_mbc6", GB_ROM_MBC6); + device.option_add_internal("rom_mbc7", GB_ROM_MBC7); + device.option_add_internal("rom_tama5", GB_ROM_TAMA5); + device.option_add_internal("rom_mmm01", GB_ROM_MMM01); + device.option_add_internal("rom_m161", GB_ROM_M161); + device.option_add_internal("rom_sachen1", GB_ROM_SACHEN1); + device.option_add_internal("rom_sachen2", GB_ROM_SACHEN2); + device.option_add_internal("rom_wisdom", GB_ROM_WISDOM); + device.option_add_internal("rom_yong", GB_ROM_YONG); + device.option_add_internal("rom_lasama", GB_ROM_LASAMA); + device.option_add_internal("rom_atvrac", GB_ROM_ATVRAC); + device.option_add_internal("rom_camera", GB_STD_ROM); + device.option_add_internal("rom_188in1", GB_ROM_188IN1); + device.option_add_internal("rom_sintax", GB_ROM_SINTAX); + device.option_add_internal("rom_chong", GB_ROM_CHONGWU); + device.option_add_internal("rom_licheng", GB_ROM_LICHENG); + device.option_add_internal("rom_digimon", GB_ROM_DIGIMON); + device.option_add_internal("rom_rock8", GB_ROM_ROCKMAN8); + device.option_add_internal("rom_sm3sp", GB_ROM_SM3SP); +// device.option_add_internal("rom_dkong5", GB_ROM_DKONG5); +// device.option_add_internal("rom_unk01", GB_ROM_UNK01); +} MACHINE_CONFIG_START(psx_gamebooster_device::device_add_mconfig) /* cartslot */ diff --git a/src/devices/bus/psx/multitap.h b/src/devices/bus/psx/multitap.h index e4b40f1caf1..0ac7e6626f7 100644 --- a/src/devices/bus/psx/multitap.h +++ b/src/devices/bus/psx/multitap.h @@ -5,7 +5,7 @@ #include "ctlrport.h" -SLOT_INTERFACE_EXTERN(psx_controllers_nomulti); +void psx_controllers_nomulti(device_slot_interface &device); class psx_multitap_device : public device_t, public device_psx_controller_interface diff --git a/src/devices/bus/psx/parallel.cpp b/src/devices/bus/psx/parallel.cpp index 4fa5b29da66..b7947e11921 100644 --- a/src/devices/bus/psx/parallel.cpp +++ b/src/devices/bus/psx/parallel.cpp @@ -108,7 +108,8 @@ WRITE16_MEMBER(psx_parallel_slot_device::exp_w) // slot devices #include "gamebooster.h" -SLOT_INTERFACE_START( psx_parallel_devices ) - SLOT_INTERFACE("gamebooster", PSX_GAMEBOOSTER) -SLOT_INTERFACE_END +void psx_parallel_devices(device_slot_interface &device) +{ + device.option_add("gamebooster", PSX_GAMEBOOSTER); +} diff --git a/src/devices/bus/psx/parallel.h b/src/devices/bus/psx/parallel.h index 4ef05c52233..129b123ba3f 100644 --- a/src/devices/bus/psx/parallel.h +++ b/src/devices/bus/psx/parallel.h @@ -68,7 +68,7 @@ protected: // device type definition DECLARE_DEVICE_TYPE(PSX_PARALLEL_SLOT, psx_parallel_slot_device) -SLOT_INTERFACE_EXTERN( psx_parallel_devices ); +void psx_parallel_devices(device_slot_interface &device); #endif // MAME_BUS_PSX_PARALLEL_H diff --git a/src/devices/bus/ql/exp.cpp b/src/devices/bus/ql/exp.cpp index 89c73d4a08a..24b62b08015 100644 --- a/src/devices/bus/ql/exp.cpp +++ b/src/devices/bus/ql/exp.cpp @@ -89,23 +89,24 @@ void ql_expansion_slot_device::device_start() #include "sandy_superqboard.h" #include "trumpcard.h" -SLOT_INTERFACE_START( ql_expansion_cards ) - SLOT_INTERFACE("qdisc", CST_QL_DISC_INTERFACE) - SLOT_INTERFACE("qplus4", CST_Q_PLUS4) - SLOT_INTERFACE("cumanafdi", CUMANA_FLOPPY_DISK_INTERFACE) - SLOT_INTERFACE("kdi", KEMPSTON_DISK_INTERFACE) - SLOT_INTERFACE("mpfdi", MICRO_PERIPHERALS_FLOPPY_DISK_INTERFACE) - SLOT_INTERFACE("gold", MIRACLE_GOLD_CARD) - SLOT_INTERFACE("pcmlqdi", PCML_Q_DISK_INTERFACE) - SLOT_INTERFACE("qubide", QUBIDE) - SLOT_INTERFACE("sdisk", SANDY_SUPER_DISK) - SLOT_INTERFACE("sqboard", SANDY_SUPERQBOARD) - SLOT_INTERFACE("sqboard512k", SANDY_SUPERQBOARD_512K) - SLOT_INTERFACE("sqmouse", SANDY_SUPERQMOUSE) - SLOT_INTERFACE("sqmouse512k", SANDY_SUPERQMOUSE_512K) - SLOT_INTERFACE("opdbasic", OPD_BASIC_MASTER) - SLOT_INTERFACE("trump", QL_TRUMP_CARD) - SLOT_INTERFACE("trump256k", QL_TRUMP_CARD_256K) - SLOT_INTERFACE("trump512k", QL_TRUMP_CARD_512K) - SLOT_INTERFACE("trump768k", QL_TRUMP_CARD_768K) -SLOT_INTERFACE_END +void ql_expansion_cards(device_slot_interface &device) +{ + device.option_add("qdisc", CST_QL_DISC_INTERFACE); + device.option_add("qplus4", CST_Q_PLUS4); + device.option_add("cumanafdi", CUMANA_FLOPPY_DISK_INTERFACE); + device.option_add("kdi", KEMPSTON_DISK_INTERFACE); + device.option_add("mpfdi", MICRO_PERIPHERALS_FLOPPY_DISK_INTERFACE); + device.option_add("gold", MIRACLE_GOLD_CARD); + device.option_add("pcmlqdi", PCML_Q_DISK_INTERFACE); + device.option_add("qubide", QUBIDE); + device.option_add("sdisk", SANDY_SUPER_DISK); + device.option_add("sqboard", SANDY_SUPERQBOARD); + device.option_add("sqboard512k", SANDY_SUPERQBOARD_512K); + device.option_add("sqmouse", SANDY_SUPERQMOUSE); + device.option_add("sqmouse512k", SANDY_SUPERQMOUSE_512K); + device.option_add("opdbasic", OPD_BASIC_MASTER); + device.option_add("trump", QL_TRUMP_CARD); + device.option_add("trump256k", QL_TRUMP_CARD_256K); + device.option_add("trump512k", QL_TRUMP_CARD_512K); + device.option_add("trump768k", QL_TRUMP_CARD_768K); +} diff --git a/src/devices/bus/ql/exp.h b/src/devices/bus/ql/exp.h index bdb9e98808a..e8aa5ea3570 100644 --- a/src/devices/bus/ql/exp.h +++ b/src/devices/bus/ql/exp.h @@ -141,7 +141,7 @@ protected: DECLARE_DEVICE_TYPE(QL_EXPANSION_SLOT, ql_expansion_slot_device) -SLOT_INTERFACE_EXTERN( ql_expansion_cards ); +void ql_expansion_cards(device_slot_interface &device); #endif // MAME_BUS_QL_EXP_H diff --git a/src/devices/bus/ql/rom.cpp b/src/devices/bus/ql/rom.cpp index 27d46b5c47b..2edf6c36cf8 100644 --- a/src/devices/bus/ql/rom.cpp +++ b/src/devices/bus/ql/rom.cpp @@ -117,9 +117,10 @@ std::string ql_rom_cartridge_slot_device::get_default_card_software(get_default_ #include "miracle_hd.h" #include "std.h" -SLOT_INTERFACE_START( ql_rom_cartridge_cards ) - SLOT_INTERFACE("mhd", MIRACLE_HARD_DISK) +void ql_rom_cartridge_cards(device_slot_interface &device) +{ + device.option_add("mhd", MIRACLE_HARD_DISK); // the following need ROMs from the software list - SLOT_INTERFACE_INTERNAL("standard", QL_STANDARD_ROM_CARTRIDGE) -SLOT_INTERFACE_END + device.option_add_internal("standard", QL_STANDARD_ROM_CARTRIDGE); +} diff --git a/src/devices/bus/ql/rom.h b/src/devices/bus/ql/rom.h index 72b4d75dc2f..20774d7c3ba 100644 --- a/src/devices/bus/ql/rom.h +++ b/src/devices/bus/ql/rom.h @@ -117,6 +117,6 @@ protected: // device type definition DECLARE_DEVICE_TYPE(QL_ROM_CARTRIDGE_SLOT, ql_rom_cartridge_slot_device) -SLOT_INTERFACE_EXTERN( ql_rom_cartridge_cards ); +void ql_rom_cartridge_cards(device_slot_interface &device); #endif // MAME_BUS_QL_ROM_H diff --git a/src/devices/bus/ql/sandy_superdisk.cpp b/src/devices/bus/ql/sandy_superdisk.cpp index 5419a4f22a1..b224ae8afc0 100644 --- a/src/devices/bus/ql/sandy_superdisk.cpp +++ b/src/devices/bus/ql/sandy_superdisk.cpp @@ -52,9 +52,10 @@ const tiny_rom_entry *sandy_super_disk_device::device_rom_region() const // SLOT_INTERFACE( sandy_super_disk_floppies ) //------------------------------------------------- -static SLOT_INTERFACE_START( sandy_super_disk_floppies ) - SLOT_INTERFACE( "35dd", FLOPPY_35_DD ) -SLOT_INTERFACE_END +static void sandy_super_disk_floppies(device_slot_interface &device) +{ + device.option_add("35dd", FLOPPY_35_DD); +} //------------------------------------------------- diff --git a/src/devices/bus/ql/sandy_superqboard.cpp b/src/devices/bus/ql/sandy_superqboard.cpp index 3965736bd01..92d4435aeb3 100644 --- a/src/devices/bus/ql/sandy_superqboard.cpp +++ b/src/devices/bus/ql/sandy_superqboard.cpp @@ -64,10 +64,11 @@ const tiny_rom_entry *sandy_superqboard_device::device_rom_region() const // SLOT_INTERFACE( sandy_superqboard_floppies ) //------------------------------------------------- -static SLOT_INTERFACE_START( sandy_superqboard_floppies ) - SLOT_INTERFACE( "35dd", FLOPPY_35_DD ) - SLOT_INTERFACE( "35hd", FLOPPY_35_HD ) -SLOT_INTERFACE_END +static void sandy_superqboard_floppies(device_slot_interface &device) +{ + device.option_add("35dd", FLOPPY_35_DD); + device.option_add("35hd", FLOPPY_35_HD); +} //------------------------------------------------- diff --git a/src/devices/bus/ql/trumpcard.cpp b/src/devices/bus/ql/trumpcard.cpp index e1079b1826b..a853bc63fa7 100644 --- a/src/devices/bus/ql/trumpcard.cpp +++ b/src/devices/bus/ql/trumpcard.cpp @@ -67,9 +67,10 @@ const tiny_rom_entry *ql_trump_card_device::device_rom_region() const // SLOT_INTERFACE( ql_trump_card_floppies ) //------------------------------------------------- -static SLOT_INTERFACE_START( ql_trump_card_floppies ) - SLOT_INTERFACE( "35dd", FLOPPY_35_DD ) -SLOT_INTERFACE_END +static void ql_trump_card_floppies(device_slot_interface &device) +{ + device.option_add("35dd", FLOPPY_35_DD); +} //------------------------------------------------- diff --git a/src/devices/bus/rs232/rs232.cpp b/src/devices/bus/rs232/rs232.cpp index c61bb9676fd..1db03002775 100644 --- a/src/devices/bus/rs232/rs232.cpp +++ b/src/devices/bus/rs232/rs232.cpp @@ -168,14 +168,15 @@ device_rs232_port_interface::~device_rs232_port_interface() #include "terminal.h" #include "ie15.h" -SLOT_INTERFACE_START( default_rs232_devices ) - SLOT_INTERFACE("keyboard", SERIAL_KEYBOARD) - SLOT_INTERFACE("loopback", RS232_LOOPBACK) - SLOT_INTERFACE("dec_loopback", DEC_RS232_LOOPBACK) - SLOT_INTERFACE("null_modem", NULL_MODEM) - SLOT_INTERFACE("printer", SERIAL_PRINTER) - SLOT_INTERFACE("terminal", SERIAL_TERMINAL) - SLOT_INTERFACE("pty", PSEUDO_TERMINAL) - SLOT_INTERFACE("sunkbd", SUN_KBD_ADAPTOR) - SLOT_INTERFACE("ie15", SERIAL_TERMINAL_IE15) -SLOT_INTERFACE_END +void default_rs232_devices(device_slot_interface &device) +{ + device.option_add("keyboard", SERIAL_KEYBOARD); + device.option_add("loopback", RS232_LOOPBACK); + device.option_add("dec_loopback", DEC_RS232_LOOPBACK); + device.option_add("null_modem", NULL_MODEM); + device.option_add("printer", SERIAL_PRINTER); + device.option_add("terminal", SERIAL_TERMINAL); + device.option_add("pty", PSEUDO_TERMINAL); + device.option_add("sunkbd", SUN_KBD_ADAPTOR); + device.option_add("ie15", SERIAL_TERMINAL_IE15); +} diff --git a/src/devices/bus/rs232/rs232.h b/src/devices/bus/rs232/rs232.h index b73a7d817bf..1f459ec3860 100644 --- a/src/devices/bus/rs232/rs232.h +++ b/src/devices/bus/rs232/rs232.h @@ -119,12 +119,20 @@ class device_rs232_port_interface; -class rs232_port_device : public device_t, - public device_slot_interface +class rs232_port_device : public device_t, public device_slot_interface { friend class device_rs232_port_interface; public: + template + rs232_port_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts, const char *dflt) + : rs232_port_device(mconfig, tag, owner, 0) + { + option_reset(); + opts(*this); + set_default_option(dflt); + set_fixed(false); + } rs232_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); virtual ~rs232_port_device(); @@ -313,6 +321,6 @@ protected: DECLARE_DEVICE_TYPE(RS232_PORT, rs232_port_device) -SLOT_INTERFACE_EXTERN( default_rs232_devices ); +void default_rs232_devices(device_slot_interface &device); #endif // MAME_BUS_RS232_RS232_H diff --git a/src/devices/bus/s100/dj2db.cpp b/src/devices/bus/s100/dj2db.cpp index 78ac2ae6ad8..808abeb5a0b 100644 --- a/src/devices/bus/s100/dj2db.cpp +++ b/src/devices/bus/s100/dj2db.cpp @@ -69,9 +69,10 @@ WRITE_LINE_MEMBER( s100_dj2db_device::fr_w ) // S1602 RRC/TRC } -static SLOT_INTERFACE_START( s100_dj2db_floppies ) - SLOT_INTERFACE( "8dsdd", FLOPPY_8_DSDD ) -SLOT_INTERFACE_END +static void s100_dj2db_floppies(device_slot_interface &device) +{ + device.option_add("8dsdd", FLOPPY_8_DSDD); +} WRITE_LINE_MEMBER( s100_dj2db_device::fdc_intrq_w ) { diff --git a/src/devices/bus/s100/nsmdsa.cpp b/src/devices/bus/s100/nsmdsa.cpp index a54bbc0c1a1..3a2ab33b594 100644 --- a/src/devices/bus/s100/nsmdsa.cpp +++ b/src/devices/bus/s100/nsmdsa.cpp @@ -47,9 +47,10 @@ const tiny_rom_entry *s100_mds_a_device::device_rom_region() const // SLOT_INTERFACE( mds_a_floppies ) //------------------------------------------------- -static SLOT_INTERFACE_START( mds_a_floppies ) - SLOT_INTERFACE( "525sd", FLOPPY_525_SD ) // Shugart SA-400 -SLOT_INTERFACE_END +static void mds_a_floppies(device_slot_interface &device) +{ + device.option_add("525sd", FLOPPY_525_SD); // Shugart SA-400 +} //------------------------------------------------- diff --git a/src/devices/bus/s100/nsmdsad.cpp b/src/devices/bus/s100/nsmdsad.cpp index 80c75dd935f..21c25e7dcbc 100644 --- a/src/devices/bus/s100/nsmdsad.cpp +++ b/src/devices/bus/s100/nsmdsad.cpp @@ -48,9 +48,10 @@ const tiny_rom_entry *s100_mds_ad_device::device_rom_region() const // SLOT_INTERFACE( mds_ad_floppies ) //------------------------------------------------- -static SLOT_INTERFACE_START( mds_ad_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) // Shugart SA-400 -SLOT_INTERFACE_END +static void mds_ad_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); // Shugart SA-400 +} //------------------------------------------------- diff --git a/src/devices/bus/s100/wunderbus.cpp b/src/devices/bus/s100/wunderbus.cpp index 4e0a68c4c6d..7e69c845be1 100644 --- a/src/devices/bus/s100/wunderbus.cpp +++ b/src/devices/bus/s100/wunderbus.cpp @@ -116,7 +116,7 @@ MACHINE_CONFIG_START(s100_wunderbus_device::device_add_mconfig) MCFG_RS232_DSR_HANDLER(DEVWRITELINE(INS8250_1_TAG, ins8250_uart_device, dsr_w)) MCFG_RS232_RI_HANDLER(DEVWRITELINE(INS8250_1_TAG, ins8250_uart_device, ri_w)) MCFG_RS232_CTS_HANDLER(DEVWRITELINE(INS8250_1_TAG, ins8250_uart_device, cts_w)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, nullptr) MCFG_RS232_RXD_HANDLER(DEVWRITELINE(INS8250_2_TAG, ins8250_uart_device, rx_w)) diff --git a/src/devices/bus/sat_ctrl/ctrl.cpp b/src/devices/bus/sat_ctrl/ctrl.cpp index 93a09176aa4..ebe435655ab 100644 --- a/src/devices/bus/sat_ctrl/ctrl.cpp +++ b/src/devices/bus/sat_ctrl/ctrl.cpp @@ -125,20 +125,22 @@ uint16_t saturn_control_port_device::read_direct() // SLOT_INTERFACE( saturn_controls ) //------------------------------------------------- -SLOT_INTERFACE_START( saturn_controls ) - SLOT_INTERFACE("joypad", SATURN_JOY) - SLOT_INTERFACE("racing", SATURN_WHEEL) - SLOT_INTERFACE("analog", SATURN_ANALOG) -// SLOT_INTERFACE("lightgun", SATURN_LIGHTGUN) - SLOT_INTERFACE("trackball", SATURN_TRACK) - SLOT_INTERFACE("keyboard", SATURN_KEYBD) - SLOT_INTERFACE("joy_md3", SATURN_JOYMD3B) - SLOT_INTERFACE("joy_md6", SATURN_JOYMD6B) - SLOT_INTERFACE("mouse", SATURN_MOUSE) - SLOT_INTERFACE("multitap", SATURN_MULTITAP) - SLOT_INTERFACE("segatap", SATURN_SEGATAP) -SLOT_INTERFACE_END +void saturn_controls(device_slot_interface &device) +{ + device.option_add("joypad", SATURN_JOY); + device.option_add("racing", SATURN_WHEEL); + device.option_add("analog", SATURN_ANALOG); +// device.option_add("lightgun", SATURN_LIGHTGUN); + device.option_add("trackball", SATURN_TRACK); + device.option_add("keyboard", SATURN_KEYBD); + device.option_add("joy_md3", SATURN_JOYMD3B); + device.option_add("joy_md6", SATURN_JOYMD6B); + device.option_add("mouse", SATURN_MOUSE); + device.option_add("multitap", SATURN_MULTITAP); + device.option_add("segatap", SATURN_SEGATAP); +} -SLOT_INTERFACE_START( saturn_joys ) - SLOT_INTERFACE("joypad", SATURN_JOY) -SLOT_INTERFACE_END +void saturn_joys(device_slot_interface &device) +{ + device.option_add("joypad", SATURN_JOY); +} diff --git a/src/devices/bus/sat_ctrl/ctrl.h b/src/devices/bus/sat_ctrl/ctrl.h index 13e30459c01..913664777c2 100644 --- a/src/devices/bus/sat_ctrl/ctrl.h +++ b/src/devices/bus/sat_ctrl/ctrl.h @@ -75,8 +75,8 @@ DECLARE_DEVICE_TYPE(SATURN_CONTROL_PORT, saturn_control_port_device) MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) -SLOT_INTERFACE_EXTERN( saturn_controls ); -SLOT_INTERFACE_EXTERN( saturn_joys ); +void saturn_controls(device_slot_interface &device); +void saturn_joys(device_slot_interface &device); #endif // MAME_BUS_SAT_CTRL_CTRL_H diff --git a/src/devices/bus/sega8/ccatch.cpp b/src/devices/bus/sega8/ccatch.cpp index f5b82e5f2b3..cbe9840bae7 100644 --- a/src/devices/bus/sega8/ccatch.cpp +++ b/src/devices/bus/sega8/ccatch.cpp @@ -48,9 +48,10 @@ WRITE8_MEMBER(sega8_cardcatch_device::write_cart) logerror("Attempt to write to MyCard\n"); } -static SLOT_INTERFACE_START(sg1000_card) - SLOT_INTERFACE_INTERNAL("rom", SEGA8_ROM_STD) -SLOT_INTERFACE_END +static void sg1000_card(device_slot_interface &device) +{ + device.option_add_internal("rom", SEGA8_ROM_STD); +} MACHINE_CONFIG_START(sega8_cardcatch_device::device_add_mconfig) MCFG_SG1000_CARD_ADD("cardslot", sg1000_card, nullptr) diff --git a/src/devices/bus/sega8/sega8_slot.cpp b/src/devices/bus/sega8/sega8_slot.cpp index de02af4f279..3242654b829 100644 --- a/src/devices/bus/sega8/sega8_slot.cpp +++ b/src/devices/bus/sega8/sega8_slot.cpp @@ -806,54 +806,58 @@ void sega8_cart_slot_device::internal_header_logging(uint8_t *ROM, uint32_t len, #include "ccatch.h" #include "mgear.h" -SLOT_INTERFACE_START(sg1000_cart) - SLOT_INTERFACE_INTERNAL("rom", SEGA8_ROM_STD) - SLOT_INTERFACE_INTERNAL("othello", SEGA8_ROM_OTHELLO) - SLOT_INTERFACE_INTERNAL("castle", SEGA8_ROM_CASTLE) - SLOT_INTERFACE_INTERNAL("terebi", SEGA8_ROM_TEREBI) - SLOT_INTERFACE_INTERNAL("level3", SEGA8_ROM_BASIC_L3) - SLOT_INTERFACE_INTERNAL("music_editor", SEGA8_ROM_MUSIC_EDITOR) - SLOT_INTERFACE_INTERNAL("dahjee_typea", SEGA8_ROM_DAHJEE_TYPEA) - SLOT_INTERFACE_INTERNAL("dahjee_typeb", SEGA8_ROM_DAHJEE_TYPEB) - SLOT_INTERFACE_INTERNAL("cardcatcher", SEGA8_ROM_CARDCATCH) -SLOT_INTERFACE_END +void sg1000_cart(device_slot_interface &device) +{ + device.option_add_internal("rom", SEGA8_ROM_STD); + device.option_add_internal("othello", SEGA8_ROM_OTHELLO); + device.option_add_internal("castle", SEGA8_ROM_CASTLE); + device.option_add_internal("terebi", SEGA8_ROM_TEREBI); + device.option_add_internal("level3", SEGA8_ROM_BASIC_L3); + device.option_add_internal("music_editor", SEGA8_ROM_MUSIC_EDITOR); + device.option_add_internal("dahjee_typea", SEGA8_ROM_DAHJEE_TYPEA); + device.option_add_internal("dahjee_typeb", SEGA8_ROM_DAHJEE_TYPEB); + device.option_add_internal("cardcatcher", SEGA8_ROM_CARDCATCH); +} -SLOT_INTERFACE_START(sg1000mk3_cart) - SLOT_INTERFACE_INTERNAL("rom", SEGA8_ROM_STD) - SLOT_INTERFACE_INTERNAL("terebi", SEGA8_ROM_TEREBI) - SLOT_INTERFACE_INTERNAL("codemasters", SEGA8_ROM_CODEMASTERS) - SLOT_INTERFACE_INTERNAL("4pak", SEGA8_ROM_4PAK) - SLOT_INTERFACE_INTERNAL("zemina", SEGA8_ROM_ZEMINA) - SLOT_INTERFACE_INTERNAL("nemesis", SEGA8_ROM_NEMESIS) - SLOT_INTERFACE_INTERNAL("janggun", SEGA8_ROM_JANGGUN) - SLOT_INTERFACE_INTERNAL("hicom", SEGA8_ROM_HICOM) - SLOT_INTERFACE_INTERNAL("korean", SEGA8_ROM_KOREAN) - SLOT_INTERFACE_INTERNAL("korean_nb", SEGA8_ROM_KOREAN_NB) - SLOT_INTERFACE_INTERNAL("seojin", SEGA8_ROM_SEOJIN) - SLOT_INTERFACE_INTERNAL("othello", SEGA8_ROM_OTHELLO) - SLOT_INTERFACE_INTERNAL("castle", SEGA8_ROM_CASTLE) - SLOT_INTERFACE_INTERNAL("dahjee_typea", SEGA8_ROM_DAHJEE_TYPEA) - SLOT_INTERFACE_INTERNAL("dahjee_typeb", SEGA8_ROM_DAHJEE_TYPEB) +void sg1000mk3_cart(device_slot_interface &device) +{ + device.option_add_internal("rom", SEGA8_ROM_STD); + device.option_add_internal("terebi", SEGA8_ROM_TEREBI); + device.option_add_internal("codemasters", SEGA8_ROM_CODEMASTERS); + device.option_add_internal("4pak", SEGA8_ROM_4PAK); + device.option_add_internal("zemina", SEGA8_ROM_ZEMINA); + device.option_add_internal("nemesis", SEGA8_ROM_NEMESIS); + device.option_add_internal("janggun", SEGA8_ROM_JANGGUN); + device.option_add_internal("hicom", SEGA8_ROM_HICOM); + device.option_add_internal("korean", SEGA8_ROM_KOREAN); + device.option_add_internal("korean_nb", SEGA8_ROM_KOREAN_NB); + device.option_add_internal("seojin", SEGA8_ROM_SEOJIN); + device.option_add_internal("othello", SEGA8_ROM_OTHELLO); + device.option_add_internal("castle", SEGA8_ROM_CASTLE); + device.option_add_internal("dahjee_typea", SEGA8_ROM_DAHJEE_TYPEA); + device.option_add_internal("dahjee_typeb", SEGA8_ROM_DAHJEE_TYPEB); // are these SC-3000 carts below actually compatible or not? remove if not! - SLOT_INTERFACE_INTERNAL("level3", SEGA8_ROM_BASIC_L3) - SLOT_INTERFACE_INTERNAL("music_editor", SEGA8_ROM_MUSIC_EDITOR) -SLOT_INTERFACE_END + device.option_add_internal("level3", SEGA8_ROM_BASIC_L3); + device.option_add_internal("music_editor", SEGA8_ROM_MUSIC_EDITOR); +} -SLOT_INTERFACE_START(sms_cart) - SLOT_INTERFACE_INTERNAL("rom", SEGA8_ROM_STD) - SLOT_INTERFACE_INTERNAL("codemasters", SEGA8_ROM_CODEMASTERS) - SLOT_INTERFACE_INTERNAL("4pak", SEGA8_ROM_4PAK) - SLOT_INTERFACE_INTERNAL("zemina", SEGA8_ROM_ZEMINA) - SLOT_INTERFACE_INTERNAL("nemesis", SEGA8_ROM_NEMESIS) - SLOT_INTERFACE_INTERNAL("janggun", SEGA8_ROM_JANGGUN) - SLOT_INTERFACE_INTERNAL("hicom", SEGA8_ROM_HICOM) - SLOT_INTERFACE_INTERNAL("korean", SEGA8_ROM_KOREAN) - SLOT_INTERFACE_INTERNAL("korean_nb", SEGA8_ROM_KOREAN_NB) -SLOT_INTERFACE_END +void sms_cart(device_slot_interface &device) +{ + device.option_add_internal("rom", SEGA8_ROM_STD); + device.option_add_internal("codemasters", SEGA8_ROM_CODEMASTERS); + device.option_add_internal("4pak", SEGA8_ROM_4PAK); + device.option_add_internal("zemina", SEGA8_ROM_ZEMINA); + device.option_add_internal("nemesis", SEGA8_ROM_NEMESIS); + device.option_add_internal("janggun", SEGA8_ROM_JANGGUN); + device.option_add_internal("hicom", SEGA8_ROM_HICOM); + device.option_add_internal("korean", SEGA8_ROM_KOREAN); + device.option_add_internal("korean_nb", SEGA8_ROM_KOREAN_NB); +} -SLOT_INTERFACE_START(gg_cart) - SLOT_INTERFACE_INTERNAL("rom", SEGA8_ROM_STD) - SLOT_INTERFACE_INTERNAL("eeprom", SEGA8_ROM_EEPROM) - SLOT_INTERFACE_INTERNAL("codemasters", SEGA8_ROM_CODEMASTERS) - SLOT_INTERFACE_INTERNAL("mgear", SEGA8_ROM_MGEAR) -SLOT_INTERFACE_END +void gg_cart(device_slot_interface &device) +{ + device.option_add_internal("rom", SEGA8_ROM_STD); + device.option_add_internal("eeprom", SEGA8_ROM_EEPROM); + device.option_add_internal("codemasters", SEGA8_ROM_CODEMASTERS); + device.option_add_internal("mgear", SEGA8_ROM_MGEAR); +} diff --git a/src/devices/bus/sega8/sega8_slot.h b/src/devices/bus/sega8/sega8_slot.h index fa26d4bed72..9b653d4887b 100644 --- a/src/devices/bus/sega8/sega8_slot.h +++ b/src/devices/bus/sega8/sega8_slot.h @@ -243,9 +243,9 @@ public: // slot interfaces -SLOT_INTERFACE_EXTERN( sg1000_cart ); -SLOT_INTERFACE_EXTERN( sg1000mk3_cart ); -SLOT_INTERFACE_EXTERN( sms_cart ); -SLOT_INTERFACE_EXTERN( gg_cart ); +void sg1000_cart(device_slot_interface &device); +void sg1000mk3_cart(device_slot_interface &device); +void sms_cart(device_slot_interface &device); +void gg_cart(device_slot_interface &device); #endif // MAME_BUS_SEGA8_SLOT_H diff --git a/src/devices/bus/sg1000_exp/sg1000exp.cpp b/src/devices/bus/sg1000_exp/sg1000exp.cpp index 8c8bc53f6a4..09e6e826515 100644 --- a/src/devices/bus/sg1000_exp/sg1000exp.cpp +++ b/src/devices/bus/sg1000_exp/sg1000exp.cpp @@ -121,7 +121,8 @@ bool sg1000_expansion_slot_device::is_writeable(uint8_t offset) // SLOT_INTERFACE( sg1000_expansion_devices ) //------------------------------------------------- -SLOT_INTERFACE_START( sg1000_expansion_devices ) - SLOT_INTERFACE("sk1100", SEGA_SK1100) - SLOT_INTERFACE("fm", SEGA_FM_UNIT) -SLOT_INTERFACE_END +void sg1000_expansion_devices(device_slot_interface &device) +{ + device.option_add("sk1100", SEGA_SK1100); + device.option_add("fm", SEGA_FM_UNIT); +} diff --git a/src/devices/bus/sg1000_exp/sg1000exp.h b/src/devices/bus/sg1000_exp/sg1000exp.h index ce8ae982980..9a21c263407 100644 --- a/src/devices/bus/sg1000_exp/sg1000exp.h +++ b/src/devices/bus/sg1000_exp/sg1000exp.h @@ -84,7 +84,7 @@ protected: DECLARE_DEVICE_TYPE(SG1000_EXPANSION_SLOT, sg1000_expansion_slot_device) -SLOT_INTERFACE_EXTERN( sg1000_expansion_devices ); +void sg1000_expansion_devices(device_slot_interface &device); #endif // MAME_BUS_SG1000_EXP_SG1000EXP_H diff --git a/src/devices/bus/sms_ctrl/smsctrl.cpp b/src/devices/bus/sms_ctrl/smsctrl.cpp index 6d760f9bf93..30b706ad390 100644 --- a/src/devices/bus/sms_ctrl/smsctrl.cpp +++ b/src/devices/bus/sms_ctrl/smsctrl.cpp @@ -124,13 +124,14 @@ uint32_t sms_control_port_device::pixel_r() // SLOT_INTERFACE( sms_control_port_devices ) //------------------------------------------------- -SLOT_INTERFACE_START( sms_control_port_devices ) - SLOT_INTERFACE("joypad", SMS_JOYPAD) - SLOT_INTERFACE("lphaser", SMS_LIGHT_PHASER) - SLOT_INTERFACE("paddle", SMS_PADDLE) - SLOT_INTERFACE("sportspad", SMS_SPORTS_PAD) - SLOT_INTERFACE("sportspadjp", SMS_SPORTS_PAD_JP) - SLOT_INTERFACE("rapidfire", SMS_RAPID_FIRE) - SLOT_INTERFACE("multitap", SMS_MULTITAP) - SLOT_INTERFACE("graphic", SMS_GRAPHIC) -SLOT_INTERFACE_END +void sms_control_port_devices(device_slot_interface &device) +{ + device.option_add("joypad", SMS_JOYPAD); + device.option_add("lphaser", SMS_LIGHT_PHASER); + device.option_add("paddle", SMS_PADDLE); + device.option_add("sportspad", SMS_SPORTS_PAD); + device.option_add("sportspadjp", SMS_SPORTS_PAD_JP); + device.option_add("rapidfire", SMS_RAPID_FIRE); + device.option_add("multitap", SMS_MULTITAP); + device.option_add("graphic", SMS_GRAPHIC); +} diff --git a/src/devices/bus/sms_ctrl/smsctrl.h b/src/devices/bus/sms_ctrl/smsctrl.h index 71cfa2059c4..9ead03ca812 100644 --- a/src/devices/bus/sms_ctrl/smsctrl.h +++ b/src/devices/bus/sms_ctrl/smsctrl.h @@ -110,7 +110,7 @@ protected: DECLARE_DEVICE_TYPE(SMS_CONTROL_PORT, sms_control_port_device) -SLOT_INTERFACE_EXTERN( sms_control_port_devices ); +void sms_control_port_devices(device_slot_interface &device); #endif // MAME_BUS_SMS_CTRL_SMSCTRL_H diff --git a/src/devices/bus/sms_exp/smsexp.cpp b/src/devices/bus/sms_exp/smsexp.cpp index 89cdf8083a8..f7c4b12c159 100644 --- a/src/devices/bus/sms_exp/smsexp.cpp +++ b/src/devices/bus/sms_exp/smsexp.cpp @@ -86,6 +86,7 @@ void sms_expansion_slot_device::device_start() // SLOT_INTERFACE( sms_expansion_devices ) //------------------------------------------------- -SLOT_INTERFACE_START( sms_expansion_devices ) - SLOT_INTERFACE("genderadp", SMS_GENDER_ADAPTER) -SLOT_INTERFACE_END +void sms_expansion_devices(device_slot_interface &device) +{ + device.option_add("genderadp", SMS_GENDER_ADAPTER); +} diff --git a/src/devices/bus/sms_exp/smsexp.h b/src/devices/bus/sms_exp/smsexp.h index 5ea8a344384..b53027af51e 100644 --- a/src/devices/bus/sms_exp/smsexp.h +++ b/src/devices/bus/sms_exp/smsexp.h @@ -87,7 +87,7 @@ protected: DECLARE_DEVICE_TYPE(SMS_EXPANSION_SLOT, sms_expansion_slot_device) -SLOT_INTERFACE_EXTERN( sms_expansion_devices ); +void sms_expansion_devices(device_slot_interface &device); #endif // MAME_BUS_SMS_EXP_SMSEXP_H diff --git a/src/devices/bus/snes/bsx.cpp b/src/devices/bus/snes/bsx.cpp index 691a2898413..339cee19885 100644 --- a/src/devices/bus/snes/bsx.cpp +++ b/src/devices/bus/snes/bsx.cpp @@ -234,9 +234,10 @@ void sns_rom_bsx_device::bsx_base::write(uint32_t offset, uint8_t data) } -static SLOT_INTERFACE_START(bsx_cart) - SLOT_INTERFACE_INTERNAL("bsmempak", SNS_BSMEMPAK) -SLOT_INTERFACE_END +static void bsx_cart(device_slot_interface &device) +{ + device.option_add_internal("bsmempak", SNS_BSMEMPAK); +} //------------------------------------------------- diff --git a/src/devices/bus/snes/sgb.cpp b/src/devices/bus/snes/sgb.cpp index d668e96b45b..f3f150e47a3 100644 --- a/src/devices/bus/snes/sgb.cpp +++ b/src/devices/bus/snes/sgb.cpp @@ -154,10 +154,11 @@ WRITE8_MEMBER( sns_rom_sgb_device::gb_timer_callback ) } -static SLOT_INTERFACE_START(supergb_cart) - SLOT_INTERFACE_INTERNAL("rom", GB_STD_ROM) - SLOT_INTERFACE_INTERNAL("rom_mbc1", GB_ROM_MBC1) -SLOT_INTERFACE_END +static void supergb_cart(device_slot_interface &device) +{ + device.option_add_internal("rom", GB_STD_ROM); + device.option_add_internal("rom_mbc1", GB_ROM_MBC1); +} MACHINE_CONFIG_START(sns_rom_sgb1_device::device_add_mconfig) diff --git a/src/devices/bus/snes/snes_carts.cpp b/src/devices/bus/snes/snes_carts.cpp index a450b7fe4c0..274b1e0af9b 100644 --- a/src/devices/bus/snes/snes_carts.cpp +++ b/src/devices/bus/snes/snes_carts.cpp @@ -22,46 +22,47 @@ #include "event.h" -SLOT_INTERFACE_START(snes_cart) - SLOT_INTERFACE_INTERNAL("lorom", SNS_LOROM) - SLOT_INTERFACE_INTERNAL("lorom_bsx", SNS_LOROM_BSX) // LoROM + BS-X slot - unsupported - SLOT_INTERFACE_INTERNAL("lorom_cx4", SNS_LOROM) // Cart + CX4 - unsupported - SLOT_INTERFACE_INTERNAL("lorom_dsp", SNS_LOROM_NECDSP) - SLOT_INTERFACE_INTERNAL("lorom_dsp4", SNS_LOROM_NECDSP) - SLOT_INTERFACE_INTERNAL("lorom_obc1", SNS_LOROM_OBC1) - SLOT_INTERFACE_INTERNAL("lorom_sa1", SNS_LOROM_SA1) // Cart + SA1 - unsupported - SLOT_INTERFACE_INTERNAL("lorom_sdd1", SNS_LOROM_SDD1) - SLOT_INTERFACE_INTERNAL("lorom_sfx", SNS_LOROM_SUPERFX) - SLOT_INTERFACE_INTERNAL("lorom_sgb", SNS_LOROM_SUPERGB) // SuperGB base cart - unsupported - SLOT_INTERFACE_INTERNAL("lorom_sgb2", SNS_LOROM_SUPERGB2) // SuperGB2 base cart - unsupported - SLOT_INTERFACE_INTERNAL("lorom_st010", SNS_LOROM_SETA10) - SLOT_INTERFACE_INTERNAL("lorom_st011", SNS_LOROM_SETA11) - SLOT_INTERFACE_INTERNAL("lorom_st018", SNS_LOROM) // Cart + ST018 - unsupported - SLOT_INTERFACE_INTERNAL("lorom_sufami", SNS_LOROM_SUFAMI) // Sufami Turbo base cart - SLOT_INTERFACE_INTERNAL("hirom", SNS_HIROM) - SLOT_INTERFACE_INTERNAL("hirom_bsx", SNS_HIROM_BSX) // HiROM + BS-X slot - unsupported - SLOT_INTERFACE_INTERNAL("hirom_dsp", SNS_HIROM_NECDSP) - SLOT_INTERFACE_INTERNAL("hirom_spc7110", SNS_HIROM_SPC7110) - SLOT_INTERFACE_INTERNAL("hirom_spcrtc", SNS_HIROM_SPC7110_RTC) - SLOT_INTERFACE_INTERNAL("hirom_srtc", SNS_HIROM_SRTC) - SLOT_INTERFACE_INTERNAL("bsxrom", SNS_ROM_BSX) // BS-X base cart - partial support only - SLOT_INTERFACE_INTERNAL("pfest94", SNS_PFEST94) +void snes_cart(device_slot_interface &device) +{ + device.option_add_internal("lorom", SNS_LOROM); + device.option_add_internal("lorom_bsx", SNS_LOROM_BSX); // LoROM + BS-X slot - unsupported + device.option_add_internal("lorom_cx4", SNS_LOROM); // Cart + CX4 - unsupported + device.option_add_internal("lorom_dsp", SNS_LOROM_NECDSP); + device.option_add_internal("lorom_dsp4", SNS_LOROM_NECDSP); + device.option_add_internal("lorom_obc1", SNS_LOROM_OBC1); + device.option_add_internal("lorom_sa1", SNS_LOROM_SA1); // Cart + SA1 - unsupported + device.option_add_internal("lorom_sdd1", SNS_LOROM_SDD1); + device.option_add_internal("lorom_sfx", SNS_LOROM_SUPERFX); + device.option_add_internal("lorom_sgb", SNS_LOROM_SUPERGB); // SuperGB base cart - unsupported + device.option_add_internal("lorom_sgb2", SNS_LOROM_SUPERGB2); // SuperGB2 base cart - unsupported + device.option_add_internal("lorom_st010", SNS_LOROM_SETA10); + device.option_add_internal("lorom_st011", SNS_LOROM_SETA11); + device.option_add_internal("lorom_st018", SNS_LOROM); // Cart + ST018 - unsupported + device.option_add_internal("lorom_sufami", SNS_LOROM_SUFAMI); // Sufami Turbo base cart + device.option_add_internal("hirom", SNS_HIROM); + device.option_add_internal("hirom_bsx", SNS_HIROM_BSX); // HiROM + BS-X slot - unsupported + device.option_add_internal("hirom_dsp", SNS_HIROM_NECDSP); + device.option_add_internal("hirom_spc7110", SNS_HIROM_SPC7110); + device.option_add_internal("hirom_spcrtc", SNS_HIROM_SPC7110_RTC); + device.option_add_internal("hirom_srtc", SNS_HIROM_SRTC); + device.option_add_internal("bsxrom", SNS_ROM_BSX); // BS-X base cart - partial support only + device.option_add_internal("pfest94", SNS_PFEST94); // pirate carts - SLOT_INTERFACE_INTERNAL("lorom_poke", SNS_LOROM_POKEMON) - SLOT_INTERFACE_INTERNAL("lorom_tekken2", SNS_LOROM_TEKKEN2) - SLOT_INTERFACE_INTERNAL("lorom_sbld", SNS_LOROM_SOULBLAD) - SLOT_INTERFACE_INTERNAL("lorom_mcpir1", SNS_LOROM_MCPIR1) - SLOT_INTERFACE_INTERNAL("lorom_mcpir2", SNS_LOROM_MCPIR2) - SLOT_INTERFACE_INTERNAL("lorom_20col", SNS_LOROM_20COL) - SLOT_INTERFACE_INTERNAL("lorom_pija", SNS_LOROM_BANANA) // not working yet - SLOT_INTERFACE_INTERNAL("lorom_bugs", SNS_LOROM_BUGSLIFE) // not working yet + device.option_add_internal("lorom_poke", SNS_LOROM_POKEMON); + device.option_add_internal("lorom_tekken2", SNS_LOROM_TEKKEN2); + device.option_add_internal("lorom_sbld", SNS_LOROM_SOULBLAD); + device.option_add_internal("lorom_mcpir1", SNS_LOROM_MCPIR1); + device.option_add_internal("lorom_mcpir2", SNS_LOROM_MCPIR2); + device.option_add_internal("lorom_20col", SNS_LOROM_20COL); + device.option_add_internal("lorom_pija", SNS_LOROM_BANANA); // not working yet + device.option_add_internal("lorom_bugs", SNS_LOROM_BUGSLIFE); // not working yet // legacy slots to support DSPx games from fullpath - SLOT_INTERFACE_INTERNAL("lorom_dsp1leg", SNS_LOROM_NECDSP1_LEG) - SLOT_INTERFACE_INTERNAL("lorom_dsp1bleg",SNS_LOROM_NECDSP1B_LEG) - SLOT_INTERFACE_INTERNAL("lorom_dsp2leg", SNS_LOROM_NECDSP2_LEG) - SLOT_INTERFACE_INTERNAL("lorom_dsp3leg", SNS_LOROM_NECDSP3_LEG) - SLOT_INTERFACE_INTERNAL("lorom_dsp4leg", SNS_LOROM_NECDSP4_LEG) - SLOT_INTERFACE_INTERNAL("hirom_dsp1leg", SNS_HIROM_NECDSP1_LEG) - SLOT_INTERFACE_INTERNAL("lorom_st10leg", SNS_LOROM_SETA10_LEG) - SLOT_INTERFACE_INTERNAL("lorom_st11leg", SNS_LOROM_SETA11_LEG) -SLOT_INTERFACE_END + device.option_add_internal("lorom_dsp1leg", SNS_LOROM_NECDSP1_LEG); + device.option_add_internal("lorom_dsp1bleg",SNS_LOROM_NECDSP1B_LEG); + device.option_add_internal("lorom_dsp2leg", SNS_LOROM_NECDSP2_LEG); + device.option_add_internal("lorom_dsp3leg", SNS_LOROM_NECDSP3_LEG); + device.option_add_internal("lorom_dsp4leg", SNS_LOROM_NECDSP4_LEG); + device.option_add_internal("hirom_dsp1leg", SNS_HIROM_NECDSP1_LEG); + device.option_add_internal("lorom_st10leg", SNS_LOROM_SETA10_LEG); + device.option_add_internal("lorom_st11leg", SNS_LOROM_SETA11_LEG); +} diff --git a/src/devices/bus/snes/snes_carts.h b/src/devices/bus/snes/snes_carts.h index 9778bba903f..9c140899734 100644 --- a/src/devices/bus/snes/snes_carts.h +++ b/src/devices/bus/snes/snes_carts.h @@ -13,6 +13,6 @@ // supported devices -SLOT_INTERFACE_EXTERN(snes_cart); +void snes_cart(device_slot_interface &device); #endif // MAME_BUS_SNES_SNES_CARTS_H diff --git a/src/devices/bus/snes/sufami.cpp b/src/devices/bus/snes/sufami.cpp index 9eb2236161c..1812b61e0fe 100644 --- a/src/devices/bus/snes/sufami.cpp +++ b/src/devices/bus/snes/sufami.cpp @@ -46,9 +46,10 @@ void sns_rom_strom_device::device_start() } -static SLOT_INTERFACE_START(sufamiturbo_cart) - SLOT_INTERFACE_INTERNAL("strom", SNS_STROM) -SLOT_INTERFACE_END +static void sufamiturbo_cart(device_slot_interface &device) +{ + device.option_add_internal("strom", SNS_STROM); +} //------------------------------------------------- diff --git a/src/devices/bus/snes_ctrl/ctrl.cpp b/src/devices/bus/snes_ctrl/ctrl.cpp index b0cf145072f..09079bd9c91 100644 --- a/src/devices/bus/snes_ctrl/ctrl.cpp +++ b/src/devices/bus/snes_ctrl/ctrl.cpp @@ -126,13 +126,14 @@ void snes_control_port_device::port_poll() // SLOT_INTERFACE( snes_control_port_devices ) //------------------------------------------------- -SLOT_INTERFACE_START( snes_control_port_devices ) - SLOT_INTERFACE("joypad", SNES_JOYPAD) - SLOT_INTERFACE("mouse", SNES_MOUSE) - SLOT_INTERFACE("multitap", SNES_MULTITAP) - SLOT_INTERFACE("pachinko", SNES_PACHINKO) - SLOT_INTERFACE("sscope", SNES_SUPERSCOPE) - SLOT_INTERFACE("twintap", SNES_TWINTAP) - SLOT_INTERFACE("barcode_battler", SNES_BARCODE_BATTLER) - SLOT_INTERFACE("miracle_piano", SNES_MIRACLE) -SLOT_INTERFACE_END +void snes_control_port_devices(device_slot_interface &device) +{ + device.option_add("joypad", SNES_JOYPAD); + device.option_add("mouse", SNES_MOUSE); + device.option_add("multitap", SNES_MULTITAP); + device.option_add("pachinko", SNES_PACHINKO); + device.option_add("sscope", SNES_SUPERSCOPE); + device.option_add("twintap", SNES_TWINTAP); + device.option_add("barcode_battler", SNES_BARCODE_BATTLER); + device.option_add("miracle_piano", SNES_MIRACLE); +} diff --git a/src/devices/bus/snes_ctrl/ctrl.h b/src/devices/bus/snes_ctrl/ctrl.h index 1e23d1a5ae4..ee139752f28 100644 --- a/src/devices/bus/snes_ctrl/ctrl.h +++ b/src/devices/bus/snes_ctrl/ctrl.h @@ -94,7 +94,7 @@ DECLARE_DEVICE_TYPE(SNES_CONTROL_PORT, snes_control_port_device) downcast(*device).set_gunlatch_callback(snesctrl_gunlatch_delegate(&_class::_method, #_class "::" #_method, this)); -SLOT_INTERFACE_EXTERN( snes_control_port_devices ); +void snes_control_port_devices(device_slot_interface &device); #endif // MAME_BUS_SNES_CTRL_CTRL_H diff --git a/src/devices/bus/snes_ctrl/multitap.cpp b/src/devices/bus/snes_ctrl/multitap.cpp index 01c91cb8687..262ef56fd26 100644 --- a/src/devices/bus/snes_ctrl/multitap.cpp +++ b/src/devices/bus/snes_ctrl/multitap.cpp @@ -36,10 +36,11 @@ ioport_constructor snes_multitap_device::device_input_ports() const } -static SLOT_INTERFACE_START( snes_multitap ) - SLOT_INTERFACE("joypad", SNES_JOYPAD) - SLOT_INTERFACE("twintap", SNES_TWINTAP) -SLOT_INTERFACE_END +static void snes_multitap(device_slot_interface &device) +{ + device.option_add("joypad", SNES_JOYPAD); + device.option_add("twintap", SNES_TWINTAP); +} //------------------------------------------------- diff --git a/src/devices/bus/spc1000/fdd.cpp b/src/devices/bus/spc1000/fdd.cpp index 7d8f94e2653..21d28f2710a 100644 --- a/src/devices/bus/spc1000/fdd.cpp +++ b/src/devices/bus/spc1000/fdd.cpp @@ -71,9 +71,10 @@ void spc1000_fdd_exp_device::sd725_io(address_map &map) map(0xfc, 0xff).rw("d8255_master", FUNC(i8255_device::read), FUNC(i8255_device::write)); } -static SLOT_INTERFACE_START( sd725_floppies ) - SLOT_INTERFACE("sd320", EPSON_SD_320) -SLOT_INTERFACE_END +static void sd725_floppies(device_slot_interface &device) +{ + device.option_add("sd320", EPSON_SD_320); +} //------------------------------------------------- // device_add_mconfig diff --git a/src/devices/bus/spectrum/exp.cpp b/src/devices/bus/spectrum/exp.cpp index 06a338ffd8a..c885bfde089 100644 --- a/src/devices/bus/spectrum/exp.cpp +++ b/src/devices/bus/spectrum/exp.cpp @@ -169,28 +169,31 @@ WRITE8_MEMBER(spectrum_expansion_slot_device::mreq_w) #include "uspeech.h" -SLOT_INTERFACE_START( spectrum_expansion_devices ) - SLOT_INTERFACE("intf1", SPECTRUM_INTF1) - SLOT_INTERFACE("intf2", SPECTRUM_INTF2) - SLOT_INTERFACE("fuller", SPECTRUM_FULLER) - SLOT_INTERFACE("kempjoy", SPECTRUM_KEMPJOY) - SLOT_INTERFACE("melodik", SPECTRUM_MELODIK) - SLOT_INTERFACE("mikroplus", SPECTRUM_MIKROPLUS) - SLOT_INTERFACE("protek", SPECTRUM_PROTEK) - SLOT_INTERFACE("uslot", SPECTRUM_USLOT) - SLOT_INTERFACE("usource", SPECTRUM_USOURCE) - SLOT_INTERFACE("uspeech", SPECTRUM_USPEECH) -SLOT_INTERFACE_END +void spectrum_expansion_devices(device_slot_interface &device) +{ + device.option_add("intf1", SPECTRUM_INTF1); + device.option_add("intf2", SPECTRUM_INTF2); + device.option_add("fuller", SPECTRUM_FULLER); + device.option_add("kempjoy", SPECTRUM_KEMPJOY); + device.option_add("melodik", SPECTRUM_MELODIK); + device.option_add("mikroplus", SPECTRUM_MIKROPLUS); + device.option_add("protek", SPECTRUM_PROTEK); + device.option_add("uslot", SPECTRUM_USLOT); + device.option_add("usource", SPECTRUM_USOURCE); + device.option_add("uspeech", SPECTRUM_USPEECH); +} -SLOT_INTERFACE_START( spec128_expansion_devices ) - SLOT_INTERFACE("intf1", SPECTRUM_INTF1) - SLOT_INTERFACE("intf2", SPECTRUM_INTF2) - SLOT_INTERFACE("kempjoy", SPECTRUM_KEMPJOY) - SLOT_INTERFACE("mikroplus", SPECTRUM_MIKROPLUS) - SLOT_INTERFACE("plus2test", SPECTRUM_PLUS2TEST) - SLOT_INTERFACE("protek", SPECTRUM_PROTEK) -SLOT_INTERFACE_END +void spec128_expansion_devices(device_slot_interface &device) +{ + device.option_add("intf1", SPECTRUM_INTF1); + device.option_add("intf2", SPECTRUM_INTF2); + device.option_add("kempjoy", SPECTRUM_KEMPJOY); + device.option_add("mikroplus", SPECTRUM_MIKROPLUS); + device.option_add("plus2test", SPECTRUM_PLUS2TEST); + device.option_add("protek", SPECTRUM_PROTEK); +} -SLOT_INTERFACE_START( specpls3_expansion_devices ) -SLOT_INTERFACE_END +void specpls3_expansion_devices(device_slot_interface &device) +{ +} diff --git a/src/devices/bus/spectrum/exp.h b/src/devices/bus/spectrum/exp.h index 1110a3e7021..80c6859fdda 100644 --- a/src/devices/bus/spectrum/exp.h +++ b/src/devices/bus/spectrum/exp.h @@ -137,9 +137,9 @@ protected: // device type definition DECLARE_DEVICE_TYPE(SPECTRUM_EXPANSION_SLOT, spectrum_expansion_slot_device) -SLOT_INTERFACE_EXTERN( spectrum_expansion_devices ); -SLOT_INTERFACE_EXTERN( spec128_expansion_devices ); -SLOT_INTERFACE_EXTERN( specpls3_expansion_devices ); +void spectrum_expansion_devices(device_slot_interface &device); +void spec128_expansion_devices(device_slot_interface &device); +void specpls3_expansion_devices(device_slot_interface &device); #endif // MAME_BUS_SPECTRUM_EXP_H diff --git a/src/devices/bus/ss50/interface.cpp b/src/devices/bus/ss50/interface.cpp index 3d51f76ba53..2beb4e85770 100644 --- a/src/devices/bus/ss50/interface.cpp +++ b/src/devices/bus/ss50/interface.cpp @@ -213,10 +213,11 @@ ss50_card_interface::ss50_card_interface(const machine_config &mconfig, device_t { } -SLOT_INTERFACE_START(ss50_default_2rs_devices) - SLOT_INTERFACE("mpc", SS50_MPC) - //SLOT_INTERFACE("mpl", SS50_MPL) - //SLOT_INTERFACE("mpn", SS50_MPN) - SLOT_INTERFACE("mps", SS50_MPS) - //SLOT_INTERFACE("mpt", SS50_MPT) -SLOT_INTERFACE_END +void ss50_default_2rs_devices(device_slot_interface &device) +{ + device.option_add("mpc", SS50_MPC); + //device.option_add("mpl", SS50_MPL); + //device.option_add("mpn", SS50_MPN); + device.option_add("mps", SS50_MPS); + //device.option_add("mpt", SS50_MPT); +} diff --git a/src/devices/bus/ss50/interface.h b/src/devices/bus/ss50/interface.h index b6917ba5f7b..5b79e00894c 100644 --- a/src/devices/bus/ss50/interface.h +++ b/src/devices/bus/ss50/interface.h @@ -104,7 +104,7 @@ private: // device type definition DECLARE_DEVICE_TYPE(SS50_INTERFACE, ss50_interface_port_device) -SLOT_INTERFACE_EXTERN(ss50_default_2rs_devices); -//SLOT_INTERFACE_EXTERN(ss50_default_4rs_devices); +void ss50_default_2rs_devices(device_slot_interface &device); +//void ss50_default_4rs_devices(device_slot_interface &device); #endif diff --git a/src/devices/bus/ss50/mpc.cpp b/src/devices/bus/ss50/mpc.cpp index e78697be390..146556fc853 100644 --- a/src/devices/bus/ss50/mpc.cpp +++ b/src/devices/bus/ss50/mpc.cpp @@ -113,7 +113,7 @@ MACHINE_CONFIG_START(ss50_mpc_device::device_add_mconfig) MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "terminal") MCFG_RS232_RXD_HANDLER(WRITELINE(ss50_mpc_device, serial_input_w)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) MCFG_INPUT_MERGER_ALL_HIGH("outgate") MCFG_INPUT_MERGER_OUTPUT_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_txd)) diff --git a/src/devices/bus/ss50/mps.cpp b/src/devices/bus/ss50/mps.cpp index 57ef58e10f5..1650ddc89c9 100644 --- a/src/devices/bus/ss50/mps.cpp +++ b/src/devices/bus/ss50/mps.cpp @@ -104,7 +104,7 @@ MACHINE_CONFIG_START(ss50_mps_device::device_add_mconfig) MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "terminal") MCFG_RS232_RXD_HANDLER(DEVWRITELINE("acia", acia6850_device, write_rxd)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) MACHINE_CONFIG_END diff --git a/src/devices/bus/sunkbd/sunkbd.cpp b/src/devices/bus/sunkbd/sunkbd.cpp index 63f7509ef61..2ac0eb65b4c 100644 --- a/src/devices/bus/sunkbd/sunkbd.cpp +++ b/src/devices/bus/sunkbd/sunkbd.cpp @@ -91,11 +91,12 @@ device_sun_keyboard_port_interface::~device_sun_keyboard_port_interface() #include "hlekbd.h" -SLOT_INTERFACE_START( default_sun_keyboard_devices ) - SLOT_INTERFACE("type3hle", SUN_TYPE3_HLE_KEYBOARD) - SLOT_INTERFACE("type4hle", SUN_TYPE4_HLE_KEYBOARD) - SLOT_INTERFACE("type5hle", SUN_TYPE5_HLE_KEYBOARD) - SLOT_INTERFACE("type5gbhle", SUN_TYPE5_GB_HLE_KEYBOARD) - SLOT_INTERFACE("type5sehle", SUN_TYPE5_SE_HLE_KEYBOARD) - SLOT_INTERFACE("type5jphle", SUN_TYPE5_JP_HLE_KEYBOARD) -SLOT_INTERFACE_END +void default_sun_keyboard_devices(device_slot_interface &device) +{ + device.option_add("type3hle", SUN_TYPE3_HLE_KEYBOARD); + device.option_add("type4hle", SUN_TYPE4_HLE_KEYBOARD); + device.option_add("type5hle", SUN_TYPE5_HLE_KEYBOARD); + device.option_add("type5gbhle", SUN_TYPE5_GB_HLE_KEYBOARD); + device.option_add("type5sehle", SUN_TYPE5_SE_HLE_KEYBOARD); + device.option_add("type5jphle", SUN_TYPE5_JP_HLE_KEYBOARD); +} diff --git a/src/devices/bus/sunkbd/sunkbd.h b/src/devices/bus/sunkbd/sunkbd.h index 9693e95cd4e..f0a0daeeb08 100644 --- a/src/devices/bus/sunkbd/sunkbd.h +++ b/src/devices/bus/sunkbd/sunkbd.h @@ -76,6 +76,6 @@ protected: DECLARE_DEVICE_TYPE(SUNKBD_PORT, sun_keyboard_port_device) -SLOT_INTERFACE_EXTERN( default_sun_keyboard_devices ); +void default_sun_keyboard_devices(device_slot_interface &device); #endif // MAME_DEVICES_SUNKBD_SUNKBD_H diff --git a/src/devices/bus/svi3x8/expander/modules.cpp b/src/devices/bus/svi3x8/expander/modules.cpp index 1fde553ae63..e701353833e 100644 --- a/src/devices/bus/svi3x8/expander/modules.cpp +++ b/src/devices/bus/svi3x8/expander/modules.cpp @@ -13,8 +13,9 @@ #include "sv602.h" #include "sv603.h" -SLOT_INTERFACE_START( svi_expander_modules ) - SLOT_INTERFACE("sv601", SV601) - SLOT_INTERFACE("sv602", SV602) - SLOT_INTERFACE("sv603", SV603) -SLOT_INTERFACE_END +void svi_expander_modules(device_slot_interface &device) +{ + device.option_add("sv601", SV601); + device.option_add("sv602", SV602); + device.option_add("sv603", SV603); +} diff --git a/src/devices/bus/svi3x8/expander/modules.h b/src/devices/bus/svi3x8/expander/modules.h index 2534b7713f1..1c1b94d01f1 100644 --- a/src/devices/bus/svi3x8/expander/modules.h +++ b/src/devices/bus/svi3x8/expander/modules.h @@ -11,6 +11,6 @@ #pragma once -SLOT_INTERFACE_EXTERN( svi_expander_modules ); +void svi_expander_modules(device_slot_interface &device); #endif // MAME_BUS_SVI3X8_EXPANDER_MODULES_H diff --git a/src/devices/bus/svi3x8/slot/cards.cpp b/src/devices/bus/svi3x8/slot/cards.cpp index 5d0192f91ea..f445162b83b 100644 --- a/src/devices/bus/svi3x8/slot/cards.cpp +++ b/src/devices/bus/svi3x8/slot/cards.cpp @@ -17,21 +17,23 @@ #include "sv807.h" -SLOT_INTERFACE_START( svi_slot_cards ) - SLOT_INTERFACE("sv801", SV801) - SLOT_INTERFACE("sv802", SV802) - SLOT_INTERFACE("sv803", SV803) - SLOT_INTERFACE("sv805", SV805) - SLOT_INTERFACE("sv806", SV806) - SLOT_INTERFACE("sv807", SV807) -SLOT_INTERFACE_END +void svi_slot_cards(device_slot_interface &device) +{ + device.option_add("sv801", SV801); + device.option_add("sv802", SV802); + device.option_add("sv803", SV803); + device.option_add("sv805", SV805); + device.option_add("sv806", SV806); + device.option_add("sv807", SV807); +} // The single slot expander doesn't support the disk controller, since // it requires its own power supply to power the disk drives -SLOT_INTERFACE_START( sv602_slot_cards ) - SLOT_INTERFACE("sv802", SV802) - SLOT_INTERFACE("sv803", SV803) - SLOT_INTERFACE("sv805", SV805) - SLOT_INTERFACE("sv806", SV806) - SLOT_INTERFACE("sv807", SV807) -SLOT_INTERFACE_END +void sv602_slot_cards(device_slot_interface &device) +{ + device.option_add("sv802", SV802); + device.option_add("sv803", SV803); + device.option_add("sv805", SV805); + device.option_add("sv806", SV806); + device.option_add("sv807", SV807); +} diff --git a/src/devices/bus/svi3x8/slot/cards.h b/src/devices/bus/svi3x8/slot/cards.h index 6bca329078b..a6bbb382804 100644 --- a/src/devices/bus/svi3x8/slot/cards.h +++ b/src/devices/bus/svi3x8/slot/cards.h @@ -11,7 +11,7 @@ #pragma once -SLOT_INTERFACE_EXTERN( svi_slot_cards ); -SLOT_INTERFACE_EXTERN( sv602_slot_cards ); +void svi_slot_cards(device_slot_interface &device); +void sv602_slot_cards(device_slot_interface &device); #endif // MAME_BUS_SVI3X8_SLOT_CARDS_H diff --git a/src/devices/bus/svi3x8/slot/sv801.cpp b/src/devices/bus/svi3x8/slot/sv801.cpp index c7137d3d8d6..c47bdaf370f 100644 --- a/src/devices/bus/svi3x8/slot/sv801.cpp +++ b/src/devices/bus/svi3x8/slot/sv801.cpp @@ -22,9 +22,10 @@ FLOPPY_FORMATS_MEMBER( sv801_device::floppy_formats ) FLOPPY_SVI_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( svi_floppies ) - SLOT_INTERFACE("dd", FLOPPY_525_DD) -SLOT_INTERFACE_END +static void svi_floppies(device_slot_interface &device) +{ + device.option_add("dd", FLOPPY_525_DD); +} //------------------------------------------------- // device_add_mconfig - add device configuration diff --git a/src/devices/bus/ti8x/ti8x.cpp b/src/devices/bus/ti8x/ti8x.cpp index e998ded593c..1490c76755b 100644 --- a/src/devices/bus/ti8x/ti8x.cpp +++ b/src/devices/bus/ti8x/ti8x.cpp @@ -612,10 +612,11 @@ void device_ti8x_link_port_byte_interface::bit_received(bool data) #include "teeconn.h" #include "tispeaker.h" -SLOT_INTERFACE_START(default_ti8x_link_devices) - SLOT_INTERFACE("bitsock", TI8X_BIT_SOCKET) - SLOT_INTERFACE("glinkhle", TI8X_GRAPH_LINK_HLE) - SLOT_INTERFACE("tee", TI8X_TEE_CONNECTOR) - SLOT_INTERFACE("monospkr", TI8X_SPEAKER_MONO) - SLOT_INTERFACE("stereospkr", TI8X_SPEAKER_STEREO) -SLOT_INTERFACE_END +void default_ti8x_link_devices(device_slot_interface &device) +{ + device.option_add("bitsock", TI8X_BIT_SOCKET); + device.option_add("glinkhle", TI8X_GRAPH_LINK_HLE); + device.option_add("tee", TI8X_TEE_CONNECTOR); + device.option_add("monospkr", TI8X_SPEAKER_MONO); + device.option_add("stereospkr", TI8X_SPEAKER_STEREO); +} diff --git a/src/devices/bus/ti8x/ti8x.h b/src/devices/bus/ti8x/ti8x.h index 91b86806885..8b90a99b843 100644 --- a/src/devices/bus/ti8x/ti8x.h +++ b/src/devices/bus/ti8x/ti8x.h @@ -200,6 +200,6 @@ private: }; -SLOT_INTERFACE_EXTERN( default_ti8x_link_devices ); +void default_ti8x_link_devices(device_slot_interface &device); #endif // MAME_DEVICES_BUS_TI8X_TI8X_H diff --git a/src/devices/bus/ti99/colorbus/colorbus.cpp b/src/devices/bus/ti99/colorbus/colorbus.cpp index 993371f5fcd..097f4c49924 100644 --- a/src/devices/bus/ti99/colorbus/colorbus.cpp +++ b/src/devices/bus/ti99/colorbus/colorbus.cpp @@ -64,6 +64,7 @@ void device_ti99_colorbus_interface::interface_config_complete() } } } // end namespace bus::ti99::colorbus -SLOT_INTERFACE_START( ti99_colorbus_port ) - SLOT_INTERFACE("busmouse", TI99_BUSMOUSE) -SLOT_INTERFACE_END +void ti99_colorbus_port(device_slot_interface &device) +{ + device.option_add("busmouse", TI99_BUSMOUSE); +} diff --git a/src/devices/bus/ti99/colorbus/colorbus.h b/src/devices/bus/ti99/colorbus/colorbus.h index 7d7dea7620c..05f69aea0c5 100644 --- a/src/devices/bus/ti99/colorbus/colorbus.h +++ b/src/devices/bus/ti99/colorbus/colorbus.h @@ -59,7 +59,7 @@ private: } } } // end namespace bus::ti99::colorbus -SLOT_INTERFACE_EXTERN(ti99_colorbus_port); +void ti99_colorbus_port(device_slot_interface &device); #define MCFG_COLORBUS_MOUSE_ADD( _tag ) \ MCFG_DEVICE_ADD(_tag, TI99_COLORBUS, 0) \ diff --git a/src/devices/bus/ti99/gromport/gromport.cpp b/src/devices/bus/ti99/gromport/gromport.cpp index 0a18076ebf8..f1b4c27f788 100644 --- a/src/devices/bus/ti99/gromport/gromport.cpp +++ b/src/devices/bus/ti99/gromport/gromport.cpp @@ -285,13 +285,15 @@ void cartridge_connector_device::device_config_complete() } } } // end namespace bus::ti99::gromport -SLOT_INTERFACE_START( gromport4 ) - SLOT_INTERFACE("single", TI99_GROMPORT_SINGLE) - SLOT_INTERFACE("multi", TI99_GROMPORT_MULTI) - SLOT_INTERFACE("gkracker", TI99_GROMPORT_GK) -SLOT_INTERFACE_END +void gromport4(device_slot_interface &device) +{ + device.option_add("single", TI99_GROMPORT_SINGLE); + device.option_add("multi", TI99_GROMPORT_MULTI); + device.option_add("gkracker", TI99_GROMPORT_GK); +} -SLOT_INTERFACE_START( gromport8 ) - SLOT_INTERFACE("single", TI99_GROMPORT_SINGLE) - SLOT_INTERFACE("multi", TI99_GROMPORT_MULTI) -SLOT_INTERFACE_END +void gromport8(device_slot_interface &device) +{ + device.option_add("single", TI99_GROMPORT_SINGLE); + device.option_add("multi", TI99_GROMPORT_MULTI); +} diff --git a/src/devices/bus/ti99/gromport/gromport.h b/src/devices/bus/ti99/gromport/gromport.h index 1206b231ce8..09b4a72bcde 100644 --- a/src/devices/bus/ti99/gromport/gromport.h +++ b/src/devices/bus/ti99/gromport/gromport.h @@ -92,8 +92,8 @@ protected: } } } // end namespace bus::ti99::gromport -SLOT_INTERFACE_EXTERN(gromport4); -SLOT_INTERFACE_EXTERN(gromport8); +void gromport4(device_slot_interface &device); +void gromport8(device_slot_interface &device); #define MCFG_GROMPORT4_ADD( _tag ) \ MCFG_DEVICE_ADD(_tag, TI99_GROMPORT, 0) \ diff --git a/src/devices/bus/ti99/internal/ioport.cpp b/src/devices/bus/ti99/internal/ioport.cpp index a7964d30406..1c9714c6682 100644 --- a/src/devices/bus/ti99/internal/ioport.cpp +++ b/src/devices/bus/ti99/internal/ioport.cpp @@ -167,11 +167,13 @@ WRITE_LINE_MEMBER(ioport_attached_device::set_ready) } } } // end namespace bus::ti99::internal -SLOT_INTERFACE_START( ti99_io_port ) - SLOT_INTERFACE("peb", TI99_PERIBOX) -SLOT_INTERFACE_END +void ti99_io_port(device_slot_interface &device) +{ + device.option_add("peb", TI99_PERIBOX); +} -SLOT_INTERFACE_START( ti99_io_port_ev ) - SLOT_INTERFACE("peb", TI99_PERIBOX_EV) -SLOT_INTERFACE_END +void ti99_io_port_ev(device_slot_interface &device) +{ + device.option_add("peb", TI99_PERIBOX_EV); +} diff --git a/src/devices/bus/ti99/internal/ioport.h b/src/devices/bus/ti99/internal/ioport.h index f63518705d4..4c21a11651e 100644 --- a/src/devices/bus/ti99/internal/ioport.h +++ b/src/devices/bus/ti99/internal/ioport.h @@ -87,8 +87,8 @@ private: DECLARE_DEVICE_TYPE_NS(TI99_IOPORT, bus::ti99::internal, ioport_device) -SLOT_INTERFACE_EXTERN(ti99_io_port); -SLOT_INTERFACE_EXTERN(ti99_io_port_ev); +void ti99_io_port(device_slot_interface &device); +void ti99_io_port_ev(device_slot_interface &device); #define MCFG_IOPORT_ADD( _tag ) \ MCFG_DEVICE_ADD(_tag, TI99_IOPORT, 0) \ diff --git a/src/devices/bus/ti99/joyport/joyport.cpp b/src/devices/bus/ti99/joyport/joyport.cpp index 806d04e6df1..76173bf1e10 100644 --- a/src/devices/bus/ti99/joyport/joyport.cpp +++ b/src/devices/bus/ti99/joyport/joyport.cpp @@ -104,18 +104,21 @@ void device_ti99_joyport_interface::interface_config_complete() } } } // end namespace bus::ti99::joyport -SLOT_INTERFACE_START( ti99_joystick_port ) - SLOT_INTERFACE("twinjoy", TI99_JOYSTICK) - SLOT_INTERFACE("mecmouse", TI99_MECMOUSE) -SLOT_INTERFACE_END +void ti99_joystick_port(device_slot_interface &device) +{ + device.option_add("twinjoy", TI99_JOYSTICK); + device.option_add("mecmouse", TI99_MECMOUSE); +} -SLOT_INTERFACE_START( ti99_joystick_port_gen ) - SLOT_INTERFACE("twinjoy", TI99_JOYSTICK) -SLOT_INTERFACE_END +void ti99_joystick_port_gen(device_slot_interface &device) +{ + device.option_add("twinjoy", TI99_JOYSTICK); +} -SLOT_INTERFACE_START( ti99_joystick_port_994 ) - SLOT_INTERFACE("twinjoy", TI99_JOYSTICK) - SLOT_INTERFACE("mecmouse", TI99_MECMOUSE) - SLOT_INTERFACE("handset", TI99_HANDSET) -SLOT_INTERFACE_END +void ti99_joystick_port_994(device_slot_interface &device) +{ + device.option_add("twinjoy", TI99_JOYSTICK); + device.option_add("mecmouse", TI99_MECMOUSE); + device.option_add("handset", TI99_HANDSET); +} diff --git a/src/devices/bus/ti99/joyport/joyport.h b/src/devices/bus/ti99/joyport/joyport.h index bf3f5bcf1f3..c455058c387 100644 --- a/src/devices/bus/ti99/joyport/joyport.h +++ b/src/devices/bus/ti99/joyport/joyport.h @@ -68,9 +68,9 @@ private: } } } // end namespace bus::ti99::joyport -SLOT_INTERFACE_EXTERN(ti99_joystick_port); -SLOT_INTERFACE_EXTERN(ti99_joystick_port_994); -SLOT_INTERFACE_EXTERN(ti99_joystick_port_gen); +void ti99_joystick_port(device_slot_interface &device); +void ti99_joystick_port_994(device_slot_interface &device); +void ti99_joystick_port_gen(device_slot_interface &device); DECLARE_DEVICE_TYPE_NS(TI99_JOYPORT, bus::ti99::joyport, joyport_device) diff --git a/src/devices/bus/ti99/peb/bwg.cpp b/src/devices/bus/ti99/peb/bwg.cpp index 6e51624d92c..36cd378860f 100644 --- a/src/devices/bus/ti99/peb/bwg.cpp +++ b/src/devices/bus/ti99/peb/bwg.cpp @@ -682,11 +682,12 @@ FLOPPY_FORMATS_MEMBER(snug_bwg_device::floppy_formats) FLOPPY_TI99_TDF_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( bwg_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) // 40 tracks - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) // 80 tracks - SLOT_INTERFACE( "35dd", FLOPPY_35_DD ) // 80 tracks -SLOT_INTERFACE_END +static void bwg_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); // 40 tracks + device.option_add("525qd", FLOPPY_525_QD); // 80 tracks + device.option_add("35dd", FLOPPY_35_DD); // 80 tracks +} ROM_START( bwg_fdc ) ROM_REGION(0x8000, TI99_DSRROM, 0) diff --git a/src/devices/bus/ti99/peb/hfdc.cpp b/src/devices/bus/ti99/peb/hfdc.cpp index 4ff37fe8da3..0721f0d6a3b 100644 --- a/src/devices/bus/ti99/peb/hfdc.cpp +++ b/src/devices/bus/ti99/peb/hfdc.cpp @@ -1051,19 +1051,21 @@ FLOPPY_FORMATS_MEMBER(myarc_hfdc_device::floppy_formats) FLOPPY_TI99_TDF_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( hfdc_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) // 40 tracks - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) // 80 tracks - SLOT_INTERFACE( "35dd", FLOPPY_35_DD ) // 80 tracks - SLOT_INTERFACE( "35hd", FLOPPY_35_HD ) // 80 tracks 1.4 MiB -SLOT_INTERFACE_END +static void hfdc_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); // 40 tracks + device.option_add("525qd", FLOPPY_525_QD); // 80 tracks + device.option_add("35dd", FLOPPY_35_DD); // 80 tracks + device.option_add("35hd", FLOPPY_35_HD); // 80 tracks 1.4 MiB +} -static SLOT_INTERFACE_START( hfdc_harddisks ) - SLOT_INTERFACE( "generic", MFMHD_GENERIC ) // Generic hard disk (self-adapting to image) - SLOT_INTERFACE( "st213", MFMHD_ST213 ) // Seagate ST-213 (10 MB) - SLOT_INTERFACE( "st225", MFMHD_ST225 ) // Seagate ST-225 (20 MB) - SLOT_INTERFACE( "st251", MFMHD_ST251 ) // Seagate ST-251 (40 MB) -SLOT_INTERFACE_END +static void hfdc_harddisks(device_slot_interface &device) +{ + device.option_add("generic", MFMHD_GENERIC); // Generic hard disk (self-adapting to image) + device.option_add("st213", MFMHD_ST213); // Seagate ST-213 (10 MB) + device.option_add("st225", MFMHD_ST225); // Seagate ST-225 (20 MB) + device.option_add("st251", MFMHD_ST251); // Seagate ST-251 (40 MB) +} ROM_START( ti99_hfdc ) ROM_REGION(0x4000, TI99_DSRROM, 0) diff --git a/src/devices/bus/ti99/peb/peribox.cpp b/src/devices/bus/ti99/peb/peribox.cpp index be2d8e0e0d2..1ada6e9a75f 100644 --- a/src/devices/bus/ti99/peb/peribox.cpp +++ b/src/devices/bus/ti99/peb/peribox.cpp @@ -486,21 +486,22 @@ void peribox_device::device_config_complete() m_ready_flag = 0; } -SLOT_INTERFACE_START( peribox_slot ) - SLOT_INTERFACE("32kmem", TI99_32KMEM) - SLOT_INTERFACE("myarcmem", TI99_MYARCMEM) - SLOT_INTERFACE("samsmem", TI99_SAMSMEM) - SLOT_INTERFACE("pcode", TI99_P_CODE) - SLOT_INTERFACE("hsgpl", TI99_HSGPL) - SLOT_INTERFACE("tirs232", TI99_RS232) - SLOT_INTERFACE("speech", TI99_SPEECH) - SLOT_INTERFACE("horizon", TI99_HORIZON) - SLOT_INTERFACE("ide", TI99_IDE) - SLOT_INTERFACE("usbsm", TI99_USBSM) - SLOT_INTERFACE("bwg", TI99_BWG) - SLOT_INTERFACE("hfdc", TI99_HFDC) - SLOT_INTERFACE("tifdc", TI99_FDC) -SLOT_INTERFACE_END +void peribox_slot(device_slot_interface &device) +{ + device.option_add("32kmem", TI99_32KMEM); + device.option_add("myarcmem", TI99_MYARCMEM); + device.option_add("samsmem", TI99_SAMSMEM); + device.option_add("pcode", TI99_P_CODE); + device.option_add("hsgpl", TI99_HSGPL); + device.option_add("tirs232", TI99_RS232); + device.option_add("speech", TI99_SPEECH); + device.option_add("horizon", TI99_HORIZON); + device.option_add("ide", TI99_IDE); + device.option_add("usbsm", TI99_USBSM); + device.option_add("bwg", TI99_BWG); + device.option_add("hfdc", TI99_HFDC); + device.option_add("tifdc", TI99_FDC); +} MACHINE_CONFIG_START(peribox_device::device_add_mconfig) MCFG_PERIBOX_SLOT_ADD( PEBSLOT2, peribox_slot ) @@ -522,22 +523,23 @@ peribox_ev_device::peribox_ev_device(const machine_config &mconfig, const char * m_address_prefix = 0x70000; } -SLOT_INTERFACE_START( peribox_slotv ) - SLOT_INTERFACE("evpc", TI99_EVPC ) - SLOT_INTERFACE("32kmem", TI99_32KMEM) - SLOT_INTERFACE("myarcmem", TI99_MYARCMEM) - SLOT_INTERFACE("samsmem", TI99_SAMSMEM) - SLOT_INTERFACE("pcode", TI99_P_CODE) - SLOT_INTERFACE("hsgpl", TI99_HSGPL) - SLOT_INTERFACE("tirs232", TI99_RS232) - SLOT_INTERFACE("speech", TI99_SPEECH) - SLOT_INTERFACE("horizon", TI99_HORIZON) - SLOT_INTERFACE("ide", TI99_IDE) - SLOT_INTERFACE("usbsm", TI99_USBSM) - SLOT_INTERFACE("bwg", TI99_BWG) - SLOT_INTERFACE("hfdc", TI99_HFDC) - SLOT_INTERFACE("tifdc", TI99_FDC) -SLOT_INTERFACE_END +void peribox_slotv(device_slot_interface &device) +{ + device.option_add("evpc", TI99_EVPC); + device.option_add("32kmem", TI99_32KMEM); + device.option_add("myarcmem", TI99_MYARCMEM); + device.option_add("samsmem", TI99_SAMSMEM); + device.option_add("pcode", TI99_P_CODE); + device.option_add("hsgpl", TI99_HSGPL); + device.option_add("tirs232", TI99_RS232); + device.option_add("speech", TI99_SPEECH); + device.option_add("horizon", TI99_HORIZON); + device.option_add("ide", TI99_IDE); + device.option_add("usbsm", TI99_USBSM); + device.option_add("bwg", TI99_BWG); + device.option_add("hfdc", TI99_HFDC); + device.option_add("tifdc", TI99_FDC); +} MACHINE_CONFIG_START(peribox_ev_device::device_add_mconfig) MCFG_PERIBOX_SLOT_ADD_DEF( PEBSLOT2, peribox_slotv, "evpc" ) @@ -565,16 +567,17 @@ peribox_gen_device::peribox_gen_device(const machine_config &mconfig, const char // The BwG controller will not run with the Geneve due to its wait state // logic (see bwg.c) -SLOT_INTERFACE_START( peribox_slotg ) - SLOT_INTERFACE("memex", TI99_MEMEX) - SLOT_INTERFACE("tirs232", TI99_RS232) - SLOT_INTERFACE("speech", TI99_SPEECH) - SLOT_INTERFACE("horizon", TI99_HORIZON) - SLOT_INTERFACE("ide", TI99_IDE) - SLOT_INTERFACE("usbsm", TI99_USBSM) - SLOT_INTERFACE("hfdc", TI99_HFDC) - SLOT_INTERFACE("tifdc", TI99_FDC) -SLOT_INTERFACE_END +void peribox_slotg(device_slot_interface &device) +{ + device.option_add("memex", TI99_MEMEX); + device.option_add("tirs232", TI99_RS232); + device.option_add("speech", TI99_SPEECH); + device.option_add("horizon", TI99_HORIZON); + device.option_add("ide", TI99_IDE); + device.option_add("usbsm", TI99_USBSM); + device.option_add("hfdc", TI99_HFDC); + device.option_add("tifdc", TI99_FDC); +} MACHINE_CONFIG_START(peribox_gen_device::device_add_mconfig) MCFG_PERIBOX_SLOT_ADD( PEBSLOT2, peribox_slotg ) @@ -596,21 +599,22 @@ peribox_sg_device::peribox_sg_device(const machine_config &mconfig, const char * m_address_prefix = 0x70000; } -SLOT_INTERFACE_START( peribox_slotp ) - SLOT_INTERFACE("evpc", TI99_EVPC ) - SLOT_INTERFACE("myarcmem", TI99_MYARCMEM) - SLOT_INTERFACE("samsmem", TI99_SAMSMEM) - SLOT_INTERFACE("pcode", TI99_P_CODE) - SLOT_INTERFACE("hsgpl", TI99_HSGPL) - SLOT_INTERFACE("tirs232", TI99_RS232) - SLOT_INTERFACE("speech", TI99_SPEECH) - SLOT_INTERFACE("horizon", TI99_HORIZON) - SLOT_INTERFACE("ide", TI99_IDE) - SLOT_INTERFACE("usbsm", TI99_USBSM) - SLOT_INTERFACE("bwg", TI99_BWG) - SLOT_INTERFACE("hfdc", TI99_HFDC) - SLOT_INTERFACE("tifdc", TI99_FDC) -SLOT_INTERFACE_END +void peribox_slotp(device_slot_interface &device) +{ + device.option_add("evpc", TI99_EVPC); + device.option_add("myarcmem", TI99_MYARCMEM); + device.option_add("samsmem", TI99_SAMSMEM); + device.option_add("pcode", TI99_P_CODE); + device.option_add("hsgpl", TI99_HSGPL); + device.option_add("tirs232", TI99_RS232); + device.option_add("speech", TI99_SPEECH); + device.option_add("horizon", TI99_HORIZON); + device.option_add("ide", TI99_IDE); + device.option_add("usbsm", TI99_USBSM); + device.option_add("bwg", TI99_BWG); + device.option_add("hfdc", TI99_HFDC); + device.option_add("tifdc", TI99_FDC); +} MACHINE_CONFIG_START(peribox_sg_device::device_add_mconfig) MCFG_PERIBOX_SLOT_ADD_DEF( PEBSLOT2, peribox_slotp, "evpc" ) diff --git a/src/devices/bus/ti99/peb/ti_fdc.cpp b/src/devices/bus/ti99/peb/ti_fdc.cpp index b1bad0dcc9c..3bc4e297c28 100644 --- a/src/devices/bus/ti99/peb/ti_fdc.cpp +++ b/src/devices/bus/ti99/peb/ti_fdc.cpp @@ -439,9 +439,10 @@ FLOPPY_FORMATS_MEMBER(ti_fdc_device::floppy_formats) FLOPPY_TI99_TDF_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( tifdc_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) -SLOT_INTERFACE_END +static void tifdc_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); +} ROM_START( ti_fdc ) ROM_REGION(0x2000, TI99_DSRROM, 0) diff --git a/src/devices/bus/tiki100/exp.cpp b/src/devices/bus/tiki100/exp.cpp index d0bc91bc8bc..95aff70d106 100644 --- a/src/devices/bus/tiki100/exp.cpp +++ b/src/devices/bus/tiki100/exp.cpp @@ -204,7 +204,8 @@ device_tiki100bus_card_interface::device_tiki100bus_card_interface(const machine #include "8088.h" #include "hdc.h" -SLOT_INTERFACE_START( tiki100_cards ) - SLOT_INTERFACE("8088", TIKI100_8088) - SLOT_INTERFACE("hdc", TIKI100_HDC) -SLOT_INTERFACE_END +void tiki100_cards(device_slot_interface &device) +{ + device.option_add("8088", TIKI100_8088); + device.option_add("hdc", TIKI100_HDC); +} diff --git a/src/devices/bus/tiki100/exp.h b/src/devices/bus/tiki100/exp.h index 78b2dceaa9f..f849a8c5fb5 100644 --- a/src/devices/bus/tiki100/exp.h +++ b/src/devices/bus/tiki100/exp.h @@ -186,6 +186,6 @@ DECLARE_DEVICE_TYPE(TIKI100_BUS, tiki100_bus_device) -SLOT_INTERFACE_EXTERN( tiki100_cards ); +void tiki100_cards(device_slot_interface &device); #endif // MAME_BUS_TIKI100_EXP_H diff --git a/src/devices/bus/tmc600/euro.cpp b/src/devices/bus/tmc600/euro.cpp index 08324160bde..aae96b0591a 100644 --- a/src/devices/bus/tmc600/euro.cpp +++ b/src/devices/bus/tmc600/euro.cpp @@ -59,19 +59,20 @@ void tmc600_euro_bus_slot_t::device_start() // SLOT_INTERFACE( tmc600_euro_bus_cards ) //------------------------------------------------- -SLOT_INTERFACE_START( tmc600_euro_bus_cards ) - //SLOT_INTERFACE("tmc710", TMC710) // 5-way expander - //SLOT_INTERFACE("tmc720", TMC720) // 5-way expander (new model) - //SLOT_INTERFACE("tmce200", TMCE200) // 8 KB RAM (CMOS) - //SLOT_INTERFACE("tmce220", TMCE220) // 16/32 KB RAM/EPROM - //SLOT_INTERFACE("tmce225", TMCE225) // 16 KB RAM (CMOS) - //SLOT_INTERFACE("tmce250", TMCE250) // 32-way input/output - //SLOT_INTERFACE("tmce260", TMCE260) // RS-232 - //SLOT_INTERFACE("tmce270", TMCE270) // generic ADC card (RCA CA3162 or CA3300, Teledyne 8700/01/02/03/04/05) - //SLOT_INTERFACE("tmce2701", TMCE2701) // TMCE-270 with CA3162 - //SLOT_INTERFACE("tmce2702", TMCE2702) // TMCE-270 with CA3300 - //SLOT_INTERFACE("tmce280", TMCE280) // floppy disc controller for 3x 5.25" and 4x 8" - //SLOT_INTERFACE("tmce285", TMCE285) // monochrome CRT controller (min. 80 cps) - //SLOT_INTERFACE("tmce300", TMCE300) // slave computer with parallel I/O - //SLOT_INTERFACE("tmce305", TMCE304) // slave computer with serial I/O -SLOT_INTERFACE_END +void tmc600_euro_bus_cards(device_slot_interface &device) +{ + //device.option_add("tmc710", TMC710); // 5-way expander + //device.option_add("tmc720", TMC720); // 5-way expander (new model) + //device.option_add("tmce200", TMCE200); // 8 KB RAM (CMOS) + //device.option_add("tmce220", TMCE220); // 16/32 KB RAM/EPROM + //device.option_add("tmce225", TMCE225); // 16 KB RAM (CMOS) + //device.option_add("tmce250", TMCE250); // 32-way input/output + //device.option_add("tmce260", TMCE260); // RS-232 + //device.option_add("tmce270", TMCE270); // generic ADC card (RCA CA3162 or CA3300, Teledyne 8700/01/02/03/04/05) + //device.option_add("tmce2701", TMCE2701); // TMCE-270 with CA3162 + //device.option_add("tmce2702", TMCE2702); // TMCE-270 with CA3300 + //device.option_add("tmce280", TMCE280); // floppy disc controller for 3x 5.25" and 4x 8" + //device.option_add("tmce285", TMCE285); // monochrome CRT controller (min. 80 cps) + //device.option_add("tmce300", TMCE300); // slave computer with parallel I/O + //device.option_add("tmce305", TMCE304); // slave computer with serial I/O +} diff --git a/src/devices/bus/tmc600/euro.h b/src/devices/bus/tmc600/euro.h index 8e7f4c7cfe8..7fe8c3c0ff6 100644 --- a/src/devices/bus/tmc600/euro.h +++ b/src/devices/bus/tmc600/euro.h @@ -111,7 +111,7 @@ protected: DECLARE_DEVICE_TYPE(TMC600_EURO_BUS_SLOT, tmc600_euro_bus_slot_t) -SLOT_INTERFACE_EXTERN( tmc600_euro_bus_cards ); +void tmc600_euro_bus_cards(device_slot_interface &device); typedef device_type_iterator tmc600_euro_bus_slot_t_iterator; diff --git a/src/devices/bus/tvc/hbf.cpp b/src/devices/bus/tvc/hbf.cpp index 90dc378056b..de73cb1712a 100644 --- a/src/devices/bus/tvc/hbf.cpp +++ b/src/devices/bus/tvc/hbf.cpp @@ -18,9 +18,10 @@ FLOPPY_FORMATS_MEMBER( tvc_hbf_device::floppy_formats ) FLOPPY_TVC_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( tvc_hbf_floppies ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void tvc_hbf_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); +} ROM_START( tvc_hbf ) ROM_REGION(0x4000, "hbf", 0) diff --git a/src/devices/bus/vcs_ctrl/ctrl.cpp b/src/devices/bus/vcs_ctrl/ctrl.cpp index f25ef4f6545..c4f735aacb6 100644 --- a/src/devices/bus/vcs_ctrl/ctrl.cpp +++ b/src/devices/bus/vcs_ctrl/ctrl.cpp @@ -74,11 +74,12 @@ void vcs_control_port_device::device_start() #include "paddles.h" #include "wheel.h" -SLOT_INTERFACE_START( vcs_control_port_devices ) - SLOT_INTERFACE("joy", VCS_JOYSTICK) - SLOT_INTERFACE("pad", VCS_PADDLES) - SLOT_INTERFACE("lp", VCS_LIGHTPEN) - SLOT_INTERFACE("joybstr", VCS_JOYSTICK_BOOSTER) - SLOT_INTERFACE("wheel", VCS_WHEEL) - SLOT_INTERFACE("keypad", VCS_KEYPAD) -SLOT_INTERFACE_END +void vcs_control_port_devices(device_slot_interface &device) +{ + device.option_add("joy", VCS_JOYSTICK); + device.option_add("pad", VCS_PADDLES); + device.option_add("lp", VCS_LIGHTPEN); + device.option_add("joybstr", VCS_JOYSTICK_BOOSTER); + device.option_add("wheel", VCS_WHEEL); + device.option_add("keypad", VCS_KEYPAD); +} diff --git a/src/devices/bus/vcs_ctrl/ctrl.h b/src/devices/bus/vcs_ctrl/ctrl.h index 972dab7ec5e..4e098548329 100644 --- a/src/devices/bus/vcs_ctrl/ctrl.h +++ b/src/devices/bus/vcs_ctrl/ctrl.h @@ -114,6 +114,6 @@ private: // device type definition DECLARE_DEVICE_TYPE(VCS_CONTROL_PORT, vcs_control_port_device) -SLOT_INTERFACE_EXTERN( vcs_control_port_devices ); +void vcs_control_port_devices(device_slot_interface &device); #endif // MAME_BUS_CVS_CTRL_CTRL_H diff --git a/src/devices/bus/vic10/exp.cpp b/src/devices/bus/vic10/exp.cpp index 0cb8e6deffb..e3af1609567 100644 --- a/src/devices/bus/vic10/exp.cpp +++ b/src/devices/bus/vic10/exp.cpp @@ -233,8 +233,9 @@ WRITE_LINE_MEMBER( vic10_expansion_slot_device::p0_w ) { if (m_card != nullptr) #include "std.h" #include "multimax.h" -SLOT_INTERFACE_START( vic10_expansion_cards ) +void vic10_expansion_cards(device_slot_interface &device) +{ // the following need ROMs from the software list - SLOT_INTERFACE_INTERNAL("standard", VIC10_STD) - SLOT_INTERFACE_INTERNAL("multimax", VIC10_MULTIMAX) -SLOT_INTERFACE_END + device.option_add_internal("standard", VIC10_STD); + device.option_add_internal("multimax", VIC10_MULTIMAX); +} diff --git a/src/devices/bus/vic10/exp.h b/src/devices/bus/vic10/exp.h index dc63a62a936..05b07924b48 100644 --- a/src/devices/bus/vic10/exp.h +++ b/src/devices/bus/vic10/exp.h @@ -176,6 +176,6 @@ protected: DECLARE_DEVICE_TYPE(VIC10_EXPANSION_SLOT, vic10_expansion_slot_device) -SLOT_INTERFACE_EXTERN( vic10_expansion_cards ); +void vic10_expansion_cards(device_slot_interface &device); #endif // MAME_BUS_VIC10_EXP_H diff --git a/src/devices/bus/vic20/exp.cpp b/src/devices/bus/vic20/exp.cpp index 93f00290a27..7bd09ca74f8 100644 --- a/src/devices/bus/vic20/exp.cpp +++ b/src/devices/bus/vic20/exp.cpp @@ -218,18 +218,18 @@ void vic20_expansion_slot_device::cd_w(address_space &space, offs_t offset, uint #include "videopak.h" #include "speakeasy.h" -SLOT_INTERFACE_START( vic20_expansion_cards ) - SLOT_INTERFACE("exp", VIC1010) - SLOT_INTERFACE("3k", VIC1210) - SLOT_INTERFACE("8k", VIC1110) - SLOT_INTERFACE("16k", VIC1111) - SLOT_INTERFACE("fe3", VIC20_FE3) - SLOT_INTERFACE("speakez", VIC20_SPEAKEASY) - SLOT_INTERFACE("videopak", VIC20_VIDEO_PAK) +void vic20_expansion_cards(device_slot_interface &device) +{ + device.option_add("exp", VIC1010); + device.option_add("3k", VIC1210); + device.option_add("8k", VIC1110); + device.option_add("16k", VIC1111); + device.option_add("fe3", VIC20_FE3); + device.option_add("speakez", VIC20_SPEAKEASY); + device.option_add("videopak", VIC20_VIDEO_PAK); // the following need ROMs from the software list - SLOT_INTERFACE_INTERNAL("standard", VIC20_STD) - SLOT_INTERFACE_INTERNAL("ieee488", VIC1112) - MCFG_SLOT_OPTION_CLOCK("ieee488", DERIVED_CLOCK(1, 1)) - SLOT_INTERFACE_INTERNAL("megacart", VIC20_MEGACART) -SLOT_INTERFACE_END + device.option_add_internal("standard", VIC20_STD); + device.option_add_internal("ieee488", VIC1112).clock(DERIVED_CLOCK(1, 1)); + device.option_add_internal("megacart", VIC20_MEGACART); +} diff --git a/src/devices/bus/vic20/exp.h b/src/devices/bus/vic20/exp.h index 695db050936..fddc500e665 100644 --- a/src/devices/bus/vic20/exp.h +++ b/src/devices/bus/vic20/exp.h @@ -164,6 +164,6 @@ protected: DECLARE_DEVICE_TYPE(VIC20_EXPANSION_SLOT, vic20_expansion_slot_device) -SLOT_INTERFACE_EXTERN( vic20_expansion_cards ); +void vic20_expansion_cards(device_slot_interface &device); #endif // MAME_BUS_VIC20_EXP_H diff --git a/src/devices/bus/vic20/user.cpp b/src/devices/bus/vic20/user.cpp index cf8f1f3c817..998f45d80cc 100644 --- a/src/devices/bus/vic20/user.cpp +++ b/src/devices/bus/vic20/user.cpp @@ -17,7 +17,8 @@ #include "4cga.h" #include "vic1011.h" -SLOT_INTERFACE_START( vic20_user_port_cards ) - SLOT_INTERFACE("4cga", C64_4CGA) - SLOT_INTERFACE("rs232", VIC1011) -SLOT_INTERFACE_END +void vic20_user_port_cards(device_slot_interface &device) +{ + device.option_add("4cga", C64_4CGA); + device.option_add("rs232", VIC1011); +} diff --git a/src/devices/bus/vic20/user.h b/src/devices/bus/vic20/user.h index a53fec7124b..dced07a424b 100644 --- a/src/devices/bus/vic20/user.h +++ b/src/devices/bus/vic20/user.h @@ -28,6 +28,6 @@ #include "bus/pet/user.h" -SLOT_INTERFACE_EXTERN( vic20_user_port_cards ); +void vic20_user_port_cards(device_slot_interface &device); #endif // MAME_BUS_VIC20_USER_H diff --git a/src/devices/bus/vidbrain/exp.cpp b/src/devices/bus/vidbrain/exp.cpp index ebd4a541da0..c490c0605b2 100644 --- a/src/devices/bus/vidbrain/exp.cpp +++ b/src/devices/bus/vidbrain/exp.cpp @@ -188,8 +188,9 @@ void videobrain_expansion_slot_device::bo_w(address_space &space, offs_t offset, #include "money_minder.h" #include "timeshare.h" -SLOT_INTERFACE_START( vidbrain_expansion_cards ) - SLOT_INTERFACE_INTERNAL("standard", VB_STD) - SLOT_INTERFACE_INTERNAL("moneyminder", VB_MONEY_MINDER) - SLOT_INTERFACE_INTERNAL("timeshare", VB_TIMESHARE) -SLOT_INTERFACE_END +void vidbrain_expansion_cards(device_slot_interface &device) +{ + device.option_add_internal("standard", VB_STD); + device.option_add_internal("moneyminder", VB_MONEY_MINDER); + device.option_add_internal("timeshare", VB_TIMESHARE); +} diff --git a/src/devices/bus/vidbrain/exp.h b/src/devices/bus/vidbrain/exp.h index 60d1f90ec32..b7f3f5cad7a 100644 --- a/src/devices/bus/vidbrain/exp.h +++ b/src/devices/bus/vidbrain/exp.h @@ -159,6 +159,6 @@ protected: DECLARE_DEVICE_TYPE(VIDEOBRAIN_EXPANSION_SLOT, videobrain_expansion_slot_device) -SLOT_INTERFACE_EXTERN( vidbrain_expansion_cards ); +void vidbrain_expansion_cards(device_slot_interface &device); #endif // MAME_BUS_VIDBRAIN_EXP_H diff --git a/src/devices/bus/vip/byteio.cpp b/src/devices/bus/vip/byteio.cpp index c44c4825abb..7b908dad442 100644 --- a/src/devices/bus/vip/byteio.cpp +++ b/src/devices/bus/vip/byteio.cpp @@ -84,7 +84,8 @@ WRITE_LINE_MEMBER( vip_byteio_port_device::q_w ) { if (m_cart != nullptr) m_cart // SLOT_INTERFACE( vip_byteio_cards ) //------------------------------------------------- -SLOT_INTERFACE_START( vip_byteio_cards ) - //SLOT_INTERFACE("exp2", VP576_BYTEIO) - SLOT_INTERFACE("ascii", VP620) -SLOT_INTERFACE_END +void vip_byteio_cards(device_slot_interface &device) +{ + //device.option_add("exp2", VP576_BYTEIO); + device.option_add("ascii", VP620); +} diff --git a/src/devices/bus/vip/byteio.h b/src/devices/bus/vip/byteio.h index 08b435ac705..d2190214a2d 100644 --- a/src/devices/bus/vip/byteio.h +++ b/src/devices/bus/vip/byteio.h @@ -124,6 +124,6 @@ DECLARE_DEVICE_TYPE(VIP_BYTEIO_PORT, vip_byteio_port_device) // slot devices #include "vp620.h" -SLOT_INTERFACE_EXTERN( vip_byteio_cards ); +void vip_byteio_cards(device_slot_interface &device); #endif // MAME_BUS_VIP_BYTEIO_H diff --git a/src/devices/bus/vip/exp.cpp b/src/devices/bus/vip/exp.cpp index 5430dd482ed..3b9fce990ec 100644 --- a/src/devices/bus/vip/exp.cpp +++ b/src/devices/bus/vip/exp.cpp @@ -204,15 +204,16 @@ WRITE_LINE_MEMBER( vip_expansion_slot_device::run_w ) { if (m_card != nullptr) m #include "vp595.h" #include "vp700.h" -SLOT_INTERFACE_START( vip_expansion_cards ) - SLOT_INTERFACE("super", VP550) - //SLOT_INTERFACE("eprom", VP560) - //SLOT_INTERFACE("eprommer", VP565) - SLOT_INTERFACE("ram", VP570) - SLOT_INTERFACE("exp", VP575) - //SLOT_INTERFACE("exp2", VP576_EXP) - SLOT_INTERFACE("keypad", VP585) - SLOT_INTERFACE("color", VP590) - SLOT_INTERFACE("simple", VP595) - SLOT_INTERFACE("basic", VP700) -SLOT_INTERFACE_END +void vip_expansion_cards(device_slot_interface &device) +{ + device.option_add("super", VP550); + //device.option_add("eprom", VP560); + //device.option_add("eprommer", VP565); + device.option_add("ram", VP570); + device.option_add("exp", VP575); + //device.option_add("exp2", VP576_EXP); + device.option_add("keypad", VP585); + device.option_add("color", VP590); + device.option_add("simple", VP595); + device.option_add("basic", VP700); +} diff --git a/src/devices/bus/vip/exp.h b/src/devices/bus/vip/exp.h index 4e864fc0430..98eda45bdbe 100644 --- a/src/devices/bus/vip/exp.h +++ b/src/devices/bus/vip/exp.h @@ -158,6 +158,6 @@ protected: DECLARE_DEVICE_TYPE(VIP_EXPANSION_SLOT, vip_expansion_slot_device) -SLOT_INTERFACE_EXTERN( vip_expansion_cards ); +void vip_expansion_cards(device_slot_interface &device); #endif // MAME_BUS_VIP_EXP_H diff --git a/src/devices/bus/vme/vme.cpp b/src/devices/bus/vme/vme.cpp index d7d549bb34c..166b1d9781f 100644 --- a/src/devices/bus/vme/vme.cpp +++ b/src/devices/bus/vme/vme.cpp @@ -185,18 +185,20 @@ WRITE8_MEMBER(vme_slot_device::write8) /* The following two slot collections be combined once we intriduce capabilities for each board */ /* Usually a VME firmware supports only a few boards so it will have its own slot collection defined */ // Controller capable boards that can go into slot1 ( or has an embedded VME bus ) -SLOT_INTERFACE_START( vme_slot1 ) -// SLOT_INTERFACE("mzr8105", VME_MZR8105) -SLOT_INTERFACE_END +void vme_slot1(device_slot_interface &device) +{ +// device.option_add("mzr8105", VME_MZR8105); +} #endif // All boards that can be non-controller boards, eg not driving the VME CLK etc -SLOT_INTERFACE_START( vme_slots ) - SLOT_INTERFACE("mzr8300", VME_MZR8300) - SLOT_INTERFACE("mvme350", VME_MVME350) - SLOT_INTERFACE("fcisio1", VME_FCISIO1) - SLOT_INTERFACE("fcscsi1", VME_FCSCSI1) -SLOT_INTERFACE_END +void vme_slots(device_slot_interface &device) +{ + device.option_add("mzr8300", VME_MZR8300); + device.option_add("mvme350", VME_MVME350); + device.option_add("fcisio1", VME_FCISIO1); + device.option_add("fcscsi1", VME_FCSCSI1); +} // // VME device P1 diff --git a/src/devices/bus/vme/vme.h b/src/devices/bus/vme/vme.h index 7fd1a24f9c8..8f86d90bd29 100644 --- a/src/devices/bus/vme/vme.h +++ b/src/devices/bus/vme/vme.h @@ -61,8 +61,8 @@ #define MCFG_VME_J1_CB(_devcb) \ devcb = &downcast(*device).set_vme_j1_callback(DEVCB_##_devcb); -//SLOT_INTERFACE_EXTERN(vme_slot1); // Disabled until we know how to combine a board driver and a slot device. -SLOT_INTERFACE_EXTERN(vme_slots); +//void vme_slot1(device_slot_interface &device); // Disabled until we know how to combine a board driver and a slot device. +void vme_slots(device_slot_interface &device); class device_vme_card_interface; // This interface is standardized diff --git a/src/devices/bus/vme/vme_fcscsi.cpp b/src/devices/bus/vme/vme_fcscsi.cpp index 807d799917d..9cc50e5eb76 100644 --- a/src/devices/bus/vme/vme_fcscsi.cpp +++ b/src/devices/bus/vme/vme_fcscsi.cpp @@ -205,9 +205,10 @@ FLOPPY_FORMATS_MEMBER( vme_fcscsi1_card_device::floppy_formats ) FLOPPY_PC_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( fcscsi_floppies ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void fcscsi_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); +} /* ROM definitions */ diff --git a/src/devices/bus/vtech/ioexp/carts.cpp b/src/devices/bus/vtech/ioexp/carts.cpp index ae579ba23e5..86209ad35f8 100644 --- a/src/devices/bus/vtech/ioexp/carts.cpp +++ b/src/devices/bus/vtech/ioexp/carts.cpp @@ -13,7 +13,8 @@ #include "printer.h" -SLOT_INTERFACE_START( vtech_ioexp_slot_carts ) - SLOT_INTERFACE("joystick", VTECH_JOYSTICK_INTERFACE) - SLOT_INTERFACE("printer", VTECH_PRINTER_INTERFACE) -SLOT_INTERFACE_END +void vtech_ioexp_slot_carts(device_slot_interface &device) +{ + device.option_add("joystick", VTECH_JOYSTICK_INTERFACE); + device.option_add("printer", VTECH_PRINTER_INTERFACE); +} diff --git a/src/devices/bus/vtech/ioexp/carts.h b/src/devices/bus/vtech/ioexp/carts.h index a6195747389..dc7047a27d1 100644 --- a/src/devices/bus/vtech/ioexp/carts.h +++ b/src/devices/bus/vtech/ioexp/carts.h @@ -12,6 +12,6 @@ #pragma once -SLOT_INTERFACE_EXTERN( vtech_ioexp_slot_carts ); +void vtech_ioexp_slot_carts(device_slot_interface &device); #endif // MAME_BUS_VTECH_IOEXP_CARTS_H diff --git a/src/devices/bus/vtech/memexp/carts.cpp b/src/devices/bus/vtech/memexp/carts.cpp index 9ca95b56dee..41bd9d42c0f 100644 --- a/src/devices/bus/vtech/memexp/carts.cpp +++ b/src/devices/bus/vtech/memexp/carts.cpp @@ -16,13 +16,14 @@ #include "wordpro.h" -SLOT_INTERFACE_START( vtech_memexp_carts ) - SLOT_INTERFACE("floppy", VTECH_FLOPPY_CONTROLLER) - SLOT_INTERFACE("laser110_16k", VTECH_LASER110_16K) - SLOT_INTERFACE("laser210_16k", VTECH_LASER210_16K) - SLOT_INTERFACE("laser310_16k", VTECH_LASER310_16K) - SLOT_INTERFACE("laser_64k", VTECH_LASER_64K) - SLOT_INTERFACE("rs232", VTECH_RS232_INTERFACE) - SLOT_INTERFACE("rtty", VTECH_RTTY_INTERFACE) - SLOT_INTERFACE("wordpro", VTECH_WORDPRO) -SLOT_INTERFACE_END +void vtech_memexp_carts(device_slot_interface &device) +{ + device.option_add("floppy", VTECH_FLOPPY_CONTROLLER); + device.option_add("laser110_16k", VTECH_LASER110_16K); + device.option_add("laser210_16k", VTECH_LASER210_16K); + device.option_add("laser310_16k", VTECH_LASER310_16K); + device.option_add("laser_64k", VTECH_LASER_64K); + device.option_add("rs232", VTECH_RS232_INTERFACE); + device.option_add("rtty", VTECH_RTTY_INTERFACE); + device.option_add("wordpro", VTECH_WORDPRO); +} diff --git a/src/devices/bus/vtech/memexp/carts.h b/src/devices/bus/vtech/memexp/carts.h index f8baa314256..b0ab76dd4d8 100644 --- a/src/devices/bus/vtech/memexp/carts.h +++ b/src/devices/bus/vtech/memexp/carts.h @@ -11,6 +11,6 @@ #pragma once -SLOT_INTERFACE_EXTERN( vtech_memexp_carts ); +void vtech_memexp_carts(device_slot_interface &device); #endif // MAME_BUS_VTECH_MEMEXP_CARTS_H diff --git a/src/devices/bus/vtech/memexp/floppy.cpp b/src/devices/bus/vtech/memexp/floppy.cpp index 0788a653012..51410184e6c 100644 --- a/src/devices/bus/vtech/memexp/floppy.cpp +++ b/src/devices/bus/vtech/memexp/floppy.cpp @@ -45,9 +45,10 @@ const tiny_rom_entry *vtech_floppy_controller_device::device_rom_region() const // device_add_mconfig - add device configuration //------------------------------------------------- -static SLOT_INTERFACE_START( laser_floppies ) - SLOT_INTERFACE("525", FLOPPY_525_SSSD) -SLOT_INTERFACE_END +static void laser_floppies(device_slot_interface &device) +{ + device.option_add("525", FLOPPY_525_SSSD); +} MACHINE_CONFIG_START(vtech_floppy_controller_device::device_add_mconfig) MCFG_MEMEXP_SLOT_ADD("mem") diff --git a/src/devices/bus/wangpc/wangpc.cpp b/src/devices/bus/wangpc/wangpc.cpp index b7acf07f94c..36ed25bfdff 100644 --- a/src/devices/bus/wangpc/wangpc.cpp +++ b/src/devices/bus/wangpc/wangpc.cpp @@ -262,13 +262,14 @@ device_wangpcbus_card_interface::device_wangpcbus_card_interface(const machine_c #include "tig.h" #include "wdc.h" -SLOT_INTERFACE_START( wangpc_cards ) - SLOT_INTERFACE("emb", WANGPC_EMB) // extended memory board - SLOT_INTERFACE("lic", WANGPC_LIC) // local interconnect option card - SLOT_INTERFACE("lvc", WANGPC_LVC) // low-resolution video controller - SLOT_INTERFACE("mcc", WANGPC_MCC) // multiport communications controller - SLOT_INTERFACE("mvc", WANGPC_MVC) // medium-resolution video controller - SLOT_INTERFACE("rtc", WANGPC_RTC) // remote telecommunications controller - SLOT_INTERFACE("tig", WANGPC_TIG) // text/image/graphics controller - SLOT_INTERFACE("wdc", WANGPC_WDC) // Winchester disk controller -SLOT_INTERFACE_END +void wangpc_cards(device_slot_interface &device) +{ + device.option_add("emb", WANGPC_EMB); // extended memory board + device.option_add("lic", WANGPC_LIC); // local interconnect option card + device.option_add("lvc", WANGPC_LVC); // low-resolution video controller + device.option_add("mcc", WANGPC_MCC); // multiport communications controller + device.option_add("mvc", WANGPC_MVC); // medium-resolution video controller + device.option_add("rtc", WANGPC_RTC); // remote telecommunications controller + device.option_add("tig", WANGPC_TIG); // text/image/graphics controller + device.option_add("wdc", WANGPC_WDC); // Winchester disk controller +} diff --git a/src/devices/bus/wangpc/wangpc.h b/src/devices/bus/wangpc/wangpc.h index b39c79f12f2..1510eba9fbf 100644 --- a/src/devices/bus/wangpc/wangpc.h +++ b/src/devices/bus/wangpc/wangpc.h @@ -223,6 +223,6 @@ private: }; -SLOT_INTERFACE_EXTERN( wangpc_cards ); +void wangpc_cards(device_slot_interface &device); #endif // MAME_BUS_WANGPC_WANGPC_H diff --git a/src/devices/cpu/e132xs/e132xs.cpp b/src/devices/cpu/e132xs/e132xs.cpp index 773a240612f..f23a5a6c8e9 100644 --- a/src/devices/cpu/e132xs/e132xs.cpp +++ b/src/devices/cpu/e132xs/e132xs.cpp @@ -228,6 +228,10 @@ hyperstone_device::hyperstone_device(const machine_config &mconfig, const char * { } +hyperstone_device::~hyperstone_device() +{ +} + //------------------------------------------------- // e116t_device - constructor diff --git a/src/devices/cpu/e132xs/e132xs.h b/src/devices/cpu/e132xs/e132xs.h index 31fbd483f00..57cd7516d6e 100644 --- a/src/devices/cpu/e132xs/e132xs.h +++ b/src/devices/cpu/e132xs/e132xs.h @@ -114,6 +114,8 @@ class hyperstone_device : public cpu_device, public hyperstone_disassembler::con friend class e132xs_frontend; public: + virtual ~hyperstone_device() override; + inline void ccfunc_unimplemented(); inline void ccfunc_print(); inline void ccfunc_total_cycles(); diff --git a/src/devices/cpu/mb86235/mb86235.cpp b/src/devices/cpu/mb86235/mb86235.cpp index da543bdb92f..6fad9a71636 100644 --- a/src/devices/cpu/mb86235/mb86235.cpp +++ b/src/devices/cpu/mb86235/mb86235.cpp @@ -274,6 +274,10 @@ mb86235_device::mb86235_device(const machine_config &mconfig, const char *tag, d { } +mb86235_device::~mb86235_device() +{ +} + device_memory_interface::space_config_vector mb86235_device::memory_space_config() const { return space_config_vector { diff --git a/src/devices/cpu/mb86235/mb86235.h b/src/devices/cpu/mb86235/mb86235.h index dc583dd9b84..f0a394bed5b 100644 --- a/src/devices/cpu/mb86235/mb86235.h +++ b/src/devices/cpu/mb86235/mb86235.h @@ -35,6 +35,7 @@ class mb86235_device : public cpu_device public: // construction/destruction mb86235_device(const machine_config &mconfig, const char *_tag, device_t *_owner, uint32_t clock); + virtual ~mb86235_device() override; void set_fifoin_tag(const char *tag) { m_fifoin.set_tag(tag); } void set_fifoout0_tag(const char *tag) { m_fifoout0.set_tag(tag); } diff --git a/src/devices/cpu/powerpc/ppc.h b/src/devices/cpu/powerpc/ppc.h index bc89a287a53..97c7ed631ae 100644 --- a/src/devices/cpu/powerpc/ppc.h +++ b/src/devices/cpu/powerpc/ppc.h @@ -210,6 +210,8 @@ protected: ppc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int address_bits, int data_bits, powerpc_flavor flavor, uint32_t cap, uint32_t tb_divisor, address_map_constructor internal_map); public: + virtual ~ppc_device() override; + void set_bus_frequency(uint32_t bus_frequency) { c_bus_frequency = bus_frequency; } void set_bus_frequency(const XTAL &xtal) { set_bus_frequency(xtal.value()); } diff --git a/src/devices/cpu/powerpc/ppccom.cpp b/src/devices/cpu/powerpc/ppccom.cpp index c0ed33f610b..1d4b92ad549 100644 --- a/src/devices/cpu/powerpc/ppccom.cpp +++ b/src/devices/cpu/powerpc/ppccom.cpp @@ -231,6 +231,10 @@ ppc_device::ppc_device(const machine_config &mconfig, device_type type, const ch set_vtlb_fixed_entries(PPC603_FIXED_TLB_ENTRIES); } +ppc_device::~ppc_device() +{ +} + //ppc403_device::ppc403_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) // : ppc_device(mconfig, PPC403, "PPC403", tag, owner, clock, "ppc403", 32?, 64?) //{ diff --git a/src/devices/cpu/rsp/rsp.cpp b/src/devices/cpu/rsp/rsp.cpp index cf04e8a2bf5..1037f33d845 100644 --- a/src/devices/cpu/rsp/rsp.cpp +++ b/src/devices/cpu/rsp/rsp.cpp @@ -144,6 +144,10 @@ rsp_device::rsp_device(const machine_config &mconfig, const char *tag, device_t { } +rsp_device::~rsp_device() +{ +} + device_memory_interface::space_config_vector rsp_device::memory_space_config() const { return space_config_vector { diff --git a/src/devices/cpu/rsp/rsp.h b/src/devices/cpu/rsp/rsp.h index 2dfa97d2cfb..8c3604473da 100644 --- a/src/devices/cpu/rsp/rsp.h +++ b/src/devices/cpu/rsp/rsp.h @@ -108,6 +108,7 @@ class rsp_device : public cpu_device public: // construction/destruction rsp_device(const machine_config &mconfig, const char *_tag, device_t *_owner, uint32_t _clock); + virtual ~rsp_device() override; void resolve_cb(); template devcb_base &set_dp_reg_r_callback(Object &&cb) { return m_dp_reg_r_func.set_callback(std::forward(cb)); } diff --git a/src/devices/cpu/sh/sh2.cpp b/src/devices/cpu/sh/sh2.cpp index 58e5596a7f5..38f2998841d 100644 --- a/src/devices/cpu/sh/sh2.cpp +++ b/src/devices/cpu/sh/sh2.cpp @@ -159,6 +159,10 @@ sh2_device::sh2_device(const machine_config &mconfig, const char *tag, device_t { } +sh2_device::~sh2_device() +{ +} + void sh2_device::device_stop() { diff --git a/src/devices/cpu/sh/sh2.h b/src/devices/cpu/sh/sh2.h index 431c9831870..75f46d2bf48 100644 --- a/src/devices/cpu/sh/sh2.h +++ b/src/devices/cpu/sh/sh2.h @@ -71,6 +71,7 @@ public: // construction/destruction sh2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + virtual ~sh2_device() override; void set_is_slave(int slave) { m_is_slave = slave; } template void set_dma_kludge_callback(Object &&cb) { m_dma_kludge_cb = std::forward(cb); } @@ -157,12 +158,12 @@ private: uint32_t m_debugger_temp; - inline uint8_t RB(offs_t A) override; - inline uint16_t RW(offs_t A) override; - inline uint32_t RL(offs_t A) override; - inline void WB(offs_t A, uint8_t V) override; - inline void WW(offs_t A, uint16_t V) override; - inline void WL(offs_t A, uint32_t V) override; + virtual uint8_t RB(offs_t A) override; + virtual uint16_t RW(offs_t A) override; + virtual uint32_t RL(offs_t A) override; + virtual void WB(offs_t A, uint8_t V) override; + virtual void WW(offs_t A, uint16_t V) override; + virtual void WL(offs_t A, uint32_t V) override; virtual void LDCMSR(const uint16_t opcode) override; virtual void LDCSR(const uint16_t opcode) override; diff --git a/src/devices/cpu/sharc/sharc.cpp b/src/devices/cpu/sharc/sharc.cpp index 3bdbba6ad47..617f5be79a8 100644 --- a/src/devices/cpu/sharc/sharc.cpp +++ b/src/devices/cpu/sharc/sharc.cpp @@ -91,6 +91,10 @@ adsp21062_device::adsp21062_device(const machine_config &mconfig, const char *ta { } +adsp21062_device::~adsp21062_device() +{ +} + device_memory_interface::space_config_vector adsp21062_device::memory_space_config() const { return space_config_vector { diff --git a/src/devices/cpu/sharc/sharc.h b/src/devices/cpu/sharc/sharc.h index 91455cb3b6c..797899ef98e 100644 --- a/src/devices/cpu/sharc/sharc.h +++ b/src/devices/cpu/sharc/sharc.h @@ -94,6 +94,7 @@ public: // construction/destruction adsp21062_device(const machine_config &mconfig, const char *_tag, device_t *_owner, uint32_t _clock); + virtual ~adsp21062_device() override; // configuration helpers void set_boot_mode(const sharc_boot_mode boot_mode) { m_boot_mode = boot_mode; } diff --git a/src/devices/machine/ataintf.cpp b/src/devices/machine/ataintf.cpp index a6d075217ec..972dadd94d3 100644 --- a/src/devices/machine/ataintf.cpp +++ b/src/devices/machine/ataintf.cpp @@ -204,10 +204,11 @@ WRITE_LINE_MEMBER( abstract_ata_interface_device::write_dmack ) elem->dev()->write_dmack(state); } -SLOT_INTERFACE_START(ata_devices) - SLOT_INTERFACE("hdd", IDE_HARDDISK) - SLOT_INTERFACE("cdrom", ATAPI_CDROM) -SLOT_INTERFACE_END +void ata_devices(device_slot_interface &device) +{ + device.option_add("hdd", IDE_HARDDISK); + device.option_add("cdrom", ATAPI_CDROM); +} abstract_ata_interface_device::abstract_ata_interface_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, type, tag, owner, clock), diff --git a/src/devices/machine/ataintf.h b/src/devices/machine/ataintf.h index d68e4d78340..8a9f05fb846 100644 --- a/src/devices/machine/ataintf.h +++ b/src/devices/machine/ataintf.h @@ -55,7 +55,7 @@ DECLARE_DEVICE_TYPE(ATA_SLOT, ata_slot_device) #define MCFG_ATA_INTERFACE_DASP_HANDLER(_devcb) \ devcb = &downcast(*device).set_dasp_handler(DEVCB_##_devcb); -SLOT_INTERFACE_EXTERN(ata_devices); +void ata_devices(device_slot_interface &device); /*************************************************************************** DEVICE CONFIGURATION MACROS diff --git a/src/devices/machine/fdc37c93x.cpp b/src/devices/machine/fdc37c93x.cpp index fe620389342..9ddd01fd8d1 100644 --- a/src/devices/machine/fdc37c93x.cpp +++ b/src/devices/machine/fdc37c93x.cpp @@ -219,12 +219,13 @@ void fdc37c93x_device::update_dreq_mapping(int dreq, int logical) dreq_mapping[dreq] = logical; } -static SLOT_INTERFACE_START(pc_hd_floppies) - SLOT_INTERFACE("525hd", FLOPPY_525_HD) - SLOT_INTERFACE("35hd", FLOPPY_35_HD) - SLOT_INTERFACE("525dd", FLOPPY_525_DD) - SLOT_INTERFACE("35dd", FLOPPY_35_DD) -SLOT_INTERFACE_END +static void pc_hd_floppies(device_slot_interface &device) +{ + device.option_add("525hd", FLOPPY_525_HD); + device.option_add("35hd", FLOPPY_35_HD); + device.option_add("525dd", FLOPPY_525_DD); + device.option_add("35dd", FLOPPY_35_DD); +} FLOPPY_FORMATS_MEMBER(fdc37c93x_device::floppy_formats) FLOPPY_PC_FORMAT, diff --git a/src/devices/machine/pdc.cpp b/src/devices/machine/pdc.cpp index e09f9ff1777..0c828df743d 100644 --- a/src/devices/machine/pdc.cpp +++ b/src/devices/machine/pdc.cpp @@ -226,20 +226,22 @@ INPUT_PORTS_END // SLOT_INTERFACE( pdc_floppies ) //------------------------------------------------- -static SLOT_INTERFACE_START( pdc_floppies ) - SLOT_INTERFACE( "35hd", FLOPPY_35_HD ) -SLOT_INTERFACE_END +static void pdc_floppies(device_slot_interface &device) +{ + device.option_add("35hd", FLOPPY_35_HD); +} //------------------------------------------------- // SLOT_INTERFACE( pdc_harddisks ) //------------------------------------------------- -static SLOT_INTERFACE_START( pdc_harddisks ) - SLOT_INTERFACE( "generic", MFMHD_GENERIC ) // Generic hard disk (self-adapting to image) - SLOT_INTERFACE( "st213", MFMHD_ST213 ) // Seagate ST-213 (10 MB) - SLOT_INTERFACE( "st225", MFMHD_ST225 ) // Seagate ST-225 (20 MB) - SLOT_INTERFACE( "st251", MFMHD_ST251 ) // Seagate ST-251 (40 MB) -SLOT_INTERFACE_END +static void pdc_harddisks(device_slot_interface &device) +{ + device.option_add("generic", MFMHD_GENERIC); // Generic hard disk (self-adapting to image) + device.option_add("st213", MFMHD_ST213); // Seagate ST-213 (10 MB) + device.option_add("st225", MFMHD_ST225); // Seagate ST-225 (20 MB) + device.option_add("st251", MFMHD_ST251); // Seagate ST-251 (40 MB) +} //------------------------------------------------- // FLOPPY_FORMATS( floppy_formats ) diff --git a/src/devices/machine/roc10937.h b/src/devices/machine/roc10937.h index 4f67cd975cd..41b468c719e 100644 --- a/src/devices/machine/roc10937.h +++ b/src/devices/machine/roc10937.h @@ -103,29 +103,29 @@ private: class roc10937_device : public rocvfd_device { public: - roc10937_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + roc10937_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 60); }; class msc1937_device : public rocvfd_device { public: - msc1937_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + msc1937_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 60); }; class mic10937_device : public rocvfd_device { public: - mic10937_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + mic10937_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 60); }; class roc10957_device : public rocvfd_device { public: - roc10957_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + roc10957_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 60); void write_char(int data); }; class s16lf01_device : public rocvfd_device { public: - s16lf01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + s16lf01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 60); }; diff --git a/src/devices/sound/ad1848.cpp b/src/devices/sound/ad1848.cpp index 30a0e59da2a..e434302b554 100644 --- a/src/devices/sound/ad1848.cpp +++ b/src/devices/sound/ad1848.cpp @@ -26,8 +26,8 @@ MACHINE_CONFIG_START(ad1848_device::device_add_mconfig) MCFG_SOUND_ADD("ldac", DAC_16BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) // unknown DAC MCFG_SOUND_ADD("rdac", DAC_16BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/devices/sound/pokey.cpp b/src/devices/sound/pokey.cpp index 6664e684933..46e686befc7 100644 --- a/src/devices/sound/pokey.cpp +++ b/src/devices/sound/pokey.cpp @@ -163,6 +163,7 @@ static const int clock_divisors[3] = {1, DIV_64, DIV_15}; +constexpr unsigned pokey_device::FREQ_17_EXACT; diff --git a/src/emu/devcb.h b/src/emu/devcb.h index fee31ce1ca4..2fd6e53ae19 100644 --- a/src/emu/devcb.h +++ b/src/emu/devcb.h @@ -26,11 +26,6 @@ namespace emu { namespace detail { template struct devcb_delegate_initialiser { - template struct is_device_implementation - { static constexpr bool value = std::is_base_of::value; }; - template struct is_device_interface - { static constexpr bool value = std::is_base_of::value && !is_device_implementation::value; }; - devcb_delegate_initialiser(char const *tag, Delegate &&delegate) : m_base(nullptr), m_delegate(std::move(delegate)) { } @@ -53,9 +48,9 @@ template struct devcb_delegate_initialiser inline char const *devcb_delegate_get_tag(char const *tag) { return tag; } template -inline std::enable_if_t::is_device_implementation::value, char const *> devcb_delegate_get_tag(T &device) { return DEVICE_SELF; } +inline std::enable_if_t::value, char const *> devcb_delegate_get_tag(T &device) { return DEVICE_SELF; } template -inline std::enable_if_t::is_device_interface::value, char const *> devcb_delegate_get_tag(T &interface) { return DEVICE_SELF; } +inline std::enable_if_t::value, char const *> devcb_delegate_get_tag(T &interface) { return DEVICE_SELF; } template inline char const *devcb_delegate_get_tag(device_finder const &finder) { return finder.finder_tag(); } @@ -191,14 +186,12 @@ protected: template struct tag_desc { - constexpr tag_desc(device_t *base, char const *tag) : m_base(base), m_tag(tag) { } device_t *m_base; char const *m_tag; }; template struct line_desc { - constexpr line_desc(device_t *base, char const *tag, int inputnum) : m_base(base), m_tag(tag), m_inputnum(inputnum) { } device_t *m_base; char const *m_tag; int m_inputnum; diff --git a/src/emu/devfind.h b/src/emu/devfind.h index 1e61ad1c866..9bd5ad48fde 100644 --- a/src/emu/devfind.h +++ b/src/emu/devfind.h @@ -540,17 +540,12 @@ public: } private: - template struct is_device_implementation - { static constexpr bool value = std::is_base_of::value; }; - template struct is_device_interface - { static constexpr bool value = std::is_base_of::value && !is_device_implementation::value; }; - /// \brief Check that device implementation has expected tag /// \param [in] device Reference to device. /// \return True if supplied device matches the configured target /// tag, or false otherwise. template - std::enable_if_t::value, bool> is_expected_tag(T const &device) const + std::enable_if_t::value, bool> is_expected_tag(T const &device) const { return this->m_base.get().subtag(this->m_tag) == device.tag(); } @@ -560,7 +555,7 @@ private: /// \return True if supplied mixin matches the configured target /// tag, or false otherwise. template - std::enable_if_t::value, bool> is_expected_tag(T const &interface) const + std::enable_if_t::value, bool> is_expected_tag(T const &interface) const { return this->m_base.get().subtag(this->m_tag) == interface.device().tag(); } diff --git a/src/emu/device.h b/src/emu/device.h index 3dbaa5f4e37..cc8b5209945 100644 --- a/src/emu/device.h +++ b/src/emu/device.h @@ -75,6 +75,17 @@ namespace emu { namespace detail { class device_type_impl_base; +template struct is_device_implementation +{ + static constexpr bool value = std::is_base_of::value; +}; + +template struct is_device_interface +{ + static constexpr bool value = std::is_base_of::value && !is_device_implementation::value; +}; + + struct device_feature { enum type : u32 @@ -203,6 +214,8 @@ private: device_type_impl_base *m_next; public: + using exposed_type = device_t; + device_type_impl_base(std::nullptr_t) : m_creator(nullptr) , m_type(typeid(std::nullptr_t)) @@ -252,6 +265,10 @@ public: { return m_creator(*this, mconfig, tag, owner, clock); } + std::unique_ptr create(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock) const + { + return m_creator(*this, mconfig, tag, owner, clock); + } explicit operator bool() const { return bool(m_creator); } bool operator==(device_type_impl_base const &that) const { return &that == this; } @@ -263,9 +280,20 @@ template class device_type_impl : public device_type_impl_base { public: + using exposed_type = DeviceClass; + using device_type_impl_base::device_type_impl_base; - template DeviceClass &operator()(machine_config &config, char const *tag, Params &&... args) const; - template DeviceClass &operator()(machine_config &config, device_finder &finder, Params &&... args) const; + using device_type_impl_base::create; + using device_type_impl_base::operator(); + + template + std::unique_ptr create(machine_config &mconfig, char const *tag, device_t *owner, Params &&... args) const + { + return make_unique_clear(mconfig, tag, owner, std::forward(args)...); + } + + template DeviceClass &operator()(machine_config &mconfig, char const *tag, Params &&... args) const; + template DeviceClass &operator()(machine_config &mconfig, device_finder &finder, Params &&... args) const; }; diff --git a/src/emu/device.ipp b/src/emu/device.ipp index 848223dd0c7..4fa6b2fe1ec 100644 --- a/src/emu/device.ipp +++ b/src/emu/device.ipp @@ -31,17 +31,17 @@ typedef device_delegate clock_update_delegate; namespace emu { namespace detail { template template -DeviceClass &device_type_impl::operator()(machine_config &config, char const *tag, Params &&... args) const +inline DeviceClass &device_type_impl::operator()(machine_config &mconfig, char const *tag, Params &&... args) const { - return dynamic_cast(*config.device_add(tag, *this, std::forward(args)...)); + return dynamic_cast(*mconfig.device_add(tag, *this, std::forward(args)...)); } template template -DeviceClass &device_type_impl::operator()(machine_config &config, device_finder &finder, Params &&... args) const +inline DeviceClass &device_type_impl::operator()(machine_config &mconfig, device_finder &finder, Params &&... args) const { std::pair const target(finder.finder_target()); - assert(&config.current_device() == &target.first); - DeviceClass &result(dynamic_cast(*config.device_add(target.second, *this, std::forward(args)...))); + assert(&mconfig.current_device() == &target.first); + DeviceClass &result(dynamic_cast(*mconfig.device_add(target.second, *this, std::forward(args)...))); return finder = result; } diff --git a/src/emu/dislot.cpp b/src/emu/dislot.cpp index e89fd8b77bd..37acf1dfddd 100644 --- a/src/emu/dislot.cpp +++ b/src/emu/dislot.cpp @@ -15,8 +15,8 @@ // ctor // ------------------------------------------------- -device_slot_interface::device_slot_interface(const machine_config &mconfig, device_t &device) - : device_interface(device, "slot"), +device_slot_interface::device_slot_interface(const machine_config &mconfig, device_t &device) : + device_interface(device, "slot"), m_default_option(nullptr), m_fixed(false), m_card_device(nullptr) @@ -37,10 +37,10 @@ device_slot_interface::~device_slot_interface() // device_slot_option ctor // ------------------------------------------------- -device_slot_option::device_slot_option(const char *name, const device_type &devtype): +device_slot_interface::slot_option::slot_option(const char *name, const device_type &devtype, bool selectable) : m_name(name), m_devtype(devtype), - m_selectable(true), + m_selectable(selectable), m_default_bios(nullptr), m_machine_config(nullptr), m_input_device_defaults(nullptr), @@ -53,14 +53,33 @@ device_slot_option::device_slot_option(const char *name, const device_type &devt // option_add // ------------------------------------------------- -void device_slot_interface::option_add(const char *name, const device_type &devtype) +device_slot_interface::slot_option &device_slot_interface::option_add(const char *name, const device_type &devtype) { - device_slot_option *slot_option = option(name); - - if (slot_option != nullptr) + const slot_option *const existing = option(name); + if (existing) throw emu_fatalerror("slot '%s' duplicate option '%s'\n", device().tag(), name); - if (m_options.count(name) != 0) throw tag_add_exception(name); - m_options.emplace(std::make_pair(name, std::make_unique(name, devtype))); + + if (m_options.count(name)) + throw tag_add_exception(name); + + return *m_options.emplace(name, std::make_unique(name, devtype, true)).first->second; +} + + +// ------------------------------------------------- +// option_add_internal +// ------------------------------------------------- + +device_slot_interface::slot_option &device_slot_interface::option_add_internal(const char *name, const device_type &devtype) +{ + const slot_option *const existing = option(name); + if (existing) + throw emu_fatalerror("slot '%s' duplicate option '%s'\n", device().tag(), name); + + if (m_options.count(name)) + throw tag_add_exception(name); + + return *m_options.emplace(name, std::make_unique(name, devtype, false)).first->second; } @@ -68,14 +87,13 @@ void device_slot_interface::option_add(const char *name, const device_type &devt // option // ------------------------------------------------- -device_slot_option *device_slot_interface::config_option(const char *name) +device_slot_interface::slot_option *device_slot_interface::config_option(const char *name) { - device_slot_option *slot_option = option(name); + auto const search = m_options.find(name); + if (search != m_options.end()) + return search->second.get(); - if (slot_option == nullptr) - throw emu_fatalerror("slot '%s' has no option '%s'\n", device().tag(), name); - - return slot_option; + throw emu_fatalerror("slot '%s' has no option '%s'\n", device().tag(), name); } @@ -99,16 +117,15 @@ bool device_slot_interface::has_selectable_options() const // option // ------------------------------------------------- -device_slot_option *device_slot_interface::option(const char *name) const +const device_slot_interface::slot_option *device_slot_interface::option(const char *name) const { - device_slot_option *result = nullptr; if (name) { - auto search = m_options.find(name); + auto const search = m_options.find(name); if (search != m_options.end()) - result = search->second.get(); + return search->second.get(); } - return result; + return nullptr; } diff --git a/src/emu/dislot.h b/src/emu/dislot.h index f8f1d5a8a70..be10da760cd 100644 --- a/src/emu/dislot.h +++ b/src/emu/dislot.h @@ -13,17 +13,7 @@ // LEGACY MACROS //************************************************************************** -#define MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_option, _fixed) MCFG_SLOT_OPTION_RESET slot_options_##_slot_intf(device); MCFG_SLOT_DEFAULT_OPTION(_def_option) MCFG_SLOT_FIXED(_fixed) -#define SLOT_INTERFACE_NAME(name) slot_options_##name -#define SLOT_INTERFACE_START(name) void slot_options_##name(device_t *device) { -#define SLOT_INTERFACE(name,device) MCFG_SLOT_OPTION_ADD(name, device) -#define SLOT_INTERFACE_INTERNAL(name,device) MCFG_SLOT_OPTION_ADD(name, device) MCFG_SLOT_OPTION_SELECTABLE(name, false) -#define SLOT_INTERFACE_END } -#define SLOT_INTERFACE_EXTERN(name) void slot_options_##name(device_t *device) -#define MCFG_DEVICE_CARD_DEFAULT_BIOS(_option, _default_bios) MCFG_SLOT_OPTION_DEFAULT_BIOS(_option, _default_bios) -#define MCFG_DEVICE_CARD_MACHINE_CONFIG(_option, _machine_config_name) MCFG_SLOT_OPTION_MACHINE_CONFIG(_option, _machine_config_name) -#define MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS(_option, _dev_inp_def) MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS(_option, _dev_inp_def) -#define MCFG_DEVICE_CARD_CLOCK(_option, _clock) MCFG_SLOT_OPTION_CLOCK(_option, _clock) +#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) //************************************************************************** @@ -42,9 +32,6 @@ #define MCFG_SLOT_OPTION_ADD(_option, _devtype) \ dynamic_cast(*device).option_add(_option, _devtype); -#define MCFG_SLOT_OPTION_SELECTABLE(_option, _selectable) \ - dynamic_cast(*device).set_option_selectable(_option, _selectable); - #define MCFG_SLOT_OPTION_DEFAULT_BIOS(_option, _default_bios) \ dynamic_cast(*device).set_option_default_bios(_option, _default_bios); @@ -62,35 +49,6 @@ // TYPE DEFINITIONS //************************************************************************** -// ======================> device_slot_option - -class device_slot_option -{ - friend class device_slot_interface; - -public: - device_slot_option(const char *name, const device_type &devtype); - - const char *name() const { return m_name; } - const device_type &devtype() const { return m_devtype; } - bool selectable() const { return m_selectable; } - const char *default_bios() const { return m_default_bios; } - std::function machine_config() const { return m_machine_config; } - const input_device_default *input_device_defaults() const { return m_input_device_defaults; } - u32 clock() const { return m_clock; } - -private: - // internal state - const char *m_name; - const device_type &m_devtype; - bool m_selectable; - const char *m_default_bios; - std::function m_machine_config; - const input_device_default *m_input_device_defaults; - u32 m_clock; -}; - - // ======================> get_default_card_software_hook class get_default_card_software_hook @@ -124,6 +82,38 @@ private: class device_slot_interface : public device_interface { public: + class slot_option + { + public: + slot_option(char const *name, device_type const &devtype, bool selectable); + + char const *name() const { return m_name; } + device_type const &devtype() const { return m_devtype; } + bool selectable() const { return m_selectable; } + char const *default_bios() const { return m_default_bios; } + std::function const &machine_config() const { return m_machine_config; } + input_device_default const *input_device_defaults() const { return m_input_device_defaults; } + u32 clock() const { return m_clock; } + + slot_option &default_bios(char const *default_bios) { m_default_bios = default_bios; return *this; } + template slot_option &machine_config(Object &&cb) { m_machine_config = std::forward(cb); return *this; } + slot_option &input_device_defaults(input_device_default const *dev_inp_def) { m_input_device_defaults = dev_inp_def; return *this; } + slot_option &clock(u32 clock) { m_clock = clock; return *this; } + slot_option &clock(XTAL clock) { clock.validate(std::string("Configuring slot option ") + m_name); m_clock = clock.value(); return *this; } + + private: + // internal state + char const *const m_name; + device_type const m_devtype; + bool const m_selectable; + char const *m_default_bios; + std::function m_machine_config; + input_device_default const *m_input_device_defaults; + u32 m_clock; + + friend class device_slot_interface; + }; + // construction/destruction device_slot_interface(const machine_config &mconfig, device_t &device); virtual ~device_slot_interface(); @@ -131,17 +121,16 @@ public: void set_fixed(bool fixed) { m_fixed = fixed; } void set_default_option(const char *option) { m_default_option = option; } void option_reset() { m_options.clear(); } - void option_add(const char *option, const device_type &devtype); - void set_option_selectable(const char *option, bool selectable){ config_option(option)->m_selectable = selectable; } + slot_option &option_add(const char *option, const device_type &devtype); + slot_option &option_add_internal(const char *option, const device_type &devtype); void set_option_default_bios(const char *option, const char *default_bios) { config_option(option)->m_default_bios = default_bios; } void set_option_machine_config(const char *option, std::function machine_config) { config_option(option)->m_machine_config = machine_config; } void set_option_device_input_defaults(const char *option, const input_device_default *default_input) { config_option(option)->m_input_device_defaults = default_input; } - void set_option_clock(const char *option, u32 default_clock) { config_option(option)->m_clock = default_clock; } bool fixed() const { return m_fixed; } bool has_selectable_options() const; const char *default_option() const { return m_default_option; } - const std::unordered_map> &option_list() const { return m_options; } - device_slot_option *option(const char *name) const; + const std::unordered_map> &option_list() const { return m_options; } + const slot_option *option(const char *name) const; virtual std::string get_default_card_software(get_default_card_software_hook &hook) const { return std::string(); } device_t *get_card_device() const { return m_card_device; } void set_card_device(device_t *dev) { m_card_device = dev; } @@ -149,12 +138,12 @@ public: private: // internal state - std::unordered_map> m_options; + std::unordered_map> m_options; const char *m_default_option; bool m_fixed; device_t *m_card_device; - device_slot_option *config_option(const char *option); + slot_option *config_option(const char *option); }; // iterator diff --git a/src/emu/disound.cpp b/src/emu/disound.cpp index 2e16107b996..59d511e4e48 100644 --- a/src/emu/disound.cpp +++ b/src/emu/disound.cpp @@ -42,22 +42,25 @@ device_sound_interface::~device_sound_interface() // add_route - send sound output to a consumer //------------------------------------------------- -void device_sound_interface::add_route(u32 output, const char *target, double gain, u32 input, u32 mixoutput) +device_sound_interface &device_sound_interface::add_route(u32 output, const char *target, double gain, u32 input, u32 mixoutput) { assert(!device().started()); m_route_list.emplace_back(sound_route{ output, input, mixoutput, float(gain), device().mconfig().current_device(), target }); + return *this; } -void device_sound_interface::add_route(u32 output, device_sound_interface &target, double gain, u32 input, u32 mixoutput) +device_sound_interface &device_sound_interface::add_route(u32 output, device_sound_interface &target, double gain, u32 input, u32 mixoutput) { assert(!device().started()); m_route_list.emplace_back(sound_route{ output, input, mixoutput, float(gain), target.device(), DEVICE_SELF }); + return *this; } -void device_sound_interface::add_route(u32 output, speaker_device &target, double gain, u32 input, u32 mixoutput) +device_sound_interface &device_sound_interface::add_route(u32 output, speaker_device &target, double gain, u32 input, u32 mixoutput) { assert(!device().started()); m_route_list.emplace_back(sound_route{ output, input, mixoutput, float(gain), target, DEVICE_SELF }); + return *this; } diff --git a/src/emu/disound.h b/src/emu/disound.h index da968abd789..05bba47f5b1 100644 --- a/src/emu/disound.h +++ b/src/emu/disound.h @@ -44,10 +44,8 @@ constexpr int AUTO_ALLOC_INPUT = 65535; #define MCFG_SOUND_REPLACE(_tag, _type, _clock) \ MCFG_DEVICE_REPLACE(_tag, _type, _clock) -#define MCFG_SOUND_ROUTE(_output, _target, _gain) \ - dynamic_cast(*device).add_route(_output, _target, _gain); -#define MCFG_SOUND_ROUTE_EX(_output, _target, _gain, _input) \ - dynamic_cast(*device).add_route(_output, _target, _gain, _input); +#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(); @@ -86,10 +84,10 @@ public: std::vector const &routes() const { return m_route_list; } // configuration helpers - void add_route(u32 output, const char *target, double gain, u32 input = AUTO_ALLOC_INPUT, u32 mixoutput = 0); - void add_route(u32 output, device_sound_interface &target, double gain, u32 input = AUTO_ALLOC_INPUT, u32 mixoutput = 0); - void add_route(u32 output, speaker_device &target, double gain, u32 input = AUTO_ALLOC_INPUT, u32 mixoutput = 0); - void reset_routes() { m_route_list.clear(); } + device_sound_interface &add_route(u32 output, const char *target, double gain, u32 input = AUTO_ALLOC_INPUT, u32 mixoutput = 0); + device_sound_interface &add_route(u32 output, device_sound_interface &target, double gain, u32 input = AUTO_ALLOC_INPUT, u32 mixoutput = 0); + device_sound_interface &add_route(u32 output, speaker_device &target, double gain, u32 input = AUTO_ALLOC_INPUT, u32 mixoutput = 0); + device_sound_interface &reset_routes() { m_route_list.clear(); return *this; } // sound stream update overrides virtual void sound_stream_update(sound_stream &stream, stream_sample_t **inputs, stream_sample_t **outputs, int samples) = 0; @@ -154,4 +152,4 @@ protected: typedef device_interface_iterator mixer_interface_iterator; -#endif /* MAME_EMU_DISOUND_H */ +#endif // MAME_EMU_DISOUND_H diff --git a/src/emu/mconfig.cpp b/src/emu/mconfig.cpp index eef4a143969..546ce1c885f 100644 --- a/src/emu/mconfig.cpp +++ b/src/emu/mconfig.cpp @@ -73,7 +73,8 @@ machine_config::machine_config(const game_driver &gamedrv, emu_options &options) if (selval && *selval) { - device_slot_option const *const option = slot.option(selval); + // TODO: make this thing more self-contained so it can apply itself - shouldn't need to know all this here + device_slot_interface::slot_option const *option = slot.option(selval); if (option && (is_default || option->selectable())) { // create the device @@ -115,11 +116,11 @@ machine_config::~machine_config() //------------------------------------------------- -// device_add - configuration helper to add a -// new device +// resolve_owner - get the actual owner and base +// tag given tag relative to current context //------------------------------------------------- -device_t *machine_config::device_add(const char *tag, device_type type, u32 clock) +std::pair machine_config::resolve_owner(const char *tag) const { assert(bool(m_current_device) == bool(m_root_device)); char const *const orig_tag = tag; @@ -145,19 +146,30 @@ device_t *machine_config::device_add(const char *tag, device_type type, u32 cloc } assert(tag[0] != '\0'); + return std::make_pair(tag, owner); +} + + +//------------------------------------------------- +// add_device - add a new device at the correct +// point in the hierarchy +//------------------------------------------------- + +device_t *machine_config::add_device(std::unique_ptr &&device, device_t *owner) +{ current_device_stack context(*this); if (owner) { // allocate the new device and append it to the owner's list - device_t *const device = &owner->subdevices().m_list.append(*type(*this, tag, owner, clock).release()); - device->add_machine_configuration(*this); - return device; + device_t *const result = &owner->subdevices().m_list.append(*device.release()); + result->add_machine_configuration(*this); + return result; } else { // allocate the root device directly assert(!m_root_device); - m_root_device = type(*this, tag, nullptr, clock); + m_root_device = std::move(device); driver_device *driver = dynamic_cast(m_root_device.get()); if (driver) driver->set_game_driver(m_gamedrv); @@ -167,6 +179,18 @@ device_t *machine_config::device_add(const char *tag, device_type type, u32 cloc } +//------------------------------------------------- +// device_add - configuration helper to add a +// new device +//------------------------------------------------- + +device_t *machine_config::device_add(const char *tag, device_type type, u32 clock) +{ + std::pair const owner(resolve_owner(tag)); + return add_device(type(*this, owner.first, owner.second, clock), owner.second); +} + + //------------------------------------------------- // device_replace - configuration helper to // replace one device with a new device diff --git a/src/emu/mconfig.h b/src/emu/mconfig.h index 0c09f4b69ab..ce3317a17b2 100644 --- a/src/emu/mconfig.h +++ b/src/emu/mconfig.h @@ -18,6 +18,13 @@ #ifndef MAME_EMU_MCONFIG_H #define MAME_EMU_MCONFIG_H +#include +#include +#include +#include +#include + + //************************************************************************** // CONSTANTS //************************************************************************** @@ -103,11 +110,26 @@ public: return token(*this, device); } device_t *device_add(const char *tag, device_type type, u32 clock); - template - device_t *device_add(const char *tag, device_type type, const XTAL &clock, Params &&... args) + template + device_t *device_add(const char *tag, Creator &&type, u32 clock) + { + return device_add(tag, device_type(type), clock); + } + template + auto device_add(const char *tag, Creator &&type, Params &&... args) + { + std::pair const owner(resolve_owner(tag)); + auto device(type.create(*this, owner.first, owner.second, std::forward(args)...)); + auto &result(*device); + assert(type.type() == typeid(result)); + add_device(std::move(device), owner.second); + return &result; + } + template + auto device_add(const char *tag, Creator &&type, XTAL clock, Params &&... args) { clock.validate(std::string("Instantiating device ") + tag); - return device_add(tag, type, clock.value(), std::forward(args)...); + return device_add(tag, std::forward(type), clock.value(), std::forward(args)...); } device_t *device_replace(const char *tag, device_type type, u32 clock); device_t *device_replace(const char *tag, device_type type, const XTAL &xtal); @@ -118,6 +140,8 @@ private: class current_device_stack; // internal helpers + std::pair resolve_owner(const char *tag) const; + device_t *add_device(std::unique_ptr &&device, device_t *owner); void remove_references(ATTR_UNUSED device_t &device); // internal state @@ -128,6 +152,22 @@ private: }; +namespace emu { namespace detail { + +template +inline std::enable_if_t::exposed_type>::value, typename std::remove_reference_t::exposed_type *> device_add_impl(machine_config &mconfig, Tag &&tag, Creator &&type, Params &&... args) +{ + return &type(mconfig, std::forward(tag), std::forward(args)...); +} +template +inline std::enable_if_t::exposed_type>::value, device_t *> device_add_impl(machine_config &mconfig, Tag &&tag, Creator &&type, Params &&... args) +{ + return &type(mconfig, std::forward(tag), std::forward(args)...).device(); +} + +} } // namespace emu::detail + + //*************************************************************************/ /** @name Machine config start/end macros */ //*************************************************************************/ @@ -169,8 +209,8 @@ Ends a machine_config. config.m_default_layout = &(_layout); // add/remove devices -#define MCFG_DEVICE_ADD(_tag, _type, _clock) \ - device = config.device_add(_tag, _type, _clock); +#define MCFG_DEVICE_ADD(_tag, ...) \ + device = emu::detail::device_add_impl(config, _tag, __VA_ARGS__); #define MCFG_DEVICE_REPLACE(_tag, _type, _clock) \ device = config.device_replace(_tag, _type, _clock); #define MCFG_DEVICE_REMOVE(_tag) \ diff --git a/src/emu/speaker.h b/src/emu/speaker.h index 4665dbdf2e8..2280b883250 100644 --- a/src/emu/speaker.h +++ b/src/emu/speaker.h @@ -53,7 +53,10 @@ public: virtual ~speaker_device(); // inline configuration helpers - void set_position(double x, double y, double z) { m_x = x; m_y = y; m_z = z; } + speaker_device &set_position(double x, double y, double z) { m_x = x; m_y = y; m_z = z; return *this; } + speaker_device &standard_mono() { set_position(0.0, 0.0, 1.0); return *this; } + speaker_device &standard_left() { set_position(-0.2, 0.0, 1.0); return *this; } + speaker_device &standard_right() { set_position(0.2, 0.0, 1.0); return *this; } // internally for use by the sound system void mix(s32 *leftmix, s32 *rightmix, int &samples_this_update, bool suppress); @@ -80,4 +83,4 @@ protected: typedef device_type_iterator speaker_device_iterator; -#endif /* MAME_EMU_SPEAKER_H */ +#endif // MAME_EMU_SPEAKER_H diff --git a/src/emu/validity.cpp b/src/emu/validity.cpp index 456cd5656b0..c5213ec8c96 100644 --- a/src/emu/validity.cpp +++ b/src/emu/validity.cpp @@ -1988,7 +1988,8 @@ void validity_checker::validate_devices() { if (subslot.fixed()) { - device_slot_option const *const suboption = subslot.option(subslot.default_option()); + // TODO: make this self-contained so it can apply itself + device_slot_interface::slot_option const *suboption = subslot.option(subslot.default_option()); if (suboption) { machine_config::token const tok(m_current_config->begin_configuration(subslot.device())); diff --git a/src/frontend/mame/clifront.cpp b/src/frontend/mame/clifront.cpp index 937d07b5ab6..a5f186dec7f 100644 --- a/src/frontend/mame/clifront.cpp +++ b/src/frontend/mame/clifront.cpp @@ -860,13 +860,13 @@ void cli_frontend::listslots(const std::vector &args) if (slot.fixed()) continue; // build a list of user-selectable options - std::vector option_list; + std::vector option_list; for (auto &option : slot.option_list()) if (option.second->selectable()) option_list.push_back(option.second.get()); // sort them by name - std::sort(option_list.begin(), option_list.end(), [](device_slot_option *opt1, device_slot_option *opt2) { + std::sort(option_list.begin(), option_list.end(), [](device_slot_interface::slot_option const *opt1, device_slot_interface::slot_option const *opt2) { return strcmp(opt1->name(), opt2->name()) < 0; }); @@ -877,7 +877,7 @@ void cli_frontend::listslots(const std::vector &args) bool first_option = true; // get the options and print them - for (device_slot_option *opt : option_list) + for (device_slot_interface::slot_option const *opt : option_list) { if (first_option) printf("%-16s %s\n", opt->name(), opt->devtype().fullname()); diff --git a/src/frontend/mame/ui/devopt.cpp b/src/frontend/mame/ui/devopt.cpp index c546a4548a7..ac9a721e455 100644 --- a/src/frontend/mame/ui/devopt.cpp +++ b/src/frontend/mame/ui/devopt.cpp @@ -19,7 +19,7 @@ namespace ui { menu -------------------------------------------------*/ -menu_device_config::menu_device_config(mame_ui_manager &mui, render_container &container, device_slot_interface *slot, device_slot_option *option) : menu(mui, container) +menu_device_config::menu_device_config(mame_ui_manager &mui, render_container &container, device_slot_interface *slot, device_slot_interface::slot_option const *option) : menu(mui, container) { m_option = option; m_owner = slot; diff --git a/src/frontend/mame/ui/devopt.h b/src/frontend/mame/ui/devopt.h index 1bd3fafb627..2bb4e24c6c0 100644 --- a/src/frontend/mame/ui/devopt.h +++ b/src/frontend/mame/ui/devopt.h @@ -19,7 +19,7 @@ namespace ui { class menu_device_config : public menu { public: - menu_device_config(mame_ui_manager &mui, render_container &container, device_slot_interface *slot, device_slot_option *option); + menu_device_config(mame_ui_manager &mui, render_container &container, device_slot_interface *slot, device_slot_interface::slot_option const *option); virtual ~menu_device_config() override; private: @@ -27,7 +27,7 @@ private: virtual void handle() override; device_slot_interface *m_owner; - device_slot_option *m_option; + device_slot_interface::slot_option const *m_option; bool m_mounted; }; diff --git a/src/frontend/mame/ui/slotopt.cpp b/src/frontend/mame/ui/slotopt.cpp index d61246a7661..b41e7f4c935 100644 --- a/src/frontend/mame/ui/slotopt.cpp +++ b/src/frontend/mame/ui/slotopt.cpp @@ -61,7 +61,7 @@ menu_slot_devices::~menu_slot_devices() // slot option //------------------------------------------------- -device_slot_option *menu_slot_devices::get_current_option(device_slot_interface &slot) const +device_slot_interface::slot_option const *menu_slot_devices::get_current_option(device_slot_interface &slot) const { std::string current; @@ -184,7 +184,7 @@ void menu_slot_devices::populate(float &customtop, float &custombottom) // name this option std::string opt_name(DIVIDER); - const device_slot_option *option = get_current_option(slot); + device_slot_interface::slot_option const *option = get_current_option(slot); if (option) { opt_name = has_selectable_options @@ -216,7 +216,7 @@ void menu_slot_devices::custom_render(void *selectedref, float top, float bottom if (selectedref && (ITEMREF_RESET != selectedref)) { device_slot_interface *const slot(reinterpret_cast(selectedref)); - device_slot_option const *const option(get_current_option(*slot)); + device_slot_interface::slot_option const *const option(get_current_option(*slot)); char const *const text[] = { option ? option->devtype().fullname() : _("[empty slot]") }; draw_text_box( std::begin(text), std::end(text), @@ -251,7 +251,7 @@ void menu_slot_devices::handle() else if (menu_event->iptkey == IPT_UI_SELECT) { device_slot_interface *slot = (device_slot_interface *)menu_event->itemref; - device_slot_option *option = get_current_option(*slot); + device_slot_interface::slot_option const *const option = get_current_option(*slot); if (option) menu::stack_push(ui(), container(), slot, option); } @@ -268,7 +268,7 @@ void menu_slot_devices::rotate_slot_device(device_slot_interface &slot, menu_slo // first, we need to make sure our cache of options is up to date if (m_current_option_list_slot_tag != slot.device().tag()) { - device_slot_option *current = get_current_option(slot); + device_slot_interface::slot_option const *current = get_current_option(slot); // build the option list, including the blank option m_current_option_list.clear(); diff --git a/src/frontend/mame/ui/slotopt.h b/src/frontend/mame/ui/slotopt.h index 1a4421520d4..703b9b16f23 100644 --- a/src/frontend/mame/ui/slotopt.h +++ b/src/frontend/mame/ui/slotopt.h @@ -34,7 +34,7 @@ private: virtual void custom_render(void *selectedref, float top, float bottom, float origx1, float origy1, float origx2, float origy2) override; virtual void handle() override; - device_slot_option *get_current_option(device_slot_interface &slot) const; + device_slot_interface::slot_option const *get_current_option(device_slot_interface &slot) const; void set_slot_device(device_slot_interface &slot, const char *val); void record_current_options(); bool try_refresh_current_options(); diff --git a/src/mame/audio/alesis.cpp b/src/mame/audio/alesis.cpp index e677c3b8ebe..382b862ef8d 100644 --- a/src/mame/audio/alesis.cpp +++ b/src/mame/audio/alesis.cpp @@ -46,7 +46,7 @@ MACHINE_CONFIG_START(alesis_dm3ag_device::device_add_mconfig) MCFG_SPEAKER_STANDARD_STEREO("lspeaker2", "rspeaker2") MCFG_SOUND_ADD("dac", PCM54HP, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker1", 1.0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker1", 1.0) // PCM54HP DAC + R63/R73-75 + Sample and hold MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END //------------------------------------------------- diff --git a/src/mame/audio/bwidow.cpp b/src/mame/audio/bwidow.cpp index 4d0a656d410..c89662edba0 100644 --- a/src/mame/audio/bwidow.cpp +++ b/src/mame/audio/bwidow.cpp @@ -155,12 +155,12 @@ MACHINE_CONFIG_START(bwidow_state::bwidow_audio) MCFG_SOUND_ADD("pokey1", POKEY, MASTER_CLOCK / 8) /* C/D3 */ MCFG_POKEY_ALLPOT_R_CB(IOPORT("DSW0")) MCFG_POKEY_OUTPUT_OPAMP(BW_R51, BW_C31, 5.0) - MCFG_SOUND_ROUTE_EX(0, "discrete", 1.0, 0) + MCFG_SOUND_ROUTE(0, "discrete", 1.0, 0) MCFG_SOUND_ADD("pokey2", POKEY, MASTER_CLOCK / 8) /* B3 */ MCFG_POKEY_ALLPOT_R_CB(IOPORT("DSW1")) MCFG_POKEY_OUTPUT_OPAMP(BW_R47, BW_C32, 5.0) - MCFG_SOUND_ROUTE_EX(0, "discrete", 1.0, 1) + MCFG_SOUND_ROUTE(0, "discrete", 1.0, 1) MCFG_SOUND_ADD("discrete", DISCRETE, 0) MCFG_DISCRETE_INTF(bwidow) diff --git a/src/mame/audio/bzone.cpp b/src/mame/audio/bzone.cpp index fd363bef5f9..247c0cb8a31 100644 --- a/src/mame/audio/bzone.cpp +++ b/src/mame/audio/bzone.cpp @@ -404,7 +404,7 @@ MACHINE_CONFIG_START(bzone_state::bzone_audio) MCFG_SOUND_ADD("pokey", POKEY, BZONE_MASTER_CLOCK / 8) MCFG_POKEY_ALLPOT_R_CB(IOPORT("IN3")) MCFG_POKEY_OUTPUT_RC(RES_K(10), CAP_U(0.015), 5.0) - MCFG_SOUND_ROUTE_EX(0, "discrete", 1.0, 0) + MCFG_SOUND_ROUTE(0, "discrete", 1.0, 0) MCFG_SOUND_ADD("discrete", DISCRETE, 0) MCFG_DISCRETE_INTF(bzone) diff --git a/src/mame/audio/csd.cpp b/src/mame/audio/csd.cpp index e8590eb74d9..5d76e5f772e 100644 --- a/src/mame/audio/csd.cpp +++ b/src/mame/audio/csd.cpp @@ -48,7 +48,7 @@ MACHINE_CONFIG_START(midway_cheap_squeak_deluxe_device::device_add_mconfig) MCFG_SOUND_ADD("dac", AD7533, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, *this, 1.0) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END //------------------------------------------------- diff --git a/src/mame/audio/gottlieb.cpp b/src/mame/audio/gottlieb.cpp index 52016e051d2..36960cce059 100644 --- a/src/mame/audio/gottlieb.cpp +++ b/src/mame/audio/gottlieb.cpp @@ -122,7 +122,7 @@ MACHINE_CONFIG_START(gottlieb_sound_r0_device::device_add_mconfig) // sound devices MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, *this, 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END @@ -322,7 +322,7 @@ MACHINE_CONFIG_START(gottlieb_sound_r1_device::device_add_mconfig) // sound devices MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, *this, 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END @@ -668,9 +668,9 @@ MACHINE_CONFIG_START(gottlieb_sound_r2_device::device_add_mconfig) // sound hardware MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, *this, 0.075) // unknown DAC MCFG_SOUND_ADD("dacvol", DAC_8BIT_R2R, 0) // unknown DAC - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dacvol", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dacvol", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ADD("ay1", AY8913, SOUND2_CLOCK/2) MCFG_SOUND_ROUTE(ALL_OUTPUTS, *this, 0.15) diff --git a/src/mame/audio/harddriv.cpp b/src/mame/audio/harddriv.cpp index 47bef45ab5b..c04d1454067 100644 --- a/src/mame/audio/harddriv.cpp +++ b/src/mame/audio/harddriv.cpp @@ -457,5 +457,5 @@ MACHINE_CONFIG_START(harddriv_sound_board_device::device_add_mconfig) MCFG_SOUND_ADD("dac", AM6012, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // ls374d.75e + ls374d.90e + am6012 MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/audio/irem.cpp b/src/mame/audio/irem.cpp index 556ff0f1e63..ddd2c1acddc 100644 --- a/src/mame/audio/irem.cpp +++ b/src/mame/audio/irem.cpp @@ -419,27 +419,27 @@ MACHINE_CONFIG_START(m62_audio_device::device_add_mconfig) MCFG_AY8910_RES_LOADS(2000.0, 2000.0, 2000.0) MCFG_AY8910_PORT_A_READ_CB(READ8(irem_audio_device, soundlatch_r)) MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(irem_audio_device, ay8910_45M_portb_w)) - MCFG_SOUND_ROUTE_EX(0, "snd_nl", 1.0, 0) - MCFG_SOUND_ROUTE_EX(1, "snd_nl", 1.0, 1) - MCFG_SOUND_ROUTE_EX(2, "snd_nl", 1.0, 2) + MCFG_SOUND_ROUTE(0, "snd_nl", 1.0, 0) + MCFG_SOUND_ROUTE(1, "snd_nl", 1.0, 1) + MCFG_SOUND_ROUTE(2, "snd_nl", 1.0, 2) MCFG_SOUND_ADD("ay_45l", AY8910, XTAL(3'579'545)/4) /* verified on pcb */ MCFG_AY8910_OUTPUT_TYPE(AY8910_RESISTOR_OUTPUT) MCFG_AY8910_RES_LOADS(2000.0, 2000.0, 2000.0) MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(irem_audio_device, ay8910_45L_porta_w)) - MCFG_SOUND_ROUTE_EX(0, "snd_nl", 1.0, 3) - MCFG_SOUND_ROUTE_EX(1, "snd_nl", 1.0, 4) - MCFG_SOUND_ROUTE_EX(2, "snd_nl", 1.0, 5) + MCFG_SOUND_ROUTE(0, "snd_nl", 1.0, 3) + MCFG_SOUND_ROUTE(1, "snd_nl", 1.0, 4) + MCFG_SOUND_ROUTE(2, "snd_nl", 1.0, 5) MCFG_SOUND_ADD("msm1", MSM5205, XTAL(384'000)) /* verified on pcb */ MCFG_MSM5205_VCK_CALLBACK(INPUTLINE("iremsound", INPUT_LINE_NMI)) // driven through NPN inverter MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("msm2", msm5205_device, vclk_w)) // the first MSM5205 clocks the second MCFG_MSM5205_PRESCALER_SELECTOR(S96_4B) /* default to 4KHz, but can be changed at run time */ - MCFG_SOUND_ROUTE_EX(0, "snd_nl", 1.0, 6) + MCFG_SOUND_ROUTE(0, "snd_nl", 1.0, 6) MCFG_SOUND_ADD("msm2", MSM5205, XTAL(384'000)) /* verified on pcb */ MCFG_MSM5205_PRESCALER_SELECTOR(SEX_4B) /* default to 4KHz, but can be changed at run time, slave */ - MCFG_SOUND_ROUTE_EX(0, "snd_nl", 1.0, 7) + MCFG_SOUND_ROUTE(0, "snd_nl", 1.0, 7) /* NETLIST configuration using internal AY8910 resistor values */ @@ -489,18 +489,18 @@ MACHINE_CONFIG_START(m52_soundc_audio_device::device_add_mconfig) MCFG_AY8910_RES_LOADS(470, 0, 0) MCFG_AY8910_PORT_A_READ_CB(READ8(irem_audio_device, soundlatch_r)) MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(irem_audio_device, ay8910_45M_portb_w)) - MCFG_SOUND_ROUTE_EX(0, "filtermix", 1.0, 0) + MCFG_SOUND_ROUTE(0, "filtermix", 1.0, 0) MCFG_SOUND_ADD("ay_45l", AY8910, XTAL(3'579'545)/4) /* verified on pcb */ MCFG_AY8910_OUTPUT_TYPE(AY8910_SINGLE_OUTPUT | AY8910_DISCRETE_OUTPUT) MCFG_AY8910_RES_LOADS(470, 0, 0) MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(irem_audio_device, ay8910_45L_porta_w)) - MCFG_SOUND_ROUTE_EX(0, "filtermix", 1.0, 1) + MCFG_SOUND_ROUTE(0, "filtermix", 1.0, 1) MCFG_SOUND_ADD("msm1", MSM5205, XTAL(384'000)) /* verified on pcb */ MCFG_MSM5205_VCK_CALLBACK(INPUTLINE("iremsound", INPUT_LINE_NMI)) // driven through NPN inverter MCFG_MSM5205_PRESCALER_SELECTOR(S96_4B) /* default to 4KHz, but can be changed at run time */ - MCFG_SOUND_ROUTE_EX(0, "filtermix", 1.0, 2) + MCFG_SOUND_ROUTE(0, "filtermix", 1.0, 2) MCFG_SOUND_ADD("filtermix", DISCRETE, 0) MCFG_DISCRETE_INTF(m52_sound_c) diff --git a/src/mame/audio/leland.cpp b/src/mame/audio/leland.cpp index 4468347039c..0e6ea63c723 100644 --- a/src/mame/audio/leland.cpp +++ b/src/mame/audio/leland.cpp @@ -142,20 +142,20 @@ MACHINE_CONFIG_START(leland_80186_sound_device::device_add_mconfig) MCFG_SOUND_ADD("dac5", AD7524, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.2) // 74hc374.u35 + ad7524.u50 MCFG_SOUND_ADD("dac6", AD7524, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.2) // 74hc374.u36 + ad7524.u51 MCFG_SOUND_ADD("dac9", AD7533, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) // ad7533.u64 - MCFG_SOUND_ADD("dac1vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) // 74hc374.u17 + r2-r9 (24k,12k,6.2k,3k,1.5k,750,360,160) - MCFG_SOUND_ADD("dac2vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) // 74hc374.u18 + r12-r19 (24k,12k,6.2k,3k,1.5k,750,360,160) - MCFG_SOUND_ADD("dac3vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE_EX(0, "dac3", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac3", -1.0, DAC_VREF_NEG_INPUT) // 74hc374.u19 + r22-r29 (24k,12k,6.2k,3k,1.5k,750,360,160) - MCFG_SOUND_ADD("dac4vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE_EX(0, "dac4", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac4", -1.0, DAC_VREF_NEG_INPUT) // 74hc374.u20 + r32-r39 (24k,12k,6.2k,3k,1.5k,750,360,160) - MCFG_SOUND_ADD("dac5vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE_EX(0, "dac5", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac5", -1.0, DAC_VREF_NEG_INPUT) // 74hc374.u21 + r42-r49 (24k,12k,6.2k,3k,1.5k,750,360,160) - MCFG_SOUND_ADD("dac6vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE_EX(0, "dac6", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac6", -1.0, DAC_VREF_NEG_INPUT) // 74hc374.u22 + r52-r59 (24k,12k,6.2k,3k,1.5k,750,360,160) + MCFG_SOUND_ADD("dac1vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) // 74hc374.u17 + r2-r9 (24k,12k,6.2k,3k,1.5k,750,360,160) + MCFG_SOUND_ADD("dac2vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) // 74hc374.u18 + r12-r19 (24k,12k,6.2k,3k,1.5k,750,360,160) + MCFG_SOUND_ADD("dac3vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(0, "dac3", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac3", -1.0, DAC_VREF_NEG_INPUT) // 74hc374.u19 + r22-r29 (24k,12k,6.2k,3k,1.5k,750,360,160) + MCFG_SOUND_ADD("dac4vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(0, "dac4", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac4", -1.0, DAC_VREF_NEG_INPUT) // 74hc374.u20 + r32-r39 (24k,12k,6.2k,3k,1.5k,750,360,160) + MCFG_SOUND_ADD("dac5vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(0, "dac5", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac5", -1.0, DAC_VREF_NEG_INPUT) // 74hc374.u21 + r42-r49 (24k,12k,6.2k,3k,1.5k,750,360,160) + MCFG_SOUND_ADD("dac6vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(0, "dac6", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac6", -1.0, DAC_VREF_NEG_INPUT) // 74hc374.u22 + r52-r59 (24k,12k,6.2k,3k,1.5k,750,360,160) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac1vol", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac2vol", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac3vol", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac4vol", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac5vol", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac6vol", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac9", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac9", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac1vol", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac2vol", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac3vol", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac4vol", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac5vol", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac6vol", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac9", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac9", -1.0, DAC_VREF_NEG_INPUT) MCFG_DEVICE_ADD("pit0", PIT8254, 0) MCFG_PIT8253_CLK0(4000000) @@ -184,23 +184,23 @@ MACHINE_CONFIG_START(redline_80186_sound_device::device_add_mconfig) MCFG_SOUND_ADD("dac6", AD7524, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.2) // unknown DAC MCFG_SOUND_ADD("dac7", AD7524, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.2) // unknown DAC MCFG_SOUND_ADD("dac8", AD7524, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.2) // unknown DAC - MCFG_SOUND_ADD("dac1vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC - MCFG_SOUND_ADD("dac2vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC - MCFG_SOUND_ADD("dac3vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE_EX(0, "dac3", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac3", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC - MCFG_SOUND_ADD("dac4vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE_EX(0, "dac4", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac4", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC - MCFG_SOUND_ADD("dac5vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE_EX(0, "dac5", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac5", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC - MCFG_SOUND_ADD("dac6vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE_EX(0, "dac6", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac6", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC - MCFG_SOUND_ADD("dac7vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE_EX(0, "dac7", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac7", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC - MCFG_SOUND_ADD("dac8vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE_EX(0, "dac8", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac8", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC + MCFG_SOUND_ADD("dac1vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC + MCFG_SOUND_ADD("dac2vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC + MCFG_SOUND_ADD("dac3vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(0, "dac3", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac3", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC + MCFG_SOUND_ADD("dac4vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(0, "dac4", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac4", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC + MCFG_SOUND_ADD("dac5vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(0, "dac5", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac5", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC + MCFG_SOUND_ADD("dac6vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(0, "dac6", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac6", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC + MCFG_SOUND_ADD("dac7vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(0, "dac7", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac7", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC + MCFG_SOUND_ADD("dac8vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(0, "dac8", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac8", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac1vol", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac2vol", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac3vol", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac4vol", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac5vol", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac6vol", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac7vol", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac8vol", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac1vol", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac2vol", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac3vol", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac4vol", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac5vol", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac6vol", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac7vol", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac8vol", 1.0, DAC_VREF_POS_INPUT) MCFG_DEVICE_ADD("pit0", PIT8254, 0) MCFG_PIT8253_CLK0(7000000) @@ -231,16 +231,16 @@ MACHINE_CONFIG_START(ataxx_80186_sound_device::device_add_mconfig) MCFG_SOUND_ADD("dac3", AD7524, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.2) // unknown DAC MCFG_SOUND_ADD("dac4", AD7524, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.2) // unknown DAC MCFG_SOUND_ADD("dac9", AD7533, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) // unknown DAC - MCFG_SOUND_ADD("dac1vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC - MCFG_SOUND_ADD("dac2vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC - MCFG_SOUND_ADD("dac3vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE_EX(0, "dac3", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac3", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC - MCFG_SOUND_ADD("dac4vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE_EX(0, "dac4", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac4", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC + MCFG_SOUND_ADD("dac1vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC + MCFG_SOUND_ADD("dac2vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC + MCFG_SOUND_ADD("dac3vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(0, "dac3", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac3", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC + MCFG_SOUND_ADD("dac4vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(0, "dac4", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac4", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac1vol", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac2vol", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac3vol", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac4vol", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac9", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac9", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac1vol", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac2vol", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac3vol", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac4vol", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac9", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac9", -1.0, DAC_VREF_NEG_INPUT) MCFG_DEVICE_ADD("pit0", PIT8254, 0) MCFG_PIT8253_CLK0(4000000) @@ -258,16 +258,16 @@ MACHINE_CONFIG_START(wsf_80186_sound_device::device_add_mconfig) MCFG_SOUND_ADD("dac3", AD7524, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.2) // unknown DAC MCFG_SOUND_ADD("dac4", AD7524, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.2) // unknown DAC MCFG_SOUND_ADD("dac9", AD7533, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) // unknown DAC - MCFG_SOUND_ADD("dac1vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC - MCFG_SOUND_ADD("dac2vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC - MCFG_SOUND_ADD("dac3vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE_EX(0, "dac3", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac3", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC - MCFG_SOUND_ADD("dac4vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE_EX(0, "dac4", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac4", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC + MCFG_SOUND_ADD("dac1vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC + MCFG_SOUND_ADD("dac2vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC + MCFG_SOUND_ADD("dac3vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(0, "dac3", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac3", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC + MCFG_SOUND_ADD("dac4vol", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(0, "dac4", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac4", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac1vol", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac2vol", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac3vol", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac4vol", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac9", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac9", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac1vol", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac2vol", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac3vol", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac4vol", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac9", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac9", -1.0, DAC_VREF_NEG_INPUT) /* sound hardware */ MCFG_YM2151_ADD("ymsnd", 4000000) diff --git a/src/mame/audio/midway.cpp b/src/mame/audio/midway.cpp index 66f7a5d379b..3a6b2e461d7 100644 --- a/src/mame/audio/midway.cpp +++ b/src/mame/audio/midway.cpp @@ -601,7 +601,7 @@ MACHINE_CONFIG_START(midway_sounds_good_device::device_add_mconfig) MCFG_SOUND_ADD("dac", AD7533, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, *this, 1.0) /// ad7533jn.u10 MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END @@ -756,7 +756,7 @@ MACHINE_CONFIG_START(midway_turbo_cheap_squeak_device::device_add_mconfig) MCFG_SOUND_ADD("dac", AD7533, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, *this, 1.0) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/audio/n8080.cpp b/src/mame/audio/n8080.cpp index 46498a226cd..8fc7e54fa0a 100644 --- a/src/mame/audio/n8080.cpp +++ b/src/mame/audio/n8080.cpp @@ -493,7 +493,7 @@ MACHINE_CONFIG_START(n8080_state::spacefev_sound) MCFG_SOUND_ADD("n8080_dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.15) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "n8080_dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "n8080_dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ADD("snsnd", SN76477, 0) MCFG_SN76477_NOISE_PARAMS(RES_K(36), RES_K(150), CAP_N(1)) // noise + filter @@ -531,7 +531,7 @@ MACHINE_CONFIG_START(n8080_state::sheriff_sound) MCFG_SOUND_ADD("n8080_dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.15) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "n8080_dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "n8080_dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ADD("snsnd", SN76477, 0) MCFG_SN76477_NOISE_PARAMS(RES_K(36), RES_K(100), CAP_N(1)) // noise + filter @@ -572,5 +572,5 @@ MACHINE_CONFIG_START(n8080_state::helifire_sound) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("helifire_dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.15) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "helifire_dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "helifire_dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "helifire_dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "helifire_dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/audio/nichisnd.cpp b/src/mame/audio/nichisnd.cpp index 92878424693..a7b728db8f1 100644 --- a/src/mame/audio/nichisnd.cpp +++ b/src/mame/audio/nichisnd.cpp @@ -101,8 +101,8 @@ MACHINE_CONFIG_START(nichisnd_device::device_add_mconfig) MCFG_SOUND_ADD("dac1", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.37) // unknown DAC MCFG_SOUND_ADD("dac2", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.37) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/audio/s11c_bg.cpp b/src/mame/audio/s11c_bg.cpp index 52f5c62e6aa..6896485d8fd 100644 --- a/src/mame/audio/s11c_bg.cpp +++ b/src/mame/audio/s11c_bg.cpp @@ -68,7 +68,7 @@ MACHINE_CONFIG_START(s11c_bg_device::device_add_mconfig) MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, *this, 0.25) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_SOUND_ADD("hc55516_bg", HC55516, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, *this, 0.5) diff --git a/src/mame/audio/segag80r.cpp b/src/mame/audio/segag80r.cpp index f32e5f5bc94..cc36d35b327 100644 --- a/src/mame/audio/segag80r.cpp +++ b/src/mame/audio/segag80r.cpp @@ -710,7 +710,7 @@ MACHINE_CONFIG_START(segag80r_state::monsterb_sound_board) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // 50K (R91-97)/100K (R98-106) ladder network MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/audio/spacefb.cpp b/src/mame/audio/spacefb.cpp index 31ea51d8d14..157c5ba3438 100644 --- a/src/mame/audio/spacefb.cpp +++ b/src/mame/audio/spacefb.cpp @@ -81,7 +81,7 @@ MACHINE_CONFIG_START(spacefb_state::spacefb_audio) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_SOUND_ADD("samples", SAMPLES, 0) MCFG_SAMPLES_CHANNELS(3) diff --git a/src/mame/audio/taito_en.cpp b/src/mame/audio/taito_en.cpp index 8dcb483f5d7..49c7b9d487f 100644 --- a/src/mame/audio/taito_en.cpp +++ b/src/mame/audio/taito_en.cpp @@ -226,12 +226,12 @@ MACHINE_CONFIG_START(taito_en_device::device_add_mconfig) MCFG_ES5505_REGION0("ensoniq.0") MCFG_ES5505_REGION1("ensoniq.0") MCFG_ES5505_CHANNELS(4) - MCFG_SOUND_ROUTE_EX(0, "pump", 1.0, 0) - MCFG_SOUND_ROUTE_EX(1, "pump", 1.0, 1) - MCFG_SOUND_ROUTE_EX(2, "pump", 1.0, 2) - MCFG_SOUND_ROUTE_EX(3, "pump", 1.0, 3) - MCFG_SOUND_ROUTE_EX(4, "pump", 1.0, 4) - MCFG_SOUND_ROUTE_EX(5, "pump", 1.0, 5) - MCFG_SOUND_ROUTE_EX(6, "pump", 1.0, 6) - MCFG_SOUND_ROUTE_EX(7, "pump", 1.0, 7) + MCFG_SOUND_ROUTE(0, "pump", 1.0, 0) + MCFG_SOUND_ROUTE(1, "pump", 1.0, 1) + MCFG_SOUND_ROUTE(2, "pump", 1.0, 2) + MCFG_SOUND_ROUTE(3, "pump", 1.0, 3) + MCFG_SOUND_ROUTE(4, "pump", 1.0, 4) + MCFG_SOUND_ROUTE(5, "pump", 1.0, 5) + MCFG_SOUND_ROUTE(6, "pump", 1.0, 6) + MCFG_SOUND_ROUTE(7, "pump", 1.0, 7) MACHINE_CONFIG_END diff --git a/src/mame/audio/targ.cpp b/src/mame/audio/targ.cpp index ceaca255005..d8d028c9ab8 100644 --- a/src/mame/audio/targ.cpp +++ b/src/mame/audio/targ.cpp @@ -187,7 +187,7 @@ MACHINE_CONFIG_START(exidy_state::spectar_audio) MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.99) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MACHINE_CONFIG_END @@ -203,5 +203,5 @@ MACHINE_CONFIG_START(exidy_state::targ_audio) MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.99) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/audio/vboy.cpp b/src/mame/audio/vboy.cpp index 38755b9208e..6a32b4f7305 100644 --- a/src/mame/audio/vboy.cpp +++ b/src/mame/audio/vboy.cpp @@ -191,6 +191,9 @@ static inline void mputb(uint8_t *ptr, int8_t data) { *ptr = data; } // LIVE DEVICE //************************************************************************** +constexpr unsigned vboysnd_device::AUDIO_FREQ; + + //------------------------------------------------- // vboysnd_device - constructor //------------------------------------------------- diff --git a/src/mame/audio/vboy.h b/src/mame/audio/vboy.h index 72793b66404..0414370bf77 100644 --- a/src/mame/audio/vboy.h +++ b/src/mame/audio/vboy.h @@ -12,16 +12,6 @@ #pragma once -//************************************************************************** -// INTERFACE CONFIGURATION MACROS -//************************************************************************** - -#define MCFG_VBOYSND_ADD(_tag) \ - MCFG_DEVICE_ADD(_tag, VBOYSND, vboysnd_device::AUDIO_FREQ) - -#define MCFG_VBOYSND_REPLACE(_tag) \ - MCFG_DEVICE_REPLACE(_tag, VBOYSND, vboysnd_device::AUDIO_FREQ) - //************************************************************************** // TYPE DEFINITIONS //************************************************************************** @@ -34,7 +24,7 @@ public: static constexpr unsigned AUDIO_FREQ = 44100; // construction/destruction - vboysnd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + vboysnd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = AUDIO_FREQ); DECLARE_READ8_MEMBER(read); DECLARE_WRITE8_MEMBER(write); diff --git a/src/mame/audio/williams.cpp b/src/mame/audio/williams.cpp index 383b4936e01..515aad3e31a 100644 --- a/src/mame/audio/williams.cpp +++ b/src/mame/audio/williams.cpp @@ -191,7 +191,7 @@ MACHINE_CONFIG_START(williams_cvsd_sound_device::device_add_mconfig) MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, *this, 0.25) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_SOUND_ADD("cvsd", HC55516, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, *this, 0.60) @@ -509,8 +509,8 @@ MACHINE_CONFIG_START(williams_narc_sound_device::device_add_mconfig) MCFG_SOUND_ADD("dac1", AD7224, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, *this, 0.25) MCFG_SOUND_ADD("dac2", AD7224, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, *this, 0.25) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) MCFG_SOUND_ADD("cvsd", HC55516, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, *this, 0.60) @@ -760,7 +760,7 @@ MACHINE_CONFIG_START(williams_adpcm_sound_device::device_add_mconfig) MCFG_SOUND_ADD("dac", AD7524, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, *this, 0.10) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_OKIM6295_ADD("oki", ADPCM_MASTER_CLOCK/8, PIN7_HIGH) // clock frequency & pin 7 not verified MCFG_DEVICE_ADDRESS_MAP(0, williams_adpcm_oki_map) diff --git a/src/mame/audio/wpcsnd.cpp b/src/mame/audio/wpcsnd.cpp index a923bd2037e..e0b0521cede 100644 --- a/src/mame/audio/wpcsnd.cpp +++ b/src/mame/audio/wpcsnd.cpp @@ -78,7 +78,7 @@ MACHINE_CONFIG_START(wpcsnd_device::device_add_mconfig) MCFG_SOUND_ADD("dac", AD7524, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, *this, 0.25) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_SOUND_ADD("hc55516", HC55516, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, *this, 0.5) diff --git a/src/mame/audio/zaccaria.cpp b/src/mame/audio/zaccaria.cpp index 01d8eb609c8..d5eeef78820 100644 --- a/src/mame/audio/zaccaria.cpp +++ b/src/mame/audio/zaccaria.cpp @@ -412,16 +412,16 @@ MACHINE_CONFIG_START(zac1b11142_audio_device::device_add_mconfig) MCFG_DEVICE_MODIFY("melodypsg1") MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(zac1b11142_audio_device, ay_4g_porta_w)) - MCFG_SOUND_ROUTE_EX(0, "sound_nl", 1.0, 0) - MCFG_SOUND_ROUTE_EX(1, "sound_nl", 1.0, 1) - MCFG_SOUND_ROUTE_EX(2, "sound_nl", 1.0, 2) + MCFG_SOUND_ROUTE(0, "sound_nl", 1.0, 0) + MCFG_SOUND_ROUTE(1, "sound_nl", 1.0, 1) + MCFG_SOUND_ROUTE(2, "sound_nl", 1.0, 2) MCFG_DEVICE_MODIFY("melodypsg2") MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(zac1b11142_audio_device, ay_4h_porta_w)) MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(zac1b11142_audio_device, ay_4h_portb_w)) - MCFG_SOUND_ROUTE_EX(0, "sound_nl", 1.0, 3) - MCFG_SOUND_ROUTE_EX(1, "sound_nl", 1.0, 4) - MCFG_SOUND_ROUTE_EX(2, "sound_nl", 1.0, 5) + MCFG_SOUND_ROUTE(0, "sound_nl", 1.0, 3) + MCFG_SOUND_ROUTE(1, "sound_nl", 1.0, 4) + MCFG_SOUND_ROUTE(2, "sound_nl", 1.0, 5) MCFG_CPU_ADD("audiocpu", M6802, XTAL(3'579'545)) // verified on pcb MCFG_CPU_PROGRAM_MAP(zac1b11142_audio_map) @@ -433,7 +433,7 @@ MACHINE_CONFIG_START(zac1b11142_audio_device::device_add_mconfig) MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_MIXER_ROUTE(ALL_OUTPUTS, *this, 0.40, 0) // mc1408.1f MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) // There is no xtal, the clock is obtained from a RC oscillator as shown in the TMS5220 datasheet (R=100kOhm C=22pF) // 162kHz measured on pin 3 20 minutes after power on, clock would then be 162.3*4=649.2kHz diff --git a/src/mame/drivers/1942.cpp b/src/mame/drivers/1942.cpp index 3834ae340bb..0906b49e065 100644 --- a/src/mame/drivers/1942.cpp +++ b/src/mame/drivers/1942.cpp @@ -595,17 +595,17 @@ MACHINE_CONFIG_START(_1942_state::_1942) MCFG_AY8910_OUTPUT_TYPE(AY8910_RESISTOR_OUTPUT) MCFG_AY8910_RES_LOADS(10000.0, 10000.0, 10000.0) - MCFG_SOUND_ROUTE_EX(0, "snd_nl", 1.0, 0) - MCFG_SOUND_ROUTE_EX(1, "snd_nl", 1.0, 1) - MCFG_SOUND_ROUTE_EX(2, "snd_nl", 1.0, 2) + MCFG_SOUND_ROUTE(0, "snd_nl", 1.0, 0) + MCFG_SOUND_ROUTE(1, "snd_nl", 1.0, 1) + MCFG_SOUND_ROUTE(2, "snd_nl", 1.0, 2) MCFG_SOUND_ADD("ay2", AY8910, AUDIO_CLOCK) /* 1.5 MHz */ MCFG_AY8910_OUTPUT_TYPE(AY8910_RESISTOR_OUTPUT) MCFG_AY8910_RES_LOADS(10000.0, 10000.0, 10000.0) - MCFG_SOUND_ROUTE_EX(0, "snd_nl", 1.0, 3) - MCFG_SOUND_ROUTE_EX(1, "snd_nl", 1.0, 4) - MCFG_SOUND_ROUTE_EX(2, "snd_nl", 1.0, 5) + MCFG_SOUND_ROUTE(0, "snd_nl", 1.0, 3) + MCFG_SOUND_ROUTE(1, "snd_nl", 1.0, 4) + MCFG_SOUND_ROUTE(2, "snd_nl", 1.0, 5) /* NETLIST configuration using internal AY8910 resistor values */ diff --git a/src/mame/drivers/20pacgal.cpp b/src/mame/drivers/20pacgal.cpp index dfed3dd3101..e3618cd5226 100644 --- a/src/mame/drivers/20pacgal.cpp +++ b/src/mame/drivers/20pacgal.cpp @@ -416,7 +416,7 @@ MACHINE_CONFIG_START(_20pacgal_state::_20pacgal) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/4004clk.cpp b/src/mame/drivers/4004clk.cpp index b1385e2474f..243212fcf18 100644 --- a/src/mame/drivers/4004clk.cpp +++ b/src/mame/drivers/4004clk.cpp @@ -152,7 +152,7 @@ MACHINE_CONFIG_START(nixieclock_state::_4004clk) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_CLOCK_ADD("clk", 60) MCFG_CLOCK_SIGNAL_HANDLER(INPUTLINE("maincpu", I4004_TEST_LINE)) diff --git a/src/mame/drivers/40love.cpp b/src/mame/drivers/40love.cpp index 7c27c9207c7..eb0059b357f 100644 --- a/src/mame/drivers/40love.cpp +++ b/src/mame/drivers/40love.cpp @@ -765,7 +765,7 @@ MACHINE_CONFIG_START(fortyl_state::_40love) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.2) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(fortyl_state::undoukai) @@ -831,7 +831,7 @@ MACHINE_CONFIG_START(fortyl_state::undoukai) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.2) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END /*******************************************************************************/ diff --git a/src/mame/drivers/4enlinea.cpp b/src/mame/drivers/4enlinea.cpp index 2c3df6bc81c..406ddc091a2 100644 --- a/src/mame/drivers/4enlinea.cpp +++ b/src/mame/drivers/4enlinea.cpp @@ -475,9 +475,10 @@ void _4enlinea_state::machine_reset() * Machine Drivers * ***********************************/ -SLOT_INTERFACE_START( 4enlinea_isa8_cards ) - SLOT_INTERFACE_INTERNAL("4enlinea", ISA8_CGA_4ENLINEA) -SLOT_INTERFACE_END +void _4enlinea_isa8_cards(device_slot_interface &device) +{ + device.option_add_internal("4enlinea", ISA8_CGA_4ENLINEA); +} /* TODO: irq sources are unknown */ INTERRUPT_GEN_MEMBER(_4enlinea_state::_4enlinea_irq) @@ -514,7 +515,7 @@ MACHINE_CONFIG_START(_4enlinea_state::_4enlinea) MCFG_DEVICE_ADD("isa", ISA8, 0) MCFG_ISA8_CPU("maincpu") - MCFG_ISA8_SLOT_ADD("isa", "isa1", 4enlinea_isa8_cards, "4enlinea", true) + MCFG_ISA8_SLOT_ADD("isa", "isa1", _4enlinea_isa8_cards, "4enlinea", true) /* 6845 clock is a guess, since it's a UM6845R embedded in the UM487F. diff --git a/src/mame/drivers/8080bw.cpp b/src/mame/drivers/8080bw.cpp index fbe26412783..92e3241de53 100644 --- a/src/mame/drivers/8080bw.cpp +++ b/src/mame/drivers/8080bw.cpp @@ -1582,7 +1582,7 @@ MACHINE_CONFIG_START(_8080bw_state::schaser) MCFG_SN76477_MIXER_PARAMS(0, 0, 0) // mixer A, B, C MCFG_SN76477_ENVELOPE_PARAMS(1, 0) // envelope 1, 2 MCFG_SN76477_ENABLE(1) // enable - MCFG_SOUND_ROUTE_EX(0, "discrete", 1.0, 0) + MCFG_SOUND_ROUTE(0, "discrete", 1.0, 0) MCFG_SOUND_ADD("discrete", DISCRETE, 0) MCFG_DISCRETE_INTF(schaser) diff --git a/src/mame/drivers/a2600.cpp b/src/mame/drivers/a2600.cpp index 15f75b2a03f..e8f29143b64 100644 --- a/src/mame/drivers/a2600.cpp +++ b/src/mame/drivers/a2600.cpp @@ -466,33 +466,34 @@ static INPUT_PORTS_START( a2600 ) INPUT_PORTS_END -static SLOT_INTERFACE_START(a2600_cart) - SLOT_INTERFACE_INTERNAL("a26_2k", A26_ROM_2K) - SLOT_INTERFACE_INTERNAL("a26_4k", A26_ROM_4K) - SLOT_INTERFACE_INTERNAL("a26_f4", A26_ROM_F4) - SLOT_INTERFACE_INTERNAL("a26_f6", A26_ROM_F6) - SLOT_INTERFACE_INTERNAL("a26_f8", A26_ROM_F8) - SLOT_INTERFACE_INTERNAL("a26_f8sw", A26_ROM_F8_SW) - SLOT_INTERFACE_INTERNAL("a26_fa", A26_ROM_FA) - SLOT_INTERFACE_INTERNAL("a26_fe", A26_ROM_FE) - SLOT_INTERFACE_INTERNAL("a26_3e", A26_ROM_3E) - SLOT_INTERFACE_INTERNAL("a26_3f", A26_ROM_3F) - SLOT_INTERFACE_INTERNAL("a26_e0", A26_ROM_E0) - SLOT_INTERFACE_INTERNAL("a26_e7", A26_ROM_E7) - SLOT_INTERFACE_INTERNAL("a26_ua", A26_ROM_UA) - SLOT_INTERFACE_INTERNAL("a26_cv", A26_ROM_CV) - SLOT_INTERFACE_INTERNAL("a26_dc", A26_ROM_DC) - SLOT_INTERFACE_INTERNAL("a26_fv", A26_ROM_FV) - SLOT_INTERFACE_INTERNAL("a26_jvp", A26_ROM_JVP) - SLOT_INTERFACE_INTERNAL("a26_cm", A26_ROM_COMPUMATE) - SLOT_INTERFACE_INTERNAL("a26_ss", A26_ROM_SUPERCHARGER) - SLOT_INTERFACE_INTERNAL("a26_dpc", A26_ROM_DPC) - SLOT_INTERFACE_INTERNAL("a26_4in1", A26_ROM_4IN1) - SLOT_INTERFACE_INTERNAL("a26_8in1", A26_ROM_8IN1) - SLOT_INTERFACE_INTERNAL("a26_32in1", A26_ROM_32IN1) - SLOT_INTERFACE_INTERNAL("a26_x07", A26_ROM_X07) - SLOT_INTERFACE_INTERNAL("a26_harmony", A26_ROM_HARMONY) -SLOT_INTERFACE_END +static void a2600_cart(device_slot_interface &device) +{ + device.option_add_internal("a26_2k", A26_ROM_2K); + device.option_add_internal("a26_4k", A26_ROM_4K); + device.option_add_internal("a26_f4", A26_ROM_F4); + device.option_add_internal("a26_f6", A26_ROM_F6); + device.option_add_internal("a26_f8", A26_ROM_F8); + device.option_add_internal("a26_f8sw", A26_ROM_F8_SW); + device.option_add_internal("a26_fa", A26_ROM_FA); + device.option_add_internal("a26_fe", A26_ROM_FE); + device.option_add_internal("a26_3e", A26_ROM_3E); + device.option_add_internal("a26_3f", A26_ROM_3F); + device.option_add_internal("a26_e0", A26_ROM_E0); + device.option_add_internal("a26_e7", A26_ROM_E7); + device.option_add_internal("a26_ua", A26_ROM_UA); + device.option_add_internal("a26_cv", A26_ROM_CV); + device.option_add_internal("a26_dc", A26_ROM_DC); + device.option_add_internal("a26_fv", A26_ROM_FV); + device.option_add_internal("a26_jvp", A26_ROM_JVP); + device.option_add_internal("a26_cm", A26_ROM_COMPUMATE); + device.option_add_internal("a26_ss", A26_ROM_SUPERCHARGER); + device.option_add_internal("a26_dpc", A26_ROM_DPC); + device.option_add_internal("a26_4in1", A26_ROM_4IN1); + device.option_add_internal("a26_8in1", A26_ROM_8IN1); + device.option_add_internal("a26_32in1", A26_ROM_32IN1); + device.option_add_internal("a26_x07", A26_ROM_X07); + device.option_add_internal("a26_harmony", A26_ROM_HARMONY); +} MACHINE_CONFIG_START(a2600_state::a2600_cartslot) MCFG_VCS_CARTRIDGE_ADD("cartslot", a2600_cart, nullptr) diff --git a/src/mame/drivers/a5105.cpp b/src/mame/drivers/a5105.cpp index 8f2f6ff92de..d7ff5e2bbd9 100644 --- a/src/mame/drivers/a5105.cpp +++ b/src/mame/drivers/a5105.cpp @@ -554,9 +554,10 @@ FLOPPY_FORMATS_MEMBER( a5105_state::floppy_formats ) FLOPPY_A5105_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( a5105_floppies ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void a5105_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); +} static const z80_daisy_config a5105_daisy_chain[] = { diff --git a/src/mame/drivers/a7150.cpp b/src/mame/drivers/a7150.cpp index 849e2c115c2..28100de1308 100644 --- a/src/mame/drivers/a7150.cpp +++ b/src/mame/drivers/a7150.cpp @@ -468,7 +468,7 @@ MACHINE_CONFIG_START(a7150_state::a7150) MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart8251", i8251_device, write_rxd)) MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart8251", i8251_device, write_cts)) MCFG_RS232_DSR_HANDLER(DEVWRITELINE("uart8251", i8251_device, write_dsr)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("keyboard", kbd_rs232_defaults) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("keyboard", kbd_rs232_defaults) MCFG_ISBC_215_ADD("isbc_215g", 0x4a, "maincpu") MCFG_ISBC_215_IRQ(DEVWRITELINE("pic8259", pic8259_device, ir5_w)) diff --git a/src/mame/drivers/aa310.cpp b/src/mame/drivers/aa310.cpp index 472fcfd372a..b8e69af9d66 100644 --- a/src/mame/drivers/aa310.cpp +++ b/src/mame/drivers/aa310.cpp @@ -378,10 +378,11 @@ FLOPPY_FORMATS_MEMBER( aa310_state::floppy_formats ) FLOPPY_PC_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( aa310_floppies ) - SLOT_INTERFACE( "35dd", FLOPPY_35_DD ) - SLOT_INTERFACE( "35hd", FLOPPY_35_HD ) -SLOT_INTERFACE_END +static void aa310_floppies(device_slot_interface &device) +{ + device.option_add("35dd", FLOPPY_35_DD); + device.option_add("35hd", FLOPPY_35_HD); +} WRITE_LINE_MEMBER( archimedes_state::a310_kart_tx_w ) { @@ -443,14 +444,14 @@ MACHINE_CONFIG_START(aa310_state::aa310) MCFG_SOUND_ADD("dac6", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(0, "speaker", 0.1) // unknown DAC MCFG_SOUND_ADD("dac7", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(0, "speaker", 0.1) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac0", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac0", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac3", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac3", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac4", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac4", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac5", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac5", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac6", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac6", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac7", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac7", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac0", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac0", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac3", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac3", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac4", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac4", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac5", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac5", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac6", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac6", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac7", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac7", -1.0, DAC_VREF_NEG_INPUT) /* Expansion slots - 2-card backplane */ MACHINE_CONFIG_END diff --git a/src/mame/drivers/abc1600.cpp b/src/mame/drivers/abc1600.cpp index d5ff89756cc..1a489221a1d 100644 --- a/src/mame/drivers/abc1600.cpp +++ b/src/mame/drivers/abc1600.cpp @@ -775,9 +775,10 @@ WRITE8_MEMBER( abc1600_state::cio_pc_w ) m_nvram->sk_w(clock); } -static SLOT_INTERFACE_START( abc1600_floppies ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void abc1600_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); +} WRITE_LINE_MEMBER( abc1600_state::fdc_drq_w ) { diff --git a/src/mame/drivers/adam.cpp b/src/mame/drivers/adam.cpp index a3a9f322cf9..17face6d9cb 100644 --- a/src/mame/drivers/adam.cpp +++ b/src/mame/drivers/adam.cpp @@ -1084,7 +1084,7 @@ MACHINE_CONFIG_START(adam_state::adam) MCFG_ADAMNET_SLOT_ADD("net3", adamnet_devices, "ddp") MCFG_ADAMNET_SLOT_ADD("net4", adamnet_devices, "fdc") MCFG_ADAMNET_SLOT_ADD("net5", adamnet_devices, "fdc") - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("fdc", drive2) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("fdc", drive2) MCFG_ADAMNET_SLOT_ADD("net6", adamnet_devices, nullptr) MCFG_ADAMNET_SLOT_ADD("net7", adamnet_devices, nullptr) MCFG_ADAMNET_SLOT_ADD("net8", adamnet_devices, nullptr) diff --git a/src/mame/drivers/advision.cpp b/src/mame/drivers/advision.cpp index 6278c1e90a7..d5356485abb 100644 --- a/src/mame/drivers/advision.cpp +++ b/src/mame/drivers/advision.cpp @@ -94,7 +94,7 @@ MACHINE_CONFIG_START(advision_state::advision) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_2BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) /* cartridge */ MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "advision_cart") diff --git a/src/mame/drivers/agat.cpp b/src/mame/drivers/agat.cpp index 43a5f93b84f..d9768d18084 100644 --- a/src/mame/drivers/agat.cpp +++ b/src/mame/drivers/agat.cpp @@ -1063,14 +1063,15 @@ static INPUT_PORTS_START(agat7) PORT_INCLUDE(agat7_joystick) INPUT_PORTS_END -static SLOT_INTERFACE_START(agat7_cards) +static void agat7_cards(device_slot_interface &device) +{ // Standard cards - SLOT_INTERFACE("a7lang", A2BUS_AGAT7LANGCARD) // Agat-7 RAM Language Card -- decimal 3.089.119 - SLOT_INTERFACE("a7ram", A2BUS_AGAT7RAM) // Agat-7 32K RAM Card -- decimal 3.089.119-01, KR565RU6D chips - SLOT_INTERFACE("a7fdc", A2BUS_AGAT7_FDC) // Disk II clone -- decimal 3.089.105 - SLOT_INTERFACE("a7fdc840", A2BUS_AGAT840K_HLE) // 840K floppy controller -- decimal 7.104.351 or 3.089.023? - SLOT_INTERFACE("a7ports", A2BUS_AGAT7_PORTS) // Serial-parallel card -- decimal 3.089.106 + device.option_add("a7lang", A2BUS_AGAT7LANGCARD); // Agat-7 RAM Language Card -- decimal 3.089.119 + device.option_add("a7ram", A2BUS_AGAT7RAM); // Agat-7 32K RAM Card -- decimal 3.089.119-01, KR565RU6D chips + device.option_add("a7fdc", A2BUS_AGAT7_FDC); // Disk II clone -- decimal 3.089.105 + device.option_add("a7fdc840", A2BUS_AGAT840K_HLE); // 840K floppy controller -- decimal 7.104.351 or 3.089.023? + device.option_add("a7ports", A2BUS_AGAT7_PORTS); // Serial-parallel card -- decimal 3.089.106 // Printer card (agat9) -- decimal 3.089.174 // 3rd party cards @@ -1080,7 +1081,7 @@ static SLOT_INTERFACE_START(agat7_cards) // Nippel ADC (digital oscilloscope) // Nippel Clock (mc146818) // Nippel Co-processor (R65C02 clone + dual-ported RAM) -SLOT_INTERFACE_END +} MACHINE_CONFIG_START(agat7_state::agat7) MCFG_CPU_ADD("maincpu", M6502, XTAL(14'300'000) / 14) diff --git a/src/mame/drivers/aim65.cpp b/src/mame/drivers/aim65.cpp index 5a37b2f1758..cb6485d3654 100644 --- a/src/mame/drivers/aim65.cpp +++ b/src/mame/drivers/aim65.cpp @@ -194,15 +194,15 @@ MACHINE_CONFIG_START(aim65_state::aim65) MCFG_DEFAULT_LAYOUT(layout_aim65) /* alpha-numeric display */ - MCFG_DEVICE_ADD("ds1", DL1416T, 0) + MCFG_DEVICE_ADD("ds1", DL1416T, u32(0)) MCFG_DL1416_UPDATE_HANDLER(WRITE16(aim65_state, aim65_update_ds<1>)) - MCFG_DEVICE_ADD("ds2", DL1416T, 0) + MCFG_DEVICE_ADD("ds2", DL1416T, u32(0)) MCFG_DL1416_UPDATE_HANDLER(WRITE16(aim65_state, aim65_update_ds<2>)) - MCFG_DEVICE_ADD("ds3", DL1416T, 0) + MCFG_DEVICE_ADD("ds3", DL1416T, u32(0)) MCFG_DL1416_UPDATE_HANDLER(WRITE16(aim65_state, aim65_update_ds<3>)) - MCFG_DEVICE_ADD("ds4", DL1416T, 0) + MCFG_DEVICE_ADD("ds4", DL1416T, u32(0)) MCFG_DL1416_UPDATE_HANDLER(WRITE16(aim65_state, aim65_update_ds<4>)) - MCFG_DEVICE_ADD("ds5", DL1416T, 0) + MCFG_DEVICE_ADD("ds5", DL1416T, u32(0)) MCFG_DL1416_UPDATE_HANDLER(WRITE16(aim65_state, aim65_update_ds<5>)) /* Sound - wave sound only */ diff --git a/src/mame/drivers/alpha68k.cpp b/src/mame/drivers/alpha68k.cpp index d52fba92347..89eee69e27c 100644 --- a/src/mame/drivers/alpha68k.cpp +++ b/src/mame/drivers/alpha68k.cpp @@ -1984,7 +1984,7 @@ MACHINE_CONFIG_START(alpha68k_state::sstingry) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.75) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(alpha68k_state::kyros) @@ -2036,7 +2036,7 @@ MACHINE_CONFIG_START(alpha68k_state::kyros) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.75) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(alpha68k_state::jongbou) @@ -2172,7 +2172,7 @@ MACHINE_CONFIG_START(alpha68k_state::alpha68k_II) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.75) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(alpha68k_state::btlfieldb) @@ -2229,7 +2229,7 @@ MACHINE_CONFIG_START(alpha68k_state::alpha68k_II_gm) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.75) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(alpha68k_state::alpha68k_V) @@ -2278,7 +2278,7 @@ MACHINE_CONFIG_START(alpha68k_state::alpha68k_V) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.75) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(alpha68k_state::alpha68k_V_sb) @@ -2327,7 +2327,7 @@ MACHINE_CONFIG_START(alpha68k_state::alpha68k_V_sb) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.75) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(alpha68k_state::tnextspc) diff --git a/src/mame/drivers/alphatpx.cpp b/src/mame/drivers/alphatpx.cpp index b1d1b6dca59..e4ae3c3843e 100644 --- a/src/mame/drivers/alphatpx.cpp +++ b/src/mame/drivers/alphatpx.cpp @@ -1169,17 +1169,20 @@ WRITE8_MEMBER(alphatp_34_state::fdc_cmd_w) // FLOPPY - Drive definitions //************************************************************************** -static SLOT_INTERFACE_START( alphatp2_floppies ) // two BASF 2471 drives - SLOT_INTERFACE("525ssdd", FLOPPY_525_SSDD) -SLOT_INTERFACE_END +static void alphatp2_floppies(device_slot_interface &device) // two BASF 2471 drives +{ + device.option_add("525ssdd", FLOPPY_525_SSDD); +} -static SLOT_INTERFACE_START( alphatp2su_floppies ) - SLOT_INTERFACE("525dd", FLOPPY_525_DD) -SLOT_INTERFACE_END +static void alphatp2su_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); +} -static SLOT_INTERFACE_START( alphatp3_floppies ) // P3: two BASF 6106 drives - SLOT_INTERFACE("525qd", FLOPPY_525_QD) // P30: two Shugart SA465-3AA drives -SLOT_INTERFACE_END +static void alphatp3_floppies(device_slot_interface &device) // P3: two BASF 6106 drives +{ + device.option_add("525qd", FLOPPY_525_QD); // P30: two Shugart SA465-3AA drives +} //************************************************************************** // MACHINE - Alphatronic P1, P2, P2S, P2U and Hell 2069 diff --git a/src/mame/drivers/alphatro.cpp b/src/mame/drivers/alphatro.cpp index f91550288f8..13ed126e1ed 100644 --- a/src/mame/drivers/alphatro.cpp +++ b/src/mame/drivers/alphatro.cpp @@ -693,9 +693,10 @@ FLOPPY_FORMATS_MEMBER( alphatro_state::floppy_formats ) FLOPPY_PC_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( alphatro_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) -SLOT_INTERFACE_END +static void alphatro_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); +} MACHINE_CONFIG_START(alphatro_state::alphatro) /* basic machine hardware */ diff --git a/src/mame/drivers/altos486.cpp b/src/mame/drivers/altos486.cpp index 73746f9348b..a912487c64f 100644 --- a/src/mame/drivers/altos486.cpp +++ b/src/mame/drivers/altos486.cpp @@ -101,9 +101,10 @@ FLOPPY_FORMATS_MEMBER( altos486_state::floppy_formats ) FLOPPY_TD0_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( altos486_floppies ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void altos486_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); +} void altos486_state::altos486_mem(address_map &map) { @@ -186,7 +187,7 @@ MACHINE_CONFIG_START(altos486_state::altos486) MCFG_RS232_RXD_HANDLER(DEVWRITELINE("sio0", z80dart_device, rxa_w)) MCFG_RS232_DCD_HANDLER(DEVWRITELINE("sio0", z80dart_device, dcda_w)) MCFG_RS232_CTS_HANDLER(DEVWRITELINE("sio0", z80dart_device, ctsa_w)) - //MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", altos486_terminal) + //MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", altos486_terminal) MCFG_RS232_PORT_ADD("rs232b", default_rs232_devices, NULL) MCFG_RS232_RXD_HANDLER(DEVWRITELINE("sio0", z80dart_device, rxb_w)) diff --git a/src/mame/drivers/altos5.cpp b/src/mame/drivers/altos5.cpp index 2e8c15ceae6..1d4cef15081 100644 --- a/src/mame/drivers/altos5.cpp +++ b/src/mame/drivers/altos5.cpp @@ -357,9 +357,10 @@ QUICKLOAD_LOAD_MEMBER( altos5_state, altos5 ) } -static SLOT_INTERFACE_START( altos5_floppies ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void altos5_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); +} WRITE_LINE_MEMBER( altos5_state::fdc_intrq_w ) { diff --git a/src/mame/drivers/altos8600.cpp b/src/mame/drivers/altos8600.cpp index 1912594c91c..a4deb8b808b 100644 --- a/src/mame/drivers/altos8600.cpp +++ b/src/mame/drivers/altos8600.cpp @@ -720,9 +720,10 @@ void altos8600_state::dmac_io(address_map &map) map(0x0400, 0x05ff).rw(this, FUNC(altos8600_state::mmuaddr_r), FUNC(altos8600_state::mmuaddr_w)); } -static SLOT_INTERFACE_START(altos8600_floppies) - SLOT_INTERFACE( "8dd", FLOPPY_8_DSDD ) -SLOT_INTERFACE_END +static void altos8600_floppies(device_slot_interface &device) +{ + device.option_add("8dd", FLOPPY_8_DSDD); +} MACHINE_CONFIG_START(altos8600_state::altos8600) MCFG_CPU_ADD("maincpu", I8086, 5_MHz_XTAL) diff --git a/src/mame/drivers/amiga.cpp b/src/mame/drivers/amiga.cpp index 9409ca59563..7bbc48c355a 100644 --- a/src/mame/drivers/amiga.cpp +++ b/src/mame/drivers/amiga.cpp @@ -1365,9 +1365,10 @@ INPUT_PORTS_END // MACHINE DRIVERS //************************************************************************** -static SLOT_INTERFACE_START( amiga_floppies ) - SLOT_INTERFACE("35dd", FLOPPY_35_DD) -SLOT_INTERFACE_END +static void amiga_floppies(device_slot_interface &device) +{ + device.option_add("35dd", FLOPPY_35_DD); +} // basic elements common to all amigas MACHINE_CONFIG_START(amiga_state::amiga_base) diff --git a/src/mame/drivers/ampro.cpp b/src/mame/drivers/ampro.cpp index 7eaf2ad1784..91d0477a4b3 100644 --- a/src/mame/drivers/ampro.cpp +++ b/src/mame/drivers/ampro.cpp @@ -125,9 +125,10 @@ static const z80_daisy_config daisy_chain_intf[] = { nullptr } }; -static SLOT_INTERFACE_START( ampro_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) -SLOT_INTERFACE_END +static void ampro_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); +} /* Input ports */ static INPUT_PORTS_START( ampro ) diff --git a/src/mame/drivers/amstrad.cpp b/src/mame/drivers/amstrad.cpp index 2927b07a376..1d378d3fc46 100644 --- a/src/mame/drivers/amstrad.cpp +++ b/src/mame/drivers/amstrad.cpp @@ -796,14 +796,16 @@ speed of 3.8 MHz */ */ -static SLOT_INTERFACE_START( amstrad_floppies ) - SLOT_INTERFACE( "3ssdd", FLOPPY_3_SSDD ) - SLOT_INTERFACE( "35ssdd", FLOPPY_35_DD ) -SLOT_INTERFACE_END +static void amstrad_floppies(device_slot_interface &device) +{ + device.option_add("3ssdd", FLOPPY_3_SSDD); + device.option_add("35ssdd", FLOPPY_35_DD); +} -static SLOT_INTERFACE_START( aleste_floppies ) - SLOT_INTERFACE( "35dd", FLOPPY_35_DD ) -SLOT_INTERFACE_END +static void aleste_floppies(device_slot_interface &device) +{ + device.option_add("35dd", FLOPPY_35_DD); +} FLOPPY_FORMATS_MEMBER( amstrad_state::aleste_floppy_formats ) FLOPPY_MSX_FORMAT @@ -818,87 +820,92 @@ MACHINE_CONFIG_START(amstrad_state::cpcplus_cartslot) MCFG_SOFTWARE_LIST_ADD("cart_list", "gx4000") MACHINE_CONFIG_END -SLOT_INTERFACE_START(cpc464_exp_cards) - SLOT_INTERFACE("ddi1", CPC_DDI1) - SLOT_INTERFACE("ssa1", CPC_SSA1) - SLOT_INTERFACE("dkspeech", CPC_DKSPEECH) - SLOT_INTERFACE("rom", CPC_ROM) - SLOT_INTERFACE("multiface2", CPC_MFACE2) - SLOT_INTERFACE("pds", CPC_PDS) - SLOT_INTERFACE("rs232", CPC_RS232) - SLOT_INTERFACE("amsrs232", CPC_RS232_AMS) - SLOT_INTERFACE("sf2", CPC_SYMBIFACE2) - SLOT_INTERFACE("amdrum", CPC_AMDRUM) - SLOT_INTERFACE("playcity", CPC_PLAYCITY) - SLOT_INTERFACE("smartwatch", CPC_SMARTWATCH) - SLOT_INTERFACE("brunword4", CPC_BRUNWORD_MK4) - SLOT_INTERFACE("hd20", CPC_HD20) - SLOT_INTERFACE("doubler", CPC_DOUBLER) - SLOT_INTERFACE("transtape", CPC_TRANSTAPE) -SLOT_INTERFACE_END +void cpc464_exp_cards(device_slot_interface &device) +{ + device.option_add("ddi1", CPC_DDI1); + device.option_add("ssa1", CPC_SSA1); + device.option_add("dkspeech", CPC_DKSPEECH); + device.option_add("rom", CPC_ROM); + device.option_add("multiface2", CPC_MFACE2); + device.option_add("pds", CPC_PDS); + device.option_add("rs232", CPC_RS232); + device.option_add("amsrs232", CPC_RS232_AMS); + device.option_add("sf2", CPC_SYMBIFACE2); + device.option_add("amdrum", CPC_AMDRUM); + device.option_add("playcity", CPC_PLAYCITY); + device.option_add("smartwatch", CPC_SMARTWATCH); + device.option_add("brunword4", CPC_BRUNWORD_MK4); + device.option_add("hd20", CPC_HD20); + device.option_add("doubler", CPC_DOUBLER); + device.option_add("transtape", CPC_TRANSTAPE); +} -SLOT_INTERFACE_START(cpc_exp_cards) - SLOT_INTERFACE("ssa1", CPC_SSA1) - SLOT_INTERFACE("dkspeech", CPC_DKSPEECH) - SLOT_INTERFACE("rom", CPC_ROM) - SLOT_INTERFACE("multiface2", CPC_MFACE2) - SLOT_INTERFACE("pds", CPC_PDS) - SLOT_INTERFACE("rs232", CPC_RS232) - SLOT_INTERFACE("amsrs232", CPC_RS232_AMS) - SLOT_INTERFACE("sf2", CPC_SYMBIFACE2) - SLOT_INTERFACE("amdrum", CPC_AMDRUM) - SLOT_INTERFACE("playcity", CPC_PLAYCITY) - SLOT_INTERFACE("smartwatch", CPC_SMARTWATCH) - SLOT_INTERFACE("brunword4", CPC_BRUNWORD_MK4) - SLOT_INTERFACE("hd20", CPC_HD20) - SLOT_INTERFACE("doubler", CPC_DOUBLER) - SLOT_INTERFACE("transtape", CPC_TRANSTAPE) -SLOT_INTERFACE_END +void cpc_exp_cards(device_slot_interface &device) +{ + device.option_add("ssa1", CPC_SSA1); + device.option_add("dkspeech", CPC_DKSPEECH); + device.option_add("rom", CPC_ROM); + device.option_add("multiface2", CPC_MFACE2); + device.option_add("pds", CPC_PDS); + device.option_add("rs232", CPC_RS232); + device.option_add("amsrs232", CPC_RS232_AMS); + device.option_add("sf2", CPC_SYMBIFACE2); + device.option_add("amdrum", CPC_AMDRUM); + device.option_add("playcity", CPC_PLAYCITY); + device.option_add("smartwatch", CPC_SMARTWATCH); + device.option_add("brunword4", CPC_BRUNWORD_MK4); + device.option_add("hd20", CPC_HD20); + device.option_add("doubler", CPC_DOUBLER); + device.option_add("transtape", CPC_TRANSTAPE); +} -SLOT_INTERFACE_START(cpcplus_exp_cards) - SLOT_INTERFACE("ssa1", CPC_SSA1) - SLOT_INTERFACE("dkspeech", CPC_DKSPEECH) - SLOT_INTERFACE("rom", CPC_ROM) - SLOT_INTERFACE("pds", CPC_PDS) - SLOT_INTERFACE("rs232", CPC_RS232) - SLOT_INTERFACE("amsrs232", CPC_RS232_AMS) - SLOT_INTERFACE("sf2", CPC_SYMBIFACE2) - SLOT_INTERFACE("amdrum", CPC_AMDRUM) - SLOT_INTERFACE("playcity", CPC_PLAYCITY) - SLOT_INTERFACE("smartwatch", CPC_SMARTWATCH) - SLOT_INTERFACE("hd20", CPC_HD20) - SLOT_INTERFACE("doubler", CPC_DOUBLER) - SLOT_INTERFACE("transtape", CPC_TRANSTAPE) // Plus compatible? -SLOT_INTERFACE_END +void cpcplus_exp_cards(device_slot_interface &device) +{ + device.option_add("ssa1", CPC_SSA1); + device.option_add("dkspeech", CPC_DKSPEECH); + device.option_add("rom", CPC_ROM); + device.option_add("pds", CPC_PDS); + device.option_add("rs232", CPC_RS232); + device.option_add("amsrs232", CPC_RS232_AMS); + device.option_add("sf2", CPC_SYMBIFACE2); + device.option_add("amdrum", CPC_AMDRUM); + device.option_add("playcity", CPC_PLAYCITY); + device.option_add("smartwatch", CPC_SMARTWATCH); + device.option_add("hd20", CPC_HD20); + device.option_add("doubler", CPC_DOUBLER); + device.option_add("transtape", CPC_TRANSTAPE); // Plus compatible? +} -SLOT_INTERFACE_START(aleste_exp_cards) - SLOT_INTERFACE("ssa1", CPC_SSA1) - SLOT_INTERFACE("dkspeech", CPC_DKSPEECH) - SLOT_INTERFACE("rom", CPC_ROM) - SLOT_INTERFACE("multiface2", CPC_MFACE2) - SLOT_INTERFACE("pds", CPC_PDS) - SLOT_INTERFACE("rs232", CPC_RS232) - SLOT_INTERFACE("amsrs232", CPC_RS232_AMS) - SLOT_INTERFACE("sf2", CPC_SYMBIFACE2) - SLOT_INTERFACE("amdrum", CPC_AMDRUM) - SLOT_INTERFACE("playcity", CPC_PLAYCITY) - SLOT_INTERFACE("smartwatch", CPC_SMARTWATCH) - SLOT_INTERFACE("brunword4", CPC_BRUNWORD_MK4) - SLOT_INTERFACE("hd20", CPC_HD20) - SLOT_INTERFACE("doubler", CPC_DOUBLER) - SLOT_INTERFACE("transtape", CPC_TRANSTAPE) - SLOT_INTERFACE("magicsound", AL_MAGICSOUND) -SLOT_INTERFACE_END +void aleste_exp_cards(device_slot_interface &device) +{ + device.option_add("ssa1", CPC_SSA1); + device.option_add("dkspeech", CPC_DKSPEECH); + device.option_add("rom", CPC_ROM); + device.option_add("multiface2", CPC_MFACE2); + device.option_add("pds", CPC_PDS); + device.option_add("rs232", CPC_RS232); + device.option_add("amsrs232", CPC_RS232_AMS); + device.option_add("sf2", CPC_SYMBIFACE2); + device.option_add("amdrum", CPC_AMDRUM); + device.option_add("playcity", CPC_PLAYCITY); + device.option_add("smartwatch", CPC_SMARTWATCH); + device.option_add("brunword4", CPC_BRUNWORD_MK4); + device.option_add("hd20", CPC_HD20); + device.option_add("doubler", CPC_DOUBLER); + device.option_add("transtape", CPC_TRANSTAPE); + device.option_add("magicsound", AL_MAGICSOUND); +} -SLOT_INTERFACE_START(amstrad_centronics_devices) - SLOT_INTERFACE("pl80", COMX_PL80) - SLOT_INTERFACE("ex800", EPSON_EX800) - SLOT_INTERFACE("lx800", EPSON_LX800) - SLOT_INTERFACE("lx810l", EPSON_LX810L) - SLOT_INTERFACE("ap2000", EPSON_AP2000) - SLOT_INTERFACE("printer", CENTRONICS_PRINTER) - SLOT_INTERFACE("digiblst", CENTRONICS_DIGIBLASTER) -SLOT_INTERFACE_END +void amstrad_centronics_devices(device_slot_interface &device) +{ + device.option_add("pl80", COMX_PL80); + device.option_add("ex800", EPSON_EX800); + device.option_add("lx800", EPSON_LX800); + device.option_add("lx810l", EPSON_LX810L); + device.option_add("ap2000", EPSON_AP2000); + device.option_add("printer", CENTRONICS_PRINTER); + device.option_add("digiblst", CENTRONICS_DIGIBLASTER); +} MACHINE_CONFIG_START(amstrad_state::amstrad_base) /* Machine hardware */ diff --git a/src/mame/drivers/amust.cpp b/src/mame/drivers/amust.cpp index 0836ac65c6e..83b93c60246 100644 --- a/src/mame/drivers/amust.cpp +++ b/src/mame/drivers/amust.cpp @@ -198,9 +198,10 @@ void amust_state::io_map(address_map &map) map(0x14, 0x17).rw("pit", FUNC(pit8253_device::read), FUNC(pit8253_device::write)); } -static SLOT_INTERFACE_START( amust_floppies ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void amust_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); +} /* Input ports */ static INPUT_PORTS_START( amust ) diff --git a/src/mame/drivers/apc.cpp b/src/mame/drivers/apc.cpp index 0d982b2a1ac..95213e51826 100644 --- a/src/mame/drivers/apc.cpp +++ b/src/mame/drivers/apc.cpp @@ -916,9 +916,10 @@ static const floppy_format_type apc_floppy_formats[] = { nullptr }; -static SLOT_INTERFACE_START( apc_floppies ) - SLOT_INTERFACE( "8", FLOPPY_8_DSDD ) -SLOT_INTERFACE_END +static void apc_floppies(device_slot_interface &device) +{ + device.option_add("8", FLOPPY_8_DSDD); +} MACHINE_CONFIG_START(apc_state::apc) diff --git a/src/mame/drivers/apf.cpp b/src/mame/drivers/apf.cpp index 5fc3b8ec472..2f9ff38a3fb 100644 --- a/src/mame/drivers/apf.cpp +++ b/src/mame/drivers/apf.cpp @@ -502,16 +502,18 @@ static INPUT_PORTS_START( apfimag ) INPUT_PORTS_END -static SLOT_INTERFACE_START( apf_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_SSDD ) -SLOT_INTERFACE_END +static void apf_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_SSDD); +} -static SLOT_INTERFACE_START(apf_cart) - SLOT_INTERFACE_INTERNAL("std", APF_ROM_STD) - SLOT_INTERFACE_INTERNAL("basic", APF_ROM_BASIC) - SLOT_INTERFACE_INTERNAL("spacedst", APF_ROM_SPACEDST) -SLOT_INTERFACE_END +static void apf_cart(device_slot_interface &device) +{ + device.option_add_internal("std", APF_ROM_STD); + device.option_add_internal("basic", APF_ROM_BASIC); + device.option_add_internal("spacedst", APF_ROM_SPACEDST); +} MACHINE_CONFIG_START(apf_state::apfm1000) diff --git a/src/mame/drivers/apple1.cpp b/src/mame/drivers/apple1.cpp index fcb9f4c81c5..181880a7be0 100644 --- a/src/mame/drivers/apple1.cpp +++ b/src/mame/drivers/apple1.cpp @@ -588,10 +588,11 @@ static INPUT_PORTS_START( apple1 ) PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Clear") PORT_CODE(KEYCODE_F2) PORT_CHAR(UCHAR_MAMEKEY(F2)) INPUT_PORTS_END -static SLOT_INTERFACE_START(apple1_cards) - SLOT_INTERFACE("cassette", A1BUS_CASSETTE) - SLOT_INTERFACE("cffa", A1BUS_CFFA) -SLOT_INTERFACE_END +static void apple1_cards(device_slot_interface &device) +{ + device.option_add("cassette", A1BUS_CASSETTE); + device.option_add("cffa", A1BUS_CFFA); +} MACHINE_CONFIG_START(apple1_state::apple1) MCFG_CPU_ADD(A1_CPU_TAG, M6502, 960000) // effective CPU speed diff --git a/src/mame/drivers/apple2.cpp b/src/mame/drivers/apple2.cpp index a862608c252..bf78aca9a3b 100644 --- a/src/mame/drivers/apple2.cpp +++ b/src/mame/drivers/apple2.cpp @@ -1319,58 +1319,60 @@ static INPUT_PORTS_START( apple2p ) PORT_DIPSETTING( 0x00, "RESET" ) INPUT_PORTS_END -static SLOT_INTERFACE_START(apple2_slot0_cards) - SLOT_INTERFACE("lang", A2BUS_RAMCARD16K) /* Apple II RAM Language Card */ - SLOT_INTERFACE("ssram", A2BUS_RAMCARD128K) /* Saturn Systems 128K extended language card */ -SLOT_INTERFACE_END +static void apple2_slot0_cards(device_slot_interface &device) +{ + device.option_add("lang", A2BUS_RAMCARD16K); /* Apple II RAM Language Card */ + device.option_add("ssram", A2BUS_RAMCARD128K); /* Saturn Systems 128K extended language card */ +} -static SLOT_INTERFACE_START(apple2_cards) - SLOT_INTERFACE("diskii", A2BUS_DISKII) /* Disk II Controller Card */ - SLOT_INTERFACE("diskiing", A2BUS_DISKIING) /* Disk II Controller Card, cycle-accurate version */ - SLOT_INTERFACE("diskiing13", A2BUS_DISKIING13) /* Disk II Controller Card, cycle-accurate version */ - SLOT_INTERFACE("mockingboard", A2BUS_MOCKINGBOARD) /* Sweet Micro Systems Mockingboard */ - SLOT_INTERFACE("phasor", A2BUS_PHASOR) /* Applied Engineering Phasor */ - SLOT_INTERFACE("cffa2", A2BUS_CFFA2) /* CFFA2000 Compact Flash for Apple II (www.dreher.net), 65C02/65816 firmware */ - SLOT_INTERFACE("cffa202", A2BUS_CFFA2_6502) /* CFFA2000 Compact Flash for Apple II (www.dreher.net), 6502 firmware */ - SLOT_INTERFACE("memexp", A2BUS_MEMEXP) /* Apple II Memory Expansion Card */ - SLOT_INTERFACE("ramfactor", A2BUS_RAMFACTOR) /* Applied Engineering RamFactor */ - SLOT_INTERFACE("thclock", A2BUS_THUNDERCLOCK) /* ThunderWare ThunderClock Plus */ - SLOT_INTERFACE("softcard", A2BUS_SOFTCARD) /* Microsoft SoftCard */ - SLOT_INTERFACE("videoterm", A2BUS_VIDEOTERM) /* Videx VideoTerm */ - SLOT_INTERFACE("ssc", A2BUS_SSC) /* Apple Super Serial Card */ - SLOT_INTERFACE("swyft", A2BUS_SWYFT) /* IAI SwyftCard */ - SLOT_INTERFACE("themill", A2BUS_THEMILL) /* Stellation Two The Mill (6809 card) */ - SLOT_INTERFACE("sam", A2BUS_SAM) /* SAM Software Automated Mouth (8-bit DAC + speaker) */ - SLOT_INTERFACE("alfam2", A2BUS_ALFAM2) /* ALF Apple Music II */ - SLOT_INTERFACE("echoii", A2BUS_ECHOII) /* Street Electronics Echo II */ - SLOT_INTERFACE("ap16", A2BUS_IBSAP16) /* IBS AP16 (German VideoTerm clone) */ - SLOT_INTERFACE("ap16alt", A2BUS_IBSAP16ALT) /* IBS AP16 (German VideoTerm clone), alternate revision */ - SLOT_INTERFACE("vtc1", A2BUS_VTC1) /* Unknown VideoTerm clone #1 */ - SLOT_INTERFACE("vtc2", A2BUS_VTC2) /* Unknown VideoTerm clone #2 */ - SLOT_INTERFACE("arcbd", A2BUS_ARCADEBOARD) /* Third Millenium Engineering Arcade Board */ - SLOT_INTERFACE("midi", A2BUS_MIDI) /* Generic 6840+6850 MIDI board */ - SLOT_INTERFACE("zipdrive", A2BUS_ZIPDRIVE) /* ZIP Technologies IDE card */ - SLOT_INTERFACE("echoiiplus", A2BUS_ECHOPLUS) /* Street Electronics Echo Plus (Echo II + Mockingboard clone) */ - SLOT_INTERFACE("scsi", A2BUS_SCSI) /* Apple II SCSI Card */ - SLOT_INTERFACE("applicard", A2BUS_APPLICARD) /* PCPI Applicard */ - SLOT_INTERFACE("aesms", A2BUS_AESMS) /* Applied Engineering Super Music Synthesizer */ - SLOT_INTERFACE("ultraterm", A2BUS_ULTRATERM) /* Videx UltraTerm (original) */ - SLOT_INTERFACE("ultratermenh", A2BUS_ULTRATERMENH) /* Videx UltraTerm (enhanced //e) */ - SLOT_INTERFACE("aevm80", A2BUS_AEVIEWMASTER80) /* Applied Engineering ViewMaster 80 */ - SLOT_INTERFACE("parallel", A2BUS_PIC) /* Apple Parallel Interface Card */ - SLOT_INTERFACE("corvus", A2BUS_CORVUS) /* Corvus flat-cable HDD interface (see notes in a2corvus.c) */ - SLOT_INTERFACE("mcms1", A2BUS_MCMS1) /* Mountain Computer Music System, card 1 of 2 */ - SLOT_INTERFACE("mcms2", A2BUS_MCMS2) /* Mountain Computer Music System, card 2 of 2. must be in card 1's slot + 1! */ - SLOT_INTERFACE("dx1", A2BUS_DX1) /* Decillonix DX-1 sampler card */ - SLOT_INTERFACE("tm2ho", A2BUS_TIMEMASTERHO) /* Applied Engineering TimeMaster II H.O. */ - SLOT_INTERFACE("mouse", A2BUS_MOUSE) /* Apple II Mouse Card */ - SLOT_INTERFACE("ezcgi", A2BUS_EZCGI) /* E-Z Color Graphics Interface */ - SLOT_INTERFACE("ezcgi9938", A2BUS_EZCGI_9938) /* E-Z Color Graphics Interface (TMS9938) */ - SLOT_INTERFACE("ezcgi9958", A2BUS_EZCGI_9958) /* E-Z Color Graphics Interface (TMS9958) */ - SLOT_INTERFACE("ssprite", A2BUS_SSPRITE) /* Synetix SuperSprite Board */ - SLOT_INTERFACE("ssbapple", A2BUS_SSBAPPLE) /* SSB Apple speech board */ -// SLOT_INTERFACE("magicmusician", A2BUS_MAGICMUSICIAN) /* Magic Musician Card */ -SLOT_INTERFACE_END +static void apple2_cards(device_slot_interface &device) +{ + device.option_add("diskii", A2BUS_DISKII); /* Disk II Controller Card */ + device.option_add("diskiing", A2BUS_DISKIING); /* Disk II Controller Card, cycle-accurate version */ + device.option_add("diskiing13", A2BUS_DISKIING13); /* Disk II Controller Card, cycle-accurate version */ + device.option_add("mockingboard", A2BUS_MOCKINGBOARD); /* Sweet Micro Systems Mockingboard */ + device.option_add("phasor", A2BUS_PHASOR); /* Applied Engineering Phasor */ + device.option_add("cffa2", A2BUS_CFFA2); /* CFFA2000 Compact Flash for Apple II (www.dreher.net), 65C02/65816 firmware */ + device.option_add("cffa202", A2BUS_CFFA2_6502); /* CFFA2000 Compact Flash for Apple II (www.dreher.net), 6502 firmware */ + device.option_add("memexp", A2BUS_MEMEXP); /* Apple II Memory Expansion Card */ + device.option_add("ramfactor", A2BUS_RAMFACTOR); /* Applied Engineering RamFactor */ + device.option_add("thclock", A2BUS_THUNDERCLOCK); /* ThunderWare ThunderClock Plus */ + device.option_add("softcard", A2BUS_SOFTCARD); /* Microsoft SoftCard */ + device.option_add("videoterm", A2BUS_VIDEOTERM); /* Videx VideoTerm */ + device.option_add("ssc", A2BUS_SSC); /* Apple Super Serial Card */ + device.option_add("swyft", A2BUS_SWYFT); /* IAI SwyftCard */ + device.option_add("themill", A2BUS_THEMILL); /* Stellation Two The Mill (6809 card) */ + device.option_add("sam", A2BUS_SAM); /* SAM Software Automated Mouth (8-bit DAC + speaker) */ + device.option_add("alfam2", A2BUS_ALFAM2); /* ALF Apple Music II */ + device.option_add("echoii", A2BUS_ECHOII); /* Street Electronics Echo II */ + device.option_add("ap16", A2BUS_IBSAP16); /* IBS AP16 (German VideoTerm clone) */ + device.option_add("ap16alt", A2BUS_IBSAP16ALT); /* IBS AP16 (German VideoTerm clone), alternate revision */ + device.option_add("vtc1", A2BUS_VTC1); /* Unknown VideoTerm clone #1 */ + device.option_add("vtc2", A2BUS_VTC2); /* Unknown VideoTerm clone #2 */ + device.option_add("arcbd", A2BUS_ARCADEBOARD); /* Third Millenium Engineering Arcade Board */ + device.option_add("midi", A2BUS_MIDI); /* Generic 6840+6850 MIDI board */ + device.option_add("zipdrive", A2BUS_ZIPDRIVE); /* ZIP Technologies IDE card */ + device.option_add("echoiiplus", A2BUS_ECHOPLUS); /* Street Electronics Echo Plus (Echo II + Mockingboard clone) */ + device.option_add("scsi", A2BUS_SCSI); /* Apple II SCSI Card */ + device.option_add("applicard", A2BUS_APPLICARD); /* PCPI Applicard */ + device.option_add("aesms", A2BUS_AESMS); /* Applied Engineering Super Music Synthesizer */ + device.option_add("ultraterm", A2BUS_ULTRATERM); /* Videx UltraTerm (original) */ + device.option_add("ultratermenh", A2BUS_ULTRATERMENH); /* Videx UltraTerm (enhanced //e) */ + device.option_add("aevm80", A2BUS_AEVIEWMASTER80); /* Applied Engineering ViewMaster 80 */ + device.option_add("parallel", A2BUS_PIC); /* Apple Parallel Interface Card */ + device.option_add("corvus", A2BUS_CORVUS); /* Corvus flat-cable HDD interface (see notes in a2corvus.c) */ + device.option_add("mcms1", A2BUS_MCMS1); /* Mountain Computer Music System, card 1 of 2 */ + device.option_add("mcms2", A2BUS_MCMS2); /* Mountain Computer Music System, card 2 of 2. must be in card 1's slot + 1! */ + device.option_add("dx1", A2BUS_DX1); /* Decillonix DX-1 sampler card */ + device.option_add("tm2ho", A2BUS_TIMEMASTERHO); /* Applied Engineering TimeMaster II H.O. */ + device.option_add("mouse", A2BUS_MOUSE); /* Apple II Mouse Card */ + device.option_add("ezcgi", A2BUS_EZCGI); /* E-Z Color Graphics Interface */ + device.option_add("ezcgi9938", A2BUS_EZCGI_9938); /* E-Z Color Graphics Interface (TMS9938) */ + device.option_add("ezcgi9958", A2BUS_EZCGI_9958); /* E-Z Color Graphics Interface (TMS9958) */ + device.option_add("ssprite", A2BUS_SSPRITE); /* Synetix SuperSprite Board */ + device.option_add("ssbapple", A2BUS_SSBAPPLE); /* SSB Apple speech board */ +// device.option_add("magicmusician", A2BUS_MAGICMUSICIAN); /* Magic Musician Card */ +} MACHINE_CONFIG_START(napple2_state::apple2_common) /* basic machine hardware */ diff --git a/src/mame/drivers/apple2e.cpp b/src/mame/drivers/apple2e.cpp index 1c3d35f9c9e..f79f4fcfea5 100644 --- a/src/mame/drivers/apple2e.cpp +++ b/src/mame/drivers/apple2e.cpp @@ -3827,61 +3827,63 @@ INPUT_PORTS_START( apple2ep ) PORT_INCLUDE(apple2_sysconfig) INPUT_PORTS_END -static SLOT_INTERFACE_START(apple2_cards) - SLOT_INTERFACE("diskii", A2BUS_DISKII) /* Disk II Controller Card */ - SLOT_INTERFACE("diskiing", A2BUS_DISKIING) /* Disk II Controller Card, cycle-accurate version */ - SLOT_INTERFACE("diskiing13", A2BUS_DISKIING13) /* Disk II Controller Card, cycle-accurate version */ - SLOT_INTERFACE("mockingboard", A2BUS_MOCKINGBOARD) /* Sweet Micro Systems Mockingboard */ - SLOT_INTERFACE("phasor", A2BUS_PHASOR) /* Applied Engineering Phasor */ - SLOT_INTERFACE("cffa2", A2BUS_CFFA2) /* CFFA2000 Compact Flash for Apple II (www.dreher.net), 65C02/65816 firmware */ - SLOT_INTERFACE("cffa202", A2BUS_CFFA2_6502) /* CFFA2000 Compact Flash for Apple II (www.dreher.net), 6502 firmware */ - SLOT_INTERFACE("memexp", A2BUS_MEMEXP) /* Apple II Memory Expansion Card */ - SLOT_INTERFACE("ramfactor", A2BUS_RAMFACTOR) /* Applied Engineering RamFactor */ - SLOT_INTERFACE("thclock", A2BUS_THUNDERCLOCK) /* ThunderWare ThunderClock Plus */ - SLOT_INTERFACE("softcard", A2BUS_SOFTCARD) /* Microsoft SoftCard */ - SLOT_INTERFACE("videoterm", A2BUS_VIDEOTERM) /* Videx VideoTerm */ - SLOT_INTERFACE("ssc", A2BUS_SSC) /* Apple Super Serial Card */ - SLOT_INTERFACE("swyft", A2BUS_SWYFT) /* IAI SwyftCard */ - SLOT_INTERFACE("themill", A2BUS_THEMILL) /* Stellation Two The Mill (6809 card) */ - SLOT_INTERFACE("sam", A2BUS_SAM) /* SAM Software Automated Mouth (8-bit DAC + speaker) */ - SLOT_INTERFACE("alfam2", A2BUS_ALFAM2) /* ALF Apple Music II */ - SLOT_INTERFACE("echoii", A2BUS_ECHOII) /* Street Electronics Echo II */ - SLOT_INTERFACE("ap16", A2BUS_IBSAP16) /* IBS AP16 (German VideoTerm clone) */ - SLOT_INTERFACE("ap16alt", A2BUS_IBSAP16ALT) /* IBS AP16 (German VideoTerm clone), alternate revision */ - SLOT_INTERFACE("vtc1", A2BUS_VTC1) /* Unknown VideoTerm clone #1 */ - SLOT_INTERFACE("vtc2", A2BUS_VTC2) /* Unknown VideoTerm clone #2 */ - SLOT_INTERFACE("arcbd", A2BUS_ARCADEBOARD) /* Third Millenium Engineering Arcade Board */ - SLOT_INTERFACE("midi", A2BUS_MIDI) /* Generic 6840+6850 MIDI board */ - SLOT_INTERFACE("zipdrive", A2BUS_ZIPDRIVE) /* ZIP Technologies IDE card */ - SLOT_INTERFACE("echoiiplus", A2BUS_ECHOPLUS) /* Street Electronics Echo Plus (Echo II + Mockingboard clone) */ - SLOT_INTERFACE("scsi", A2BUS_SCSI) /* Apple II SCSI Card */ - SLOT_INTERFACE("applicard", A2BUS_APPLICARD) /* PCPI Applicard */ - SLOT_INTERFACE("aesms", A2BUS_AESMS) /* Applied Engineering Super Music Synthesizer */ - SLOT_INTERFACE("ultraterm", A2BUS_ULTRATERM) /* Videx UltraTerm (original) */ - SLOT_INTERFACE("ultratermenh", A2BUS_ULTRATERMENH) /* Videx UltraTerm (enhanced //e) */ - SLOT_INTERFACE("aevm80", A2BUS_AEVIEWMASTER80) /* Applied Engineering ViewMaster 80 */ - SLOT_INTERFACE("parallel", A2BUS_PIC) /* Apple Parallel Interface Card */ - SLOT_INTERFACE("corvus", A2BUS_CORVUS) /* Corvus flat-cable HDD interface (see notes in a2corvus.c) */ - SLOT_INTERFACE("mcms1", A2BUS_MCMS1) /* Mountain Computer Music System, card 1 of 2 */ - SLOT_INTERFACE("mcms2", A2BUS_MCMS2) /* Mountain Computer Music System, card 2 of 2. must be in card 1's slot + 1! */ - SLOT_INTERFACE("dx1", A2BUS_DX1) /* Decillonix DX-1 sampler card */ - SLOT_INTERFACE("tm2ho", A2BUS_TIMEMASTERHO) /* Applied Engineering TimeMaster II H.O. */ - SLOT_INTERFACE("mouse", A2BUS_MOUSE) /* Apple II Mouse Card */ - SLOT_INTERFACE("ezcgi", A2BUS_EZCGI) /* E-Z Color Graphics Interface */ - SLOT_INTERFACE("ezcgi9938", A2BUS_EZCGI_9938) /* E-Z Color Graphics Interface (TMS9938) */ - SLOT_INTERFACE("ezcgi9958", A2BUS_EZCGI_9958) /* E-Z Color Graphics Interface (TMS9958) */ -// SLOT_INTERFACE("magicmusician", A2BUS_MAGICMUSICIAN) /* Magic Musician Card */ - SLOT_INTERFACE("pcxport", A2BUS_PCXPORTER) /* Applied Engineering PC Transporter */ - SLOT_INTERFACE("ssprite", A2BUS_SSPRITE) /* Synetix SuperSprite Board */ - SLOT_INTERFACE("ssbapple", A2BUS_SSBAPPLE) /* SSB Apple speech board */ - SLOT_INTERFACE("twarp", A2BUS_TRANSWARP) /* AE TransWarp accelerator */ -SLOT_INTERFACE_END +static void apple2_cards(device_slot_interface &device) +{ + device.option_add("diskii", A2BUS_DISKII); /* Disk II Controller Card */ + device.option_add("diskiing", A2BUS_DISKIING); /* Disk II Controller Card, cycle-accurate version */ + device.option_add("diskiing13", A2BUS_DISKIING13); /* Disk II Controller Card, cycle-accurate version */ + device.option_add("mockingboard", A2BUS_MOCKINGBOARD); /* Sweet Micro Systems Mockingboard */ + device.option_add("phasor", A2BUS_PHASOR); /* Applied Engineering Phasor */ + device.option_add("cffa2", A2BUS_CFFA2); /* CFFA2000 Compact Flash for Apple II (www.dreher.net), 65C02/65816 firmware */ + device.option_add("cffa202", A2BUS_CFFA2_6502); /* CFFA2000 Compact Flash for Apple II (www.dreher.net), 6502 firmware */ + device.option_add("memexp", A2BUS_MEMEXP); /* Apple II Memory Expansion Card */ + device.option_add("ramfactor", A2BUS_RAMFACTOR); /* Applied Engineering RamFactor */ + device.option_add("thclock", A2BUS_THUNDERCLOCK); /* ThunderWare ThunderClock Plus */ + device.option_add("softcard", A2BUS_SOFTCARD); /* Microsoft SoftCard */ + device.option_add("videoterm", A2BUS_VIDEOTERM); /* Videx VideoTerm */ + device.option_add("ssc", A2BUS_SSC); /* Apple Super Serial Card */ + device.option_add("swyft", A2BUS_SWYFT); /* IAI SwyftCard */ + device.option_add("themill", A2BUS_THEMILL); /* Stellation Two The Mill (6809 card) */ + device.option_add("sam", A2BUS_SAM); /* SAM Software Automated Mouth (8-bit DAC + speaker) */ + device.option_add("alfam2", A2BUS_ALFAM2); /* ALF Apple Music II */ + device.option_add("echoii", A2BUS_ECHOII); /* Street Electronics Echo II */ + device.option_add("ap16", A2BUS_IBSAP16); /* IBS AP16 (German VideoTerm clone) */ + device.option_add("ap16alt", A2BUS_IBSAP16ALT); /* IBS AP16 (German VideoTerm clone), alternate revision */ + device.option_add("vtc1", A2BUS_VTC1); /* Unknown VideoTerm clone #1 */ + device.option_add("vtc2", A2BUS_VTC2); /* Unknown VideoTerm clone #2 */ + device.option_add("arcbd", A2BUS_ARCADEBOARD); /* Third Millenium Engineering Arcade Board */ + device.option_add("midi", A2BUS_MIDI); /* Generic 6840+6850 MIDI board */ + device.option_add("zipdrive", A2BUS_ZIPDRIVE); /* ZIP Technologies IDE card */ + device.option_add("echoiiplus", A2BUS_ECHOPLUS); /* Street Electronics Echo Plus (Echo II + Mockingboard clone) */ + device.option_add("scsi", A2BUS_SCSI); /* Apple II SCSI Card */ + device.option_add("applicard", A2BUS_APPLICARD); /* PCPI Applicard */ + device.option_add("aesms", A2BUS_AESMS); /* Applied Engineering Super Music Synthesizer */ + device.option_add("ultraterm", A2BUS_ULTRATERM); /* Videx UltraTerm (original) */ + device.option_add("ultratermenh", A2BUS_ULTRATERMENH); /* Videx UltraTerm (enhanced //e) */ + device.option_add("aevm80", A2BUS_AEVIEWMASTER80); /* Applied Engineering ViewMaster 80 */ + device.option_add("parallel", A2BUS_PIC); /* Apple Parallel Interface Card */ + device.option_add("corvus", A2BUS_CORVUS); /* Corvus flat-cable HDD interface (see notes in a2corvus.c) */ + device.option_add("mcms1", A2BUS_MCMS1); /* Mountain Computer Music System, card 1 of 2 */ + device.option_add("mcms2", A2BUS_MCMS2); /* Mountain Computer Music System, card 2 of 2. must be in card 1's slot + 1! */ + device.option_add("dx1", A2BUS_DX1); /* Decillonix DX-1 sampler card */ + device.option_add("tm2ho", A2BUS_TIMEMASTERHO); /* Applied Engineering TimeMaster II H.O. */ + device.option_add("mouse", A2BUS_MOUSE); /* Apple II Mouse Card */ + device.option_add("ezcgi", A2BUS_EZCGI); /* E-Z Color Graphics Interface */ + device.option_add("ezcgi9938", A2BUS_EZCGI_9938); /* E-Z Color Graphics Interface (TMS9938) */ + device.option_add("ezcgi9958", A2BUS_EZCGI_9958); /* E-Z Color Graphics Interface (TMS9958) */ +// device.option_add("magicmusician", A2BUS_MAGICMUSICIAN); /* Magic Musician Card */ + device.option_add("pcxport", A2BUS_PCXPORTER); /* Applied Engineering PC Transporter */ + device.option_add("ssprite", A2BUS_SSPRITE); /* Synetix SuperSprite Board */ + device.option_add("ssbapple", A2BUS_SSBAPPLE); /* SSB Apple speech board */ + device.option_add("twarp", A2BUS_TRANSWARP); /* AE TransWarp accelerator */ +} -static SLOT_INTERFACE_START(apple2eaux_cards) - SLOT_INTERFACE("std80", A2EAUX_STD80COL) /* Apple IIe Standard 80 Column Card */ - SLOT_INTERFACE("ext80", A2EAUX_EXT80COL) /* Apple IIe Extended 80 Column Card */ - SLOT_INTERFACE("rw3", A2EAUX_RAMWORKS3) /* Applied Engineering RamWorks III */ -SLOT_INTERFACE_END +static void apple2eaux_cards(device_slot_interface &device) +{ + device.option_add("std80", A2EAUX_STD80COL); /* Apple IIe Standard 80 Column Card */ + device.option_add("ext80", A2EAUX_EXT80COL); /* Apple IIe Extended 80 Column Card */ + device.option_add("rw3", A2EAUX_RAMWORKS3); /* Applied Engineering RamWorks III */ +} MACHINE_CONFIG_START(apple2e_state::apple2e) /* basic machine hardware */ diff --git a/src/mame/drivers/apple2gs.cpp b/src/mame/drivers/apple2gs.cpp index 47eb5e98518..5d47280fabe 100644 --- a/src/mame/drivers/apple2gs.cpp +++ b/src/mame/drivers/apple2gs.cpp @@ -286,31 +286,32 @@ WRITE_LINE_MEMBER(apple2gs_state::a2bus_inh_w) apple2_update_memory(); } -static SLOT_INTERFACE_START(apple2_cards) - SLOT_INTERFACE("diskii", A2BUS_DISKII) /* Disk II Controller Card */ - SLOT_INTERFACE("mockingboard", A2BUS_MOCKINGBOARD) /* Sweet Micro Systems Mockingboard */ - SLOT_INTERFACE("phasor", A2BUS_PHASOR) /* Applied Engineering Phasor */ - SLOT_INTERFACE("cffa2", A2BUS_CFFA2) /* CFFA2000 Compact Flash for Apple II (www.dreher.net), 65C02/65816 firmware */ - SLOT_INTERFACE("cffa202", A2BUS_CFFA2_6502) /* CFFA2000 Compact Flash for Apple II (www.dreher.net), 6502 firmware */ - SLOT_INTERFACE("memexp", A2BUS_MEMEXP) /* Apple II Memory Expansion Card */ - SLOT_INTERFACE("ramfactor", A2BUS_RAMFACTOR) /* Applied Engineering RamFactor */ - SLOT_INTERFACE("thclock", A2BUS_THUNDERCLOCK) /* ThunderWare ThunderClock Plus */ - SLOT_INTERFACE("ssc", A2BUS_SSC) /* Apple Super Serial Card */ - SLOT_INTERFACE("sam", A2BUS_SAM) /* SAM Software Automated Mouth (8-bit DAC + speaker) */ - SLOT_INTERFACE("alfam2", A2BUS_ALFAM2) /* ALF Apple Music II */ - SLOT_INTERFACE("echoii", A2BUS_ECHOII) /* Street Electronics Echo II */ - SLOT_INTERFACE("arcbd", A2BUS_ARCADEBOARD) /* Third Millenium Engineering Arcade Board */ - SLOT_INTERFACE("midi", A2BUS_MIDI) /* Generic 6840+6850 MIDI board */ - SLOT_INTERFACE("vulcan", A2BUS_VULCAN) /* AE Vulcan IDE card */ - SLOT_INTERFACE("vulcangold", A2BUS_VULCANGOLD) /* AE Vulcan Gold IDE card */ - SLOT_INTERFACE("zipdrive", A2BUS_ZIPDRIVE) /* ZIP Technologies IDE card */ - SLOT_INTERFACE("echoiiplus", A2BUS_ECHOPLUS) /* Street Electronics Echo Plus (Echo II + Mockingboard clone) */ -// SLOT_INTERFACE("mdturbo", A2BUS_UDRIVE_TURBO) /* ///SHH Systeme MicroDrive Turbo IDE card */ +static void apple2_cards(device_slot_interface &device) +{ + device.option_add("diskii", A2BUS_DISKII); /* Disk II Controller Card */ + device.option_add("mockingboard", A2BUS_MOCKINGBOARD); /* Sweet Micro Systems Mockingboard */ + device.option_add("phasor", A2BUS_PHASOR); /* Applied Engineering Phasor */ + device.option_add("cffa2", A2BUS_CFFA2); /* CFFA2000 Compact Flash for Apple II (www.dreher.net), 65C02/65816 firmware */ + device.option_add("cffa202", A2BUS_CFFA2_6502); /* CFFA2000 Compact Flash for Apple II (www.dreher.net), 6502 firmware */ + device.option_add("memexp", A2BUS_MEMEXP); /* Apple II Memory Expansion Card */ + device.option_add("ramfactor", A2BUS_RAMFACTOR); /* Applied Engineering RamFactor */ + device.option_add("thclock", A2BUS_THUNDERCLOCK); /* ThunderWare ThunderClock Plus */ + device.option_add("ssc", A2BUS_SSC); /* Apple Super Serial Card */ + device.option_add("sam", A2BUS_SAM); /* SAM Software Automated Mouth (8-bit DAC + speaker) */ + device.option_add("alfam2", A2BUS_ALFAM2); /* ALF Apple Music II */ + device.option_add("echoii", A2BUS_ECHOII); /* Street Electronics Echo II */ + device.option_add("arcbd", A2BUS_ARCADEBOARD); /* Third Millenium Engineering Arcade Board */ + device.option_add("midi", A2BUS_MIDI); /* Generic 6840+6850 MIDI board */ + device.option_add("vulcan", A2BUS_VULCAN); /* AE Vulcan IDE card */ + device.option_add("vulcangold", A2BUS_VULCANGOLD); /* AE Vulcan Gold IDE card */ + device.option_add("zipdrive", A2BUS_ZIPDRIVE); /* ZIP Technologies IDE card */ + device.option_add("echoiiplus", A2BUS_ECHOPLUS); /* Street Electronics Echo Plus (Echo II + Mockingboard clone) */ +// device.option_add("mdturbo", A2BUS_UDRIVE_TURBO); /* ///SHH Systeme MicroDrive Turbo IDE card */ -// SLOT_INTERFACE("softcard", A2BUS_SOFTCARD) /* Microsoft SoftCard */ // appears not to be IIgs compatible? - SLOT_INTERFACE("scsi", A2BUS_SCSI) /* Apple II SCSI Card */ - SLOT_INTERFACE("hsscsi", A2BUS_HSSCSI) /* Apple II High-Speed SCSI Card */ -SLOT_INTERFACE_END +// device.option_add("softcard", A2BUS_SOFTCARD); /* Microsoft SoftCard */ // appears not to be IIgs compatible? + device.option_add("scsi", A2BUS_SCSI); /* Apple II SCSI Card */ + device.option_add("hsscsi", A2BUS_HSSCSI); /* Apple II High-Speed SCSI Card */ +} MACHINE_CONFIG_START(apple2gs_state::apple2gs) /* basic machine hardware */ diff --git a/src/mame/drivers/apple3.cpp b/src/mame/drivers/apple3.cpp index 98469e157ef..77c2cd75887 100644 --- a/src/mame/drivers/apple3.cpp +++ b/src/mame/drivers/apple3.cpp @@ -36,16 +36,18 @@ void apple3_state::apple3_map(address_map &map) map(0x0000, 0xffff).rw(this, FUNC(apple3_state::apple3_memory_r), FUNC(apple3_state::apple3_memory_w)); } -static SLOT_INTERFACE_START(apple3_cards) - SLOT_INTERFACE("cffa2", A2BUS_CFFA2_6502) /* CFFA2000 Compact Flash for Apple II (www.dreher.net), 6502 firmware */ - SLOT_INTERFACE("applicard", A2BUS_APPLICARD) /* PCPI Applicard */ - SLOT_INTERFACE("thclock", A2BUS_THUNDERCLOCK) /* ThunderWare ThunderClock Plus - driver assumes slot 2 by default */ - SLOT_INTERFACE("mouse", A2BUS_MOUSE) /* Apple II Mouse Card */ -SLOT_INTERFACE_END +static void apple3_cards(device_slot_interface &device) +{ + device.option_add("cffa2", A2BUS_CFFA2_6502); // CFFA2000 Compact Flash for Apple II (www.dreher.net), 6502 firmware + device.option_add("applicard", A2BUS_APPLICARD); // PCPI Applicard + device.option_add("thclock", A2BUS_THUNDERCLOCK); // ThunderWare ThunderClock Plus - driver assumes slot 2 by default + device.option_add("mouse", A2BUS_MOUSE); // Apple II Mouse Card +} -static SLOT_INTERFACE_START( a3_floppies ) - SLOT_INTERFACE( "525", FLOPPY_525_SD ) -SLOT_INTERFACE_END +static void a3_floppies(device_slot_interface &device) +{ + device.option_add("525", FLOPPY_525_SD); +} FLOPPY_FORMATS_MEMBER( apple3_state::floppy_formats ) FLOPPY_A216S_FORMAT, FLOPPY_RWTS18_FORMAT, FLOPPY_EDD_FORMAT, FLOPPY_WOZ_FORMAT @@ -148,8 +150,8 @@ MACHINE_CONFIG_START(apple3_state::apple3) MCFG_SOUND_ADD("bell", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.99) MCFG_SOUND_ADD("dac", DAC_6BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.125) // 6522.b5(pb0-pb5) + 320k,160k,80k,40k,20k,10k MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "bell", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "bell", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_TIMER_DRIVER_ADD_PERIODIC("c040", apple3_state, apple3_c040_tick, attotime::from_hz(2000)) diff --git a/src/mame/drivers/applix.cpp b/src/mame/drivers/applix.cpp index 94634aabc4d..d4f95115a9e 100644 --- a/src/mame/drivers/applix.cpp +++ b/src/mame/drivers/applix.cpp @@ -743,9 +743,10 @@ FLOPPY_FORMATS_MEMBER( applix_state::floppy_formats ) FLOPPY_APPLIX_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( applix_floppies ) - SLOT_INTERFACE( "35dd", FLOPPY_35_DD ) -SLOT_INTERFACE_END +static void applix_floppies(device_slot_interface &device) +{ + device.option_add("35dd", FLOPPY_35_DD); +} PALETTE_INIT_MEMBER(applix_state, applix) @@ -873,8 +874,8 @@ MACHINE_CONFIG_START(applix_state::applix) MCFG_SOUND_ADD("ldac", DAC0800, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) // 74ls374.u20 + dac0800.u21 + 4052.u23 MCFG_SOUND_ADD("rdac", DAC0800, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) // 74ls374.u20 + dac0800.u21 + 4052.u23 MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette") MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50) diff --git a/src/mame/drivers/apricot.cpp b/src/mame/drivers/apricot.cpp index 16cc6d7d16d..3ad783046ce 100644 --- a/src/mame/drivers/apricot.cpp +++ b/src/mame/drivers/apricot.cpp @@ -250,10 +250,11 @@ FLOPPY_FORMATS_MEMBER( apricot_state::floppy_formats ) FLOPPY_APRIDISK_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( apricot_floppies ) - SLOT_INTERFACE("d31v", SONY_OA_D31V) - SLOT_INTERFACE("d32w", SONY_OA_D32W) -SLOT_INTERFACE_END +static void apricot_floppies(device_slot_interface &device) +{ + device.option_add("d31v", SONY_OA_D31V); + device.option_add("d32w", SONY_OA_D32W); +} //************************************************************************** diff --git a/src/mame/drivers/apricotf.cpp b/src/mame/drivers/apricotf.cpp index 6f43e2162bc..cc29c5e5784 100644 --- a/src/mame/drivers/apricotf.cpp +++ b/src/mame/drivers/apricotf.cpp @@ -319,10 +319,11 @@ FLOPPY_FORMATS_MEMBER( f1_state::floppy_formats ) FLOPPY_APRIDISK_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( apricotf_floppies ) - SLOT_INTERFACE( "d31v", SONY_OA_D31V ) - SLOT_INTERFACE( "d32w", SONY_OA_D32W ) -SLOT_INTERFACE_END +void apricotf_floppies(device_slot_interface &device) +{ + device.option_add("d31v", SONY_OA_D31V); + device.option_add("d32w", SONY_OA_D32W); +} diff --git a/src/mame/drivers/apricotp.cpp b/src/mame/drivers/apricotp.cpp index e9bf1dd4d44..c1868990dcb 100644 --- a/src/mame/drivers/apricotp.cpp +++ b/src/mame/drivers/apricotp.cpp @@ -574,9 +574,10 @@ FLOPPY_FORMATS_MEMBER( fp_state::floppy_formats ) FLOPPY_APRIDISK_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( fp_floppies ) - SLOT_INTERFACE("d32w", SONY_OA_D32W) -SLOT_INTERFACE_END +static void fp_floppies(device_slot_interface &device) +{ + device.option_add("d32w", SONY_OA_D32W); +} //------------------------------------------------- diff --git a/src/mame/drivers/arcadia.cpp b/src/mame/drivers/arcadia.cpp index 2236e88c172..1a545ea4db6 100644 --- a/src/mame/drivers/arcadia.cpp +++ b/src/mame/drivers/arcadia.cpp @@ -464,10 +464,11 @@ void arcadia_state::machine_start() } } -static SLOT_INTERFACE_START(arcadia_cart) - SLOT_INTERFACE_INTERNAL("std", ARCADIA_ROM_STD) - SLOT_INTERFACE_INTERNAL("golf", ARCADIA_ROM_GOLF) -SLOT_INTERFACE_END +static void arcadia_cart(device_slot_interface &device) +{ + device.option_add_internal("std", ARCADIA_ROM_STD); + device.option_add_internal("golf", ARCADIA_ROM_GOLF); +} MACHINE_CONFIG_START(arcadia_state::arcadia) diff --git a/src/mame/drivers/aristmk5.cpp b/src/mame/drivers/aristmk5.cpp index 06eb7267f0e..aa6a9e8952f 100644 --- a/src/mame/drivers/aristmk5.cpp +++ b/src/mame/drivers/aristmk5.cpp @@ -2101,14 +2101,14 @@ MACHINE_CONFIG_START(aristmk5_state::aristmk5) MCFG_SOUND_ADD("dac6", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(0, "speaker", 0.1) // unknown DAC MCFG_SOUND_ADD("dac7", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(0, "speaker", 0.1) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac0", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac0", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac3", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac3", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac4", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac4", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac5", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac5", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac6", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac6", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac7", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac7", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac0", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac0", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac3", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac3", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac4", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac4", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac5", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac5", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac6", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac6", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac7", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac7", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/armedf.cpp b/src/mame/drivers/armedf.cpp index efaac40124e..4fc0769878b 100644 --- a/src/mame/drivers/armedf.cpp +++ b/src/mame/drivers/armedf.cpp @@ -1266,8 +1266,8 @@ MACHINE_CONFIG_START(armedf_state::terraf_sound) MCFG_SOUND_ADD("dac1", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.8) // 10-pin SIP with 74HC374P latch MCFG_SOUND_ADD("dac2", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.8) // 10-pin SIP with 74HC374P latch MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(armedf_state::terraf) @@ -1353,8 +1353,8 @@ MACHINE_CONFIG_START(armedf_state::terrafjb) MCFG_SOUND_ADD("dac1", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.8) // unknown DAC MCFG_SOUND_ADD("dac2", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.8) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(armedf_state::terrafb) @@ -1440,8 +1440,8 @@ MACHINE_CONFIG_START(armedf_state::armedf) MCFG_SOUND_ADD("dac1", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC MCFG_SOUND_ADD("dac2", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(armedf_state::cclimbr2) @@ -1490,8 +1490,8 @@ MACHINE_CONFIG_START(armedf_state::cclimbr2) MCFG_SOUND_ADD("dac1", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) // unknown DAC MCFG_SOUND_ADD("dac2", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(armedf_state::legion) @@ -1540,8 +1540,8 @@ MACHINE_CONFIG_START(armedf_state::legion) MCFG_SOUND_ADD("dac1", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) // 10-pin SIP with 74HC374P latch MCFG_SOUND_ADD("dac2", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) // 10-pin SIP with 74HC374P latch MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(armedf_state::legionjb) @@ -1588,8 +1588,8 @@ MACHINE_CONFIG_START(armedf_state::legionjb) MCFG_SOUND_ADD("dac1", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) // unknown DAC MCFG_SOUND_ADD("dac2", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(bigfghtr_state::bigfghtr) diff --git a/src/mame/drivers/asst128.cpp b/src/mame/drivers/asst128.cpp index 3e73e3ae57e..32dfc693bb1 100644 --- a/src/mame/drivers/asst128.cpp +++ b/src/mame/drivers/asst128.cpp @@ -86,9 +86,10 @@ void asst128_state::asst128_io(address_map &map) map(0x03f4, 0x03f5).m("fdc:upd765", FUNC(upd765a_device::map)); } -static SLOT_INTERFACE_START( asst128_floppies ) - SLOT_INTERFACE( "525ssqd", FLOPPY_525_SSQD ) -SLOT_INTERFACE_END +static void asst128_floppies(device_slot_interface &device) +{ + device.option_add("525ssqd", FLOPPY_525_SSQD); +} FLOPPY_FORMATS_MEMBER( asst128_state::asst128_formats ) FLOPPY_ASST128_FORMAT diff --git a/src/mame/drivers/astrohome.cpp b/src/mame/drivers/astrohome.cpp index fcec6699453..e12c1ea1886 100644 --- a/src/mame/drivers/astrohome.cpp +++ b/src/mame/drivers/astrohome.cpp @@ -179,20 +179,22 @@ INPUT_PORTS_END * *************************************/ -static SLOT_INTERFACE_START(astrocade_cart) - SLOT_INTERFACE_INTERNAL("rom", ASTROCADE_ROM_STD) - SLOT_INTERFACE_INTERNAL("rom_256k", ASTROCADE_ROM_256K) - SLOT_INTERFACE_INTERNAL("rom_512k", ASTROCADE_ROM_512K) -SLOT_INTERFACE_END +static void astrocade_cart(device_slot_interface &device) +{ + device.option_add_internal("rom", ASTROCADE_ROM_STD); + device.option_add_internal("rom_256k", ASTROCADE_ROM_256K); + device.option_add_internal("rom_512k", ASTROCADE_ROM_512K); +} -static SLOT_INTERFACE_START(astrocade_exp) - SLOT_INTERFACE("blue_ram_4k", ASTROCADE_BLUERAM_4K) - SLOT_INTERFACE("blue_ram_16k", ASTROCADE_BLUERAM_16K) - SLOT_INTERFACE("blue_ram_32k", ASTROCADE_BLUERAM_32K) - SLOT_INTERFACE("viper_sys1", ASTROCADE_VIPER_SYS1) - SLOT_INTERFACE("lil_white_ram", ASTROCADE_WHITERAM) - SLOT_INTERFACE("rl64_ram", ASTROCADE_RL64RAM) -SLOT_INTERFACE_END +static void astrocade_exp(device_slot_interface &device) +{ + device.option_add("blue_ram_4k", ASTROCADE_BLUERAM_4K); + device.option_add("blue_ram_16k", ASTROCADE_BLUERAM_16K); + device.option_add("blue_ram_32k", ASTROCADE_BLUERAM_32K); + device.option_add("viper_sys1", ASTROCADE_VIPER_SYS1); + device.option_add("lil_white_ram", ASTROCADE_WHITERAM); + device.option_add("rl64_ram", ASTROCADE_RL64RAM); +} MACHINE_CONFIG_START(astrocde_mess_state::astrocde) diff --git a/src/mame/drivers/at.cpp b/src/mame/drivers/at.cpp index f1d0d71796d..ff7042251be 100644 --- a/src/mame/drivers/at.cpp +++ b/src/mame/drivers/at.cpp @@ -416,9 +416,10 @@ void at_state::cfg_single_360K(device_t *device) dynamic_cast(*device->subdevice("fdc:1")).set_default_option(""); } -static SLOT_INTERFACE_START( pci_devices ) - SLOT_INTERFACE_INTERNAL("vt82c505", VT82C505) -SLOT_INTERFACE_END +static void pci_devices(device_slot_interface &device) +{ + device.option_add_internal("vt82c505", VT82C505); +} MACHINE_CONFIG_START(at_state::ibm5170) /* basic machine hardware */ diff --git a/src/mame/drivers/atari400.cpp b/src/mame/drivers/atari400.cpp index d179d64c704..a30a07a9ec1 100644 --- a/src/mame/drivers/atari400.cpp +++ b/src/mame/drivers/atari400.cpp @@ -2154,7 +2154,7 @@ MACHINE_CONFIG_START(a400_state::atari_common) atari_common_nodac(config); MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.03) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) /* internal ram */ MCFG_RAM_ADD(RAM_TAG) diff --git a/src/mame/drivers/atari_s1.cpp b/src/mame/drivers/atari_s1.cpp index c0f8595e1b2..310ee762156 100644 --- a/src/mame/drivers/atari_s1.cpp +++ b/src/mame/drivers/atari_s1.cpp @@ -461,7 +461,7 @@ MACHINE_CONFIG_START(atari_s1_state::atari_s1) MCFG_SOUND_ADD("dac", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.3) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) /* Video */ MCFG_DEFAULT_LAYOUT(layout_atari_s1) diff --git a/src/mame/drivers/atari_s2.cpp b/src/mame/drivers/atari_s2.cpp index 9c176aaaea9..ca4c6c9d898 100644 --- a/src/mame/drivers/atari_s2.cpp +++ b/src/mame/drivers/atari_s2.cpp @@ -494,8 +494,8 @@ MACHINE_CONFIG_START(atari_s2_state::atari_s2) MCFG_SOUND_ADD("dac", DAC_4BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.15) // r23-r26 (68k,33k,18k,8.2k) MCFG_SOUND_ADD("dac1", DAC_3BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.15) // r18-r20 (100k,47k,100k) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) /* Video */ MCFG_DEFAULT_LAYOUT(layout_atari_s2) diff --git a/src/mame/drivers/atarist.cpp b/src/mame/drivers/atarist.cpp index 6742aa2dd3b..2371d953ea0 100644 --- a/src/mame/drivers/atarist.cpp +++ b/src/mame/drivers/atarist.cpp @@ -2015,9 +2015,10 @@ FLOPPY_FORMATS_MEMBER( st_state::floppy_formats ) FLOPPY_ST_FORMAT, FLOPPY_MSA_FORMAT, FLOPPY_PASTI_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( atari_floppies ) - SLOT_INTERFACE( "35dd", FLOPPY_35_DD ) -SLOT_INTERFACE_END +static void atari_floppies(device_slot_interface &device) +{ + device.option_add("35dd", FLOPPY_35_DD); +} diff --git a/src/mame/drivers/atlantis.cpp b/src/mame/drivers/atlantis.cpp index 5954dd949ce..727802eaf2b 100644 --- a/src/mame/drivers/atlantis.cpp +++ b/src/mame/drivers/atlantis.cpp @@ -880,7 +880,7 @@ MACHINE_CONFIG_START(atlantis_state::mwskins) MCFG_RS232_DSR_HANDLER(DEVWRITELINE("uart1", ins8250_uart_device, dsr_w)) MCFG_RS232_RI_HANDLER(DEVWRITELINE("uart1", ins8250_uart_device, ri_w)) MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart1", ins8250_uart_device, cts_w)) - //MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("com1", mwskins_comm) + //MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("com1", mwskins_comm) MCFG_RS232_PORT_ADD("com2", default_rs232_devices, nullptr) MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart2", ins8250_uart_device, rx_w)) diff --git a/src/mame/drivers/atom.cpp b/src/mame/drivers/atom.cpp index c1237b8bc80..acf570a9b41 100644 --- a/src/mame/drivers/atom.cpp +++ b/src/mame/drivers/atom.cpp @@ -695,9 +695,10 @@ image_init_result atom_state::load_cart(device_image_interface &image, generic_s return image_init_result::PASS; } -static SLOT_INTERFACE_START(atom_floppies) - SLOT_INTERFACE("525sssd", FLOPPY_525_SSSD) -SLOT_INTERFACE_END +static void atom_floppies(device_slot_interface &device) +{ + device.option_add("525sssd", FLOPPY_525_SSSD); +} FLOPPY_FORMATS_MEMBER(atom_state::floppy_formats) FLOPPY_ATOM_FORMAT diff --git a/src/mame/drivers/atpci.cpp b/src/mame/drivers/atpci.cpp index 1024b81bb43..3d76c709dff 100644 --- a/src/mame/drivers/atpci.cpp +++ b/src/mame/drivers/atpci.cpp @@ -72,15 +72,17 @@ void at586_state::superio_config(device_t *device) } -static SLOT_INTERFACE_START( isa_internal_devices ) - SLOT_INTERFACE("fdc37c93x", FDC37C93X) -SLOT_INTERFACE_END +static void isa_internal_devices(device_slot_interface &device) +{ + device.option_add("fdc37c93x", FDC37C93X); +} -static SLOT_INTERFACE_START( pci_devices ) - SLOT_INTERFACE_INTERNAL("i82439tx", I82439TX) - SLOT_INTERFACE_INTERNAL("i82371ab", I82371AB) - SLOT_INTERFACE_INTERNAL("i82371sb", I82371SB) -SLOT_INTERFACE_END +static void pci_devices(device_slot_interface &device) +{ + device.option_add_internal("i82439tx", I82439TX); + device.option_add_internal("i82371ab", I82371AB); + device.option_add_internal("i82371sb", I82371SB); +} void at586_state::at586_map(address_map &map) { diff --git a/src/mame/drivers/attache.cpp b/src/mame/drivers/attache.cpp index b2b85861db9..dcbcee180ee 100644 --- a/src/mame/drivers/attache.cpp +++ b/src/mame/drivers/attache.cpp @@ -1049,9 +1049,10 @@ static const z80_daisy_config attache_daisy_chain[] = { nullptr } }; -static SLOT_INTERFACE_START( attache_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) -SLOT_INTERFACE_END +static void attache_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); +} void attache_state::driver_start() { diff --git a/src/mame/drivers/aussiebyte.cpp b/src/mame/drivers/aussiebyte.cpp index db42528aeb3..d0633d0856d 100644 --- a/src/mame/drivers/aussiebyte.cpp +++ b/src/mame/drivers/aussiebyte.cpp @@ -419,9 +419,10 @@ WRITE_LINE_MEMBER( aussiebyte_state::fdc_drq_w ) m_dma->rdy_w(state); } -static SLOT_INTERFACE_START( aussiebyte_floppies ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void aussiebyte_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); +} /*********************************************************** diff --git a/src/mame/drivers/ax20.cpp b/src/mame/drivers/ax20.cpp index b79cf78819d..278c3229649 100644 --- a/src/mame/drivers/ax20.cpp +++ b/src/mame/drivers/ax20.cpp @@ -122,9 +122,10 @@ static GFXDECODE_START( ax20 ) GFXDECODE_ENTRY( "chargen", 0x0000, ax20_charlayout, 0, 1 ) GFXDECODE_END -static SLOT_INTERFACE_START( ax20_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) -SLOT_INTERFACE_END +static void ax20_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); +} MACHINE_CONFIG_START(ax20_state::ax20) /* basic machine hardware */ diff --git a/src/mame/drivers/b2m.cpp b/src/mame/drivers/b2m.cpp index bd2c10d023e..c7bf2eea000 100644 --- a/src/mame/drivers/b2m.cpp +++ b/src/mame/drivers/b2m.cpp @@ -182,9 +182,10 @@ FLOPPY_FORMATS_MEMBER( b2m_state::b2m_floppy_formats ) FLOPPY_SMX_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( b2m_floppies ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void b2m_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); +} /* Machine driver */ diff --git a/src/mame/drivers/bbc.cpp b/src/mame/drivers/bbc.cpp index 65d4859d90d..dec458a817f 100644 --- a/src/mame/drivers/bbc.cpp +++ b/src/mame/drivers/bbc.cpp @@ -764,17 +764,19 @@ FLOPPY_FORMATS_MEMBER( bbc_state::floppy_formats_bbc ) FLOPPY_PC_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( bbc_floppies_525 ) - SLOT_INTERFACE("525sssd", FLOPPY_525_SSSD) - SLOT_INTERFACE("525sd", FLOPPY_525_SD) - SLOT_INTERFACE("525ssdd", FLOPPY_525_SSDD) - SLOT_INTERFACE("525dd", FLOPPY_525_DD) - SLOT_INTERFACE("525qd", FLOPPY_525_QD) -SLOT_INTERFACE_END +static void bbc_floppies_525(device_slot_interface &device) +{ + device.option_add("525sssd", FLOPPY_525_SSSD); + device.option_add("525sd", FLOPPY_525_SD); + device.option_add("525ssdd", FLOPPY_525_SSDD); + device.option_add("525dd", FLOPPY_525_DD); + device.option_add("525qd", FLOPPY_525_QD); +} -static SLOT_INTERFACE_START( bbc_floppies_35 ) - SLOT_INTERFACE("35dd", FLOPPY_35_DD) -SLOT_INTERFACE_END +static void bbc_floppies_35(device_slot_interface &device) +{ + device.option_add("35dd", FLOPPY_35_DD); +} static const char *const bbc_sample_names[] = diff --git a/src/mame/drivers/bebox.cpp b/src/mame/drivers/bebox.cpp index a43fa382d5b..2e51eada11c 100644 --- a/src/mame/drivers/bebox.cpp +++ b/src/mame/drivers/bebox.cpp @@ -116,9 +116,10 @@ FLOPPY_FORMATS_MEMBER( bebox_state::floppy_formats ) FLOPPY_PC_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( bebox_floppies ) - SLOT_INTERFACE( "35hd", FLOPPY_35_HD ) -SLOT_INTERFACE_END +static void bebox_floppies(device_slot_interface &device) +{ + device.option_add("35hd", FLOPPY_35_HD); +} void bebox_state::mpc105_config(device_t *device) { @@ -138,10 +139,11 @@ WRITE_LINE_MEMBER(bebox_state::bebox_keyboard_interrupt) m_pic8259_1->ir1_w(state); } -static SLOT_INTERFACE_START( pci_devices ) - SLOT_INTERFACE_INTERNAL("mpc105", MPC105) - SLOT_INTERFACE("cirrus", PCI_CIRRUS_SVGA) -SLOT_INTERFACE_END +static void pci_devices(device_slot_interface &device) +{ + device.option_add("mpc105", MPC105); + device.option_add("cirrus", PCI_CIRRUS_SVGA); +} MACHINE_CONFIG_START(bebox_state::bebox) /* basic machine hardware */ diff --git a/src/mame/drivers/bigbord2.cpp b/src/mame/drivers/bigbord2.cpp index 22f1ec6b0e1..f6efc16d38b 100644 --- a/src/mame/drivers/bigbord2.cpp +++ b/src/mame/drivers/bigbord2.cpp @@ -403,9 +403,10 @@ static const z80_daisy_config daisy_chain[] = /* WD1793 Interface */ -static SLOT_INTERFACE_START( bigbord2_floppies ) - SLOT_INTERFACE( "8dsdd", FLOPPY_8_DSDD ) -SLOT_INTERFACE_END +static void bigbord2_floppies(device_slot_interface &device) +{ + device.option_add("8dsdd", FLOPPY_8_DSDD); +} /* Machine Initialization */ diff --git a/src/mame/drivers/bigevglf.cpp b/src/mame/drivers/bigevglf.cpp index e5fc7fc70c0..bd4f5d296a3 100644 --- a/src/mame/drivers/bigevglf.cpp +++ b/src/mame/drivers/bigevglf.cpp @@ -443,7 +443,7 @@ MACHINE_CONFIG_START(bigevglf_state::bigevglf) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END /*************************************************************************** diff --git a/src/mame/drivers/binbug.cpp b/src/mame/drivers/binbug.cpp index 4673efec2c1..d5d2871ce2a 100644 --- a/src/mame/drivers/binbug.cpp +++ b/src/mame/drivers/binbug.cpp @@ -320,7 +320,7 @@ MACHINE_CONFIG_START(binbug_state::binbug) /* Keyboard */ MCFG_RS232_PORT_ADD("keyboard", default_rs232_devices, "keyboard") - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("keyboard", keyboard) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("keyboard", keyboard) /* Cassette */ MCFG_CASSETTE_ADD( "cassette" ) diff --git a/src/mame/drivers/bitgraph.cpp b/src/mame/drivers/bitgraph.cpp index 9e956a85930..c9c28465ea0 100644 --- a/src/mame/drivers/bitgraph.cpp +++ b/src/mame/drivers/bitgraph.cpp @@ -522,7 +522,7 @@ MACHINE_CONFIG_START(bitgraph_state::bg_motherboard) MCFG_RS232_RXD_HANDLER(DEVWRITELINE(ACIA1_TAG, acia6850_device, write_rxd)) MCFG_RS232_DCD_HANDLER(DEVWRITELINE(ACIA1_TAG, acia6850_device, write_dcd)) MCFG_RS232_CTS_HANDLER(DEVWRITELINE(ACIA1_TAG, acia6850_device, write_cts)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("keyboard", kbd_rs232_defaults) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("keyboard", kbd_rs232_defaults) MCFG_DEVICE_ADD(ACIA2_TAG, ACIA6850, 0) MCFG_ACIA6850_TXD_HANDLER(DEVWRITELINE(RS232_D_TAG, rs232_port_device, write_txd)) diff --git a/src/mame/drivers/bking.cpp b/src/mame/drivers/bking.cpp index 68507be9584..3bc2c610757 100644 --- a/src/mame/drivers/bking.cpp +++ b/src/mame/drivers/bking.cpp @@ -440,7 +440,7 @@ MACHINE_CONFIG_START(bking_state::bking) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(bking_state::bking3) diff --git a/src/mame/drivers/bml3.cpp b/src/mame/drivers/bml3.cpp index 1cb795549ae..5a3824e13c8 100644 --- a/src/mame/drivers/bml3.cpp +++ b/src/mame/drivers/bml3.cpp @@ -960,11 +960,12 @@ static const ay8910_interface ay8910_config = }; #endif -static SLOT_INTERFACE_START(bml3_cards) - SLOT_INTERFACE("bml3mp1802", BML3BUS_MP1802) /* MP-1802 Floppy Controller Card */ - SLOT_INTERFACE("bml3mp1805", BML3BUS_MP1805) /* MP-1805 Floppy Controller Card */ - SLOT_INTERFACE("bml3kanji", BML3BUS_KANJI) -SLOT_INTERFACE_END +static void bml3_cards(device_slot_interface &device) +{ + device.option_add("bml3mp1802", BML3BUS_MP1802); // MP-1802 Floppy Controller Card + device.option_add("bml3mp1805", BML3BUS_MP1805); // MP-1805 Floppy Controller Card + device.option_add("bml3kanji", BML3BUS_KANJI); +} MACHINE_CONFIG_START(bml3_state::bml3_common) diff --git a/src/mame/drivers/btime.cpp b/src/mame/drivers/btime.cpp index 61deac62966..d156ae222fc 100644 --- a/src/mame/drivers/btime.cpp +++ b/src/mame/drivers/btime.cpp @@ -1315,16 +1315,16 @@ MACHINE_CONFIG_START(btime_state::btime) MCFG_AY8910_OUTPUT_TYPE(AY8910_DISCRETE_OUTPUT) MCFG_AY8910_RES_LOADS(RES_K(5), RES_K(5), RES_K(5)) MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(btime_state, ay_audio_nmi_enable_w)) - MCFG_SOUND_ROUTE_EX(0, "discrete", 1.0, 0) - MCFG_SOUND_ROUTE_EX(1, "discrete", 1.0, 1) - MCFG_SOUND_ROUTE_EX(2, "discrete", 1.0, 2) + MCFG_SOUND_ROUTE(0, "discrete", 1.0, 0) + MCFG_SOUND_ROUTE(1, "discrete", 1.0, 1) + MCFG_SOUND_ROUTE(2, "discrete", 1.0, 2) MCFG_SOUND_ADD("ay2", AY8910, HCLK2) MCFG_AY8910_OUTPUT_TYPE(AY8910_DISCRETE_OUTPUT) MCFG_AY8910_RES_LOADS(RES_K(1), RES_K(5), RES_K(5)) - MCFG_SOUND_ROUTE_EX(0, "discrete", 1.0, 3) - MCFG_SOUND_ROUTE_EX(1, "discrete", 1.0, 4) - MCFG_SOUND_ROUTE_EX(2, "discrete", 1.0, 5) + MCFG_SOUND_ROUTE(0, "discrete", 1.0, 3) + MCFG_SOUND_ROUTE(1, "discrete", 1.0, 4) + MCFG_SOUND_ROUTE(2, "discrete", 1.0, 5) MCFG_SOUND_ADD("discrete", DISCRETE, 0) MCFG_DISCRETE_INTF(btime_sound) diff --git a/src/mame/drivers/bullet.cpp b/src/mame/drivers/bullet.cpp index 62f0b8d91b9..19b8bffaae2 100644 --- a/src/mame/drivers/bullet.cpp +++ b/src/mame/drivers/bullet.cpp @@ -934,20 +934,23 @@ WRITE_LINE_MEMBER( bulletf_state::cstrb_w ) m_centronics->write_strobe(!state); } -static SLOT_INTERFACE_START( bullet_525_floppies ) - SLOT_INTERFACE( "525sd", FLOPPY_525_SD ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void bullet_525_floppies(device_slot_interface &device) +{ + device.option_add("525sd", FLOPPY_525_SD); + device.option_add("525dd", FLOPPY_525_DD); + device.option_add("525qd", FLOPPY_525_QD); +} -static SLOT_INTERFACE_START( bullet_8_floppies ) - SLOT_INTERFACE( "8dssd", FLOPPY_8_DSSD ) - SLOT_INTERFACE( "8dsdd", FLOPPY_8_DSDD ) -SLOT_INTERFACE_END +static void bullet_8_floppies(device_slot_interface &device) +{ + device.option_add("8dssd", FLOPPY_8_DSSD); + device.option_add("8dsdd", FLOPPY_8_DSDD); +} -static SLOT_INTERFACE_START( bullet_35_floppies ) - SLOT_INTERFACE( "35dd", FLOPPY_35_DD ) -SLOT_INTERFACE_END +static void bullet_35_floppies(device_slot_interface &device) +{ + device.option_add("35dd", FLOPPY_35_DD); +} WRITE_LINE_MEMBER( bullet_state::fdc_drq_w ) { @@ -1165,7 +1168,7 @@ MACHINE_CONFIG_START(bullet_state::bullet) MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, "terminal") MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxa_w)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, nullptr) MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxb_w)) @@ -1246,7 +1249,7 @@ MACHINE_CONFIG_START(bulletf_state::bulletf) MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, "terminal") MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxa_w)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, nullptr) MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxb_w)) diff --git a/src/mame/drivers/bw12.cpp b/src/mame/drivers/bw12.cpp index 02a3b9b00b8..3c1f6dfabaf 100644 --- a/src/mame/drivers/bw12.cpp +++ b/src/mame/drivers/bw12.cpp @@ -508,17 +508,19 @@ void bw12_state::machine_reset() } } -static SLOT_INTERFACE_START( bw12_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_SSDD ) -SLOT_INTERFACE_END +static void bw12_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_SSDD); +} FLOPPY_FORMATS_MEMBER( bw12_state::bw12_floppy_formats ) FLOPPY_BW12_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( bw14_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) -SLOT_INTERFACE_END +static void bw14_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); +} FLOPPY_FORMATS_MEMBER( bw12_state::bw14_floppy_formats ) FLOPPY_BW12_FORMAT @@ -571,7 +573,7 @@ MACHINE_CONFIG_START(bw12_state::common) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.125) // ls273.ic5 + mc1408.ic4 MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) /* devices */ MCFG_TIMER_DRIVER_ADD(FLOPPY_TIMER_TAG, bw12_state, floppy_motor_off_tick) diff --git a/src/mame/drivers/bw2.cpp b/src/mame/drivers/bw2.cpp index 2ca8bb637b0..3a3328c6e4e 100644 --- a/src/mame/drivers/bw2.cpp +++ b/src/mame/drivers/bw2.cpp @@ -530,9 +530,10 @@ FLOPPY_FORMATS_MEMBER( bw2_state::floppy_formats ) FLOPPY_BW2_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( bw2_floppies ) - SLOT_INTERFACE( "35dd", FLOPPY_35_DD ) // Teac FD-35 -SLOT_INTERFACE_END +static void bw2_floppies(device_slot_interface &device) +{ + device.option_add("35dd", FLOPPY_35_DD); // Teac FD-35 +} diff --git a/src/mame/drivers/bwing.cpp b/src/mame/drivers/bwing.cpp index 519dd648ec8..6dbf809e1bc 100644 --- a/src/mame/drivers/bwing.cpp +++ b/src/mame/drivers/bwing.cpp @@ -413,7 +413,7 @@ MACHINE_CONFIG_START(bwing_state::bwing) MCFG_SOUND_ADD("dac", DAC08, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END //**************************************************************************** diff --git a/src/mame/drivers/byvid.cpp b/src/mame/drivers/byvid.cpp index d7f742c5017..872f4fec269 100644 --- a/src/mame/drivers/byvid.cpp +++ b/src/mame/drivers/byvid.cpp @@ -810,7 +810,7 @@ MACHINE_CONFIG_START(by133_state::babypac) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", ZN429E, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // U32 (Vidiot) or U6 (Cheap Squeak) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_SPEAKER_STANDARD_MONO("beee") MCFG_SOUND_ADD("beeper", BEEP, 600) diff --git a/src/mame/drivers/c128.cpp b/src/mame/drivers/c128.cpp index c80eaca0b95..6afdb4147dc 100644 --- a/src/mame/drivers/c128.cpp +++ b/src/mame/drivers/c128.cpp @@ -1599,19 +1599,21 @@ WRITE_LINE_MEMBER( c128_state::exp_reset_w ) // SLOT_INTERFACE( c128dcr_iec_devices ) //------------------------------------------------- -SLOT_INTERFACE_START( c128dcr_iec_devices ) - SLOT_INTERFACE("c1571", C1571) - SLOT_INTERFACE("c1571cr", C1571CR) -SLOT_INTERFACE_END +void c128dcr_iec_devices(device_slot_interface &device) +{ + device.option_add("c1571", C1571); + device.option_add("c1571cr", C1571CR); +} //------------------------------------------------- // SLOT_INTERFACE( c128d81_iec_devices ) //------------------------------------------------- -SLOT_INTERFACE_START( c128d81_iec_devices ) - SLOT_INTERFACE("c1563", C1563) -SLOT_INTERFACE_END +void c128d81_iec_devices(device_slot_interface &device) +{ + device.option_add("c1563", C1563); +} diff --git a/src/mame/drivers/c64.cpp b/src/mame/drivers/c64.cpp index cdc4824d2e7..b9004fb54a1 100644 --- a/src/mame/drivers/c64.cpp +++ b/src/mame/drivers/c64.cpp @@ -1242,9 +1242,10 @@ WRITE_LINE_MEMBER( c64_state::exp_reset_w ) // SLOT_INTERFACE( sx1541_iec_devices ) //------------------------------------------------- -SLOT_INTERFACE_START( sx1541_iec_devices ) - SLOT_INTERFACE("sx1541", SX1541) -SLOT_INTERFACE_END +void sx1541_iec_devices(device_slot_interface &device) +{ + device.option_add("sx1541", SX1541); +} diff --git a/src/mame/drivers/calchase.cpp b/src/mame/drivers/calchase.cpp index c670680e5b2..c56047b7688 100644 --- a/src/mame/drivers/calchase.cpp +++ b/src/mame/drivers/calchase.cpp @@ -705,8 +705,8 @@ MACHINE_CONFIG_START(calchase_state::calchase) MCFG_SOUND_ADD("ldac", DAC_12BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.25) // unknown DAC MCFG_SOUND_ADD("rdac", DAC_12BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(calchase_state::hostinv) @@ -732,8 +732,8 @@ MACHINE_CONFIG_START(calchase_state::hostinv) MCFG_SOUND_ADD("ldac", DAC_12BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.25) // unknown DAC MCFG_SOUND_ADD("rdac", DAC_12BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/camplynx.cpp b/src/mame/drivers/camplynx.cpp index ae72292761d..9503e218318 100644 --- a/src/mame/drivers/camplynx.cpp +++ b/src/mame/drivers/camplynx.cpp @@ -838,9 +838,10 @@ FLOPPY_FORMATS_MEMBER( camplynx_state::camplynx_floppy_formats ) FLOPPY_CAMPLYNX_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( camplynx_floppies ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void camplynx_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); +} MACHINE_CONFIG_START(camplynx_state::lynx_common) MCFG_PALETTE_ADD_3BIT_RGB("palette") @@ -849,7 +850,7 @@ MACHINE_CONFIG_START(camplynx_state::lynx_common) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_6BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.375) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette") MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.02) MACHINE_CONFIG_END diff --git a/src/mame/drivers/capbowl.cpp b/src/mame/drivers/capbowl.cpp index fa7c3a639e9..bd3cb473447 100644 --- a/src/mame/drivers/capbowl.cpp +++ b/src/mame/drivers/capbowl.cpp @@ -362,7 +362,7 @@ MACHINE_CONFIG_START(capbowl_state::capbowl) MCFG_SOUND_ADD("dac", DAC0832, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/cc40.cpp b/src/mame/drivers/cc40.cpp index bcdf399b15b..b57a96815db 100644 --- a/src/mame/drivers/cc40.cpp +++ b/src/mame/drivers/cc40.cpp @@ -610,7 +610,7 @@ MACHINE_CONFIG_START(cc40_state::cc40) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) /* cartridge */ MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "cc40_cart") diff --git a/src/mame/drivers/cchasm.cpp b/src/mame/drivers/cchasm.cpp index da6f86d35f0..425c00ebace 100644 --- a/src/mame/drivers/cchasm.cpp +++ b/src/mame/drivers/cchasm.cpp @@ -190,8 +190,8 @@ MACHINE_CONFIG_START(cchasm_state::cchasm) MCFG_SOUND_ADD("dac1", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) MCFG_SOUND_ADD("dac2", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) /* 6840 PTM */ MCFG_DEVICE_ADD("6840ptm", PTM6840, CCHASM_68K_CLOCK/10) diff --git a/src/mame/drivers/ccs2810.cpp b/src/mame/drivers/ccs2810.cpp index 55e66b067a4..97fc1fb232a 100644 --- a/src/mame/drivers/ccs2810.cpp +++ b/src/mame/drivers/ccs2810.cpp @@ -896,11 +896,12 @@ DRIVER_INIT_MEMBER( ccs_state, ccs2422 ) // //************************************* -static SLOT_INTERFACE_START( ccs_floppies ) - SLOT_INTERFACE( "8sssd", FLOPPY_8_SSSD ) -SLOT_INTERFACE_END +static void ccs_floppies(device_slot_interface &device) +{ + device.option_add("8sssd", FLOPPY_8_SSSD); +} - //SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) + //device.option_add("525dd", FLOPPY_525_DD); MACHINE_CONFIG_START(ccs_state::ccs2810) /* basic machine hardware */ diff --git a/src/mame/drivers/ccs300.cpp b/src/mame/drivers/ccs300.cpp index a3e5dcb5ed3..56b80845024 100644 --- a/src/mame/drivers/ccs300.cpp +++ b/src/mame/drivers/ccs300.cpp @@ -139,7 +139,7 @@ MACHINE_CONFIG_START(ccs300_state::ccs300) MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "terminal") MCFG_RS232_RXD_HANDLER(DEVWRITELINE("sio", z80sio_device, rxa_w)) MCFG_RS232_CTS_HANDLER(DEVWRITELINE("sio", z80sio_device, ctsa_w)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal) // must be exactly here + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) // must be exactly here MCFG_DEVICE_ADD("ctc", Z80CTC, XTAL(4'000'000)) MCFG_Z80CTC_INTR_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) diff --git a/src/mame/drivers/champbas.cpp b/src/mame/drivers/champbas.cpp index 4aac84a91b2..70c56d19ded 100644 --- a/src/mame/drivers/champbas.cpp +++ b/src/mame/drivers/champbas.cpp @@ -614,7 +614,7 @@ MACHINE_CONFIG_START(champbas_state::champbas) MCFG_SOUND_ADD("dac", DAC_6BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.7) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(champbas_state::champbasj) @@ -736,8 +736,8 @@ MACHINE_CONFIG_START(champbas_state::exctsccr) MCFG_SOUND_ADD("dac1", DAC_6BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.3) // unknown DAC MCFG_SOUND_ADD("dac2", DAC_6BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.3) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END /* Bootleg running on a modified Champion Baseball board */ @@ -791,7 +791,7 @@ MACHINE_CONFIG_START(champbas_state::exctsccrb) MCFG_SOUND_ADD("dac", DAC_6BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.7) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/channelf.cpp b/src/mame/drivers/channelf.cpp index 374d61460dc..8f7c6daa3e1 100644 --- a/src/mame/drivers/channelf.cpp +++ b/src/mame/drivers/channelf.cpp @@ -191,14 +191,15 @@ void channelf_state::machine_start() } } -static SLOT_INTERFACE_START(cf_cart) - SLOT_INTERFACE_INTERNAL("std", CHANF_ROM_STD) - SLOT_INTERFACE_INTERNAL("maze", CHANF_ROM_MAZE) - SLOT_INTERFACE_INTERNAL("hangman", CHANF_ROM_HANGMAN) - SLOT_INTERFACE_INTERNAL("chess", CHANF_ROM_CHESS) - SLOT_INTERFACE_INTERNAL("multi_old",CHANF_ROM_MULTI_OLD) - SLOT_INTERFACE_INTERNAL("multi", CHANF_ROM_MULTI_FINAL) -SLOT_INTERFACE_END +static void cf_cart(device_slot_interface &device) +{ + device.option_add_internal("std", CHANF_ROM_STD); + device.option_add_internal("maze", CHANF_ROM_MAZE); + device.option_add_internal("hangman", CHANF_ROM_HANGMAN); + device.option_add_internal("chess", CHANF_ROM_CHESS); + device.option_add_internal("multi_old",CHANF_ROM_MULTI_OLD); + device.option_add_internal("multi", CHANF_ROM_MULTI_FINAL); +} MACHINE_CONFIG_START(channelf_state::channelf_cart) diff --git a/src/mame/drivers/cheekyms.cpp b/src/mame/drivers/cheekyms.cpp index a9e1197878a..517cd3e5d41 100644 --- a/src/mame/drivers/cheekyms.cpp +++ b/src/mame/drivers/cheekyms.cpp @@ -157,14 +157,14 @@ MACHINE_CONFIG_START(cheekyms_state::cheekyms) MCFG_SOUND_ADD("dac6", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) MCFG_SOUND_ADD("dac7", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac0", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac3", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac4", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac5", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac6", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac7", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac0", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac3", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac4", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac5", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac6", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac7", 1.0, DAC_VREF_POS_INPUT) #endif MACHINE_CONFIG_END diff --git a/src/mame/drivers/chihiro.cpp b/src/mame/drivers/chihiro.cpp index aaafc7e2b88..3e5b20ea55d 100644 --- a/src/mame/drivers/chihiro.cpp +++ b/src/mame/drivers/chihiro.cpp @@ -1827,15 +1827,17 @@ const tiny_rom_entry *sega_network_board::device_rom_region() const return ROM_NAME(seganetw); } -static SLOT_INTERFACE_START(ide_baseboard) - SLOT_INTERFACE("bb", IDE_BASEBOARD) -SLOT_INTERFACE_END +static void ide_baseboard(device_slot_interface &device) +{ + device.option_add("bb", IDE_BASEBOARD); +} -SLOT_INTERFACE_START(usb_baseboard) - SLOT_INTERFACE("an2131qc", OHCI_HLEAN2131QC) - SLOT_INTERFACE("an2131sc", OHCI_HLEAN2131SC) - SLOT_INTERFACE("xbox_controller", OHCI_GAME_CONTROLLER) -SLOT_INTERFACE_END +void usb_baseboard(device_slot_interface &device) +{ + device.option_add("an2131qc", OHCI_HLEAN2131QC); + device.option_add("an2131sc", OHCI_HLEAN2131SC); + device.option_add("xbox_controller", OHCI_GAME_CONTROLLER); +} void chihiro_state::an2131qc_configuration(device_t *device) { diff --git a/src/mame/drivers/chsuper.cpp b/src/mame/drivers/chsuper.cpp index 3bcdd3e55cf..b14df442ee9 100644 --- a/src/mame/drivers/chsuper.cpp +++ b/src/mame/drivers/chsuper.cpp @@ -387,7 +387,7 @@ MACHINE_CONFIG_START(chsuper_state::chsuper) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/circusc.cpp b/src/mame/drivers/circusc.cpp index 81c2a1c707a..5bd3d21549e 100644 --- a/src/mame/drivers/circusc.cpp +++ b/src/mame/drivers/circusc.cpp @@ -386,14 +386,14 @@ MACHINE_CONFIG_START(circusc_state::circusc) MCFG_GENERIC_LATCH_8_ADD("soundlatch") MCFG_SOUND_ADD("sn1", SN76496, XTAL(14'318'181)/8) - MCFG_SOUND_ROUTE_EX(0, "fltdisc", 1.0, 0) + MCFG_SOUND_ROUTE(0, "fltdisc", 1.0, 0) MCFG_SOUND_ADD("sn2", SN76496, XTAL(14'318'181)/8) - MCFG_SOUND_ROUTE_EX(0, "fltdisc", 1.0, 1) + MCFG_SOUND_ROUTE(0, "fltdisc", 1.0, 1) - MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE_EX(0, "fltdisc", 1.0, 2) // ls374.7g + r44+r45+r47+r48+r50+r56+r57+r58+r59 (20k) + r46+r49+r51+r52+r53+r54+r55 (10k) + upc324.3h + MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(0, "fltdisc", 1.0, 2) // ls374.7g + r44+r45+r47+r48+r50+r56+r57+r58+r59 (20k) + r46+r49+r51+r52+r53+r54+r55 (10k) + upc324.3h MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ADD("fltdisc", DISCRETE, 0) diff --git a/src/mame/drivers/ckz80.cpp b/src/mame/drivers/ckz80.cpp index 1943b1978c2..f75d65bc98a 100644 --- a/src/mame/drivers/ckz80.cpp +++ b/src/mame/drivers/ckz80.cpp @@ -453,7 +453,7 @@ MACHINE_CONFIG_START(ckz80_state::master) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_2BIT_BINARY_WEIGHTED_ONES_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/cmi.cpp b/src/mame/drivers/cmi.cpp index a8bcfe9eae7..dbf2f14acfc 100644 --- a/src/mame/drivers/cmi.cpp +++ b/src/mame/drivers/cmi.cpp @@ -2166,10 +2166,11 @@ WRITE_LINE_MEMBER( cmi_state::cmi_iix_vblank ) } } -static SLOT_INTERFACE_START( cmi2x_floppies ) - SLOT_INTERFACE( "8dsdd", FLOPPY_8_DSDD ) - SLOT_INTERFACE( "8dssd", FLOPPY_8_DSSD ) -SLOT_INTERFACE_END +static void cmi2x_floppies(device_slot_interface &device) +{ + device.option_add("8dsdd", FLOPPY_8_DSDD); + device.option_add("8dssd", FLOPPY_8_DSSD); +} MACHINE_CONFIG_START(cmi_state::cmi2x) MCFG_CPU_ADD("maincpu1", MC6809E, Q209_CPU_CLOCK) @@ -2196,11 +2197,11 @@ MACHINE_CONFIG_START(cmi_state::cmi2x) MCFG_CPU_PROGRAM_MAP(cmi07cpu_map) /* alpha-numeric display */ - MCFG_DEVICE_ADD("dp1", DL1416T, 0) + MCFG_DEVICE_ADD("dp1", DL1416T, u32(0)) MCFG_DL1416_UPDATE_HANDLER(WRITE16(cmi_state, cmi_iix_update_dp<0>)) - MCFG_DEVICE_ADD("dp2", DL1416T, 0) + MCFG_DEVICE_ADD("dp2", DL1416T, u32(0)) MCFG_DL1416_UPDATE_HANDLER(WRITE16(cmi_state, cmi_iix_update_dp<1>)) - MCFG_DEVICE_ADD("dp3", DL1416T, 0) + MCFG_DEVICE_ADD("dp3", DL1416T, u32(0)) MCFG_DL1416_UPDATE_HANDLER(WRITE16(cmi_state, cmi_iix_update_dp<2>)) /* video hardware */ diff --git a/src/mame/drivers/cntsteer.cpp b/src/mame/drivers/cntsteer.cpp index 70dff7fd6ea..4c428204e55 100644 --- a/src/mame/drivers/cntsteer.cpp +++ b/src/mame/drivers/cntsteer.cpp @@ -969,7 +969,7 @@ MACHINE_CONFIG_START(cntsteer_state::cntsteer) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(cntsteer_state::zerotrgt) diff --git a/src/mame/drivers/coco12.cpp b/src/mame/drivers/coco12.cpp index 6ec6fc3c0f4..07ab3150fb1 100644 --- a/src/mame/drivers/coco12.cpp +++ b/src/mame/drivers/coco12.cpp @@ -350,30 +350,32 @@ INPUT_PORTS_END // SLOT_INTERFACE_START(coco_cart) //------------------------------------------------- -SLOT_INTERFACE_START( coco_cart ) - SLOT_INTERFACE("fdc", COCO_FDC) - SLOT_INTERFACE("fdcv11", COCO_FDC_V11) - SLOT_INTERFACE("cc2hdb1", COCO2_HDB1) - SLOT_INTERFACE("cc3hdb1", COCO3_HDB1) - SLOT_INTERFACE("cp450_fdc", CP450_FDC) - SLOT_INTERFACE("cd6809_fdc", CD6809_FDC) - SLOT_INTERFACE("rs232", COCO_RS232) - SLOT_INTERFACE("dcmodem", COCO_DCMODEM) - SLOT_INTERFACE("orch90", COCO_ORCH90) - SLOT_INTERFACE("ssc", COCO_SSC) MCFG_SLOT_OPTION_CLOCK("ssc", DERIVED_CLOCK(1, 1)) - SLOT_INTERFACE("games_master", COCO_PAK_GMC) - SLOT_INTERFACE("banked_16k", COCO_PAK_BANKED) - SLOT_INTERFACE("pak", COCO_PAK) - SLOT_INTERFACE("multi", COCO_MULTIPAK) MCFG_SLOT_OPTION_CLOCK("multi", DERIVED_CLOCK(1, 1)) -SLOT_INTERFACE_END +void coco_cart(device_slot_interface &device) +{ + device.option_add("fdc", COCO_FDC); + device.option_add("fdcv11", COCO_FDC_V11); + device.option_add("cc2hdb1", COCO2_HDB1); + device.option_add("cc3hdb1", COCO3_HDB1); + device.option_add("cp450_fdc", CP450_FDC); + device.option_add("cd6809_fdc", CD6809_FDC); + device.option_add("rs232", COCO_RS232); + device.option_add("dcmodem", COCO_DCMODEM); + device.option_add("orch90", COCO_ORCH90); + device.option_add("ssc", COCO_SSC).clock(DERIVED_CLOCK(1, 1)); + device.option_add("games_master", COCO_PAK_GMC); + device.option_add("banked_16k", COCO_PAK_BANKED); + device.option_add("pak", COCO_PAK); + device.option_add("multi", COCO_MULTIPAK).clock(DERIVED_CLOCK(1, 1)); +} //------------------------------------------------- // SLOT_INTERFACE_START(t4426_cart) //------------------------------------------------- -SLOT_INTERFACE_START( t4426_cart ) - SLOT_INTERFACE("t4426", COCO_T4426) -SLOT_INTERFACE_END +void t4426_cart(device_slot_interface &device) +{ + device.option_add("t4426", COCO_T4426); +} //------------------------------------------------- // MACHINE_CONFIG_START( coco_sound ) @@ -385,7 +387,7 @@ MACHINE_CONFIG_START(coco_state::coco_sound) // 6-bit D/A: R10-15 = 10K, 20K, 40.2K, 80.6K, 162K, 324K (according to parts list); output also controls joysticks MCFG_SOUND_ADD("dac", DAC_6BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.125) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) // Single-bit sound: R22 = 10K MCFG_SOUND_ADD("sbs", DAC_1BIT, 0) @@ -471,7 +473,7 @@ MACHINE_CONFIG_START(coco12_state::coco) MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, "printer") MCFG_RS232_DCD_HANDLER(DEVWRITELINE(PIA1_TAG, pia6821_device, ca1_w)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("printer", printer) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("printer", printer) MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, coco_cart, "pak") MCFG_COCO_CARTRIDGE_CART_CB(WRITELINE(coco_state, cart_w)) diff --git a/src/mame/drivers/coco3.cpp b/src/mame/drivers/coco3.cpp index a45d61890f4..97b91870452 100644 --- a/src/mame/drivers/coco3.cpp +++ b/src/mame/drivers/coco3.cpp @@ -279,7 +279,7 @@ MACHINE_CONFIG_START(coco3_state::coco3) MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, "printer") MCFG_RS232_DCD_HANDLER(DEVWRITELINE(PIA1_TAG, pia6821_device, ca1_w)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("printer", printer) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("printer", printer) MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, coco_cart, "fdcv11") MCFG_COCO_CARTRIDGE_CART_CB(WRITELINE(coco_state, cart_w)) diff --git a/src/mame/drivers/cocoloco.cpp b/src/mame/drivers/cocoloco.cpp index 5a028791fa7..9d897865f6c 100644 --- a/src/mame/drivers/cocoloco.cpp +++ b/src/mame/drivers/cocoloco.cpp @@ -543,9 +543,9 @@ MACHINE_CONFIG_START(cocoloco_state::cocoloco) MCFG_AY8910_PORT_A_READ_CB(IOPORT("DSW1")) MCFG_AY8910_PORT_B_READ_CB(IOPORT("DSW2")) MCFG_AY8910_OUTPUT_TYPE(AY8910_RESISTOR_OUTPUT) - MCFG_SOUND_ROUTE_EX(0, "snd_nl", 1.0, 0) - MCFG_SOUND_ROUTE_EX(1, "snd_nl", 1.0, 1) - MCFG_SOUND_ROUTE_EX(2, "snd_nl", 1.0, 2) + MCFG_SOUND_ROUTE(0, "snd_nl", 1.0, 0) + MCFG_SOUND_ROUTE(1, "snd_nl", 1.0, 1) + MCFG_SOUND_ROUTE(2, "snd_nl", 1.0, 2) /* NETLIST configuration using internal AY8910 resistor values */ diff --git a/src/mame/drivers/concept.cpp b/src/mame/drivers/concept.cpp index 57eb691ca98..ad7b471ff3e 100644 --- a/src/mame/drivers/concept.cpp +++ b/src/mame/drivers/concept.cpp @@ -201,11 +201,12 @@ INPUT_PORTS_END /* init with simple, fixed, B/W palette */ /* Is the palette black on white or white on black??? */ -SLOT_INTERFACE_START( concept_a2_cards ) - SLOT_INTERFACE("fchdd", A2BUS_CORVUS) /* Corvus flat-cable HDD interface (see notes in a2corvus.c) */ - SLOT_INTERFACE("fdc01", A2BUS_CORVFDC01) /* Corvus WD1793 floppy controller */ - SLOT_INTERFACE("fdc02", A2BUS_CORVFDC02) /* Corvus NEC765 buffered floppy controller */ -SLOT_INTERFACE_END +void concept_a2_cards(device_slot_interface &device) +{ + device.option_add("fchdd", A2BUS_CORVUS); // Corvus flat-cable HDD interface (see notes in a2corvus.c) + device.option_add("fdc01", A2BUS_CORVFDC01); // Corvus WD1793 floppy controller + device.option_add("fdc02", A2BUS_CORVFDC02); // Corvus NEC765 buffered floppy controller +} diff --git a/src/mame/drivers/coolpool.cpp b/src/mame/drivers/coolpool.cpp index a0f695cf5a3..db4bcd1ff31 100644 --- a/src/mame/drivers/coolpool.cpp +++ b/src/mame/drivers/coolpool.cpp @@ -749,7 +749,7 @@ MACHINE_CONFIG_START(coolpool_state::amerdart) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_12BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END @@ -796,7 +796,7 @@ MACHINE_CONFIG_START(coolpool_state::coolpool) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_12BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/cop01.cpp b/src/mame/drivers/cop01.cpp index 45f2a7a2935..7fe9c133037 100644 --- a/src/mame/drivers/cop01.cpp +++ b/src/mame/drivers/cop01.cpp @@ -528,7 +528,7 @@ MACHINE_CONFIG_START(mightguy_state::mightguy) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) // unknown DAC MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/cosmic.cpp b/src/mame/drivers/cosmic.cpp index afbb3894eb4..65401277dd5 100644 --- a/src/mame/drivers/cosmic.cpp +++ b/src/mame/drivers/cosmic.cpp @@ -1060,7 +1060,7 @@ MACHINE_CONFIG_START(cosmic_state::panic) MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MACHINE_CONFIG_END @@ -1122,7 +1122,7 @@ MACHINE_CONFIG_START(cosmic_state::cosmicg) MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // NE556 MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) // Other DACs include 3-bit binary-weighted (100K/50K/25K) DAC combined with another NE556 for attack march MACHINE_CONFIG_END @@ -1148,7 +1148,7 @@ MACHINE_CONFIG_START(cosmic_state::magspot) MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MACHINE_CONFIG_END @@ -1184,7 +1184,7 @@ MACHINE_CONFIG_START(cosmic_state::nomnlnd) MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/craft.cpp b/src/mame/drivers/craft.cpp index ec81337ac0f..7027718c20c 100644 --- a/src/mame/drivers/craft.cpp +++ b/src/mame/drivers/craft.cpp @@ -266,7 +266,7 @@ MACHINE_CONFIG_START(craft_state::craft) MCFG_SPEAKER_STANDARD_MONO("avr8") MCFG_SOUND_ADD("dac", DAC_6BIT_R2R, 0) MCFG_SOUND_ROUTE(0, "avr8", 0.25) // pd1/pd2/pd4/pd5/pd6/pd7 + 2k(x7) + 1k(x5) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END ROM_START( craft ) diff --git a/src/mame/drivers/crvision.cpp b/src/mame/drivers/crvision.cpp index 47dff8631d9..400e5a0cbed 100644 --- a/src/mame/drivers/crvision.cpp +++ b/src/mame/drivers/crvision.cpp @@ -722,15 +722,16 @@ void laser2001_state::machine_start() MACHINE DRIVERS ***************************************************************************/ -static SLOT_INTERFACE_START(crvision_cart) - SLOT_INTERFACE_INTERNAL("crv_rom4k", CRVISION_ROM_4K) - SLOT_INTERFACE_INTERNAL("crv_rom6k", CRVISION_ROM_6K) - SLOT_INTERFACE_INTERNAL("crv_rom8k", CRVISION_ROM_8K) - SLOT_INTERFACE_INTERNAL("crv_rom10k", CRVISION_ROM_10K) - SLOT_INTERFACE_INTERNAL("crv_rom12k", CRVISION_ROM_12K) - SLOT_INTERFACE_INTERNAL("crv_rom16k", CRVISION_ROM_16K) - SLOT_INTERFACE_INTERNAL("crv_rom18k", CRVISION_ROM_18K) -SLOT_INTERFACE_END +static void crvision_cart(device_slot_interface &device) +{ + device.option_add_internal("crv_rom4k", CRVISION_ROM_4K); + device.option_add_internal("crv_rom6k", CRVISION_ROM_6K); + device.option_add_internal("crv_rom8k", CRVISION_ROM_8K); + device.option_add_internal("crv_rom10k", CRVISION_ROM_10K); + device.option_add_internal("crv_rom12k", CRVISION_ROM_12K); + device.option_add_internal("crv_rom16k", CRVISION_ROM_16K); + device.option_add_internal("crv_rom18k", CRVISION_ROM_18K); +} /*------------------------------------------------- MACHINE_CONFIG_START( creativision ) diff --git a/src/mame/drivers/cubeqst.cpp b/src/mame/drivers/cubeqst.cpp index a6b2d534e90..f16603fff24 100644 --- a/src/mame/drivers/cubeqst.cpp +++ b/src/mame/drivers/cubeqst.cpp @@ -576,22 +576,22 @@ MACHINE_CONFIG_START(cubeqst_state::cubeqst) MCFG_SOUND_ADD("rdac7", AD7521, 0) MCFG_SOUND_ROUTE(0, "rspeaker", 0.125) // ad7521jn.2d (59) + cd4051be.1d (24) + 1500pf.c15 (34) + tl074cn.1b (53) + r10k.rn1 (30) MCFG_SOUND_ADD("ldac7", AD7521, 0) MCFG_SOUND_ROUTE(0, "lspeaker", 0.125) // ad7521jn.2d (59) + cd4051be.3d (24) + 1500pf.c6 (34) + tl074cn.3b (53) + r10k.rn3 (30) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "rdac0", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac0", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "ldac0", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac0", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac1", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "ldac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac1", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac2", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "ldac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac2", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac3", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac3", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "ldac3", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac3", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac4", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac4", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "ldac4", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac4", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac5", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac5", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "ldac5", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac5", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac6", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac6", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "ldac6", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac6", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac7", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac7", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "ldac7", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac7", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac0", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac0", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac0", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac0", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac1", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac1", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac2", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac2", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac3", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac3", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac3", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac3", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac4", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac4", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac4", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac4", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac5", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac5", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac5", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac5", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac6", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac6", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac6", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac6", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac7", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac7", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac7", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac7", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/cvs.cpp b/src/mame/drivers/cvs.cpp index 37b821f7618..eb8f3dfaa0b 100644 --- a/src/mame/drivers/cvs.cpp +++ b/src/mame/drivers/cvs.cpp @@ -1023,9 +1023,9 @@ MACHINE_CONFIG_START(cvs_state::cvs) MCFG_SOUND_ADD("dac2", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC MCFG_SOUND_ADD("dac3", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.99) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac3", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac3", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ADD("tms", TMS5100, XTAL(640'000)) MCFG_TMS5110_DATA_CB(READLINE(cvs_state, speech_rom_read_bit)) diff --git a/src/mame/drivers/cxgz80.cpp b/src/mame/drivers/cxgz80.cpp index 7fc17cf9435..c4865d8b3c8 100644 --- a/src/mame/drivers/cxgz80.cpp +++ b/src/mame/drivers/cxgz80.cpp @@ -413,7 +413,7 @@ MACHINE_CONFIG_START(cxgz80_state::ch2001) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/cyberbal.cpp b/src/mame/drivers/cyberbal.cpp index 2013f79eabe..612dfa83e17 100644 --- a/src/mame/drivers/cyberbal.cpp +++ b/src/mame/drivers/cyberbal.cpp @@ -463,8 +463,8 @@ MACHINE_CONFIG_START(cyberbal_state::cyberbal) MCFG_SOUND_ADD("rdac", AM6012, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) // AM6012.6j MCFG_SOUND_ADD("ldac", AM6012, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) // AM6012.6j MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/cybiko.cpp b/src/mame/drivers/cybiko.cpp index b6ef268fd2c..499a302cf62 100644 --- a/src/mame/drivers/cybiko.cpp +++ b/src/mame/drivers/cybiko.cpp @@ -429,9 +429,9 @@ MACHINE_CONFIG_START(cybiko_state::cybikov1) /* serial debug port */ MCFG_RS232_PORT_ADD ("debug_serial", default_rs232_devices, nullptr) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("null_modem", debug_serial) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", debug_serial) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("pty", debug_serial) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("null_modem", debug_serial) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", debug_serial) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("pty", debug_serial) MCFG_DEVICE_MODIFY("debug_serial") MCFG_RS232_RXD_HANDLER(DEVWRITELINE("maincpu:sci2", h8_sci_device, rx_w)) diff --git a/src/mame/drivers/czk80.cpp b/src/mame/drivers/czk80.cpp index 6d4572cc9d5..033550005e8 100644 --- a/src/mame/drivers/czk80.cpp +++ b/src/mame/drivers/czk80.cpp @@ -183,9 +183,10 @@ DRIVER_INIT_MEMBER( czk80_state, czk80 ) membank("bankw1")->configure_entry(0, &main[0xe000]); } -static SLOT_INTERFACE_START( czk80_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) -SLOT_INTERFACE_END +static void czk80_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); +} void czk80_state::kbd_put(u8 data) { diff --git a/src/mame/drivers/dectalk.cpp b/src/mame/drivers/dectalk.cpp index 6339b5f8f11..dcc5fcfb179 100644 --- a/src/mame/drivers/dectalk.cpp +++ b/src/mame/drivers/dectalk.cpp @@ -904,7 +904,7 @@ MACHINE_CONFIG_START(dectalk_state::dectalk) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", AD7541, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.9) // ad7541.e107 (E88 10KHz OSC, handled by timer) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) /* Y2 is a 3.579545 MHz xtal for the dtmf decoder chip */ diff --git a/src/mame/drivers/dgn_beta.cpp b/src/mame/drivers/dgn_beta.cpp index 620f5212dcb..e07012ac648 100644 --- a/src/mame/drivers/dgn_beta.cpp +++ b/src/mame/drivers/dgn_beta.cpp @@ -314,9 +314,10 @@ FLOPPY_FORMATS_MEMBER(dgn_beta_state::floppy_formats ) FLOPPY_DMK_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( dgnbeta_floppies ) - SLOT_INTERFACE("dd", FLOPPY_35_DD) -SLOT_INTERFACE_END +static void dgnbeta_floppies(device_slot_interface &device) +{ + device.option_add("dd", FLOPPY_35_DD); +} MACHINE_CONFIG_START(dgn_beta_state::dgnbeta) /* basic machine hardware */ diff --git a/src/mame/drivers/digel804.cpp b/src/mame/drivers/digel804.cpp index b937342f6ec..b60b53d156e 100644 --- a/src/mame/drivers/digel804.cpp +++ b/src/mame/drivers/digel804.cpp @@ -661,8 +661,8 @@ MACHINE_CONFIG_START(digel804_state::digel804) MCFG_RS232_RXD_HANDLER(DEVWRITELINE("acia", mos6551_device, write_rxd)) MCFG_RS232_DSR_HANDLER(DEVWRITELINE("acia", mos6551_device, write_dsr)) MCFG_RS232_CTS_HANDLER(DEVWRITELINE("acia", mos6551_device, write_cts)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("null_modem", digel804_rs232_defaults) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", digel804_rs232_defaults) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("null_modem", digel804_rs232_defaults) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", digel804_rs232_defaults) MCFG_RAM_ADD(RAM_TAG) MCFG_RAM_DEFAULT_SIZE("256K") diff --git a/src/mame/drivers/dim68k.cpp b/src/mame/drivers/dim68k.cpp index 45604e6ce5a..36b99503358 100644 --- a/src/mame/drivers/dim68k.cpp +++ b/src/mame/drivers/dim68k.cpp @@ -297,9 +297,10 @@ static GFXDECODE_START( dim68k ) GFXDECODE_ENTRY( "chargen", 0x0000, dim68k_charlayout, 0, 1 ) GFXDECODE_END -static SLOT_INTERFACE_START( dim68k_floppies ) - SLOT_INTERFACE( "525hd", FLOPPY_525_HD ) -SLOT_INTERFACE_END +static void dim68k_floppies(device_slot_interface &device) +{ + device.option_add("525hd", FLOPPY_525_HD); +} void dim68k_state::kbd_put(u8 data) { diff --git a/src/mame/drivers/dmax8000.cpp b/src/mame/drivers/dmax8000.cpp index be4b2fbef44..bd9fc5bd8b1 100644 --- a/src/mame/drivers/dmax8000.cpp +++ b/src/mame/drivers/dmax8000.cpp @@ -143,9 +143,10 @@ DRIVER_INIT_MEMBER( dmax8000_state, dmax8000 ) membank("bankw0")->configure_entry(0, &main[0x0000]); } -static SLOT_INTERFACE_START( floppies ) - SLOT_INTERFACE( "8dsdd", FLOPPY_8_DSDD ) -SLOT_INTERFACE_END +static void floppies(device_slot_interface &device) +{ + device.option_add("8dsdd", FLOPPY_8_DSDD); +} MACHINE_CONFIG_START(dmax8000_state::dmax8000) diff --git a/src/mame/drivers/dmv.cpp b/src/mame/drivers/dmv.cpp index 20df4ae2852..332cf37346e 100644 --- a/src/mame/drivers/dmv.cpp +++ b/src/mame/drivers/dmv.cpp @@ -411,10 +411,11 @@ QUICKLOAD_LOAD_MEMBER( dmv_state, dmv ) return image_init_result::PASS; } -static SLOT_INTERFACE_START( dmv_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void dmv_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); + device.option_add("525qd", FLOPPY_525_QD); +} void dmv_state::ifsel_r(address_space &space, int ifsel, offs_t offset, uint8_t &data) @@ -727,38 +728,43 @@ FLOPPY_FORMATS_MEMBER( dmv_state::floppy_formats ) FLOPPY_FORMATS_END -static SLOT_INTERFACE_START(dmv_slot1) - SLOT_INTERFACE("k200", DMV_K200) // K200 64K RAM expansion - SLOT_INTERFACE("k202", DMV_K202) // K202 192K RAM expansion - SLOT_INTERFACE("k208", DMV_K208) // K208 448K RAM expansion -SLOT_INTERFACE_END +static void dmv_slot1(device_slot_interface &device) +{ + device.option_add("k200", DMV_K200); // K200 64K RAM expansion + device.option_add("k202", DMV_K202); // K202 192K RAM expansion + device.option_add("k208", DMV_K208); // K208 448K RAM expansion +} -static SLOT_INTERFACE_START(dmv_slot2_6) - SLOT_INTERFACE("k210", DMV_K210) // K210 Centronics - SLOT_INTERFACE("k211", DMV_K211) // K211 RS-232 Communications Interface - SLOT_INTERFACE("k212", DMV_K212) // K212 RS-232 Printer Interface - SLOT_INTERFACE("k213", DMV_K213) // K213 RS-232 Plotter Interface - SLOT_INTERFACE("k233", DMV_K233) // K233 16K Shared RAM - SLOT_INTERFACE("k801", DMV_K801) // K801 RS-232 Switchable Interface - SLOT_INTERFACE("k803", DMV_K803) // K803 RTC module - SLOT_INTERFACE("k806", DMV_K806) // K806 Mouse module -SLOT_INTERFACE_END +static void dmv_slot2_6(device_slot_interface &device) +{ + device.option_add("k210", DMV_K210); // K210 Centronics + device.option_add("k211", DMV_K211); // K211 RS-232 Communications Interface + device.option_add("k212", DMV_K212); // K212 RS-232 Printer Interface + device.option_add("k213", DMV_K213); // K213 RS-232 Plotter Interface + device.option_add("k233", DMV_K233); // K233 16K Shared RAM + device.option_add("k801", DMV_K801); // K801 RS-232 Switchable Interface + device.option_add("k803", DMV_K803); // K803 RTC module + device.option_add("k806", DMV_K806); // K806 Mouse module +} -static SLOT_INTERFACE_START(dmv_slot7) - SLOT_INTERFACE("k220", DMV_K220) // K220 Diagnostic Module - SLOT_INTERFACE("k231", DMV_K231) // K231 External 8088 module without interrupt controller - SLOT_INTERFACE("k234", DMV_K234) // K234 External 68008 module -SLOT_INTERFACE_END +static void dmv_slot7(device_slot_interface &device) +{ + device.option_add("k220", DMV_K220); // K220 Diagnostic Module + device.option_add("k231", DMV_K231); // K231 External 8088 module without interrupt controller + device.option_add("k234", DMV_K234); // K234 External 68008 module +} -static SLOT_INTERFACE_START(dmv_slot2a) +static void dmv_slot2a(device_slot_interface &device) +{ -SLOT_INTERFACE_END +} -static SLOT_INTERFACE_START(dmv_slot7a) - SLOT_INTERFACE("k230", DMV_K230) // K230 Internal 8088 module without interrupt controller - SLOT_INTERFACE("k235", DMV_K235) // K235 Internal 8088 module with interrupt controller -SLOT_INTERFACE_END +static void dmv_slot7a(device_slot_interface &device) +{ + device.option_add("k230", DMV_K230); // K230 Internal 8088 module without interrupt controller + device.option_add("k235", DMV_K235); // K235 Internal 8088 module with interrupt controller +} MACHINE_CONFIG_START(dmv_state::dmv) /* basic machine hardware */ diff --git a/src/mame/drivers/dps1.cpp b/src/mame/drivers/dps1.cpp index 8ee696b9ef5..d276eed34bb 100644 --- a/src/mame/drivers/dps1.cpp +++ b/src/mame/drivers/dps1.cpp @@ -188,9 +188,10 @@ DRIVER_INIT_MEMBER( dps1_state, dps1 ) static INPUT_PORTS_START( dps1 ) INPUT_PORTS_END -static SLOT_INTERFACE_START( floppies ) - SLOT_INTERFACE( "floppy0", FLOPPY_8_DSDD ) -SLOT_INTERFACE_END +static void floppies(device_slot_interface &device) +{ + device.option_add("floppy0", FLOPPY_8_DSDD); +} MACHINE_CONFIG_START(dps1_state::dps1) // basic machine hardware diff --git a/src/mame/drivers/dragon.cpp b/src/mame/drivers/dragon.cpp index eefef179f4a..f4339a8fb82 100644 --- a/src/mame/drivers/dragon.cpp +++ b/src/mame/drivers/dragon.cpp @@ -164,16 +164,17 @@ MC6847_GET_CHARROM_MEMBER( dragon200e_state::char_rom_r ) return m_char_rom->base()[(ch * 12 + line) & 0xfff]; } -SLOT_INTERFACE_START( dragon_cart ) - SLOT_INTERFACE("dragon_fdc", DRAGON_FDC) - SLOT_INTERFACE("premier_fdc", PREMIER_FDC) - SLOT_INTERFACE("sdtandy_fdc", SDTANDY_FDC) - SLOT_INTERFACE("jcbsnd", DRAGON_JCBSND) MCFG_SLOT_OPTION_CLOCK("jcbsnd", DERIVED_CLOCK(1, 1)) - SLOT_INTERFACE("ssc", COCO_SSC) MCFG_SLOT_OPTION_CLOCK("ssc", DERIVED_CLOCK(1, 1)) - SLOT_INTERFACE("orch90", COCO_ORCH90) - SLOT_INTERFACE("gmc", COCO_PAK_GMC) - SLOT_INTERFACE("pak", COCO_PAK) -SLOT_INTERFACE_END +void dragon_cart(device_slot_interface &device) +{ + device.option_add("dragon_fdc", DRAGON_FDC); + device.option_add("premier_fdc", PREMIER_FDC); + device.option_add("sdtandy_fdc", SDTANDY_FDC); + device.option_add("jcbsnd", DRAGON_JCBSND).clock(DERIVED_CLOCK(1, 1)); + device.option_add("ssc", COCO_SSC).clock(DERIVED_CLOCK(1, 1)); + device.option_add("orch90", COCO_ORCH90); + device.option_add("gmc", COCO_PAK_GMC); + device.option_add("pak", COCO_PAK); +} FLOPPY_FORMATS_MEMBER( dragon_alpha_state::dragon_formats ) FLOPPY_VDK_FORMAT, @@ -181,9 +182,10 @@ FLOPPY_FORMATS_MEMBER( dragon_alpha_state::dragon_formats ) FLOPPY_SDF_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( dragon_alpha_floppies ) - SLOT_INTERFACE("dd", FLOPPY_35_DD) -SLOT_INTERFACE_END +static void dragon_alpha_floppies(device_slot_interface &device) +{ + device.option_add("dd", FLOPPY_35_DD); +} MACHINE_CONFIG_START(dragon_state::dragon_base) MCFG_DEVICE_MODIFY(":") diff --git a/src/mame/drivers/duet16.cpp b/src/mame/drivers/duet16.cpp index 2ba24b6bd45..cce906a933c 100644 --- a/src/mame/drivers/duet16.cpp +++ b/src/mame/drivers/duet16.cpp @@ -333,13 +333,15 @@ static GFXDECODE_START(duet16) GFXDECODE_END -static SLOT_INTERFACE_START( duet16_floppies ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void duet16_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); +} -SLOT_INTERFACE_START(duet16_keyboard_devices) - SLOT_INTERFACE("keyboard", SERIAL_KEYBOARD) -SLOT_INTERFACE_END +void duet16_keyboard_devices(device_slot_interface &device) +{ + device.option_add("keyboard", SERIAL_KEYBOARD); +} static DEVICE_INPUT_DEFAULTS_START(keyboard) DEVICE_INPUT_DEFAULTS( "RS232_TXBAUD", 0xff, RS232_BAUD_1200 ) @@ -396,7 +398,7 @@ MACHINE_CONFIG_START(duet16_state::duet16) MCFG_RS232_PORT_ADD("kbd", duet16_keyboard_devices, "keyboard") MCFG_RS232_RXD_HANDLER(DEVWRITELINE("kbusart", i8251_device, write_rxd)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("keyboard", keyboard) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("keyboard", keyboard) MCFG_INPUT_MERGER_ANY_HIGH("kbint") MCFG_INPUT_MERGER_OUTPUT_HANDLER(DEVWRITELINE("pic", pic8259_device, ir5_w)) // INT2 diff --git a/src/mame/drivers/einstein.cpp b/src/mame/drivers/einstein.cpp index 5de72a14224..72a6ad4af53 100644 --- a/src/mame/drivers/einstein.cpp +++ b/src/mame/drivers/einstein.cpp @@ -565,14 +565,15 @@ INPUT_PORTS_END MACHINE DRIVERS ***************************************************************************/ -static SLOT_INTERFACE_START( einstein_floppies ) - SLOT_INTERFACE("3ss", TEAC_FD_30A) - SLOT_INTERFACE("3ds", FLOPPY_3_DSDD) - SLOT_INTERFACE("525ssqd", FLOPPY_525_SSQD) - SLOT_INTERFACE("525qd", FLOPPY_525_QD) - SLOT_INTERFACE("35ssdd", FLOPPY_35_SSDD) - SLOT_INTERFACE("35dd", FLOPPY_35_DD) -SLOT_INTERFACE_END +static void einstein_floppies(device_slot_interface &device) +{ + device.option_add("3ss", TEAC_FD_30A); + device.option_add("3ds", FLOPPY_3_DSDD); + device.option_add("525ssqd", FLOPPY_525_SSQD); + device.option_add("525qd", FLOPPY_525_QD); + device.option_add("35ssdd", FLOPPY_35_SSDD); + device.option_add("35dd", FLOPPY_35_DD); +} MACHINE_CONFIG_START(einstein_state::einstein) /* basic machine hardware */ diff --git a/src/mame/drivers/elwro800.cpp b/src/mame/drivers/elwro800.cpp index 53d8d84410f..7e7a27017d1 100644 --- a/src/mame/drivers/elwro800.cpp +++ b/src/mame/drivers/elwro800.cpp @@ -542,9 +542,10 @@ INTERRUPT_GEN_MEMBER(elwro800_state::elwro800jr_interrupt) device.execute().set_input_line(0, HOLD_LINE); } -static SLOT_INTERFACE_START( elwro800jr_floppies ) - SLOT_INTERFACE( "525hd", FLOPPY_525_HD ) -SLOT_INTERFACE_END +static void elwro800jr_floppies(device_slot_interface &device) +{ + device.option_add("525hd", FLOPPY_525_HD); +} /* F4 Character Displayer */ static const gfx_layout elwro800_charlayout = diff --git a/src/mame/drivers/enmirage.cpp b/src/mame/drivers/enmirage.cpp index 6377b312179..cde7563b8f5 100644 --- a/src/mame/drivers/enmirage.cpp +++ b/src/mame/drivers/enmirage.cpp @@ -97,9 +97,10 @@ FLOPPY_FORMATS_MEMBER( enmirage_state::floppy_formats ) FLOPPY_ESQ8IMG_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( ensoniq_floppies ) - SLOT_INTERFACE( "35dd", FLOPPY_35_DD ) -SLOT_INTERFACE_END +static void ensoniq_floppies(device_slot_interface &device) +{ + device.option_add("35dd", FLOPPY_35_DD); +} WRITE_LINE_MEMBER(enmirage_state::mirage_doc_irq) { diff --git a/src/mame/drivers/equites.cpp b/src/mame/drivers/equites.cpp index e5c60bbb184..a9067d5a439 100644 --- a/src/mame/drivers/equites.cpp +++ b/src/mame/drivers/equites.cpp @@ -1081,8 +1081,8 @@ MACHINE_CONFIG_START(equites_state::common_sound) MCFG_SOUND_ADD("dac1", DAC_6BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC MCFG_SOUND_ADD("dac2", DAC_6BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) MCFG_SOUND_ADD("samples", SAMPLES, 0) MCFG_SAMPLES_CHANNELS(3) diff --git a/src/mame/drivers/ertictac.cpp b/src/mame/drivers/ertictac.cpp index 03b983d33c8..661a1fc649d 100644 --- a/src/mame/drivers/ertictac.cpp +++ b/src/mame/drivers/ertictac.cpp @@ -247,14 +247,14 @@ MACHINE_CONFIG_START(ertictac_state::ertictac) MCFG_SOUND_ADD("dac6", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(0, "speaker", 0.05) // unknown DAC MCFG_SOUND_ADD("dac7", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(0, "speaker", 0.05) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac0", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac0", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac3", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac3", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac4", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac4", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac5", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac5", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac6", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac6", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac7", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac7", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac0", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac0", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac3", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac3", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac4", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac4", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac5", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac5", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac6", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac6", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac7", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac7", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END ROM_START( ertictac ) diff --git a/src/mame/drivers/esq1.cpp b/src/mame/drivers/esq1.cpp index 2297bcb825b..d6875199e45 100644 --- a/src/mame/drivers/esq1.cpp +++ b/src/mame/drivers/esq1.cpp @@ -615,14 +615,14 @@ MACHINE_CONFIG_START(esq1_state::esq1) MCFG_ES5503_IRQ_FUNC(WRITELINE(esq1_state, esq1_doc_irq)) MCFG_ES5503_ADC_FUNC(READ8(esq1_state, esq1_adc_read)) - MCFG_SOUND_ROUTE_EX(0, "filters", 1.0, 0) - MCFG_SOUND_ROUTE_EX(1, "filters", 1.0, 1) - MCFG_SOUND_ROUTE_EX(2, "filters", 1.0, 2) - MCFG_SOUND_ROUTE_EX(3, "filters", 1.0, 3) - MCFG_SOUND_ROUTE_EX(4, "filters", 1.0, 4) - MCFG_SOUND_ROUTE_EX(5, "filters", 1.0, 5) - MCFG_SOUND_ROUTE_EX(6, "filters", 1.0, 6) - MCFG_SOUND_ROUTE_EX(7, "filters", 1.0, 7) + MCFG_SOUND_ROUTE(0, "filters", 1.0, 0) + MCFG_SOUND_ROUTE(1, "filters", 1.0, 1) + MCFG_SOUND_ROUTE(2, "filters", 1.0, 2) + MCFG_SOUND_ROUTE(3, "filters", 1.0, 3) + MCFG_SOUND_ROUTE(4, "filters", 1.0, 4) + MCFG_SOUND_ROUTE(5, "filters", 1.0, 5) + MCFG_SOUND_ROUTE(6, "filters", 1.0, 6) + MCFG_SOUND_ROUTE(7, "filters", 1.0, 7) MACHINE_CONFIG_END MACHINE_CONFIG_START(esq1_state::sq80) diff --git a/src/mame/drivers/esq5505.cpp b/src/mame/drivers/esq5505.cpp index 14fe07729e6..a87ff198055 100644 --- a/src/mame/drivers/esq5505.cpp +++ b/src/mame/drivers/esq5505.cpp @@ -249,9 +249,10 @@ FLOPPY_FORMATS_MEMBER( esq5505_state::floppy_formats ) FLOPPY_ESQIMG_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( ensoniq_floppies ) - SLOT_INTERFACE( "35dd", FLOPPY_35_DD ) -SLOT_INTERFACE_END +static void ensoniq_floppies(device_slot_interface &device) +{ + device.option_add("35dd", FLOPPY_35_DD); +} IRQ_CALLBACK_MEMBER(esq5505_state::maincpu_irq_acknowledge_callback) { @@ -650,14 +651,14 @@ MACHINE_CONFIG_START(esq5505_state::vfx) MCFG_ES5505_CHANNELS(4) /* channels */ MCFG_ES5505_IRQ_CB(WRITELINE(esq5505_state, esq5505_otis_irq)) /* irq */ MCFG_ES5505_READ_PORT_CB(READ16(esq5505_state, analog_r)) /* ADC */ - MCFG_SOUND_ROUTE_EX(0, "pump", 1.0, 0) - MCFG_SOUND_ROUTE_EX(1, "pump", 1.0, 1) - MCFG_SOUND_ROUTE_EX(2, "pump", 1.0, 2) - MCFG_SOUND_ROUTE_EX(3, "pump", 1.0, 3) - MCFG_SOUND_ROUTE_EX(4, "pump", 1.0, 4) - MCFG_SOUND_ROUTE_EX(5, "pump", 1.0, 5) - MCFG_SOUND_ROUTE_EX(6, "pump", 1.0, 6) - MCFG_SOUND_ROUTE_EX(7, "pump", 1.0, 7) + MCFG_SOUND_ROUTE(0, "pump", 1.0, 0) + MCFG_SOUND_ROUTE(1, "pump", 1.0, 1) + MCFG_SOUND_ROUTE(2, "pump", 1.0, 2) + MCFG_SOUND_ROUTE(3, "pump", 1.0, 3) + MCFG_SOUND_ROUTE(4, "pump", 1.0, 4) + MCFG_SOUND_ROUTE(5, "pump", 1.0, 5) + MCFG_SOUND_ROUTE(6, "pump", 1.0, 6) + MCFG_SOUND_ROUTE(7, "pump", 1.0, 7) MACHINE_CONFIG_END MACHINE_CONFIG_START(esq5505_state::eps) @@ -729,14 +730,14 @@ MACHINE_CONFIG_START(esq5505_state::vfx32) MCFG_ES5505_CHANNELS(4) /* channels */ MCFG_ES5505_IRQ_CB(WRITELINE(esq5505_state, esq5505_otis_irq)) /* irq */ MCFG_ES5505_READ_PORT_CB(READ16(esq5505_state, analog_r)) /* ADC */ - MCFG_SOUND_ROUTE_EX(0, "pump", 1.0, 0) - MCFG_SOUND_ROUTE_EX(1, "pump", 1.0, 1) - MCFG_SOUND_ROUTE_EX(2, "pump", 1.0, 2) - MCFG_SOUND_ROUTE_EX(3, "pump", 1.0, 3) - MCFG_SOUND_ROUTE_EX(4, "pump", 1.0, 4) - MCFG_SOUND_ROUTE_EX(5, "pump", 1.0, 5) - MCFG_SOUND_ROUTE_EX(6, "pump", 1.0, 6) - MCFG_SOUND_ROUTE_EX(7, "pump", 1.0, 7) + MCFG_SOUND_ROUTE(0, "pump", 1.0, 0) + MCFG_SOUND_ROUTE(1, "pump", 1.0, 1) + MCFG_SOUND_ROUTE(2, "pump", 1.0, 2) + MCFG_SOUND_ROUTE(3, "pump", 1.0, 3) + MCFG_SOUND_ROUTE(4, "pump", 1.0, 4) + MCFG_SOUND_ROUTE(5, "pump", 1.0, 5) + MCFG_SOUND_ROUTE(6, "pump", 1.0, 6) + MCFG_SOUND_ROUTE(7, "pump", 1.0, 7) MCFG_WD1772_ADD("wd1772", 8000000) MCFG_FLOPPY_DRIVE_ADD("wd1772:0", ensoniq_floppies, "35dd", esq5505_state::floppy_formats) diff --git a/src/mame/drivers/esqasr.cpp b/src/mame/drivers/esqasr.cpp index d7330256c07..80f2a5098e1 100644 --- a/src/mame/drivers/esqasr.cpp +++ b/src/mame/drivers/esqasr.cpp @@ -136,14 +136,14 @@ MACHINE_CONFIG_START(esqasr_state::asr) MCFG_ES5506_CHANNELS(4) /* channels, Not verified from real hardware */ MCFG_ES5506_IRQ_CB(WRITELINE(esqasr_state, esq5506_otto_irq)) /* irq */ MCFG_ES5506_READ_PORT_CB(READ16(esqasr_state, esq5506_read_adc)) - MCFG_SOUND_ROUTE_EX(0, "pump", 1.0, 0) - MCFG_SOUND_ROUTE_EX(1, "pump", 1.0, 1) - MCFG_SOUND_ROUTE_EX(2, "pump", 1.0, 2) - MCFG_SOUND_ROUTE_EX(3, "pump", 1.0, 3) - MCFG_SOUND_ROUTE_EX(4, "pump", 1.0, 4) - MCFG_SOUND_ROUTE_EX(5, "pump", 1.0, 5) - MCFG_SOUND_ROUTE_EX(6, "pump", 1.0, 6) - MCFG_SOUND_ROUTE_EX(7, "pump", 1.0, 7) + MCFG_SOUND_ROUTE(0, "pump", 1.0, 0) + MCFG_SOUND_ROUTE(1, "pump", 1.0, 1) + MCFG_SOUND_ROUTE(2, "pump", 1.0, 2) + MCFG_SOUND_ROUTE(3, "pump", 1.0, 3) + MCFG_SOUND_ROUTE(4, "pump", 1.0, 4) + MCFG_SOUND_ROUTE(5, "pump", 1.0, 5) + MCFG_SOUND_ROUTE(6, "pump", 1.0, 6) + MCFG_SOUND_ROUTE(7, "pump", 1.0, 7) MACHINE_CONFIG_END MACHINE_CONFIG_START(esqasr_state::asrx) @@ -169,14 +169,14 @@ MACHINE_CONFIG_START(esqasr_state::asrx) MCFG_ES5506_CHANNELS(1) /* channels */ MCFG_ES5506_IRQ_CB(WRITELINE(esqasr_state, esq5506_otto_irq)) /* irq */ MCFG_ES5506_READ_PORT_CB(READ16(esqasr_state, esq5506_read_adc)) - MCFG_SOUND_ROUTE_EX(0, "pump", 1.0, 0) - MCFG_SOUND_ROUTE_EX(1, "pump", 1.0, 1) - MCFG_SOUND_ROUTE_EX(2, "pump", 1.0, 2) - MCFG_SOUND_ROUTE_EX(3, "pump", 1.0, 3) - MCFG_SOUND_ROUTE_EX(4, "pump", 1.0, 4) - MCFG_SOUND_ROUTE_EX(5, "pump", 1.0, 5) - MCFG_SOUND_ROUTE_EX(6, "pump", 1.0, 6) - MCFG_SOUND_ROUTE_EX(7, "pump", 1.0, 7) + MCFG_SOUND_ROUTE(0, "pump", 1.0, 0) + MCFG_SOUND_ROUTE(1, "pump", 1.0, 1) + MCFG_SOUND_ROUTE(2, "pump", 1.0, 2) + MCFG_SOUND_ROUTE(3, "pump", 1.0, 3) + MCFG_SOUND_ROUTE(4, "pump", 1.0, 4) + MCFG_SOUND_ROUTE(5, "pump", 1.0, 5) + MCFG_SOUND_ROUTE(6, "pump", 1.0, 6) + MCFG_SOUND_ROUTE(7, "pump", 1.0, 7) MACHINE_CONFIG_END static INPUT_PORTS_START( asr ) diff --git a/src/mame/drivers/esqkt.cpp b/src/mame/drivers/esqkt.cpp index 676565be99d..dc1c8e45d89 100644 --- a/src/mame/drivers/esqkt.cpp +++ b/src/mame/drivers/esqkt.cpp @@ -251,14 +251,14 @@ MACHINE_CONFIG_START(esqkt_state::kt) MCFG_ES5506_CHANNELS(4) /* channels */ MCFG_ES5506_IRQ_CB(WRITELINE(esqkt_state, esq5506_otto_irq)) /* irq */ MCFG_ES5506_READ_PORT_CB(READ16(esqkt_state, esq5506_read_adc)) - MCFG_SOUND_ROUTE_EX(0, "pump", 1.0, 0) - MCFG_SOUND_ROUTE_EX(1, "pump", 1.0, 1) - MCFG_SOUND_ROUTE_EX(2, "pump", 1.0, 2) - MCFG_SOUND_ROUTE_EX(3, "pump", 1.0, 3) - MCFG_SOUND_ROUTE_EX(4, "pump", 1.0, 4) - MCFG_SOUND_ROUTE_EX(5, "pump", 1.0, 5) - MCFG_SOUND_ROUTE_EX(6, "pump", 1.0, 6) - MCFG_SOUND_ROUTE_EX(7, "pump", 1.0, 7) + MCFG_SOUND_ROUTE(0, "pump", 1.0, 0) + MCFG_SOUND_ROUTE(1, "pump", 1.0, 1) + MCFG_SOUND_ROUTE(2, "pump", 1.0, 2) + MCFG_SOUND_ROUTE(3, "pump", 1.0, 3) + MCFG_SOUND_ROUTE(4, "pump", 1.0, 4) + MCFG_SOUND_ROUTE(5, "pump", 1.0, 5) + MCFG_SOUND_ROUTE(6, "pump", 1.0, 6) + MCFG_SOUND_ROUTE(7, "pump", 1.0, 7) MCFG_SOUND_ADD("ensoniq2", ES5506, XTAL(16'000'000)) MCFG_ES5506_REGION0("waverom") /* Bank 0 */ @@ -266,14 +266,14 @@ MACHINE_CONFIG_START(esqkt_state::kt) MCFG_ES5506_REGION2("waverom3") /* Bank 0 */ MCFG_ES5506_REGION3("waverom4") /* Bank 1 */ MCFG_ES5506_CHANNELS(4) /* channels */ - MCFG_SOUND_ROUTE_EX(0, "pump", 1.0, 0) - MCFG_SOUND_ROUTE_EX(1, "pump", 1.0, 1) - MCFG_SOUND_ROUTE_EX(2, "pump", 1.0, 2) - MCFG_SOUND_ROUTE_EX(3, "pump", 1.0, 3) - MCFG_SOUND_ROUTE_EX(4, "pump", 1.0, 4) - MCFG_SOUND_ROUTE_EX(5, "pump", 1.0, 5) - MCFG_SOUND_ROUTE_EX(6, "pump", 1.0, 6) - MCFG_SOUND_ROUTE_EX(7, "pump", 1.0, 7) + MCFG_SOUND_ROUTE(0, "pump", 1.0, 0) + MCFG_SOUND_ROUTE(1, "pump", 1.0, 1) + MCFG_SOUND_ROUTE(2, "pump", 1.0, 2) + MCFG_SOUND_ROUTE(3, "pump", 1.0, 3) + MCFG_SOUND_ROUTE(4, "pump", 1.0, 4) + MCFG_SOUND_ROUTE(5, "pump", 1.0, 5) + MCFG_SOUND_ROUTE(6, "pump", 1.0, 6) + MCFG_SOUND_ROUTE(7, "pump", 1.0, 7) MACHINE_CONFIG_END diff --git a/src/mame/drivers/esripsys.cpp b/src/mame/drivers/esripsys.cpp index a06378be848..b0b64bc9ecc 100644 --- a/src/mame/drivers/esripsys.cpp +++ b/src/mame/drivers/esripsys.cpp @@ -698,9 +698,9 @@ MACHINE_CONFIG_START(esripsys_state::esripsys) MCFG_SOUND_ADD("dac", MC3410, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) // unknown DAC MCFG_SOUND_ADD("dacvol", MC3408, 0) // unknown DAC - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dacvol", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dacvol", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ADD("tms5220nl", TMS5220, 640000) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) diff --git a/src/mame/drivers/et3400.cpp b/src/mame/drivers/et3400.cpp index a50641dbbd5..a58216dcbb4 100644 --- a/src/mame/drivers/et3400.cpp +++ b/src/mame/drivers/et3400.cpp @@ -233,7 +233,7 @@ MACHINE_CONFIG_START(et3400_state::et3400) MCFG_PIA_READPA_HANDLER(READ8(et3400_state, pia_ar)) MCFG_PIA_READPB_HANDLER(READ8(et3400_state, pia_br)) MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "terminal") - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) MCFG_DEVICE_ADD("displatch1", LS259, 0) // IC28 MCFG_ADDRESSABLE_LATCH_PARALLEL_OUT_CB(WRITE8(et3400_state, led_w<1>)) diff --git a/src/mame/drivers/eurocom2.cpp b/src/mame/drivers/eurocom2.cpp index 6be6bd3bfee..dee2bb5f195 100644 --- a/src/mame/drivers/eurocom2.cpp +++ b/src/mame/drivers/eurocom2.cpp @@ -427,10 +427,11 @@ FLOPPY_FORMATS_MEMBER( eurocom2_state::floppy_formats ) FLOPPY_PPG_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( eurocom_floppies ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) - SLOT_INTERFACE( "8dsdd", FLOPPY_8_DSDD ) -SLOT_INTERFACE_END +static void eurocom_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); + device.option_add("8dsdd", FLOPPY_8_DSDD); +} MACHINE_CONFIG_START(eurocom2_state::eurocom2) MCFG_CPU_ADD("maincpu", MC6809, XTAL(10'717'200)/2) // EXTAL = CLK/2 = 5.3586 MHz; Q = E = 1.33965 MHz diff --git a/src/mame/drivers/excali64.cpp b/src/mame/drivers/excali64.cpp index 36e316d3387..d966475ec46 100644 --- a/src/mame/drivers/excali64.cpp +++ b/src/mame/drivers/excali64.cpp @@ -240,9 +240,10 @@ FLOPPY_FORMATS_MEMBER( excali64_state::floppy_formats ) FLOPPY_EXCALI64_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( excali64_floppies ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void excali64_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); +} // pulses from port E4 bit 5 restart the 74123. After 3.6 secs without a pulse, the motor gets turned off. WRITE_LINE_MEMBER( excali64_state::motor_w ) diff --git a/src/mame/drivers/exp85.cpp b/src/mame/drivers/exp85.cpp index b222d664219..5d118c0e16e 100644 --- a/src/mame/drivers/exp85.cpp +++ b/src/mame/drivers/exp85.cpp @@ -203,7 +203,7 @@ MACHINE_CONFIG_START(exp85_state::exp85) MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED) MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "terminal") - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) /* internal ram */ MCFG_RAM_ADD(RAM_TAG) diff --git a/src/mame/drivers/exterm.cpp b/src/mame/drivers/exterm.cpp index 812866d12e3..2491e0cf19a 100644 --- a/src/mame/drivers/exterm.cpp +++ b/src/mame/drivers/exterm.cpp @@ -442,9 +442,9 @@ MACHINE_CONFIG_START(exterm_state::exterm) MCFG_SOUND_ADD("dac", AD7528, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) // ad7528j.e2 MCFG_SOUND_ADD("dacvol", AD7528, 0) // ad7528j.e2 - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dacvol", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dacvol", 1.0, DAC_VREF_POS_INPUT) MCFG_YM2151_ADD("ymsnd", 4000000) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) diff --git a/src/mame/drivers/fantland.cpp b/src/mame/drivers/fantland.cpp index a65083d887e..08b9d841be0 100644 --- a/src/mame/drivers/fantland.cpp +++ b/src/mame/drivers/fantland.cpp @@ -890,7 +890,7 @@ MACHINE_CONFIG_START(fantland_state::fantland) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/fanucspmg.cpp b/src/mame/drivers/fanucspmg.cpp index 4af42b30450..8356ea6b07f 100644 --- a/src/mame/drivers/fanucspmg.cpp +++ b/src/mame/drivers/fanucspmg.cpp @@ -955,9 +955,10 @@ MC6845_UPDATE_ROW( fanucspmg_state::crtc_update_row_mono ) } } -static SLOT_INTERFACE_START( fanuc_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) -SLOT_INTERFACE_END +static void fanuc_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); +} FLOPPY_FORMATS_MEMBER( fanucspmg_state::floppy_formats ) FLOPPY_IMD_FORMAT diff --git a/src/mame/drivers/fccpu20.cpp b/src/mame/drivers/fccpu20.cpp index 07a10e8b217..81fe06f8b26 100644 --- a/src/mame/drivers/fccpu20.cpp +++ b/src/mame/drivers/fccpu20.cpp @@ -118,33 +118,40 @@ static INPUT_PORTS_START (cpu20) INPUT_PORTS_END /* Slot interfaces */ -static SLOT_INTERFACE_START(cpu20_vme_cards) - SLOT_INTERFACE("fccpu20", VME_FCCPU20) -SLOT_INTERFACE_END +static void cpu20_vme_cards(device_slot_interface &device) +{ + device.option_add("fccpu20", VME_FCCPU20); +} -static SLOT_INTERFACE_START(cpu21s_vme_cards) - SLOT_INTERFACE("fccpu21s", VME_FCCPU21S) -SLOT_INTERFACE_END +static void cpu21s_vme_cards(device_slot_interface &device) +{ + device.option_add("fccpu21s", VME_FCCPU21S); +} -static SLOT_INTERFACE_START(cpu21_vme_cards) - SLOT_INTERFACE("fccpu21", VME_FCCPU21) -SLOT_INTERFACE_END +static void cpu21_vme_cards(device_slot_interface &device) +{ + device.option_add("fccpu21", VME_FCCPU21); +} -static SLOT_INTERFACE_START(cpu21a_vme_cards) - SLOT_INTERFACE("fccpu21a", VME_FCCPU21A) -SLOT_INTERFACE_END +static void cpu21a_vme_cards(device_slot_interface &device) +{ + device.option_add("fccpu21a", VME_FCCPU21A); +} -static SLOT_INTERFACE_START(cpu21ya_vme_cards) - SLOT_INTERFACE("fccpu21ya", VME_FCCPU21YA) -SLOT_INTERFACE_END +static void cpu21ya_vme_cards(device_slot_interface &device) +{ + device.option_add("fccpu21ya", VME_FCCPU21YA); +} -static SLOT_INTERFACE_START(cpu21b_vme_cards) - SLOT_INTERFACE("fccpu21b", VME_FCCPU21B) -SLOT_INTERFACE_END +static void cpu21b_vme_cards(device_slot_interface &device) +{ + device.option_add("fccpu21b", VME_FCCPU21B); +} -static SLOT_INTERFACE_START(cpu21yb_vme_cards) - SLOT_INTERFACE("fccpu21yb", VME_FCCPU21YB) -SLOT_INTERFACE_END +static void cpu21yb_vme_cards(device_slot_interface &device) +{ + device.option_add("fccpu21yb", VME_FCCPU21YB); +} /* Machine configurations */ MACHINE_CONFIG_START(cpu20_state::cpu20) diff --git a/src/mame/drivers/fccpu30.cpp b/src/mame/drivers/fccpu30.cpp index 0bedae62ffb..6a451786644 100644 --- a/src/mame/drivers/fccpu30.cpp +++ b/src/mame/drivers/fccpu30.cpp @@ -647,10 +647,11 @@ void cpu30_state::update_irq_to_maincpu() } } -static SLOT_INTERFACE_START(fccpu30_vme_cards) - SLOT_INTERFACE("fcisio", VME_FCISIO1) - SLOT_INTERFACE("fcscsi", VME_FCSCSI1) -SLOT_INTERFACE_END +static void fccpu30_vme_cards(device_slot_interface &device) +{ + device.option_add("fcisio", VME_FCISIO1); + device.option_add("fcscsi", VME_FCSCSI1); +} /* * Machine configuration diff --git a/src/mame/drivers/fidel6502.cpp b/src/mame/drivers/fidel6502.cpp index b4846498888..1d24ccce6ac 100644 --- a/src/mame/drivers/fidel6502.cpp +++ b/src/mame/drivers/fidel6502.cpp @@ -1689,7 +1689,7 @@ MACHINE_CONFIG_START(fidel6502_state::rsc) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(fidel6502_state::csc) @@ -1725,7 +1725,7 @@ MACHINE_CONFIG_START(fidel6502_state::csc) MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(fidel6502_state::su9) @@ -1766,7 +1766,7 @@ MACHINE_CONFIG_START(fidel6502_state::eas) MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) /* cartridge */ MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "fidel_scc") @@ -1802,7 +1802,7 @@ MACHINE_CONFIG_START(fidel6502_state::sc9d) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) /* cartridge */ MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "fidel_scc") @@ -1860,7 +1860,7 @@ MACHINE_CONFIG_START(fidel6502_state::sc12) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) /* cartridge */ MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "fidel_scc") @@ -1903,7 +1903,7 @@ MACHINE_CONFIG_START(fidel6502_state::fexcel) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(fidel6502_state::fexcel4) @@ -1995,7 +1995,7 @@ MACHINE_CONFIG_START(fidel6502_state::fdes2100d) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(fidel6502_state::fdes2000d) @@ -2022,7 +2022,7 @@ MACHINE_CONFIG_START(fidel6502_state::fphantom) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(fidel6502_state::chesster) @@ -2042,7 +2042,7 @@ MACHINE_CONFIG_START(fidel6502_state::chesster) MCFG_SOUND_ADD("dac8", DAC_8BIT_R2R, 0) // m74hc374b1.ic1 + 8l513_02.z2 MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac8", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac8", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac8", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac8", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(fidel6502_state::kishon) diff --git a/src/mame/drivers/fidel68k.cpp b/src/mame/drivers/fidel68k.cpp index c69102f3365..58d7d59b425 100644 --- a/src/mame/drivers/fidel68k.cpp +++ b/src/mame/drivers/fidel68k.cpp @@ -573,7 +573,7 @@ MACHINE_CONFIG_START(fidel68k_state::fex68k) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(fidel68k_state::fex68km2) @@ -609,7 +609,7 @@ MACHINE_CONFIG_START(fidel68k_state::fdes2265) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(fidel68k_state::fdes2325) @@ -644,7 +644,7 @@ MACHINE_CONFIG_START(fidel68k_state::eag) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) /* cartridge */ MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "fidel_scc") diff --git a/src/mame/drivers/fidelmcs48.cpp b/src/mame/drivers/fidelmcs48.cpp index 72880a7e87e..e4d629d2fc9 100644 --- a/src/mame/drivers/fidelmcs48.cpp +++ b/src/mame/drivers/fidelmcs48.cpp @@ -165,7 +165,7 @@ MACHINE_CONFIG_START(fidelmcs48_state::sc6) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/fidelz80.cpp b/src/mame/drivers/fidelz80.cpp index 92f5260dd27..b2f27aa25f8 100644 --- a/src/mame/drivers/fidelz80.cpp +++ b/src/mame/drivers/fidelz80.cpp @@ -1666,7 +1666,7 @@ MACHINE_CONFIG_START(fidelz80_state::bcc) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(fidelz80_state::scc) @@ -1683,7 +1683,7 @@ MACHINE_CONFIG_START(fidelz80_state::scc) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(fidelz80_state::cc10) @@ -1812,7 +1812,7 @@ MACHINE_CONFIG_START(fidelz80_state::dsc) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/finalizr.cpp b/src/mame/drivers/finalizr.cpp index eb3db65eeb8..015c436345e 100644 --- a/src/mame/drivers/finalizr.cpp +++ b/src/mame/drivers/finalizr.cpp @@ -304,7 +304,7 @@ MACHINE_CONFIG_START(finalizr_state::finalizr) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.325) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/firebeat.cpp b/src/mame/drivers/firebeat.cpp index ee4facc999e..c1e2eec1227 100644 --- a/src/mame/drivers/firebeat.cpp +++ b/src/mame/drivers/firebeat.cpp @@ -1167,9 +1167,10 @@ void firebeat_state::cdrom_config(device_t *device) MCFG_SOUND_ROUTE(1, "^^rspeaker", 1.0) } -static SLOT_INTERFACE_START(firebeat_ata_devices) - SLOT_INTERFACE("cdrom", ATAPI_FIXED_CDROM) -SLOT_INTERFACE_END +static void firebeat_ata_devices(device_slot_interface &device) +{ + device.option_add("cdrom", ATAPI_FIXED_CDROM); +} MACHINE_CONFIG_START(firebeat_state::firebeat) @@ -1191,7 +1192,7 @@ MACHINE_CONFIG_START(firebeat_state::firebeat) MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(firebeat_state, ata_interrupt)) MCFG_DEVICE_MODIFY("ata:1") - MCFG_DEVICE_CARD_MACHINE_CONFIG( "cdrom", cdrom_config ) + MCFG_SLOT_OPTION_MACHINE_CONFIG( "cdrom", cdrom_config ) /* video hardware */ MCFG_PALETTE_ADD_RRRRRGGGGGBBBBB("palette") @@ -1248,7 +1249,7 @@ MACHINE_CONFIG_START(firebeat_state::firebeat2) MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(firebeat_state, ata_interrupt)) MCFG_DEVICE_MODIFY("ata:1") - MCFG_DEVICE_CARD_MACHINE_CONFIG( "cdrom", cdrom_config ) + MCFG_SLOT_OPTION_MACHINE_CONFIG( "cdrom", cdrom_config ) /* video hardware */ MCFG_PALETTE_ADD_RRRRRGGGGGBBBBB("palette") diff --git a/src/mame/drivers/flstory.cpp b/src/mame/drivers/flstory.cpp index 63988240178..c9301bf93f9 100644 --- a/src/mame/drivers/flstory.cpp +++ b/src/mame/drivers/flstory.cpp @@ -801,7 +801,7 @@ MACHINE_CONFIG_START(flstory_state::flstory) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(flstory_state::onna34ro) @@ -870,7 +870,7 @@ MACHINE_CONFIG_START(flstory_state::onna34ro) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(flstory_state::onna34ro_mcu) @@ -950,7 +950,7 @@ MACHINE_CONFIG_START(flstory_state::victnine) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END @@ -1023,7 +1023,7 @@ MACHINE_CONFIG_START(flstory_state::rumba) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END /*************************************************************************** diff --git a/src/mame/drivers/fm7.cpp b/src/mame/drivers/fm7.cpp index 4a63438c638..b89fc431093 100644 --- a/src/mame/drivers/fm7.cpp +++ b/src/mame/drivers/fm7.cpp @@ -2052,9 +2052,10 @@ void fm7_state::machine_reset() } -static SLOT_INTERFACE_START( fm7_floppies ) - SLOT_INTERFACE("qd", FLOPPY_525_QD) -SLOT_INTERFACE_END +static void fm7_floppies(device_slot_interface &device) +{ + device.option_add("qd", FLOPPY_525_QD); +} #define MCFG_ADDRESS_BANK(tag) \ diff --git a/src/mame/drivers/fmtowns.cpp b/src/mame/drivers/fmtowns.cpp index ecc65e2d361..ce46712ff09 100644 --- a/src/mame/drivers/fmtowns.cpp +++ b/src/mame/drivers/fmtowns.cpp @@ -2736,9 +2736,10 @@ FLOPPY_FORMATS_MEMBER( towns_state::floppy_formats ) FLOPPY_FMTOWNS_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( towns_floppies ) - SLOT_INTERFACE( "35hd", FLOPPY_35_HD ) -SLOT_INTERFACE_END +static void towns_floppies(device_slot_interface &device) +{ + device.option_add("35hd", FLOPPY_35_HD); +} static const gfx_layout fnt_chars_16x16 = { diff --git a/src/mame/drivers/force68k.cpp b/src/mame/drivers/force68k.cpp index c2bf82d8590..b5326076d1c 100644 --- a/src/mame/drivers/force68k.cpp +++ b/src/mame/drivers/force68k.cpp @@ -528,10 +528,11 @@ image_init_result force68k_state::force68k_load_cart(device_image_interface &ima } -static SLOT_INTERFACE_START(fccpu1_vme_cards) - SLOT_INTERFACE("fcisio", VME_FCISIO1) - SLOT_INTERFACE("fcscsi", VME_FCSCSI1) -SLOT_INTERFACE_END +static void fccpu1_vme_cards(device_slot_interface &device) +{ + device.option_add("fcisio", VME_FCISIO1); + device.option_add("fcscsi", VME_FCSCSI1); +} /* * Machine configuration diff --git a/src/mame/drivers/fruitpc.cpp b/src/mame/drivers/fruitpc.cpp index 43db9226b67..1fa08be7216 100644 --- a/src/mame/drivers/fruitpc.cpp +++ b/src/mame/drivers/fruitpc.cpp @@ -115,9 +115,10 @@ INPUT_PORTS_END //TODO: use atmb device WRITE8_MEMBER( fruitpc_state::dma8237_1_dack_w ){ m_isabus->dack_w(1, data); } -static SLOT_INTERFACE_START( fruitpc_isa8_cards ) - SLOT_INTERFACE("sb15", ISA8_SOUND_BLASTER_1_5) -SLOT_INTERFACE_END +static void fruitpc_isa8_cards(device_slot_interface &device) +{ + device.option_add("sb15", ISA8_SOUND_BLASTER_1_5); +} static DEVICE_INPUT_DEFAULTS_START( fruitpc_sb_def ) DEVICE_INPUT_DEFAULTS("CONFIG", 0x03, 0x01) @@ -159,8 +160,8 @@ MACHINE_CONFIG_START(fruitpc_state::fruitpc) MCFG_ISA_OUT_DRQ3_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq3_w)) MCFG_ISA8_SLOT_ADD("isa", "isa1", fruitpc_isa8_cards, "sb15", true) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("sb15", fruitpc_sb_def) - MCFG_DEVICE_CARD_MACHINE_CONFIG("sb15", fruitpc_sb_conf) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("sb15", fruitpc_sb_def) + MCFG_SLOT_OPTION_MACHINE_CONFIG("sb15", fruitpc_sb_conf) MACHINE_CONFIG_END ROM_START( fruitpc ) diff --git a/src/mame/drivers/galaxian.cpp b/src/mame/drivers/galaxian.cpp index 11850d03e0d..623f1eb28c2 100644 --- a/src/mame/drivers/galaxian.cpp +++ b/src/mame/drivers/galaxian.cpp @@ -5836,9 +5836,9 @@ MACHINE_CONFIG_START(galaxian_state::konami_sound_1x_ay8910) MCFG_AY8910_RES_LOADS(RES_K(5.1), RES_K(5.1), RES_K(5.1)) MCFG_AY8910_PORT_A_READ_CB(DEVREAD8("soundlatch", generic_latch_8_device, read)) MCFG_AY8910_PORT_B_READ_CB(READ8(galaxian_state, frogger_sound_timer_r)) - MCFG_SOUND_ROUTE_EX(0, "konami", 1.0, 0) - MCFG_SOUND_ROUTE_EX(1, "konami", 1.0, 1) - MCFG_SOUND_ROUTE_EX(2, "konami", 1.0, 2) + MCFG_SOUND_ROUTE(0, "konami", 1.0, 0) + MCFG_SOUND_ROUTE(1, "konami", 1.0, 1) + MCFG_SOUND_ROUTE(2, "konami", 1.0, 2) MCFG_SOUND_ADD("konami", DISCRETE, 0) MCFG_DISCRETE_INTF(konami_sound) @@ -5861,16 +5861,16 @@ MACHINE_CONFIG_START(galaxian_state::konami_sound_2x_ay8910) MCFG_AY8910_RES_LOADS(RES_K(5.1), RES_K(5.1), RES_K(5.1)) MCFG_AY8910_PORT_A_READ_CB(DEVREAD8("soundlatch", generic_latch_8_device, read)) MCFG_AY8910_PORT_B_READ_CB(READ8(galaxian_state, konami_sound_timer_r)) - MCFG_SOUND_ROUTE_EX(0, "konami", 1.0, 0) - MCFG_SOUND_ROUTE_EX(1, "konami", 1.0, 1) - MCFG_SOUND_ROUTE_EX(2, "konami", 1.0, 2) + MCFG_SOUND_ROUTE(0, "konami", 1.0, 0) + MCFG_SOUND_ROUTE(1, "konami", 1.0, 1) + MCFG_SOUND_ROUTE(2, "konami", 1.0, 2) MCFG_SOUND_ADD("8910.1", AY8910, KONAMI_SOUND_CLOCK/8) MCFG_AY8910_OUTPUT_TYPE(AY8910_DISCRETE_OUTPUT) MCFG_AY8910_RES_LOADS(RES_K(5.1), RES_K(5.1), RES_K(5.1)) - MCFG_SOUND_ROUTE_EX(0, "konami", 1.0, 3) - MCFG_SOUND_ROUTE_EX(1, "konami", 1.0, 4) - MCFG_SOUND_ROUTE_EX(2, "konami", 1.0, 5) + MCFG_SOUND_ROUTE(0, "konami", 1.0, 3) + MCFG_SOUND_ROUTE(1, "konami", 1.0, 4) + MCFG_SOUND_ROUTE(2, "konami", 1.0, 5) MCFG_SOUND_ADD("konami", DISCRETE, 0) MCFG_DISCRETE_INTF(konami_sound) @@ -6101,7 +6101,7 @@ MACHINE_CONFIG_START(galaxian_state::kingball) /* sound hardware */ MCFG_SOUND_ADD("dac", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.53) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END @@ -6318,7 +6318,7 @@ MACHINE_CONFIG_START(galaxian_state::sfx) /* DAC for the sample player */ MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) // 16-pin IC (not identified by schematics) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/galeb.cpp b/src/mame/drivers/galeb.cpp index cfd298b49d5..5b758cdad77 100644 --- a/src/mame/drivers/galeb.cpp +++ b/src/mame/drivers/galeb.cpp @@ -187,7 +187,7 @@ MACHINE_CONFIG_START(galeb_state::galeb) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.0625) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MACHINE_CONFIG_END /* ROM definition */ diff --git a/src/mame/drivers/galivan.cpp b/src/mame/drivers/galivan.cpp index f9560441027..854c7bb07d9 100644 --- a/src/mame/drivers/galivan.cpp +++ b/src/mame/drivers/galivan.cpp @@ -475,8 +475,8 @@ MACHINE_CONFIG_START(galivan_state::galivan) MCFG_SOUND_ADD("dac1", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC MCFG_SOUND_ADD("dac2", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(dangarj_state::dangarj) @@ -535,8 +535,8 @@ MACHINE_CONFIG_START(galivan_state::ninjemak) MCFG_SOUND_ADD("dac1", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC MCFG_SOUND_ADD("dac2", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/gamecom.cpp b/src/mame/drivers/gamecom.cpp index df803979066..a5a8ba25476 100644 --- a/src/mame/drivers/gamecom.cpp +++ b/src/mame/drivers/gamecom.cpp @@ -280,9 +280,9 @@ MACHINE_CONFIG_START(gamecom_state::gamecom) MCFG_SOUND_ADD("dac0", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.05) // unknown DAC (Frequency modulation) MCFG_SOUND_ADD("dac1", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.05) // unknown DAC (Frequency modulation) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac0", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac0", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac0", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac0", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) /* cartridge */ MCFG_GENERIC_CARTSLOT_ADD("cartslot1", generic_linear_slot, "gamecom_cart") diff --git a/src/mame/drivers/gb.cpp b/src/mame/drivers/gb.cpp index c2042546326..60070ff82e2 100644 --- a/src/mame/drivers/gb.cpp +++ b/src/mame/drivers/gb.cpp @@ -499,41 +499,43 @@ static INPUT_PORTS_START( gameboy ) INPUT_PORTS_END -static SLOT_INTERFACE_START(gb_cart) - SLOT_INTERFACE_INTERNAL("rom", GB_STD_ROM) - SLOT_INTERFACE_INTERNAL("rom_mbc1", GB_ROM_MBC1) - SLOT_INTERFACE_INTERNAL("rom_mbc1col", GB_ROM_MBC1) - SLOT_INTERFACE_INTERNAL("rom_mbc2", GB_ROM_MBC2) - SLOT_INTERFACE_INTERNAL("rom_mbc3", GB_ROM_MBC3) - SLOT_INTERFACE_INTERNAL("rom_huc1", GB_ROM_MBC3) - SLOT_INTERFACE_INTERNAL("rom_huc3", GB_ROM_MBC3) - SLOT_INTERFACE_INTERNAL("rom_mbc5", GB_ROM_MBC5) - SLOT_INTERFACE_INTERNAL("rom_mbc6", GB_ROM_MBC6) - SLOT_INTERFACE_INTERNAL("rom_mbc7", GB_ROM_MBC7) - SLOT_INTERFACE_INTERNAL("rom_tama5", GB_ROM_TAMA5) - SLOT_INTERFACE_INTERNAL("rom_mmm01", GB_ROM_MMM01) - SLOT_INTERFACE_INTERNAL("rom_m161", GB_ROM_M161) - SLOT_INTERFACE_INTERNAL("rom_sachen1", GB_ROM_SACHEN1) - SLOT_INTERFACE_INTERNAL("rom_sachen2", GB_ROM_SACHEN2) - SLOT_INTERFACE_INTERNAL("rom_wisdom", GB_ROM_WISDOM) - SLOT_INTERFACE_INTERNAL("rom_yong", GB_ROM_YONG) - SLOT_INTERFACE_INTERNAL("rom_lasama", GB_ROM_LASAMA) - SLOT_INTERFACE_INTERNAL("rom_atvrac", GB_ROM_ATVRAC) - SLOT_INTERFACE_INTERNAL("rom_camera", GB_ROM_CAMERA) - SLOT_INTERFACE_INTERNAL("rom_188in1", GB_ROM_188IN1) - SLOT_INTERFACE_INTERNAL("rom_sintax", GB_ROM_SINTAX) - SLOT_INTERFACE_INTERNAL("rom_chong", GB_ROM_CHONGWU) - SLOT_INTERFACE_INTERNAL("rom_licheng", GB_ROM_LICHENG) - SLOT_INTERFACE_INTERNAL("rom_digimon", GB_ROM_DIGIMON) - SLOT_INTERFACE_INTERNAL("rom_rock8", GB_ROM_ROCKMAN8) - SLOT_INTERFACE_INTERNAL("rom_sm3sp", GB_ROM_SM3SP) -// SLOT_INTERFACE_INTERNAL("rom_dkong5", GB_ROM_DKONG5) -// SLOT_INTERFACE_INTERNAL("rom_unk01", GB_ROM_UNK01) -SLOT_INTERFACE_END +static void gb_cart(device_slot_interface &device) +{ + device.option_add_internal("rom", GB_STD_ROM); + device.option_add_internal("rom_mbc1", GB_ROM_MBC1); + device.option_add_internal("rom_mbc1col", GB_ROM_MBC1); + device.option_add_internal("rom_mbc2", GB_ROM_MBC2); + device.option_add_internal("rom_mbc3", GB_ROM_MBC3); + device.option_add_internal("rom_huc1", GB_ROM_MBC3); + device.option_add_internal("rom_huc3", GB_ROM_MBC3); + device.option_add_internal("rom_mbc5", GB_ROM_MBC5); + device.option_add_internal("rom_mbc6", GB_ROM_MBC6); + device.option_add_internal("rom_mbc7", GB_ROM_MBC7); + device.option_add_internal("rom_tama5", GB_ROM_TAMA5); + device.option_add_internal("rom_mmm01", GB_ROM_MMM01); + device.option_add_internal("rom_m161", GB_ROM_M161); + device.option_add_internal("rom_sachen1", GB_ROM_SACHEN1); + device.option_add_internal("rom_sachen2", GB_ROM_SACHEN2); + device.option_add_internal("rom_wisdom", GB_ROM_WISDOM); + device.option_add_internal("rom_yong", GB_ROM_YONG); + device.option_add_internal("rom_lasama", GB_ROM_LASAMA); + device.option_add_internal("rom_atvrac", GB_ROM_ATVRAC); + device.option_add_internal("rom_camera", GB_ROM_CAMERA); + device.option_add_internal("rom_188in1", GB_ROM_188IN1); + device.option_add_internal("rom_sintax", GB_ROM_SINTAX); + device.option_add_internal("rom_chong", GB_ROM_CHONGWU); + device.option_add_internal("rom_licheng", GB_ROM_LICHENG); + device.option_add_internal("rom_digimon", GB_ROM_DIGIMON); + device.option_add_internal("rom_rock8", GB_ROM_ROCKMAN8); + device.option_add_internal("rom_sm3sp", GB_ROM_SM3SP); +// device.option_add_internal("rom_dkong5", GB_ROM_DKONG5); +// device.option_add_internal("rom_unk01", GB_ROM_UNK01); +} -static SLOT_INTERFACE_START(megaduck_cart) - SLOT_INTERFACE_INTERNAL("rom", MEGADUCK_ROM) -SLOT_INTERFACE_END +static void megaduck_cart(device_slot_interface &device) +{ + device.option_add_internal("rom", MEGADUCK_ROM); +} diff --git a/src/mame/drivers/gba.cpp b/src/mame/drivers/gba.cpp index 4f671858b35..fdc931e2916 100644 --- a/src/mame/drivers/gba.cpp +++ b/src/mame/drivers/gba.cpp @@ -1410,23 +1410,24 @@ void gba_state::machine_start() } -static SLOT_INTERFACE_START(gba_cart) - SLOT_INTERFACE_INTERNAL("gba_rom", GBA_ROM_STD) - SLOT_INTERFACE_INTERNAL("gba_sram", GBA_ROM_SRAM) - SLOT_INTERFACE_INTERNAL("gba_drilldoz", GBA_ROM_DRILLDOZ) // Rumble output unemulated - SLOT_INTERFACE_INTERNAL("gba_wariotws", GBA_ROM_WARIOTWS) // Rumble output unemulated - SLOT_INTERFACE_INTERNAL("gba_eeprom", GBA_ROM_EEPROM) - SLOT_INTERFACE_INTERNAL("gba_eeprom_4k", GBA_ROM_EEPROM) - SLOT_INTERFACE_INTERNAL("gba_yoshiug", GBA_ROM_YOSHIUG) - SLOT_INTERFACE_INTERNAL("gba_eeprom_64k", GBA_ROM_EEPROM64) - SLOT_INTERFACE_INTERNAL("gba_boktai", GBA_ROM_BOKTAI) - SLOT_INTERFACE_INTERNAL("gba_flash", GBA_ROM_FLASH) // Panasonic - SLOT_INTERFACE_INTERNAL("gba_flash_rtc", GBA_ROM_FLASH_RTC) // Panasonic - SLOT_INTERFACE_INTERNAL("gba_flash_512", GBA_ROM_FLASH) // Panasonic - SLOT_INTERFACE_INTERNAL("gba_flash_1m", GBA_ROM_FLASH1M) // Sanyo - SLOT_INTERFACE_INTERNAL("gba_flash_1m_rtc", GBA_ROM_FLASH1M_RTC) // Sanyo - SLOT_INTERFACE_INTERNAL("gba_3dmatrix", GBA_ROM_3DMATRIX) -SLOT_INTERFACE_END +static void gba_cart(device_slot_interface &device) +{ + device.option_add_internal("gba_rom", GBA_ROM_STD); + device.option_add_internal("gba_sram", GBA_ROM_SRAM); + device.option_add_internal("gba_drilldoz", GBA_ROM_DRILLDOZ); // Rumble output unemulated + device.option_add_internal("gba_wariotws", GBA_ROM_WARIOTWS); // Rumble output unemulated + device.option_add_internal("gba_eeprom", GBA_ROM_EEPROM); + device.option_add_internal("gba_eeprom_4k", GBA_ROM_EEPROM); + device.option_add_internal("gba_yoshiug", GBA_ROM_YOSHIUG); + device.option_add_internal("gba_eeprom_64k", GBA_ROM_EEPROM64); + device.option_add_internal("gba_boktai", GBA_ROM_BOKTAI); + device.option_add_internal("gba_flash", GBA_ROM_FLASH); // Panasonic + device.option_add_internal("gba_flash_rtc", GBA_ROM_FLASH_RTC); // Panasonic + device.option_add_internal("gba_flash_512", GBA_ROM_FLASH); // Panasonic + device.option_add_internal("gba_flash_1m", GBA_ROM_FLASH1M); // Sanyo + device.option_add_internal("gba_flash_1m_rtc", GBA_ROM_FLASH1M_RTC); // Sanyo + device.option_add_internal("gba_3dmatrix", GBA_ROM_3DMATRIX); +} MACHINE_CONFIG_START(gba_state::gbadv) @@ -1451,10 +1452,10 @@ MACHINE_CONFIG_START(gba_state::gbadv) MCFG_SOUND_ADD("ldacb", DAC_8BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) // unknown DAC MCFG_SOUND_ADD("rdacb", DAC_8BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "ldaca", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldaca", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdaca", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdaca", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "ldacb", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldacb", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdacb", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdacb", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldaca", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldaca", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdaca", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdaca", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldacb", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldacb", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdacb", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdacb", -1.0, DAC_VREF_NEG_INPUT) MCFG_GBA_CARTRIDGE_ADD("cartslot", gba_cart, nullptr) MCFG_SOFTWARE_LIST_ADD("cart_list","gba") diff --git a/src/mame/drivers/gei.cpp b/src/mame/drivers/gei.cpp index bcb7a34ee00..104e452b8a1 100644 --- a/src/mame/drivers/gei.cpp +++ b/src/mame/drivers/gei.cpp @@ -1004,7 +1004,7 @@ MACHINE_CONFIG_START(gei_state::getrivia) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.99) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(gei_state::findout) diff --git a/src/mame/drivers/gimix.cpp b/src/mame/drivers/gimix.cpp index 995cebc3a36..d1f1cfb45a2 100644 --- a/src/mame/drivers/gimix.cpp +++ b/src/mame/drivers/gimix.cpp @@ -533,10 +533,11 @@ FLOPPY_FORMATS_MEMBER( gimix_state::floppy_formats ) FLOPPY_FLEX_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( gimix_floppies ) - SLOT_INTERFACE( "525hd", FLOPPY_525_HD ) - SLOT_INTERFACE( "8dd", FLOPPY_8_DSDD ) -SLOT_INTERFACE_END +static void gimix_floppies(device_slot_interface &device) +{ + device.option_add("525hd", FLOPPY_525_HD); + device.option_add("8dd", FLOPPY_8_DSDD); +} #define MCFG_ADDRESS_BANK(tag) \ MCFG_DEVICE_ADD(tag, ADDRESS_MAP_BANK, 0) \ diff --git a/src/mame/drivers/gkigt.cpp b/src/mame/drivers/gkigt.cpp index b524a67b493..ad23fb327b8 100644 --- a/src/mame/drivers/gkigt.cpp +++ b/src/mame/drivers/gkigt.cpp @@ -619,7 +619,7 @@ MACHINE_CONFIG_START(igt_gameking_state::igt_gameking) MCFG_RS232_PORT_ADD("diag", default_rs232_devices, nullptr) MCFG_RS232_RXD_HANDLER(DEVWRITELINE("quart1", sc28c94_device, rx_d_w)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) MCFG_GFXDECODE_ADD("gfxdecode", "palette", igt_gameking) diff --git a/src/mame/drivers/go2000.cpp b/src/mame/drivers/go2000.cpp index 4b181acd502..478c6e99356 100644 --- a/src/mame/drivers/go2000.cpp +++ b/src/mame/drivers/go2000.cpp @@ -370,7 +370,7 @@ MACHINE_CONFIG_START(go2000_state::go2000) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(0, "speaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END ROM_START( go2000 ) diff --git a/src/mame/drivers/goupil.cpp b/src/mame/drivers/goupil.cpp index ca0f003307b..ec89e0b8812 100644 --- a/src/mame/drivers/goupil.cpp +++ b/src/mame/drivers/goupil.cpp @@ -445,9 +445,10 @@ static INPUT_PORTS_START( goupil_g1 ) PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_8) PORT_CHAR('8') INPUT_PORTS_END -static SLOT_INTERFACE_START( goupil_floppies ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void goupil_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); +} void goupil_g1_state::machine_start() { diff --git a/src/mame/drivers/gp32.cpp b/src/mame/drivers/gp32.cpp index b09ab860b91..036edd527a2 100644 --- a/src/mame/drivers/gp32.cpp +++ b/src/mame/drivers/gp32.cpp @@ -1694,8 +1694,8 @@ MACHINE_CONFIG_START(gp32_state::gp32) MCFG_SOUND_ADD("ldac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) // unknown DAC MCFG_SOUND_ADD("rdac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) MCFG_NVRAM_ADD_1FILL("nvram") diff --git a/src/mame/drivers/guab.cpp b/src/mame/drivers/guab.cpp index 9df666b5f28..a0a88b316e6 100644 --- a/src/mame/drivers/guab.cpp +++ b/src/mame/drivers/guab.cpp @@ -458,9 +458,10 @@ FLOPPY_FORMATS_MEMBER( guab_state::floppy_formats ) FLOPPY_GUAB_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( guab_floppies ) - SLOT_INTERFACE("dd", FLOPPY_35_DD) -SLOT_INTERFACE_END +static void guab_floppies(device_slot_interface &device) +{ + device.option_add("dd", FLOPPY_35_DD); +} //************************************************************************** @@ -532,7 +533,7 @@ MACHINE_CONFIG_START(guab_state::guab) MCFG_RS232_PORT_ADD("rs232_1", default_rs232_devices, nullptr) MCFG_RS232_RXD_HANDLER(DEVWRITELINE("acia6850_1", acia6850_device, write_rxd)) MCFG_RS232_CTS_HANDLER(DEVWRITELINE("acia6850_1", acia6850_device, write_cts)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("keyboard", acia_1_rs232_defaults) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("keyboard", acia_1_rs232_defaults) MCFG_DEVICE_ADD("acia_clock", CLOCK, 153600) // source? the ptm doesn't seem to output any common baud values MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("acia6850_1", acia6850_device, write_txc)) diff --git a/src/mame/drivers/gyruss.cpp b/src/mame/drivers/gyruss.cpp index e9291a79c7b..c7a95f6cdd6 100644 --- a/src/mame/drivers/gyruss.cpp +++ b/src/mame/drivers/gyruss.cpp @@ -523,39 +523,39 @@ MACHINE_CONFIG_START(gyruss_state::gyruss) MCFG_AY8910_OUTPUT_TYPE(AY8910_DISCRETE_OUTPUT) MCFG_AY8910_RES_LOADS(RES_K(3.3), RES_K(3.3), RES_K(3.3)) MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(gyruss_state, gyruss_filter0_w)) - MCFG_SOUND_ROUTE_EX(0, "discrete", 1.0, 0) - MCFG_SOUND_ROUTE_EX(1, "discrete", 1.0, 1) - MCFG_SOUND_ROUTE_EX(2, "discrete", 1.0, 2) + MCFG_SOUND_ROUTE(0, "discrete", 1.0, 0) + MCFG_SOUND_ROUTE(1, "discrete", 1.0, 1) + MCFG_SOUND_ROUTE(2, "discrete", 1.0, 2) MCFG_SOUND_ADD("ay2", AY8910, SOUND_CLOCK/8) MCFG_AY8910_OUTPUT_TYPE(AY8910_DISCRETE_OUTPUT) MCFG_AY8910_RES_LOADS(RES_K(3.3), RES_K(3.3), RES_K(3.3)) MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(gyruss_state, gyruss_filter1_w)) - MCFG_SOUND_ROUTE_EX(0, "discrete", 1.0, 3) - MCFG_SOUND_ROUTE_EX(1, "discrete", 1.0, 4) - MCFG_SOUND_ROUTE_EX(2, "discrete", 1.0, 5) + MCFG_SOUND_ROUTE(0, "discrete", 1.0, 3) + MCFG_SOUND_ROUTE(1, "discrete", 1.0, 4) + MCFG_SOUND_ROUTE(2, "discrete", 1.0, 5) MCFG_SOUND_ADD("ay3", AY8910, SOUND_CLOCK/8) MCFG_AY8910_OUTPUT_TYPE(AY8910_DISCRETE_OUTPUT) MCFG_AY8910_RES_LOADS(RES_K(3.3), RES_K(3.3), RES_K(3.3)) MCFG_AY8910_PORT_A_READ_CB(READ8(gyruss_state, gyruss_portA_r)) - MCFG_SOUND_ROUTE_EX(0, "discrete", 1.0, 6) - MCFG_SOUND_ROUTE_EX(1, "discrete", 1.0, 7) - MCFG_SOUND_ROUTE_EX(2, "discrete", 1.0, 8) + MCFG_SOUND_ROUTE(0, "discrete", 1.0, 6) + MCFG_SOUND_ROUTE(1, "discrete", 1.0, 7) + MCFG_SOUND_ROUTE(2, "discrete", 1.0, 8) MCFG_SOUND_ADD("ay4", AY8910, SOUND_CLOCK/8) MCFG_AY8910_OUTPUT_TYPE(AY8910_DISCRETE_OUTPUT) MCFG_AY8910_RES_LOADS(RES_K(3.3), RES_K(3.3), RES_K(3.3)) - MCFG_SOUND_ROUTE_EX(0, "discrete", 1.0, 9) - MCFG_SOUND_ROUTE_EX(1, "discrete", 1.0, 10) - MCFG_SOUND_ROUTE_EX(2, "discrete", 1.0, 11) + MCFG_SOUND_ROUTE(0, "discrete", 1.0, 9) + MCFG_SOUND_ROUTE(1, "discrete", 1.0, 10) + MCFG_SOUND_ROUTE(2, "discrete", 1.0, 11) MCFG_SOUND_ADD("ay5", AY8910, SOUND_CLOCK/8) MCFG_AY8910_OUTPUT_TYPE(AY8910_DISCRETE_OUTPUT) MCFG_AY8910_RES_LOADS(RES_K(3.3), RES_K(3.3), RES_K(3.3)) - MCFG_SOUND_ROUTE_EX(0, "discrete", 1.0, 12) - MCFG_SOUND_ROUTE_EX(1, "discrete", 1.0, 13) - MCFG_SOUND_ROUTE_EX(2, "discrete", 1.0, 14) + MCFG_SOUND_ROUTE(0, "discrete", 1.0, 12) + MCFG_SOUND_ROUTE(1, "discrete", 1.0, 13) + MCFG_SOUND_ROUTE(2, "discrete", 1.0, 14) MCFG_SOUND_ADD("discrete", DISCRETE, 0) MCFG_DISCRETE_INTF(gyruss_sound) diff --git a/src/mame/drivers/h89.cpp b/src/mame/drivers/h89.cpp index 92d1ca415c6..2dfcf4a2ef3 100644 --- a/src/mame/drivers/h89.cpp +++ b/src/mame/drivers/h89.cpp @@ -194,7 +194,7 @@ MACHINE_CONFIG_START(h89_state::h89) MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, "terminal") MCFG_RS232_RXD_HANDLER(DEVWRITELINE("ins8250", ins8250_uart_device, rx_w)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) MCFG_TIMER_DRIVER_ADD_PERIODIC("irq_timer", h89_state, h89_irq_timer, attotime::from_hz(100)) MACHINE_CONFIG_END diff --git a/src/mame/drivers/hankin.cpp b/src/mame/drivers/hankin.cpp index 312345211b9..ec88fb26bd5 100644 --- a/src/mame/drivers/hankin.cpp +++ b/src/mame/drivers/hankin.cpp @@ -492,7 +492,7 @@ MACHINE_CONFIG_START(hankin_state::hankin) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) /* Devices */ MCFG_DEVICE_ADD("ic10", PIA6821, 0) diff --git a/src/mame/drivers/harddriv.cpp b/src/mame/drivers/harddriv.cpp index 33a6a91a651..fe298971730 100644 --- a/src/mame/drivers/harddriv.cpp +++ b/src/mame/drivers/harddriv.cpp @@ -1629,8 +1629,8 @@ MACHINE_CONFIG_START(harddriv_state::ds3) MCFG_SOUND_ADD("ldac", DAC_16BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) // unknown DAC MCFG_SOUND_ADD("rdac", DAC_16BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/hec2hrp.cpp b/src/mame/drivers/hec2hrp.cpp index 8ba4b81cdc5..a2efc03cfbf 100644 --- a/src/mame/drivers/hec2hrp.cpp +++ b/src/mame/drivers/hec2hrp.cpp @@ -404,9 +404,10 @@ FLOPPY_FORMATS_MEMBER( hec2hrp_state::minidisc_formats ) FLOPPY_HMD_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( minidisc_floppies ) - SLOT_INTERFACE("dd", FLOPPY_35_DD) -SLOT_INTERFACE_END +static void minidisc_floppies(device_slot_interface &device) +{ + device.option_add("dd", FLOPPY_35_DD); +} /******************************************************************************/ @@ -479,9 +480,10 @@ MACHINE_CONFIG_START(hec2hrp_state::hec2hrp) MACHINE_CONFIG_END -static SLOT_INTERFACE_START( hector_floppies ) - SLOT_INTERFACE( "525hd", FLOPPY_525_HD ) -SLOT_INTERFACE_END +static void hector_floppies(device_slot_interface &device) +{ + device.option_add("525hd", FLOPPY_525_HD); +} /*****************************************************************************/ MACHINE_CONFIG_START(hec2hrp_state::hec2mx40) diff --git a/src/mame/drivers/hh_cop400.cpp b/src/mame/drivers/hh_cop400.cpp index b5a009a9252..6e21b03bf47 100644 --- a/src/mame/drivers/hh_cop400.cpp +++ b/src/mame/drivers/hh_cop400.cpp @@ -1592,7 +1592,7 @@ MACHINE_CONFIG_START(bship82_state::bship82) MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SOUND_ADD("dac", DAC_4BIT_BINARY_WEIGHTED_SIGN_MAGNITUDE, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.125) // see above MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END @@ -1814,7 +1814,7 @@ MACHINE_CONFIG_START(vidchal_state::vidchal) MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SOUND_ADD("dac", DAC_4BIT_BINARY_WEIGHTED_SIGN_MAGNITUDE, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.125) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/hk68v10.cpp b/src/mame/drivers/hk68v10.cpp index b5b6e19650b..e1839b66567 100644 --- a/src/mame/drivers/hk68v10.cpp +++ b/src/mame/drivers/hk68v10.cpp @@ -330,8 +330,9 @@ WRITE16_MEMBER (hk68v10_state::vme_a16_w){ * Original HBUG configuration word: 0x003D = 0000 0000 0011 1101 */ -static SLOT_INTERFACE_START(hk68_vme_cards) -SLOT_INTERFACE_END +static void hk68_vme_cards(device_slot_interface &device) +{ +} /* * Machine configuration diff --git a/src/mame/drivers/homedata.cpp b/src/mame/drivers/homedata.cpp index e5e4ffbf4c3..15a3e914722 100644 --- a/src/mame/drivers/homedata.cpp +++ b/src/mame/drivers/homedata.cpp @@ -1259,7 +1259,7 @@ MACHINE_CONFIG_START(homedata_state::mrokumei) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END @@ -1315,7 +1315,7 @@ MACHINE_CONFIG_START(homedata_state::reikaids) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END @@ -1368,7 +1368,7 @@ MACHINE_CONFIG_START(homedata_state::pteacher) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(homedata_state::mjkinjas) diff --git a/src/mame/drivers/homelab.cpp b/src/mame/drivers/homelab.cpp index 0b7ea55aeaf..e501a8eb9d8 100644 --- a/src/mame/drivers/homelab.cpp +++ b/src/mame/drivers/homelab.cpp @@ -768,7 +768,7 @@ MACHINE_CONFIG_START(homelab_state::homelab) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette") MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) @@ -801,7 +801,7 @@ MACHINE_CONFIG_START(homelab_state::homelab3) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette") MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) @@ -834,7 +834,7 @@ MACHINE_CONFIG_START(homelab_state::brailab4) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette") MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) diff --git a/src/mame/drivers/horizon.cpp b/src/mame/drivers/horizon.cpp index 37d70b08223..d46932a7509 100644 --- a/src/mame/drivers/horizon.cpp +++ b/src/mame/drivers/horizon.cpp @@ -155,16 +155,17 @@ DEVICE_INPUT_DEFAULTS_END #include "bus/s100/seals8k.h" //#include "bus/s100/wunderbus.h" -static SLOT_INTERFACE_START( horizon_s100_cards ) - SLOT_INTERFACE("mdsa", S100_MDS_A) - SLOT_INTERFACE("mdsad", S100_MDS_AD) - //SLOT_INTERFACE("hram", S100_HRAM) - //SLOT_INTERFACE("ram32a", S100_RAM32A) - //SLOT_INTERFACE("ram16a", S100_RAM16A) - //SLOT_INTERFACE("fpb", S100_FPB) - SLOT_INTERFACE("8ksc", S100_8K_SC) - SLOT_INTERFACE("8kscbb", S100_8K_SC_BB) -SLOT_INTERFACE_END +static void horizon_s100_cards(device_slot_interface &device) +{ + device.option_add("mdsa", S100_MDS_A); + device.option_add("mdsad", S100_MDS_AD); + //device.option_add("hram", S100_HRAM); + //device.option_add("ram32a", S100_RAM32A); + //device.option_add("ram16a", S100_RAM16A); + //device.option_add("fpb", S100_FPB); + device.option_add("8ksc", S100_8K_SC); + device.option_add("8kscbb", S100_8K_SC_BB); +} @@ -191,7 +192,7 @@ MACHINE_CONFIG_START(horizon_state::horizon) MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, "terminal") MCFG_RS232_RXD_HANDLER(DEVWRITELINE(I8251_L_TAG, i8251_device, write_rxd)) MCFG_RS232_DSR_HANDLER(DEVWRITELINE(I8251_L_TAG, i8251_device, write_dsr)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) MCFG_DEVICE_ADD(I8251_R_TAG, I8251, 0) MCFG_I8251_TXD_HANDLER(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_txd)) diff --git a/src/mame/drivers/hp48.cpp b/src/mame/drivers/hp48.cpp index 626ce407925..3baa6731cc9 100644 --- a/src/mame/drivers/hp48.cpp +++ b/src/mame/drivers/hp48.cpp @@ -1287,7 +1287,7 @@ MACHINE_CONFIG_START(hp48_state::hp48_common) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(hp48_state::hp48gx) diff --git a/src/mame/drivers/hp64k.cpp b/src/mame/drivers/hp64k.cpp index 357d86e2620..ba2da530261 100644 --- a/src/mame/drivers/hp64k.cpp +++ b/src/mame/drivers/hp64k.cpp @@ -1376,9 +1376,10 @@ static INPUT_PORTS_START(hp64k) PORT_DIPSETTING(0x1e , "19200") INPUT_PORTS_END -static SLOT_INTERFACE_START(hp64k_floppies) - SLOT_INTERFACE("525dd" , FLOPPY_525_DD) -SLOT_INTERFACE_END +static void hp64k_floppies(device_slot_interface &device) +{ + device.option_add("525dd" , FLOPPY_525_DD); +} MACHINE_CONFIG_START(hp64k_state::hp64k) MCFG_CPU_ADD("cpu" , HP_5061_3011 , 6250000) diff --git a/src/mame/drivers/hp80.cpp b/src/mame/drivers/hp80.cpp index 5e8e217bcdd..94f18b34397 100644 --- a/src/mame/drivers/hp80.cpp +++ b/src/mame/drivers/hp80.cpp @@ -1361,7 +1361,7 @@ MACHINE_CONFIG_START(hp85_state::hp85) MCFG_MIXER_ROUTE(ALL_OUTPUTS , "mono" , 0.5 , 0) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ADD("beeper" , BEEP , MASTER_CLOCK / 8192) MCFG_MIXER_ROUTE(ALL_OUTPUTS , "mono" , 0.5 , 0) @@ -1370,17 +1370,17 @@ MACHINE_CONFIG_START(hp85_state::hp85) // Optional ROMs MCFG_DEVICE_ADD("drawer1", HP80_OPTROM_SLOT, 0) - MCFG_DEVICE_SLOT_INTERFACE(hp80_optrom_slot_device, NULL, false) + MCFG_DEVICE_SLOT_INTERFACE(hp80_optrom_slot_devices, NULL, false) MCFG_DEVICE_ADD("drawer2", HP80_OPTROM_SLOT, 0) - MCFG_DEVICE_SLOT_INTERFACE(hp80_optrom_slot_device, NULL, false) + MCFG_DEVICE_SLOT_INTERFACE(hp80_optrom_slot_devices, NULL, false) MCFG_DEVICE_ADD("drawer3", HP80_OPTROM_SLOT, 0) - MCFG_DEVICE_SLOT_INTERFACE(hp80_optrom_slot_device, NULL, false) + MCFG_DEVICE_SLOT_INTERFACE(hp80_optrom_slot_devices, NULL, false) MCFG_DEVICE_ADD("drawer4", HP80_OPTROM_SLOT, 0) - MCFG_DEVICE_SLOT_INTERFACE(hp80_optrom_slot_device, NULL, false) + MCFG_DEVICE_SLOT_INTERFACE(hp80_optrom_slot_devices, NULL, false) MCFG_DEVICE_ADD("drawer5", HP80_OPTROM_SLOT, 0) - MCFG_DEVICE_SLOT_INTERFACE(hp80_optrom_slot_device, NULL, false) + MCFG_DEVICE_SLOT_INTERFACE(hp80_optrom_slot_devices, NULL, false) MCFG_DEVICE_ADD("drawer6", HP80_OPTROM_SLOT, 0) - MCFG_DEVICE_SLOT_INTERFACE(hp80_optrom_slot_device, NULL, false) + MCFG_DEVICE_SLOT_INTERFACE(hp80_optrom_slot_devices, NULL, false) // I/O slots MCFG_HP80_IO_SLOT_ADD("slot1" , 0) diff --git a/src/mame/drivers/hp9845.cpp b/src/mame/drivers/hp9845.cpp index bd9bc714594..ffc02ded5d4 100644 --- a/src/mame/drivers/hp9845.cpp +++ b/src/mame/drivers/hp9845.cpp @@ -3772,21 +3772,21 @@ MACHINE_CONFIG_START(hp9845_base_state::hp9845_base) // Here we do away with the distinction between LPU & PPU ROMs: in the end they // are visible to both CPUs at the same addresses. MCFG_DEVICE_ADD("drawer1", HP_OPTROM_SLOT, 0) - MCFG_DEVICE_SLOT_INTERFACE(hp_optrom_slot_device, NULL, false) + MCFG_DEVICE_SLOT_INTERFACE(hp_optrom_slot_devices, NULL, false) MCFG_DEVICE_ADD("drawer2", HP_OPTROM_SLOT, 0) - MCFG_DEVICE_SLOT_INTERFACE(hp_optrom_slot_device, NULL, false) + MCFG_DEVICE_SLOT_INTERFACE(hp_optrom_slot_devices, NULL, false) MCFG_DEVICE_ADD("drawer3", HP_OPTROM_SLOT, 0) - MCFG_DEVICE_SLOT_INTERFACE(hp_optrom_slot_device, NULL, false) + MCFG_DEVICE_SLOT_INTERFACE(hp_optrom_slot_devices, NULL, false) MCFG_DEVICE_ADD("drawer4", HP_OPTROM_SLOT, 0) - MCFG_DEVICE_SLOT_INTERFACE(hp_optrom_slot_device, NULL, false) + MCFG_DEVICE_SLOT_INTERFACE(hp_optrom_slot_devices, NULL, false) MCFG_DEVICE_ADD("drawer5", HP_OPTROM_SLOT, 0) - MCFG_DEVICE_SLOT_INTERFACE(hp_optrom_slot_device, NULL, false) + MCFG_DEVICE_SLOT_INTERFACE(hp_optrom_slot_devices, NULL, false) MCFG_DEVICE_ADD("drawer6", HP_OPTROM_SLOT, 0) - MCFG_DEVICE_SLOT_INTERFACE(hp_optrom_slot_device, NULL, false) + MCFG_DEVICE_SLOT_INTERFACE(hp_optrom_slot_devices, NULL, false) MCFG_DEVICE_ADD("drawer7", HP_OPTROM_SLOT, 0) - MCFG_DEVICE_SLOT_INTERFACE(hp_optrom_slot_device, NULL, false) + MCFG_DEVICE_SLOT_INTERFACE(hp_optrom_slot_devices, NULL, false) MCFG_DEVICE_ADD("drawer8", HP_OPTROM_SLOT, 0) - MCFG_DEVICE_SLOT_INTERFACE(hp_optrom_slot_device, NULL, false) + MCFG_DEVICE_SLOT_INTERFACE(hp_optrom_slot_devices, NULL, false) // I/O slots MCFG_HP9845_IO_SLOT_ADD("slot0") diff --git a/src/mame/drivers/hp9k_3xx.cpp b/src/mame/drivers/hp9k_3xx.cpp index 1e9c07c1fe2..5566d158173 100644 --- a/src/mame/drivers/hp9k_3xx.cpp +++ b/src/mame/drivers/hp9k_3xx.cpp @@ -391,12 +391,13 @@ READ8_MEMBER(hp9k3xx_state::iocpu_test0_r) return !m_mlc->get_int(); } -static SLOT_INTERFACE_START(dio16_cards) - SLOT_INTERFACE("98544", HPDIO_98544) /* 98544 High Resolution Monochrome Card */ - SLOT_INTERFACE("98603a", HPDIO_98603A) /* 98603A ROM BASIC (4.0) */ - SLOT_INTERFACE("98603b", HPDIO_98603B) /* 98603B ROM BASIC (5.1) */ - SLOT_INTERFACE("98644", HPDIO_98644) /* 98644 Async serial interface */ -SLOT_INTERFACE_END +static void dio16_cards(device_slot_interface &device) +{ + device.option_add("98544", HPDIO_98544); /* 98544 High Resolution Monochrome Card */ + device.option_add("98603a", HPDIO_98603A); /* 98603A ROM BASIC (4.0) */ + device.option_add("98603b", HPDIO_98603B); /* 98603B ROM BASIC (5.1) */ + device.option_add("98644", HPDIO_98644); /* 98644 Async serial interface */ +} MACHINE_CONFIG_START(hp9k3xx_state::hp9k310) /* basic machine hardware */ diff --git a/src/mame/drivers/hp_ipc.cpp b/src/mame/drivers/hp_ipc.cpp index 13e159798f3..4c5da74ce81 100644 --- a/src/mame/drivers/hp_ipc.cpp +++ b/src/mame/drivers/hp_ipc.cpp @@ -720,9 +720,10 @@ FLOPPY_FORMATS_MEMBER( hp_ipc_state::floppy_formats ) FLOPPY_HP_IPC_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( hp_ipc_floppies ) - SLOT_INTERFACE( "35dd", SONY_OA_D32W ) -SLOT_INTERFACE_END +static void hp_ipc_floppies(device_slot_interface &device) +{ + device.option_add("35dd", SONY_OA_D32W); +} /* * IRQ levels (page 5-4) diff --git a/src/mame/drivers/ht68k.cpp b/src/mame/drivers/ht68k.cpp index 17502b912b6..5bf051971de 100644 --- a/src/mame/drivers/ht68k.cpp +++ b/src/mame/drivers/ht68k.cpp @@ -121,9 +121,10 @@ WRITE8_MEMBER(ht68k_state::duart_output) if (m_floppy) {m_floppy->ss_w(BIT(data,3) ? 0 : 1);} } -static SLOT_INTERFACE_START( ht68k_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) -SLOT_INTERFACE_END +static void ht68k_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); +} MACHINE_CONFIG_START(ht68k_state::ht68k) diff --git a/src/mame/drivers/hyhoo.cpp b/src/mame/drivers/hyhoo.cpp index c486cfa5973..a6cb3173179 100644 --- a/src/mame/drivers/hyhoo.cpp +++ b/src/mame/drivers/hyhoo.cpp @@ -258,7 +258,7 @@ MACHINE_CONFIG_START(hyhoo_state::hyhoo) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/hyperspt.cpp b/src/mame/drivers/hyperspt.cpp index 70ef94c2062..397eb4b0474 100644 --- a/src/mame/drivers/hyperspt.cpp +++ b/src/mame/drivers/hyperspt.cpp @@ -341,7 +341,7 @@ MACHINE_CONFIG_START(hyperspt_state::hyperspt) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_SOUND_ADD("snsnd", SN76496, XTAL(14'318'181)/8) /* verified on pcb */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) diff --git a/src/mame/drivers/ibm6580.cpp b/src/mame/drivers/ibm6580.cpp index b6bd808fab5..042f08d5810 100644 --- a/src/mame/drivers/ibm6580.cpp +++ b/src/mame/drivers/ibm6580.cpp @@ -875,9 +875,10 @@ void ibm6580_state::video_start() memset(m_p_videoram, 0x0, 0x1000); } -static SLOT_INTERFACE_START( dw_floppies ) - SLOT_INTERFACE( "8sssd", IBM_6360 ) -SLOT_INTERFACE_END +static void dw_floppies(device_slot_interface &device) +{ + device.option_add("8sssd", IBM_6360); +} MACHINE_CONFIG_START(ibm6580_state::ibm6580) MCFG_CPU_ADD("maincpu", I8086, XTAL(14'745'600)/3) diff --git a/src/mame/drivers/ibmpcjr.cpp b/src/mame/drivers/ibmpcjr.cpp index 1db58a6c4b8..b03932bbf6f 100644 --- a/src/mame/drivers/ibmpcjr.cpp +++ b/src/mame/drivers/ibmpcjr.cpp @@ -501,15 +501,17 @@ image_init_result pcjr_state::load_cart(device_image_interface &image, generic_s } -static SLOT_INTERFACE_START( pcjr_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) - SLOT_INTERFACE( "35dd", FLOPPY_35_DD ) -SLOT_INTERFACE_END +static void pcjr_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); + device.option_add("35dd", FLOPPY_35_DD); +} -static SLOT_INTERFACE_START(pcjr_com) - SLOT_INTERFACE("microsoft_mouse", MSFT_SERIAL_MOUSE) - SLOT_INTERFACE("mousesys_mouse", MSYSTEM_SERIAL_MOUSE) -SLOT_INTERFACE_END +static void pcjr_com(device_slot_interface &device) +{ + device.option_add("microsoft_mouse", MSFT_SERIAL_MOUSE); + device.option_add("mousesys_mouse", MSYSTEM_SERIAL_MOUSE); +} static const gfx_layout pc_8_charlayout = { diff --git a/src/mame/drivers/imds2.cpp b/src/mame/drivers/imds2.cpp index 703700885ed..8d220318034 100644 --- a/src/mame/drivers/imds2.cpp +++ b/src/mame/drivers/imds2.cpp @@ -753,9 +753,10 @@ static GFXDECODE_START(imds2) GFXDECODE_ENTRY("gfx1" , 0x0000 , imds2_charlayout , 0 , 1) GFXDECODE_END -static SLOT_INTERFACE_START( imds2_floppies ) - SLOT_INTERFACE( "8sssd", FLOPPY_8_SSSD ) -SLOT_INTERFACE_END +static void imds2_floppies(device_slot_interface &device) +{ + device.option_add("8sssd", FLOPPY_8_SSSD); +} MACHINE_CONFIG_START(imds2_state::imds2) MCFG_CPU_ADD("ipccpu" , I8085A , IPC_XTAL_Y2 / 2) // 4 MHz diff --git a/src/mame/drivers/indiana.cpp b/src/mame/drivers/indiana.cpp index 8cbed13b2a4..a2ce808c564 100644 --- a/src/mame/drivers/indiana.cpp +++ b/src/mame/drivers/indiana.cpp @@ -71,15 +71,16 @@ DRIVER_INIT_MEMBER(indiana_state,indiana) { } -SLOT_INTERFACE_START( indiana_isa_cards ) +void indiana_isa_cards(device_slot_interface &device) +{ // 8-bit - SLOT_INTERFACE("fdc_at", ISA8_FDC_AT) - SLOT_INTERFACE("comat", ISA8_COM_AT) - SLOT_INTERFACE("vga", ISA8_VGA) + device.option_add("fdc_at", ISA8_FDC_AT); + device.option_add("comat", ISA8_COM_AT); + device.option_add("vga", ISA8_VGA); // 16-bit - SLOT_INTERFACE("ide", ISA16_IDE) -SLOT_INTERFACE_END + device.option_add("ide", ISA16_IDE); +} static DEVICE_INPUT_DEFAULTS_START( keyboard ) DEVICE_INPUT_DEFAULTS( "RS232_TXBAUD", 0xff, RS232_BAUD_1200 ) @@ -110,7 +111,7 @@ MACHINE_CONFIG_START(indiana_state::indiana) MCFG_RS232_PORT_ADD("keyboard", default_rs232_devices, "keyboard") MCFG_RS232_RXD_HANDLER(DEVWRITELINE(MFP_TAG, mc68901_device, write_rx)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("keyboard", keyboard) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("keyboard", keyboard) MACHINE_CONFIG_END /* ROM definition */ diff --git a/src/mame/drivers/indy_indigo2.cpp b/src/mame/drivers/indy_indigo2.cpp index 6b28199cb46..b816f0415c8 100644 --- a/src/mame/drivers/indy_indigo2.cpp +++ b/src/mame/drivers/indy_indigo2.cpp @@ -230,7 +230,7 @@ MACHINE_CONFIG_START(ip22_state::ip225015) MCFG_SOUND_ADD("dac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.25) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_DEVICE_ADD("scsi", SCSI_PORT, 0) MCFG_SCSIDEV_ADD("scsi:" SCSI_PORT_DEVICE1, "harddisk", SCSIHD, SCSI_ID_1) diff --git a/src/mame/drivers/instantm.cpp b/src/mame/drivers/instantm.cpp index eba75182231..8cfc745594d 100644 --- a/src/mame/drivers/instantm.cpp +++ b/src/mame/drivers/instantm.cpp @@ -140,7 +140,7 @@ MACHINE_CONFIG_START(instantm_state::instantm) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/intellec4.cpp b/src/mame/drivers/intellec4.cpp index a5bb14e76cb..daae3191a46 100644 --- a/src/mame/drivers/intellec4.cpp +++ b/src/mame/drivers/intellec4.cpp @@ -835,8 +835,8 @@ MACHINE_CONFIG_START(intellec4_state::intellec4) MCFG_DEVICE_ADD("promprg", INTEL_IMM6_76, 0) MCFG_RS232_PORT_ADD("tty", default_rs232_devices, "terminal") - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", tty) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("null_modem", tty) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", tty) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("null_modem", tty) MCFG_DEVICE_ADD("bus", INTELLEC4_UNIV_BUS, 518000. / 7) MCFG_INTELLEC4_UNIV_BUS_ROM_SPACE("prgbank", AS_PROGRAM) diff --git a/src/mame/drivers/interpro.cpp b/src/mame/drivers/interpro.cpp index a7126aa3525..9449f6001b2 100644 --- a/src/mame/drivers/interpro.cpp +++ b/src/mame/drivers/interpro.cpp @@ -471,10 +471,11 @@ FLOPPY_FORMATS_MEMBER(interpro_state::floppy_formats) FLOPPY_PC_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START(interpro_floppies) - SLOT_INTERFACE("525dd", FLOPPY_525_DD) - SLOT_INTERFACE("35hd", FLOPPY_35_HD) -SLOT_INTERFACE_END +static void interpro_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); + device.option_add("35hd", FLOPPY_35_HD); +} MACHINE_CONFIG_START(interpro_state::interpro_scc1) MCFG_DEVICE_MODIFY(INTERPRO_SCC1_TAG) @@ -511,18 +512,21 @@ MACHINE_CONFIG_START(interpro_state::interpro_scc2) MCFG_RS232_CTS_HANDLER(DEVWRITELINE(INTERPRO_SCC2_TAG, z80scc_device, ctsb_w)) MACHINE_CONFIG_END -static SLOT_INTERFACE_START(interpro_scsi_devices) - SLOT_INTERFACE("harddisk", NSCSI_HARDDISK) - SLOT_INTERFACE("cdrom", NSCSI_CDROM) -SLOT_INTERFACE_END +static void interpro_scsi_devices(device_slot_interface &device) +{ + device.option_add("harddisk", NSCSI_HARDDISK); + device.option_add("cdrom", NSCSI_CDROM); +} -static SLOT_INTERFACE_START(turquoise_scsi_devices) - SLOT_INTERFACE_INTERNAL(INTERPRO_SCSI_ADAPTER_TAG, NCR53C90A) -SLOT_INTERFACE_END +static void turquoise_scsi_devices(device_slot_interface &device) +{ + device.option_add_internal(INTERPRO_SCSI_ADAPTER_TAG, NCR53C90A); +} -static SLOT_INTERFACE_START(sapphire_scsi_devices) - SLOT_INTERFACE_INTERNAL(INTERPRO_SCSI_ADAPTER_TAG, NCR53C94) -SLOT_INTERFACE_END +static void sapphire_scsi_devices(device_slot_interface &device) +{ + device.option_add_internal(INTERPRO_SCSI_ADAPTER_TAG, NCR53C94); +} void interpro_state::interpro_scsi_adapter(device_t *device) { @@ -645,7 +649,7 @@ MACHINE_CONFIG_START(turquoise_state::turquoise) // scsi controller MCFG_NSCSI_ADD(INTERPRO_SCSI_TAG ":7", turquoise_scsi_devices, INTERPRO_SCSI_ADAPTER_TAG, true) - MCFG_DEVICE_CARD_MACHINE_CONFIG(INTERPRO_SCSI_ADAPTER_TAG, interpro_scsi_adapter) + MCFG_SLOT_OPTION_MACHINE_CONFIG(INTERPRO_SCSI_ADAPTER_TAG, interpro_scsi_adapter) // ethernet controller MCFG_DEVICE_ADD(INTERPRO_ETH_TAG, I82586, 0) @@ -697,7 +701,7 @@ MACHINE_CONFIG_START(sapphire_state::sapphire) // scsi controller MCFG_NSCSI_ADD(INTERPRO_SCSI_TAG ":7", sapphire_scsi_devices, INTERPRO_SCSI_ADAPTER_TAG, true) - MCFG_DEVICE_CARD_MACHINE_CONFIG(INTERPRO_SCSI_ADAPTER_TAG, interpro_scsi_adapter) + MCFG_SLOT_OPTION_MACHINE_CONFIG(INTERPRO_SCSI_ADAPTER_TAG, interpro_scsi_adapter) // ethernet controller MCFG_DEVICE_ADD(INTERPRO_ETH_TAG, I82596_LE16, XTAL(20'000'000)) diff --git a/src/mame/drivers/iq151.cpp b/src/mame/drivers/iq151.cpp index beb89da7705..5c664519d4d 100644 --- a/src/mame/drivers/iq151.cpp +++ b/src/mame/drivers/iq151.cpp @@ -371,20 +371,21 @@ uint32_t iq151_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, return 0; } -static SLOT_INTERFACE_START(iq151_cart) - SLOT_INTERFACE("video32", IQ151_VIDEO32) // video32 - SLOT_INTERFACE("video64", IQ151_VIDEO64) // video64 - SLOT_INTERFACE("grafik" , IQ151_GRAFIK) // Grafik - SLOT_INTERFACE("disc2" , IQ151_DISC2) // Disc 2 - SLOT_INTERFACE("minigraf" , IQ151_MINIGRAF) // Aritma Minigraf 0507 - SLOT_INTERFACE("ms151a" , IQ151_MS151A) // MS151A XY Plotter - SLOT_INTERFACE("staper" , IQ151_STAPER) // STAPER - SLOT_INTERFACE("basic6" , IQ151_BASIC6) // BASIC6 - SLOT_INTERFACE("basicg" , IQ151_BASICG) // BASICG - SLOT_INTERFACE("amos1" , IQ151_AMOS1) // AMOS cart 1 - SLOT_INTERFACE("amos2" , IQ151_AMOS2) // AMOS cart 2 - SLOT_INTERFACE("amos3" , IQ151_AMOS3) // AMOS cart 3 -SLOT_INTERFACE_END +static void iq151_cart(device_slot_interface &device) +{ + device.option_add("video32", IQ151_VIDEO32); // video32 + device.option_add("video64", IQ151_VIDEO64); // video64 + device.option_add("grafik", IQ151_GRAFIK); // Grafik + device.option_add("disc2", IQ151_DISC2); // Disc 2 + device.option_add("minigraf", IQ151_MINIGRAF); // Aritma Minigraf 0507 + device.option_add("ms151a", IQ151_MS151A); // MS151A XY Plotter + device.option_add("staper", IQ151_STAPER); // STAPER + device.option_add("basic6", IQ151_BASIC6); // BASIC6 + device.option_add("basicg", IQ151_BASICG); // BASICG + device.option_add("amos1", IQ151_AMOS1); // AMOS cart 1 + device.option_add("amos2", IQ151_AMOS2); // AMOS cart 2 + device.option_add("amos3", IQ151_AMOS3); // AMOS cart 3 +} MACHINE_CONFIG_START(iq151_state::iq151) /* basic machine hardware */ diff --git a/src/mame/drivers/iris3130.cpp b/src/mame/drivers/iris3130.cpp index 05f8148b24a..1839263c5e0 100644 --- a/src/mame/drivers/iris3130.cpp +++ b/src/mame/drivers/iris3130.cpp @@ -437,7 +437,7 @@ MACHINE_CONFIG_START(sgi_ip2_state::sgi_ip2) MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "terminal") MCFG_RS232_RXD_HANDLER(DEVWRITELINE("duart68681a", mc68681_device, rx_b_w)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", ip2_terminal) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", ip2_terminal) MACHINE_CONFIG_END static INPUT_PORTS_START( sgi_ip2 ) diff --git a/src/mame/drivers/ironhors.cpp b/src/mame/drivers/ironhors.cpp index 03f21a769fd..a01a00e63d6 100644 --- a/src/mame/drivers/ironhors.cpp +++ b/src/mame/drivers/ironhors.cpp @@ -413,10 +413,10 @@ MACHINE_CONFIG_START(ironhors_state::ironhors) MCFG_SOUND_ADD("ym2203", YM2203, 18432000/6) MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(ironhors_state, filter_w)) - MCFG_SOUND_ROUTE_EX(0, "disc_ih", 1.0, 0) - MCFG_SOUND_ROUTE_EX(1, "disc_ih", 1.0, 1) - MCFG_SOUND_ROUTE_EX(2, "disc_ih", 1.0, 2) - MCFG_SOUND_ROUTE_EX(3, "disc_ih", 1.0, 3) + MCFG_SOUND_ROUTE(0, "disc_ih", 1.0, 0) + MCFG_SOUND_ROUTE(1, "disc_ih", 1.0, 1) + MCFG_SOUND_ROUTE(2, "disc_ih", 1.0, 2) + MCFG_SOUND_ROUTE(3, "disc_ih", 1.0, 3) MCFG_SOUND_ADD("disc_ih", DISCRETE, 0) MCFG_DISCRETE_INTF(ironhors) diff --git a/src/mame/drivers/isbc.cpp b/src/mame/drivers/isbc.cpp index d1a4faa0f47..e71018506ca 100644 --- a/src/mame/drivers/isbc.cpp +++ b/src/mame/drivers/isbc.cpp @@ -380,7 +380,7 @@ MACHINE_CONFIG_START(isbc_state::isbc86) MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart8251", i8251_device, write_rxd)) MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart8251", i8251_device, write_cts)) MCFG_RS232_DSR_HANDLER(DEVWRITELINE("uart8251", i8251_device, write_dsr)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", isbc86_terminal) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", isbc86_terminal) MACHINE_CONFIG_END MACHINE_CONFIG_START(isbc_state::rpc86) @@ -414,7 +414,7 @@ MACHINE_CONFIG_START(isbc_state::rpc86) MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart8251", i8251_device, write_rxd)) //MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart8251", i8251_device, write_cts)) MCFG_RS232_DSR_HANDLER(DEVWRITELINE("uart8251", i8251_device, write_dsr)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", isbc286_terminal) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", isbc286_terminal) MCFG_ISBX_SLOT_ADD("sbx1", 0, isbx_cards, nullptr) //MCFG_ISBX_SLOT_MINTR0_CALLBACK(DEVWRITELINE("pic_0", pic8259_device, ir3_w)) @@ -535,7 +535,7 @@ MACHINE_CONFIG_START(isbc_state::isbc286) MCFG_RS232_DCD_HANDLER(DEVWRITELINE("uart8274", i8274_new_device, dcdb_w)) MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart8274", i8274_new_device, ctsb_w)) #endif - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", isbc286_terminal) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", isbc286_terminal) MCFG_ISBX_SLOT_ADD("sbx1", 0, isbx_cards, nullptr) MCFG_ISBX_SLOT_MINTR0_CALLBACK(DEVWRITELINE("pic_1", pic8259_device, ir3_w)) diff --git a/src/mame/drivers/isbc8010.cpp b/src/mame/drivers/isbc8010.cpp index 6391f15f898..7d97e86b944 100644 --- a/src/mame/drivers/isbc8010.cpp +++ b/src/mame/drivers/isbc8010.cpp @@ -188,7 +188,7 @@ MACHINE_CONFIG_START(isbc8010_state::isbc8010) MCFG_RS232_RXD_HANDLER(DEVWRITELINE(I8251A_TAG, i8251_device, write_rxd)) MCFG_RS232_DSR_HANDLER(DEVWRITELINE(I8251A_TAG, i8251_device, write_dsr)) MCFG_RS232_CTS_HANDLER(DEVWRITELINE(I8251A_TAG, i8251_device, write_cts)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) MCFG_DEVICE_ADD("usart_clock", CLOCK, XTAL(18'432'000)/60) MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(isbc8010_state, usart_clock_tick)) diff --git a/src/mame/drivers/itt3030.cpp b/src/mame/drivers/itt3030.cpp index c5ab800c0ae..c5923b44a4e 100644 --- a/src/mame/drivers/itt3030.cpp +++ b/src/mame/drivers/itt3030.cpp @@ -661,10 +661,11 @@ FLOPPY_FORMATS_MEMBER( itt3030_state::itt3030_floppy_formats ) FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( itt3030_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void itt3030_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); + device.option_add("525qd", FLOPPY_525_QD); +} diff --git a/src/mame/drivers/jaguar.cpp b/src/mame/drivers/jaguar.cpp index 3e4f2ba28e1..cf266c2a000 100644 --- a/src/mame/drivers/jaguar.cpp +++ b/src/mame/drivers/jaguar.cpp @@ -396,9 +396,10 @@ public: DEFINE_DEVICE_TYPE(COJAG_HARDDISK, cojag_hdd, "cojag_hdd", "HDD CoJag") -SLOT_INTERFACE_START(cojag_devices) - SLOT_INTERFACE("hdd", COJAG_HARDDISK) -SLOT_INTERFACE_END +void cojag_devices(device_slot_interface &device) +{ + device.option_add("hdd", COJAG_HARDDISK); +} /************************************* * @@ -1844,8 +1845,8 @@ MACHINE_CONFIG_START(jaguar_state::cojagr3k) MCFG_SOUND_ADD("ldac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) // unknown DAC MCFG_SOUND_ADD("rdac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(jaguar_state::cojagr3k_rom) @@ -1891,8 +1892,8 @@ MACHINE_CONFIG_START(jaguar_state::jaguar) MCFG_SOUND_ADD("ldac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) // unknown DAC MCFG_SOUND_ADD("rdac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) /* quickload */ MCFG_QUICKLOAD_ADD("quickload", jaguar_state, jaguar, "abs,bin,cof,jag,prg", 2) diff --git a/src/mame/drivers/jankenmn.cpp b/src/mame/drivers/jankenmn.cpp index c74db0bff83..d01457c0c46 100644 --- a/src/mame/drivers/jankenmn.cpp +++ b/src/mame/drivers/jankenmn.cpp @@ -413,7 +413,7 @@ MACHINE_CONFIG_START(jankenmn_state::jankenmn) MCFG_SOUND_ADD("dac", AD7523, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/juicebox.cpp b/src/mame/drivers/juicebox.cpp index e09efe19829..e8539384b24 100644 --- a/src/mame/drivers/juicebox.cpp +++ b/src/mame/drivers/juicebox.cpp @@ -322,7 +322,7 @@ MACHINE_CONFIG_START(juicebox_state::juicebox) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_DEVICE_ADD("s3c44b0", S3C44B0, 10000000) MCFG_S3C44B0_GPIO_PORT_R_CB(READ32(juicebox_state, s3c44b0_gpio_port_r)) diff --git a/src/mame/drivers/junofrst.cpp b/src/mame/drivers/junofrst.cpp index 415f11e50ef..705e10df256 100644 --- a/src/mame/drivers/junofrst.cpp +++ b/src/mame/drivers/junofrst.cpp @@ -451,7 +451,7 @@ MACHINE_CONFIG_START(junofrst_state::junofrst) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // 100K (R56-63)/200K (R64-71) ladder network MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_FILTER_RC_ADD("filter.0.0", 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) diff --git a/src/mame/drivers/jupiter.cpp b/src/mame/drivers/jupiter.cpp index da9ce376529..f340242bca1 100644 --- a/src/mame/drivers/jupiter.cpp +++ b/src/mame/drivers/jupiter.cpp @@ -236,9 +236,10 @@ uint32_t jupiter3_state::screen_update(screen_device &screen, bitmap_ind16 &bitm // DEVICE CONFIGURATION //************************************************************************** -static SLOT_INTERFACE_START( jupiter_floppies ) - SLOT_INTERFACE( "525ssdd", FLOPPY_525_SSDD ) -SLOT_INTERFACE_END +static void jupiter_floppies(device_slot_interface &device) +{ + device.option_add("525ssdd", FLOPPY_525_SSDD); +} //************************************************************************** diff --git a/src/mame/drivers/kaypro.cpp b/src/mame/drivers/kaypro.cpp index 05ea1ce4fab..9059bd0486d 100644 --- a/src/mame/drivers/kaypro.cpp +++ b/src/mame/drivers/kaypro.cpp @@ -187,11 +187,12 @@ static const z80_daisy_config kaypro484_daisy_chain[] = ************************************************************/ -static SLOT_INTERFACE_START( kaypro_floppies ) - SLOT_INTERFACE( "525ssdd", FLOPPY_525_SSDD ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void kaypro_floppies(device_slot_interface &device) +{ + device.option_add("525ssdd", FLOPPY_525_SSDD); + device.option_add("525dd", FLOPPY_525_DD); + device.option_add("525qd", FLOPPY_525_QD); +} MACHINE_CONFIG_START(kaypro_state::kayproii) diff --git a/src/mame/drivers/kc.cpp b/src/mame/drivers/kc.cpp index 4928d691ca1..31fc08ab382 100644 --- a/src/mame/drivers/kc.cpp +++ b/src/mame/drivers/kc.cpp @@ -75,23 +75,25 @@ static const z80_daisy_config kc85_daisy_chain[] = { nullptr } }; -extern SLOT_INTERFACE_START(kc85_cart) - SLOT_INTERFACE("standard", KC_STANDARD) // standard 8KB ROM module - SLOT_INTERFACE("m006", KC_M006) // BASIC - SLOT_INTERFACE("m011", KC_M011) // 64KB RAM - SLOT_INTERFACE("m022", KC_M022) // 16KB RAM - SLOT_INTERFACE("m032", KC_M032) // 256KB segmented RAM - SLOT_INTERFACE("m033", KC_M033) // TypeStar - SLOT_INTERFACE("m034", KC_M034) // 512KB segmented RAM - SLOT_INTERFACE("m035", KC_M035) // 1MB segmented RAM - SLOT_INTERFACE("m036", KC_M036) // 128KB segmented RAM -SLOT_INTERFACE_END +void kc85_cart(device_slot_interface &device) +{ + device.option_add("standard", KC_STANDARD); // standard 8KB ROM module + device.option_add("m006", KC_M006); // BASIC + device.option_add("m011", KC_M011); // 64KB RAM + device.option_add("m022", KC_M022); // 16KB RAM + device.option_add("m032", KC_M032); // 256KB segmented RAM + device.option_add("m033", KC_M033); // TypeStar + device.option_add("m034", KC_M034); // 512KB segmented RAM + device.option_add("m035", KC_M035); // 1MB segmented RAM + device.option_add("m036", KC_M036); // 128KB segmented RAM +} -extern SLOT_INTERFACE_START(kc85_exp) - SLOT_INTERFACE("d002", KC_D002) // D002 Bus Driver - SLOT_INTERFACE("d004", KC_D004) // D004 Floppy Disk Interface - SLOT_INTERFACE("d004gide", KC_D004_GIDE) // D004 Floppy Disk + GIDE Interface -SLOT_INTERFACE_END +void kc85_exp(device_slot_interface &device) +{ + device.option_add("d002", KC_D002); // D002 Bus Driver + device.option_add("d004", KC_D004); // D004 Floppy Disk Interface + device.option_add("d004gide", KC_D004_GIDE); // D004 Floppy Disk + GIDE Interface +} MACHINE_CONFIG_START(kc_state::kc85_3) diff --git a/src/mame/drivers/kchamp.cpp b/src/mame/drivers/kchamp.cpp index 53b9f3186b8..07965a544d2 100644 --- a/src/mame/drivers/kchamp.cpp +++ b/src/mame/drivers/kchamp.cpp @@ -512,7 +512,7 @@ MACHINE_CONFIG_START(kchamp_state::kchamp) MCFG_SOUND_ADD("dac", DAC08, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.3) // IC11 MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/kdt6.cpp b/src/mame/drivers/kdt6.cpp index f60af6c1ddc..0be9d8f4e9e 100644 --- a/src/mame/drivers/kdt6.cpp +++ b/src/mame/drivers/kdt6.cpp @@ -222,9 +222,10 @@ INPUT_PORTS_END // FLOPPY //************************************************************************** -static SLOT_INTERFACE_START( kdt6_floppies ) - SLOT_INTERFACE("fd55f", TEAC_FD_55F) -SLOT_INTERFACE_END +static void kdt6_floppies(device_slot_interface &device) +{ + device.option_add("fd55f", TEAC_FD_55F); +} WRITE8_MEMBER( kdt6_state::fdc_tc_w ) { diff --git a/src/mame/drivers/kingobox.cpp b/src/mame/drivers/kingobox.cpp index 43a3c99c6b7..64208a14142 100644 --- a/src/mame/drivers/kingobox.cpp +++ b/src/mame/drivers/kingobox.cpp @@ -516,7 +516,7 @@ MACHINE_CONFIG_START(kingofb_state::kingofb) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.125) // 100K (R30-44 even)/200K (R31-45 odd) ladder network MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END @@ -575,7 +575,7 @@ MACHINE_CONFIG_START(kingofb_state::ringking) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.125) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/konamigx.cpp b/src/mame/drivers/konamigx.cpp index 810c3d8e12b..a800d7fea07 100644 --- a/src/mame/drivers/konamigx.cpp +++ b/src/mame/drivers/konamigx.cpp @@ -1686,15 +1686,15 @@ MACHINE_CONFIG_START(konamigx_state::konamigx) MCFG_DEVICE_ADD("k054539_1", K054539, XTAL(18'432'000)) MCFG_DEVICE_ROM("k054539") MCFG_K054539_TIMER_HANDLER(WRITELINE(konamigx_state, k054539_irq_gen)) - MCFG_SOUND_ROUTE_EX(0, "dasp", 0.5, 0) - MCFG_SOUND_ROUTE_EX(1, "dasp", 0.5, 1) + MCFG_SOUND_ROUTE(0, "dasp", 0.5, 0) + MCFG_SOUND_ROUTE(1, "dasp", 0.5, 1) MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) MCFG_DEVICE_ADD("k054539_2", K054539, XTAL(18'432'000)) MCFG_DEVICE_ROM("k054539") - MCFG_SOUND_ROUTE_EX(0, "dasp", 0.5, 2) - MCFG_SOUND_ROUTE_EX(1, "dasp", 0.5, 3) + MCFG_SOUND_ROUTE(0, "dasp", 0.5, 2) + MCFG_SOUND_ROUTE(1, "dasp", 0.5, 3) MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) MACHINE_CONFIG_END diff --git a/src/mame/drivers/ksayakyu.cpp b/src/mame/drivers/ksayakyu.cpp index 226c7850a08..09c398b1c66 100644 --- a/src/mame/drivers/ksayakyu.cpp +++ b/src/mame/drivers/ksayakyu.cpp @@ -302,7 +302,7 @@ MACHINE_CONFIG_START(ksayakyu_state::ksayakyu) MCFG_SOUND_ADD("dac", DAC_6BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END ROM_START( ksayakyu ) diff --git a/src/mame/drivers/ksys573.cpp b/src/mame/drivers/ksys573.cpp index 9b1fee69676..135d9560181 100644 --- a/src/mame/drivers/ksys573.cpp +++ b/src/mame/drivers/ksys573.cpp @@ -2417,7 +2417,7 @@ MACHINE_CONFIG_START(ksys573_state::hyperbbc) cassy(config); // The game doesn't check the security chip MCFG_DEVICE_MODIFY( "cassette" ) - MCFG_DEVICE_CARD_MACHINE_CONFIG( "game", hyperbbc_cassette_install ) + MCFG_SLOT_OPTION_MACHINE_CONFIG( "game", hyperbbc_cassette_install ) MACHINE_CONFIG_END MACHINE_CONFIG_START(ksys573_state::hypbbc2p) @@ -2425,7 +2425,7 @@ MACHINE_CONFIG_START(ksys573_state::hypbbc2p) cassy(config); MCFG_DEVICE_MODIFY( "cassette" ) - MCFG_DEVICE_CARD_MACHINE_CONFIG( "game", hypbbc2p_cassette_install ) + MCFG_SLOT_OPTION_MACHINE_CONFIG( "game", hypbbc2p_cassette_install ) MACHINE_CONFIG_END MACHINE_CONFIG_START(ksys573_state::salarymc) @@ -2433,7 +2433,7 @@ MACHINE_CONFIG_START(ksys573_state::salarymc) cassyi(config); MCFG_DEVICE_MODIFY( "cassette" ) - MCFG_DEVICE_CARD_MACHINE_CONFIG( "game", salarymc_cassette_install ) + MCFG_SLOT_OPTION_MACHINE_CONFIG( "game", salarymc_cassette_install ) MACHINE_CONFIG_END MACHINE_CONFIG_START(ksys573_state::gchgchmp) @@ -2451,7 +2451,7 @@ MACHINE_CONFIG_START(ksys573_state::pnchmn) pccard1_32mb(config); MCFG_DEVICE_MODIFY( "cassette" ) - MCFG_DEVICE_CARD_MACHINE_CONFIG( "game", punchmania_cassette_install ) + MCFG_SLOT_OPTION_MACHINE_CONFIG( "game", punchmania_cassette_install ) MACHINE_CONFIG_END MACHINE_CONFIG_START(ksys573_state::pnchmn2) diff --git a/src/mame/drivers/ladyfrog.cpp b/src/mame/drivers/ladyfrog.cpp index e0c7a3b9d82..ad56581f06c 100644 --- a/src/mame/drivers/ladyfrog.cpp +++ b/src/mame/drivers/ladyfrog.cpp @@ -342,7 +342,7 @@ MACHINE_CONFIG_START(ladyfrog_state::ladyfrog) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(ladyfrog_state::toucheme) diff --git a/src/mame/drivers/laserbas.cpp b/src/mame/drivers/laserbas.cpp index 3e8c5ef0666..44b09b776ed 100644 --- a/src/mame/drivers/laserbas.cpp +++ b/src/mame/drivers/laserbas.cpp @@ -455,12 +455,12 @@ MACHINE_CONFIG_START(laserbas_state::laserbas) MCFG_SOUND_ADD("dac5", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.16) MCFG_SOUND_ADD("dac6", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.16) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac3", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac3", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac4", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac4", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac5", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac5", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac6", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac6", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac3", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac3", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac4", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac4", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac5", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac5", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac6", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac6", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/lasso.cpp b/src/mame/drivers/lasso.cpp index 297d96d493f..e1bd72552c7 100644 --- a/src/mame/drivers/lasso.cpp +++ b/src/mame/drivers/lasso.cpp @@ -582,7 +582,7 @@ MACHINE_CONFIG_START(lasso_state::wwjgtin) /* sound hardware */ MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(lasso_state::pinbo) diff --git a/src/mame/drivers/lazercmd.cpp b/src/mame/drivers/lazercmd.cpp index 84c884159f5..09611f0cef0 100644 --- a/src/mame/drivers/lazercmd.cpp +++ b/src/mame/drivers/lazercmd.cpp @@ -658,10 +658,10 @@ MACHINE_CONFIG_START(lazercmd_state::lazercmd) MCFG_SOUND_ADD("dac2", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.99) MCFG_SOUND_ADD("dac3", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.99) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac0", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac3", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac0", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac3", 1.0, DAC_VREF_POS_INPUT) MACHINE_CONFIG_END @@ -695,8 +695,8 @@ MACHINE_CONFIG_START(lazercmd_state::medlanes) MCFG_SOUND_ADD("dac2", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.99) MCFG_SOUND_ADD("dac3", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.99) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac3", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac3", 1.0, DAC_VREF_POS_INPUT) MACHINE_CONFIG_END @@ -730,8 +730,8 @@ MACHINE_CONFIG_START(lazercmd_state::bbonk) MCFG_SOUND_ADD("dac2", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.99) MCFG_SOUND_ADD("dac3", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.99) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac3", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac3", 1.0, DAC_VREF_POS_INPUT) MACHINE_CONFIG_END /*************************************************************************** diff --git a/src/mame/drivers/lb186.cpp b/src/mame/drivers/lb186.cpp index 220c8ee3f04..4c5735ae2b0 100644 --- a/src/mame/drivers/lb186.cpp +++ b/src/mame/drivers/lb186.cpp @@ -108,9 +108,10 @@ void lb186_state::lb186_io(address_map &map) map(0x1200, 0x1200).w(this, FUNC(lb186_state::drive_sel_w)); } -static SLOT_INTERFACE_START( lb186_floppies ) - SLOT_INTERFACE("525dd", FLOPPY_525_DD) -SLOT_INTERFACE_END +static void lb186_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); +} void lb186_state::ncr5380(device_t *device) { @@ -121,10 +122,11 @@ void lb186_state::ncr5380(device_t *device) MCFG_NCR5380N_DRQ_HANDLER(DEVWRITELINE(":maincpu", i80186_cpu_device, drq0_w)) } -static SLOT_INTERFACE_START( scsi_devices ) - SLOT_INTERFACE("harddisk", NSCSI_HARDDISK) - SLOT_INTERFACE_INTERNAL("ncr5380", NCR5380N) -SLOT_INTERFACE_END +static void scsi_devices(device_slot_interface &device) +{ + device.option_add("harddisk", NSCSI_HARDDISK); + device.option_add_internal("ncr5380", NCR5380N); +} FLOPPY_FORMATS_MEMBER( lb186_state::floppy_formats ) FLOPPY_PC_FORMAT, @@ -164,7 +166,7 @@ MACHINE_CONFIG_START(lb186_state::lb186) MCFG_NSCSI_ADD("scsibus:5", scsi_devices, nullptr, false) MCFG_NSCSI_ADD("scsibus:6", scsi_devices, nullptr, false) MCFG_NSCSI_ADD("scsibus:7", scsi_devices, "ncr5380", true) - MCFG_DEVICE_CARD_MACHINE_CONFIG("ncr5380", lb186_state::ncr5380) + MCFG_SLOT_OPTION_MACHINE_CONFIG("ncr5380", lb186_state::ncr5380) MACHINE_CONFIG_END ROM_START( lb186 ) diff --git a/src/mame/drivers/leland.cpp b/src/mame/drivers/leland.cpp index aa588923fa6..f8f6fc43bf7 100644 --- a/src/mame/drivers/leland.cpp +++ b/src/mame/drivers/leland.cpp @@ -1043,8 +1043,8 @@ MACHINE_CONFIG_START(leland_state::leland) MCFG_SOUND_ADD("dac0", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.0625) // ls374.u79 + r17-r23 (24k,12k,6.2k,3k,1.5k,750,390,180) MCFG_SOUND_ADD("dac1", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.0625) // ls374.u88 + r27-r34 (24k,12k,6.2k,3k,1.5k,750,390,180) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac0", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac0", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac0", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac0", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/littlerb.cpp b/src/mame/drivers/littlerb.cpp index cc8de0fda9b..863784d23cc 100644 --- a/src/mame/drivers/littlerb.cpp +++ b/src/mame/drivers/littlerb.cpp @@ -298,8 +298,8 @@ MACHINE_CONFIG_START(littlerb_state::littlerb) MCFG_SOUND_ADD("ldac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) // unknown DAC MCFG_SOUND_ADD("rdac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END ROM_START( littlerb ) diff --git a/src/mame/drivers/looping.cpp b/src/mame/drivers/looping.cpp index 7e329792df6..0e50e0c4714 100644 --- a/src/mame/drivers/looping.cpp +++ b/src/mame/drivers/looping.cpp @@ -685,7 +685,7 @@ MACHINE_CONFIG_START(looping_state::looping) MCFG_SOUND_ADD("dac", DAC_2BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.15) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_DEVICE_ADD("sen0", LS259, 0) // B3 on sound board MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(WRITELINE(looping_state, looping_souint_clr)) diff --git a/src/mame/drivers/luckybal.cpp b/src/mame/drivers/luckybal.cpp index b06cce32f84..d7ecf4d13ba 100644 --- a/src/mame/drivers/luckybal.cpp +++ b/src/mame/drivers/luckybal.cpp @@ -550,7 +550,7 @@ MACHINE_CONFIG_START(luckybal_state::luckybal) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC08, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // DAC 08 MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/m20.cpp b/src/mame/drivers/m20.cpp index 8713a796516..68197116455 100644 --- a/src/mame/drivers/m20.cpp +++ b/src/mame/drivers/m20.cpp @@ -772,18 +772,20 @@ void m20_state::machine_reset() } -static SLOT_INTERFACE_START( m20_floppies ) - SLOT_INTERFACE( "5dd", FLOPPY_525_DD ) -SLOT_INTERFACE_END +static void m20_floppies(device_slot_interface &device) +{ + device.option_add("5dd", FLOPPY_525_DD); +} FLOPPY_FORMATS_MEMBER( m20_state::floppy_formats ) FLOPPY_M20_FORMAT, FLOPPY_PC_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START(keyboard) - SLOT_INTERFACE("m20", M20_KEYBOARD) -SLOT_INTERFACE_END +static void keyboard(device_slot_interface &device) +{ + device.option_add("m20", M20_KEYBOARD); +} MACHINE_CONFIG_START(m20_state::m20) /* basic machine hardware */ diff --git a/src/mame/drivers/m5.cpp b/src/mame/drivers/m5.cpp index b42bec05d3c..5b32de5e738 100644 --- a/src/mame/drivers/m5.cpp +++ b/src/mame/drivers/m5.cpp @@ -980,14 +980,16 @@ FLOPPY_FORMATS_MEMBER( m5_state::floppy_formats ) FLOPPY_M5_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( m5_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) -SLOT_INTERFACE_END +static void m5_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); +} -static SLOT_INTERFACE_START(m5_cart) - SLOT_INTERFACE_INTERNAL("std", M5_ROM_STD) - SLOT_INTERFACE_INTERNAL("ram", M5_ROM_RAM) -SLOT_INTERFACE_END +static void m5_cart(device_slot_interface &device) +{ + device.option_add_internal("std", M5_ROM_STD); + device.option_add_internal("ram", M5_ROM_RAM); +} //------------------------------------------------- // z80_daisy_config m5_daisy_chain @@ -1211,9 +1213,10 @@ FLOPPY_FORMATS_MEMBER( brno_state::floppy_formats ) FLOPPY_DSK_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( brno_floppies ) - SLOT_INTERFACE("35hd", FLOPPY_35_DD) -SLOT_INTERFACE_END +static void brno_floppies(device_slot_interface &device) +{ + device.option_add("35hd", FLOPPY_35_DD); +} //************************************************************************** diff --git a/src/mame/drivers/m72.cpp b/src/mame/drivers/m72.cpp index bc66a2b443b..263a1a8637f 100644 --- a/src/mame/drivers/m72.cpp +++ b/src/mame/drivers/m72.cpp @@ -1878,7 +1878,7 @@ MACHINE_CONFIG_START(m72_state::m72_audio_chips) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.2) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(m72_state::m72_base) diff --git a/src/mame/drivers/m90.cpp b/src/mame/drivers/m90.cpp index 286bf58795a..69a35eaef30 100644 --- a/src/mame/drivers/m90.cpp +++ b/src/mame/drivers/m90.cpp @@ -767,7 +767,7 @@ MACHINE_CONFIG_START(m90_state::m90) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/mac.cpp b/src/mame/drivers/mac.cpp index 18d0f433053..1ee8b801fe2 100644 --- a/src/mame/drivers/mac.cpp +++ b/src/mame/drivers/mac.cpp @@ -884,39 +884,43 @@ static const applefdc_interface mac_iwm_interface = sony_read_status }; -static SLOT_INTERFACE_START(mac_nubus_cards) - SLOT_INTERFACE("m2video", NUBUS_M2VIDEO) /* Apple Macintosh II Video Card */ - SLOT_INTERFACE("48gc", NUBUS_48GC) /* Apple 4*8 Graphics Card */ - SLOT_INTERFACE("824gc", NUBUS_824GC) /* Apple 8*24 Graphics Card */ - SLOT_INTERFACE("cb264", NUBUS_CB264) /* RasterOps ColorBoard 264 */ - SLOT_INTERFACE("vikbw", NUBUS_VIKBW) /* Moniterm Viking board */ - SLOT_INTERFACE("image", NUBUS_IMAGE) /* Disk Image Pseudo-Card */ - SLOT_INTERFACE("specpdq", NUBUS_SPECPDQ) /* SuperMac Spectrum PDQ */ - SLOT_INTERFACE("m2hires", NUBUS_M2HIRES) /* Apple Macintosh II Hi-Resolution Card */ - SLOT_INTERFACE("spec8s3", NUBUS_SPEC8S3) /* SuperMac Spectrum/8 Series III */ -// SLOT_INTERFACE("thundergx", NUBUS_THUNDERGX) /* Radius Thunder GX (not yet) */ - SLOT_INTERFACE("radiustpd", NUBUS_RADIUSTPD) /* Radius Two Page Display */ - SLOT_INTERFACE("asmc3nb", NUBUS_ASNTMC3NB) /* Asante MC3NB Ethernet card */ - SLOT_INTERFACE("portrait", NUBUS_WSPORTRAIT) /* Apple Macintosh II Portrait video card */ - SLOT_INTERFACE("enetnb", NUBUS_APPLEENET) /* Apple NuBus Ethernet */ - SLOT_INTERFACE("bootbug", NUBUS_BOOTBUG) /* Brigent BootBug debugger card */ - SLOT_INTERFACE("quadralink", NUBUS_QUADRALINK) /* AE Quadralink serial card */ -SLOT_INTERFACE_END +static void mac_nubus_cards(device_slot_interface &device) +{ + device.option_add("m2video", NUBUS_M2VIDEO); /* Apple Macintosh II Video Card */ + device.option_add("48gc", NUBUS_48GC); /* Apple 4*8 Graphics Card */ + device.option_add("824gc", NUBUS_824GC); /* Apple 8*24 Graphics Card */ + device.option_add("cb264", NUBUS_CB264); /* RasterOps ColorBoard 264 */ + device.option_add("vikbw", NUBUS_VIKBW); /* Moniterm Viking board */ + device.option_add("image", NUBUS_IMAGE); /* Disk Image Pseudo-Card */ + device.option_add("specpdq", NUBUS_SPECPDQ); /* SuperMac Spectrum PDQ */ + device.option_add("m2hires", NUBUS_M2HIRES); /* Apple Macintosh II Hi-Resolution Card */ + device.option_add("spec8s3", NUBUS_SPEC8S3); /* SuperMac Spectrum/8 Series III */ +// device.option_add("thundergx", NUBUS_THUNDERGX); /* Radius Thunder GX (not yet) */ + device.option_add("radiustpd", NUBUS_RADIUSTPD); /* Radius Two Page Display */ + device.option_add("asmc3nb", NUBUS_ASNTMC3NB); /* Asante MC3NB Ethernet card */ + device.option_add("portrait", NUBUS_WSPORTRAIT); /* Apple Macintosh II Portrait video card */ + device.option_add("enetnb", NUBUS_APPLEENET); /* Apple NuBus Ethernet */ + device.option_add("bootbug", NUBUS_BOOTBUG); /* Brigent BootBug debugger card */ + device.option_add("quadralink", NUBUS_QUADRALINK); /* AE Quadralink serial card */ +} -static SLOT_INTERFACE_START(mac_pds030_cards) - SLOT_INTERFACE("cb264", PDS030_CB264SE30) // RasterOps Colorboard 264/SE30 - SLOT_INTERFACE("pc816", PDS030_PROCOLOR816) // Lapis ProColor Server 8*16 PDS - SLOT_INTERFACE("lview", PDS030_LVIEW) // Sigma Designs L-View - SLOT_INTERFACE("30hr", PDS030_XCEED30HR) // Micron/XCEED Technology Color 30HR - SLOT_INTERFACE("mc30", PDS030_XCEEDMC30) // Micron/XCEED Technology MacroColor 30 -SLOT_INTERFACE_END +static void mac_pds030_cards(device_slot_interface &device) +{ + device.option_add("cb264", PDS030_CB264SE30); // RasterOps Colorboard 264/SE30 + device.option_add("pc816", PDS030_PROCOLOR816); // Lapis ProColor Server 8*16 PDS + device.option_add("lview", PDS030_LVIEW); // Sigma Designs L-View + device.option_add("30hr", PDS030_XCEED30HR); // Micron/XCEED Technology Color 30HR + device.option_add("mc30", PDS030_XCEEDMC30); // Micron/XCEED Technology MacroColor 30 +} -static SLOT_INTERFACE_START(mac_sepds_cards) - SLOT_INTERFACE("radiusfpd", PDS_SEDISPLAY) // Radius Full Page Display card for SE -SLOT_INTERFACE_END +static void mac_sepds_cards(device_slot_interface &device) +{ + device.option_add("radiusfpd", PDS_SEDISPLAY); // Radius Full Page Display card for SE +} -static SLOT_INTERFACE_START(mac_lcpds_cards) -SLOT_INTERFACE_END +static void mac_lcpds_cards(device_slot_interface &device) +{ +} /*************************************************************************** MACHINE DRIVERS @@ -954,7 +958,7 @@ MACHINE_CONFIG_START(mac_state::mac512ke) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_8BIT_PWM, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // 2 x ls161 MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) /* devices */ MCFG_RTC3430042_ADD("rtc", XTAL(32'768)) diff --git a/src/mame/drivers/mac128.cpp b/src/mame/drivers/mac128.cpp index f88b5cd190d..3f2b3ce51fc 100644 --- a/src/mame/drivers/mac128.cpp +++ b/src/mame/drivers/mac128.cpp @@ -1347,7 +1347,7 @@ MACHINE_CONFIG_START(mac128_state::mac512ke) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD(DAC_TAG, DAC_8BIT_PWM, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // 2 x ls161 MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, DAC_TAG, 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, DAC_TAG, -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, DAC_TAG, 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, DAC_TAG, -1.0, DAC_VREF_NEG_INPUT) /* devices */ MCFG_RTC3430042_ADD("rtc", XTAL(32'768)) diff --git a/src/mame/drivers/madalien.cpp b/src/mame/drivers/madalien.cpp index 2e556bdb22a..876d32de1ad 100644 --- a/src/mame/drivers/madalien.cpp +++ b/src/mame/drivers/madalien.cpp @@ -173,9 +173,9 @@ MACHINE_CONFIG_START(madalien_state::madalien) MCFG_SOUND_ADD("aysnd", AY8910, SOUND_CLOCK / 4) MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(madalien_state, madalien_portA_w)) MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(madalien_state, madalien_portB_w)) - MCFG_SOUND_ROUTE_EX(0, "discrete", 1.0, 0) - MCFG_SOUND_ROUTE_EX(1, "discrete", 1.0, 1) - MCFG_SOUND_ROUTE_EX(2, "discrete", 1.0, 2) + MCFG_SOUND_ROUTE(0, "discrete", 1.0, 0) + MCFG_SOUND_ROUTE(1, "discrete", 1.0, 1) + MCFG_SOUND_ROUTE(2, "discrete", 1.0, 2) MCFG_SOUND_ADD("discrete", DISCRETE, 0) MCFG_DISCRETE_INTF(madalien) diff --git a/src/mame/drivers/magicfly.cpp b/src/mame/drivers/magicfly.cpp index 142efc6b10a..607f0070703 100644 --- a/src/mame/drivers/magicfly.cpp +++ b/src/mame/drivers/magicfly.cpp @@ -967,7 +967,7 @@ MACHINE_CONFIG_START(magicfly_state::magicfly) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/magtouch.cpp b/src/mame/drivers/magtouch.cpp index 961fad1479c..cd83d2052fd 100644 --- a/src/mame/drivers/magtouch.cpp +++ b/src/mame/drivers/magtouch.cpp @@ -175,9 +175,10 @@ void magtouch_state::machine_start() machine().device("nvram")->set_base(memshare("nvram")->ptr(), 0x2000); } -static SLOT_INTERFACE_START( magtouch_isa8_cards ) - SLOT_INTERFACE("sb15", ISA8_SOUND_BLASTER_1_5) -SLOT_INTERFACE_END +static void magtouch_isa8_cards(device_slot_interface &device) +{ + device.option_add("sb15", ISA8_SOUND_BLASTER_1_5); +} static DEVICE_INPUT_DEFAULTS_START( magtouch_sb_def ) DEVICE_INPUT_DEFAULTS("CONFIG", 0x03, 0x01) @@ -224,8 +225,8 @@ MACHINE_CONFIG_START(magtouch_state::magtouch) MCFG_ISA_OUT_DRQ3_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq3_w)) MCFG_ISA8_SLOT_ADD("isa", "isa1", magtouch_isa8_cards, "sb15", true) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("sb15", magtouch_sb_def) - MCFG_DEVICE_CARD_MACHINE_CONFIG("sb15", magtouch_sb_conf) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("sb15", magtouch_sb_def) + MCFG_SLOT_OPTION_MACHINE_CONFIG("sb15", magtouch_sb_conf) MACHINE_CONFIG_END diff --git a/src/mame/drivers/mappy.cpp b/src/mame/drivers/mappy.cpp index a7083a7a13b..f1ab252ccec 100644 --- a/src/mame/drivers/mappy.cpp +++ b/src/mame/drivers/mappy.cpp @@ -1423,7 +1423,7 @@ MACHINE_CONFIG_START(mappy_state::grobda) /* sound hardware */ MCFG_SOUND_ADD("dac", DAC_4BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.275) // alternate route to 15XX-related DAC? MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/matmania.cpp b/src/mame/drivers/matmania.cpp index 321877c034d..2881910e916 100644 --- a/src/mame/drivers/matmania.cpp +++ b/src/mame/drivers/matmania.cpp @@ -338,7 +338,7 @@ MACHINE_CONFIG_START(matmania_state::matmania) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END @@ -380,7 +380,7 @@ MACHINE_CONFIG_START(matmania_state::maniach) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/mbc200.cpp b/src/mame/drivers/mbc200.cpp index 1bf923a8834..bc35d247d86 100644 --- a/src/mame/drivers/mbc200.cpp +++ b/src/mame/drivers/mbc200.cpp @@ -257,9 +257,10 @@ void mbc200_state::machine_reset() memcpy(main, roms, 0x1000); } -static SLOT_INTERFACE_START( mbc200_floppies ) - SLOT_INTERFACE("qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void mbc200_floppies(device_slot_interface &device) +{ + device.option_add("qd", FLOPPY_525_QD); +} MC6845_UPDATE_ROW( mbc200_state::update_row ) { diff --git a/src/mame/drivers/mbc55x.cpp b/src/mame/drivers/mbc55x.cpp index 590021b1d7d..b03dc34be0c 100644 --- a/src/mame/drivers/mbc55x.cpp +++ b/src/mame/drivers/mbc55x.cpp @@ -233,11 +233,12 @@ FLOPPY_FORMATS_END // MBC-555-2 : 2 x 5.25" disk-drive (360 KB) // MBC-555-3 : 2 x 5.25" disk-drive (720 KB) -static SLOT_INTERFACE_START( mbc55x_floppies ) - SLOT_INTERFACE("ssdd", FLOPPY_525_SSDD) - SLOT_INTERFACE("dd", FLOPPY_525_DD) - SLOT_INTERFACE("qd", FLOPPY_525_QD) -SLOT_INTERFACE_END +static void mbc55x_floppies(device_slot_interface &device) +{ + device.option_add("ssdd", FLOPPY_525_SSDD); + device.option_add("dd", FLOPPY_525_DD); + device.option_add("qd", FLOPPY_525_QD); +} MACHINE_CONFIG_START(mbc55x_state::mbc55x) diff --git a/src/mame/drivers/mbee.cpp b/src/mame/drivers/mbee.cpp index c8bd762ed01..bfa988b4e59 100644 --- a/src/mame/drivers/mbee.cpp +++ b/src/mame/drivers/mbee.cpp @@ -638,10 +638,11 @@ static GFXDECODE_START( premium ) GFXDECODE_ENTRY( "gfx", 0x0000, mbee_charlayout, 0, 8 ) GFXDECODE_END -static SLOT_INTERFACE_START( mbee_floppies ) - SLOT_INTERFACE( "35dd", FLOPPY_35_DD ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void mbee_floppies(device_slot_interface &device) +{ + device.option_add("35dd", FLOPPY_35_DD); + device.option_add("525qd", FLOPPY_525_QD); +} MACHINE_CONFIG_START(mbee_state::mbee) diff --git a/src/mame/drivers/mc10.cpp b/src/mame/drivers/mc10.cpp index d8dbf426ccd..373c6597cf0 100644 --- a/src/mame/drivers/mc10.cpp +++ b/src/mame/drivers/mc10.cpp @@ -525,7 +525,7 @@ MACHINE_CONFIG_START(mc10_state::mc10) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.0625) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_CASSETTE_ADD("cassette") MCFG_CASSETTE_FORMATS(coco_cassette_formats) @@ -567,7 +567,7 @@ MACHINE_CONFIG_START(mc10_state::alice32) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.0625) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_CASSETTE_ADD("cassette") MCFG_CASSETTE_FORMATS(alice32_cassette_formats) diff --git a/src/mame/drivers/meadows.cpp b/src/mame/drivers/meadows.cpp index a89ffd74216..1af9b65f906 100644 --- a/src/mame/drivers/meadows.cpp +++ b/src/mame/drivers/meadows.cpp @@ -649,7 +649,7 @@ MACHINE_CONFIG_START(meadows_state::meadows) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_SOUND_ADD("samples", SAMPLES, 0) MCFG_SAMPLES_CHANNELS(2) @@ -710,7 +710,7 @@ MACHINE_CONFIG_START(meadows_state::bowl3d) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_SOUND_ADD("samples", SAMPLES, 0) MCFG_SAMPLES_CHANNELS(2) diff --git a/src/mame/drivers/megazone.cpp b/src/mame/drivers/megazone.cpp index 03bc671de25..e5aa36e81fb 100644 --- a/src/mame/drivers/megazone.cpp +++ b/src/mame/drivers/megazone.cpp @@ -353,7 +353,7 @@ MACHINE_CONFIG_START(megazone_state::megazone) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_FILTER_RC_ADD("filter.0.0", 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) diff --git a/src/mame/drivers/mephistp.cpp b/src/mame/drivers/mephistp.cpp index 58ad92a02a5..926ce10cb2b 100644 --- a/src/mame/drivers/mephistp.cpp +++ b/src/mame/drivers/mephistp.cpp @@ -194,7 +194,7 @@ MACHINE_CONFIG_START(mephisto_pinball_state::mephisto) MCFG_SOUND_ADD("dac", DAC08, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END #ifdef UNUSED_DEFINITION diff --git a/src/mame/drivers/meyc8080.cpp b/src/mame/drivers/meyc8080.cpp index f4137636dc9..560d8786d55 100644 --- a/src/mame/drivers/meyc8080.cpp +++ b/src/mame/drivers/meyc8080.cpp @@ -602,7 +602,7 @@ MACHINE_CONFIG_START(meyc8080_state::meyc8080) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_2BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.66) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/meyc8088.cpp b/src/mame/drivers/meyc8088.cpp index 7c5c0900fea..7591cd3648a 100644 --- a/src/mame/drivers/meyc8088.cpp +++ b/src/mame/drivers/meyc8088.cpp @@ -386,7 +386,7 @@ MACHINE_CONFIG_START(meyc8088_state::meyc8088) MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/mfabfz.cpp b/src/mame/drivers/mfabfz.cpp index 5b9349674f9..84061de188f 100644 --- a/src/mame/drivers/mfabfz.cpp +++ b/src/mame/drivers/mfabfz.cpp @@ -143,7 +143,7 @@ MACHINE_CONFIG_START(mfabfz_state::mfabfz85) MCFG_I8085A_SID(DEVREADLINE("rs232", rs232_port_device, rxd_r)) MCFG_I8085A_SOD(DEVWRITELINE("rs232", rs232_port_device, write_txd)) MCFG_DEVCB_INVERT MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "terminal") - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) MCFG_DEVICE_ADD("uart2", I8251, 0) MACHINE_CONFIG_END diff --git a/src/mame/drivers/mice.cpp b/src/mame/drivers/mice.cpp index 53ccec98d62..cefd0c0bac6 100644 --- a/src/mame/drivers/mice.cpp +++ b/src/mame/drivers/mice.cpp @@ -178,7 +178,7 @@ MACHINE_CONFIG_START(mice_state::mice) MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart", i8251_device, write_rxd)) MCFG_RS232_DSR_HANDLER(DEVWRITELINE("uart", i8251_device, write_dsr)) MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart", i8251_device, write_cts)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", mice_terminal) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", mice_terminal) MCFG_DEVICE_ADD("rpt", I8155, 6.144_MHz_XTAL / 2) MCFG_I8155_IN_PORTC_CB(IOPORT("BAUD")) @@ -195,7 +195,7 @@ MACHINE_CONFIG_START(mice_state::mice2) MCFG_CPU_IO_MAP(mice2_io) MCFG_DEVICE_MODIFY("rs232") - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", mice2_terminal) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", mice2_terminal) MCFG_DEVICE_ADD("rttppi1", I8255, 0) MCFG_DEVICE_ADD("rttppi2", I8255, 0) diff --git a/src/mame/drivers/microdec.cpp b/src/mame/drivers/microdec.cpp index 46c9e4ec955..80d3f3a48c5 100644 --- a/src/mame/drivers/microdec.cpp +++ b/src/mame/drivers/microdec.cpp @@ -173,9 +173,10 @@ void microdec_state::machine_reset() m_maincpu->set_input_line_vector(0, 0x7f); } -static SLOT_INTERFACE_START( microdec_floppies ) - SLOT_INTERFACE( "525hd", FLOPPY_525_HD ) -SLOT_INTERFACE_END +static void microdec_floppies(device_slot_interface &device) +{ + device.option_add("525hd", FLOPPY_525_HD); +} DRIVER_INIT_MEMBER( microdec_state, microdec ) { diff --git a/src/mame/drivers/microkit.cpp b/src/mame/drivers/microkit.cpp index c5b7b6c27f9..445814b69ce 100644 --- a/src/mame/drivers/microkit.cpp +++ b/src/mame/drivers/microkit.cpp @@ -129,7 +129,7 @@ MACHINE_CONFIG_START(microkit_state::microkit) /* video hardware */ MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "keyboard") MCFG_RS232_RXD_HANDLER(INPUTLINE("maincpu", COSMAC_INPUT_LINE_EF4)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("keyboard", serial_keyb) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("keyboard", serial_keyb) MCFG_DEVICE_ADD("terminal", GENERIC_TERMINAL, 0) MACHINE_CONFIG_END diff --git a/src/mame/drivers/microvsn.cpp b/src/mame/drivers/microvsn.cpp index 8a0023422cd..b53b9690918 100644 --- a/src/mame/drivers/microvsn.cpp +++ b/src/mame/drivers/microvsn.cpp @@ -670,7 +670,7 @@ MACHINE_CONFIG_START(microvision_state::microvision) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_2BIT_BINARY_WEIGHTED_ONES_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "microvision_cart") MCFG_GENERIC_MANDATORY diff --git a/src/mame/drivers/mikro80.cpp b/src/mame/drivers/mikro80.cpp index 45c24638eb3..3d25513ec17 100644 --- a/src/mame/drivers/mikro80.cpp +++ b/src/mame/drivers/mikro80.cpp @@ -208,7 +208,7 @@ MACHINE_CONFIG_START(mikro80_state::radio99) MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.12) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(mikro80_state::kristall) diff --git a/src/mame/drivers/mikromik.cpp b/src/mame/drivers/mikromik.cpp index 37a2b0a57c3..0811bbb61ad 100644 --- a/src/mame/drivers/mikromik.cpp +++ b/src/mame/drivers/mikromik.cpp @@ -407,9 +407,10 @@ FLOPPY_FORMATS_MEMBER( mm2_state::floppy_formats ) FLOPPY_MM2_FORMAT FLOPPY_FORMATS_END */ -static SLOT_INTERFACE_START( mm1_floppies ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void mm1_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); +} //************************************************************************** diff --git a/src/mame/drivers/mini2440.cpp b/src/mame/drivers/mini2440.cpp index 977f2eef4f4..4f53a249620 100644 --- a/src/mame/drivers/mini2440.cpp +++ b/src/mame/drivers/mini2440.cpp @@ -241,8 +241,8 @@ MACHINE_CONFIG_START(mini2440_state::mini2440) MCFG_SOUND_ADD("ldac", UDA1341TS, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) // uda1341ts.u12 MCFG_SOUND_ADD("rdac", UDA1341TS, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) // uda1341ts.u12 MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) MCFG_DEVICE_ADD("s3c2440", S3C2440, 12000000) MCFG_S3C2440_PALETTE("palette") diff --git a/src/mame/drivers/miniforce.cpp b/src/mame/drivers/miniforce.cpp index 7632c15f1b3..a5810112340 100644 --- a/src/mame/drivers/miniforce.cpp +++ b/src/mame/drivers/miniforce.cpp @@ -168,12 +168,13 @@ void miniforce_state::machine_reset() static INPUT_PORTS_START (miniforce) INPUT_PORTS_END -static SLOT_INTERFACE_START(miniforce_vme_cards) - SLOT_INTERFACE("fccpu21", VME_FCCPU21) - SLOT_INTERFACE("fcisio", VME_FCISIO1) - SLOT_INTERFACE("fcscsi", VME_FCSCSI1) - SLOT_INTERFACE("hcpu30", VME_HCPU30) -SLOT_INTERFACE_END +static void miniforce_vme_cards(device_slot_interface &device) +{ + device.option_add("fccpu21", VME_FCCPU21); + device.option_add("fcisio", VME_FCISIO1); + device.option_add("fcscsi", VME_FCSCSI1); + device.option_add("hcpu30", VME_HCPU30); +} /* * Machine configuration diff --git a/src/mame/drivers/miniframe.cpp b/src/mame/drivers/miniframe.cpp index a9119e46b15..0c7218fcc1d 100644 --- a/src/mame/drivers/miniframe.cpp +++ b/src/mame/drivers/miniframe.cpp @@ -217,9 +217,10 @@ INPUT_PORTS_END MACHINE DRIVERS ***************************************************************************/ -static SLOT_INTERFACE_START( miniframe_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) -SLOT_INTERFACE_END +static void miniframe_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); +} MACHINE_CONFIG_START(miniframe_state::miniframe) // basic machine hardware diff --git a/src/mame/drivers/mjsister.cpp b/src/mame/drivers/mjsister.cpp index 0faf7dfc82c..5c76bd6bed2 100644 --- a/src/mame/drivers/mjsister.cpp +++ b/src/mame/drivers/mjsister.cpp @@ -534,7 +534,7 @@ MACHINE_CONFIG_START(mjsister_state::mjsister) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END /************************************* diff --git a/src/mame/drivers/mk14.cpp b/src/mame/drivers/mk14.cpp index 89389b2b28e..37f4c4e2bbb 100644 --- a/src/mame/drivers/mk14.cpp +++ b/src/mame/drivers/mk14.cpp @@ -216,8 +216,8 @@ MACHINE_CONFIG_START(mk14_state::mk14) MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) MCFG_SOUND_ADD("dac8", ZN425E, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // Ferranti ZN425E MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac8", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac8", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac8", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac8", -1.0, DAC_VREF_NEG_INPUT) /* devices */ MCFG_DEVICE_ADD("ic8", INS8154, 0) diff --git a/src/mame/drivers/mogura.cpp b/src/mame/drivers/mogura.cpp index 6ec4ebad7cc..df41dadcbff 100644 --- a/src/mame/drivers/mogura.cpp +++ b/src/mame/drivers/mogura.cpp @@ -233,8 +233,8 @@ MACHINE_CONFIG_START(mogura_state::mogura) MCFG_SOUND_ADD("ldac", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.25) // unknown DAC MCFG_SOUND_ADD("rdac", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/mpz80.cpp b/src/mame/drivers/mpz80.cpp index d6942709c85..37d630d5cd3 100644 --- a/src/mame/drivers/mpz80.cpp +++ b/src/mame/drivers/mpz80.cpp @@ -664,15 +664,16 @@ WRITE_LINE_MEMBER( mpz80_state::s100_nmi_w ) //#include "bus/s100/nsmdsad.h" #include "bus/s100/wunderbus.h" -static SLOT_INTERFACE_START( mpz80_s100_cards ) - SLOT_INTERFACE("mm65k16s", S100_MM65K16S) - SLOT_INTERFACE("wunderbus", S100_WUNDERBUS) - SLOT_INTERFACE("dj2db", S100_DJ2DB) - SLOT_INTERFACE("djdma", S100_DJDMA) -// SLOT_INTERFACE("multio", S100_MULTIO) -// SLOT_INTERFACE("hdcdma", S100_HDCDMA) -// SLOT_INTERFACE("hdca", S100_HDCA) -SLOT_INTERFACE_END +static void mpz80_s100_cards(device_slot_interface &device) +{ + device.option_add("mm65k16s", S100_MM65K16S); + device.option_add("wunderbus", S100_WUNDERBUS); + device.option_add("dj2db", S100_DJ2DB); + device.option_add("djdma", S100_DJDMA); +// device.option_add("multio", S100_MULTIO); +// device.option_add("hdcdma", S100_HDCDMA); +// device.option_add("hdca", S100_HDCA); +} diff --git a/src/mame/drivers/mrgame.cpp b/src/mame/drivers/mrgame.cpp index 36afdd317a9..fc93b66b788 100644 --- a/src/mame/drivers/mrgame.cpp +++ b/src/mame/drivers/mrgame.cpp @@ -507,10 +507,10 @@ MACHINE_CONFIG_START(mrgame_state::mrgame) MCFG_SOUND_ADD("ldac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.25) // unknown DAC MCFG_SOUND_ADD("rdac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.25) // unknown DAC MCFG_SOUND_ADD("dacvol", DAC_8BIT_R2R, 0) // unknown DAC - MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dacvol", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dacvol", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dacvol", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dacvol", -1.0, DAC_VREF_NEG_INPUT) MCFG_SOUND_ADD("tms", TMS5220, 672000) // uses a RC combination. 672k copied from jedi.h MCFG_TMS52XX_READYQ_HANDLER(INPUTLINE("audiocpu2", Z80_INPUT_LINE_BOGUSWAIT)) diff --git a/src/mame/drivers/ms0515.cpp b/src/mame/drivers/ms0515.cpp index b06636bffe9..2dacb5bd90e 100644 --- a/src/mame/drivers/ms0515.cpp +++ b/src/mame/drivers/ms0515.cpp @@ -374,9 +374,10 @@ FLOPPY_FORMATS_MEMBER( ms0515_state::floppy_formats ) FLOPPY_MS0515_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( ms0515_floppies ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void ms0515_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); +} uint32_t ms0515_state::screen_update_ms0515(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { diff --git a/src/mame/drivers/msx.cpp b/src/mame/drivers/msx.cpp index 714d81a04be..6802fae7b70 100644 --- a/src/mame/drivers/msx.cpp +++ b/src/mame/drivers/msx.cpp @@ -1283,10 +1283,11 @@ FLOPPY_FORMATS_MEMBER( msx_state::floppy_formats ) FLOPPY_DMK_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( msx_floppies ) - SLOT_INTERFACE( "35dd", FLOPPY_35_DD ) - SLOT_INTERFACE( "35ssdd", FLOPPY_35_SSDD ) -SLOT_INTERFACE_END +static void msx_floppies(device_slot_interface &device) +{ + device.option_add("35dd", FLOPPY_35_DD); + device.option_add("35ssdd", FLOPPY_35_SSDD); +} MACHINE_CONFIG_START(msx_state::msx_fd1793) MCFG_FD1793_ADD("fdc", XTAL(4'000'000) / 4) @@ -1362,7 +1363,7 @@ MACHINE_CONFIG_START(msx_state::msx) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette") MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) @@ -1515,7 +1516,7 @@ MACHINE_CONFIG_START(msx_state::msx2) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette") MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) @@ -1573,7 +1574,7 @@ MACHINE_CONFIG_START(msx_state::msx2p) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette") MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) diff --git a/src/mame/drivers/mtouchxl.cpp b/src/mame/drivers/mtouchxl.cpp index d1c42c25657..5a458dba096 100644 --- a/src/mame/drivers/mtouchxl.cpp +++ b/src/mame/drivers/mtouchxl.cpp @@ -189,15 +189,16 @@ void mtxl_state::machine_reset() } #ifndef REAL_PCI_CHIPSET -static SLOT_INTERFACE_START(mt6k_ata_devices) - SLOT_INTERFACE("cdrom", ATAPI_FIXED_CDROM) -SLOT_INTERFACE_END +static void mt6k_ata_devices(device_slot_interface &device) +{ + device.option_add("cdrom", ATAPI_FIXED_CDROM); +} void mtxl_state::cdrom(device_t *device) { auto ide0 = dynamic_cast(device->subdevice("ide:0")); ide0->option_reset(); - SLOT_INTERFACE_NAME(mt6k_ata_devices)(device->subdevice("ide:0")); + mt6k_ata_devices(*ide0); ide0->set_default_option("cdrom"); ide0->set_fixed(true); diff --git a/src/mame/drivers/murogem.cpp b/src/mame/drivers/murogem.cpp index 4bc3473686b..9c3697236b3 100644 --- a/src/mame/drivers/murogem.cpp +++ b/src/mame/drivers/murogem.cpp @@ -275,7 +275,7 @@ MACHINE_CONFIG_START(murogem_state::murogem) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.375) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/murogmbl.cpp b/src/mame/drivers/murogmbl.cpp index f35e4b3551a..130c74e6486 100644 --- a/src/mame/drivers/murogmbl.cpp +++ b/src/mame/drivers/murogmbl.cpp @@ -358,7 +358,7 @@ MACHINE_CONFIG_START(murogmbl_state::murogmbl) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(slotunbl_state::slotunbl) @@ -384,7 +384,7 @@ MACHINE_CONFIG_START(slotunbl_state::slotunbl) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END ROM_START(murogmbl) diff --git a/src/mame/drivers/mvme147.cpp b/src/mame/drivers/mvme147.cpp index 24f692bc9e6..19622f2c960 100644 --- a/src/mame/drivers/mvme147.cpp +++ b/src/mame/drivers/mvme147.cpp @@ -640,9 +640,10 @@ WRITE16_MEMBER (mvme147_state::vme_a16_w){ } #endif -static SLOT_INTERFACE_START(mvme147_vme_cards) - SLOT_INTERFACE("mvme350", VME_MVME350) -SLOT_INTERFACE_END +static void mvme147_vme_cards(device_slot_interface &device) +{ + device.option_add("mvme350", VME_MVME350); +} /* * Machine configuration diff --git a/src/mame/drivers/myb3k.cpp b/src/mame/drivers/myb3k.cpp index fc95db68df6..91406b2dde7 100644 --- a/src/mame/drivers/myb3k.cpp +++ b/src/mame/drivers/myb3k.cpp @@ -923,11 +923,12 @@ WRITE_LINE_MEMBER (myb3k_state::centronics_select_w){ LOGCENT("%s %d - not used by machine\n", FUNCNAME, state); } -static SLOT_INTERFACE_START(stepone_isa_cards) - SLOT_INTERFACE("myb3k_com", ISA8_MYB3K_COM) - SLOT_INTERFACE("myb3k_fdc4710", ISA8_MYB3K_FDC4710) - SLOT_INTERFACE("myb3k_fdc4711", ISA8_MYB3K_FDC4711) -SLOT_INTERFACE_END +static void stepone_isa_cards(device_slot_interface &device) +{ + device.option_add("myb3k_com", ISA8_MYB3K_COM); + device.option_add("myb3k_fdc4710", ISA8_MYB3K_FDC4710); + device.option_add("myb3k_fdc4711", ISA8_MYB3K_FDC4711); +} MACHINE_CONFIG_START(myb3k_state::myb3k) /* basic machine hardware */ diff --git a/src/mame/drivers/mycom.cpp b/src/mame/drivers/mycom.cpp index 9aaad3ce800..2dd1a851df5 100644 --- a/src/mame/drivers/mycom.cpp +++ b/src/mame/drivers/mycom.cpp @@ -480,9 +480,10 @@ TIMER_DEVICE_CALLBACK_MEMBER(mycom_state::mycom_kbd) -static SLOT_INTERFACE_START( mycom_floppies ) - SLOT_INTERFACE( "525sd", FLOPPY_525_SD ) -SLOT_INTERFACE_END +static void mycom_floppies(device_slot_interface &device) +{ + device.option_add("525sd", FLOPPY_525_SD); +} void mycom_state::machine_start() { diff --git a/src/mame/drivers/mz2000.cpp b/src/mame/drivers/mz2000.cpp index c198afcf050..23c0620ce9b 100644 --- a/src/mame/drivers/mz2000.cpp +++ b/src/mame/drivers/mz2000.cpp @@ -866,9 +866,10 @@ FLOPPY_FORMATS_MEMBER( mz2000_state::floppy_formats ) FLOPPY_2D_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( mz2000_floppies ) - SLOT_INTERFACE("dd", FLOPPY_525_DD) -SLOT_INTERFACE_END +static void mz2000_floppies(device_slot_interface &device) +{ + device.option_add("dd", FLOPPY_525_DD); +} MACHINE_CONFIG_START(mz2000_state::mz2000) diff --git a/src/mame/drivers/mz2500.cpp b/src/mame/drivers/mz2500.cpp index 52b0065d4b9..dbd00b2d8f1 100644 --- a/src/mame/drivers/mz2500.cpp +++ b/src/mame/drivers/mz2500.cpp @@ -2078,9 +2078,10 @@ WRITE_LINE_MEMBER(mz2500_state::mz2500_rtc_alarm_irq) } -static SLOT_INTERFACE_START( mz2500_floppies ) - SLOT_INTERFACE("dd", FLOPPY_35_DD) -SLOT_INTERFACE_END +static void mz2500_floppies(device_slot_interface &device) +{ + device.option_add("dd", FLOPPY_35_DD); +} MACHINE_CONFIG_START(mz2500_state::mz2500) diff --git a/src/mame/drivers/mz3500.cpp b/src/mame/drivers/mz3500.cpp index 7b958380d27..d9582a9c6a3 100644 --- a/src/mame/drivers/mz3500.cpp +++ b/src/mame/drivers/mz3500.cpp @@ -808,9 +808,10 @@ void mz3500_state::upd7220_2_map(address_map &map) map(0x00000, 0x3ffff).ram(); // AM_SHARE("video_ram_2") } -static SLOT_INTERFACE_START( mz3500_floppies ) - SLOT_INTERFACE( "525ssdd", FLOPPY_525_SSDD ) -SLOT_INTERFACE_END +static void mz3500_floppies(device_slot_interface &device) +{ + device.option_add("525ssdd", FLOPPY_525_SSDD); +} /* TODO: clocks */ MACHINE_CONFIG_START(mz3500_state::mz3500) diff --git a/src/mame/drivers/mz6500.cpp b/src/mame/drivers/mz6500.cpp index 8441cb4c3ba..84f379c0cf4 100644 --- a/src/mame/drivers/mz6500.cpp +++ b/src/mame/drivers/mz6500.cpp @@ -134,9 +134,10 @@ void mz6500_state::fdc_drq(bool state) //printf("%02x DRQ\n",state); } -static SLOT_INTERFACE_START( mz6500_floppies ) - SLOT_INTERFACE( "525hd", FLOPPY_525_HD ) -SLOT_INTERFACE_END +static void mz6500_floppies(device_slot_interface &device) +{ + device.option_add("525hd", FLOPPY_525_HD); +} void mz6500_state::upd7220_map(address_map &map) { diff --git a/src/mame/drivers/mzr8105.cpp b/src/mame/drivers/mzr8105.cpp index c576a5f189f..cb6913718bb 100644 --- a/src/mame/drivers/mzr8105.cpp +++ b/src/mame/drivers/mzr8105.cpp @@ -199,9 +199,10 @@ void mzr8105_state::mzr8105_mem(address_map &map) static INPUT_PORTS_START (mzr8105) INPUT_PORTS_END -static SLOT_INTERFACE_START(mzr8105_vme_cards) - SLOT_INTERFACE("mzr8300", VME_MZR8300) -SLOT_INTERFACE_END +static void mzr8105_vme_cards(device_slot_interface &device) +{ + device.option_add("mzr8300", VME_MZR8300); +} /* * Machine configuration diff --git a/src/mame/drivers/namcos1.cpp b/src/mame/drivers/namcos1.cpp index 039757fd569..7b85dc6faec 100644 --- a/src/mame/drivers/namcos1.cpp +++ b/src/mame/drivers/namcos1.cpp @@ -1092,8 +1092,8 @@ MACHINE_CONFIG_START(namcos1_state::ns1) MCFG_SOUND_ADD("dac0", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) // 10-pin 1Kx8R SIP with HC374 latch MCFG_SOUND_ADD("dac1", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) // 10-pin 1Kx8R SIP with HC374 latch MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac0", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac0", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac0", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac0", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/nanos.cpp b/src/mame/drivers/nanos.cpp index 2ec3e84e971..12da909f4c6 100644 --- a/src/mame/drivers/nanos.cpp +++ b/src/mame/drivers/nanos.cpp @@ -437,9 +437,10 @@ FLOPPY_FORMATS_MEMBER( nanos_state::floppy_formats ) FLOPPY_NANOS_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( nanos_floppies ) - SLOT_INTERFACE( "525hd", FLOPPY_525_HD ) -SLOT_INTERFACE_END +static void nanos_floppies(device_slot_interface &device) +{ + device.option_add("525hd", FLOPPY_525_HD); +} /* F4 Character Displayer */ static const gfx_layout nanos_charlayout = diff --git a/src/mame/drivers/nbmj8688.cpp b/src/mame/drivers/nbmj8688.cpp index be799b75311..cc93325b5b1 100644 --- a/src/mame/drivers/nbmj8688.cpp +++ b/src/mame/drivers/nbmj8688.cpp @@ -2489,7 +2489,7 @@ MACHINE_CONFIG_START(nbmj8688_state::NBMJDRV_4096) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(nbmj8688_state::NBMJDRV_256) @@ -2682,7 +2682,7 @@ MACHINE_CONFIG_START(nbmj8688_state::mbmj_p16bit_LCD) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(nbmj8688_state::bijokkoy) diff --git a/src/mame/drivers/nbmj8891.cpp b/src/mame/drivers/nbmj8891.cpp index 377e0fe6193..6403adcc65c 100644 --- a/src/mame/drivers/nbmj8891.cpp +++ b/src/mame/drivers/nbmj8891.cpp @@ -2231,7 +2231,7 @@ MACHINE_CONFIG_START(nbmj8891_state::gionbana) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.37) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(nbmj8891_state::mgion) diff --git a/src/mame/drivers/nbmj8900.cpp b/src/mame/drivers/nbmj8900.cpp index ad793896ad3..0cbc3720f9d 100644 --- a/src/mame/drivers/nbmj8900.cpp +++ b/src/mame/drivers/nbmj8900.cpp @@ -335,7 +335,7 @@ MACHINE_CONFIG_START(nbmj8900_state::ohpaipee) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.42) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(nbmj8900_state::togenkyo) diff --git a/src/mame/drivers/nbmj8991.cpp b/src/mame/drivers/nbmj8991.cpp index bf7ee7cb4f8..1e1fd321370 100644 --- a/src/mame/drivers/nbmj8991.cpp +++ b/src/mame/drivers/nbmj8991.cpp @@ -1357,7 +1357,7 @@ MACHINE_CONFIG_START(nbmj8991_state::nbmjdrv1) // galkoku MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END @@ -1398,8 +1398,8 @@ MACHINE_CONFIG_START(nbmj8991_state::nbmjdrv2) // pstadium MCFG_SOUND_ADD("dac1", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC MCFG_SOUND_ADD("dac2", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/nbmj9195.cpp b/src/mame/drivers/nbmj9195.cpp index b2684385625..46dff69d586 100644 --- a/src/mame/drivers/nbmj9195.cpp +++ b/src/mame/drivers/nbmj9195.cpp @@ -2572,8 +2572,8 @@ MACHINE_CONFIG_START(nbmj9195_state::NBMJDRV1_base) MCFG_SOUND_ADD("dac1", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC MCFG_SOUND_ADD("dac2", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(nbmj9195_state::NBMJDRV1) diff --git a/src/mame/drivers/nc.cpp b/src/mame/drivers/nc.cpp index e1463fd5ad3..734a5be3e86 100644 --- a/src/mame/drivers/nc.cpp +++ b/src/mame/drivers/nc.cpp @@ -1466,9 +1466,10 @@ static const floppy_format_type ibmpc_floppy_formats[] = { nullptr }; -static SLOT_INTERFACE_START( ibmpc_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) -SLOT_INTERFACE_END +static void ibmpc_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); +} MACHINE_CONFIG_START(nc_state::nc200) nc100(config); diff --git a/src/mame/drivers/next.cpp b/src/mame/drivers/next.cpp index f442d0f54ce..b497033e50a 100644 --- a/src/mame/drivers/next.cpp +++ b/src/mame/drivers/next.cpp @@ -981,15 +981,17 @@ FLOPPY_FORMATS_MEMBER( next_state::floppy_formats ) FLOPPY_PC_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( next_floppies ) - SLOT_INTERFACE( "35ed", FLOPPY_35_ED ) -SLOT_INTERFACE_END +static void next_floppies(device_slot_interface &device) +{ + device.option_add("35ed", FLOPPY_35_ED); +} -static SLOT_INTERFACE_START( next_scsi_devices ) - SLOT_INTERFACE("cdrom", NSCSI_CDROM) - SLOT_INTERFACE("harddisk", NSCSI_HARDDISK) - SLOT_INTERFACE_INTERNAL("ncr5390", NCR5390) -SLOT_INTERFACE_END +static void next_scsi_devices(device_slot_interface &device) +{ + device.option_add("cdrom", NSCSI_CDROM); + device.option_add("harddisk", NSCSI_HARDDISK); + device.option_add_internal("ncr5390", NCR5390); +} void next_state::ncr5390(device_t *device) { @@ -1028,7 +1030,7 @@ MACHINE_CONFIG_START(next_state::next_base) MCFG_NSCSI_ADD("scsibus:5", next_scsi_devices, nullptr, false) MCFG_NSCSI_ADD("scsibus:6", next_scsi_devices, nullptr, false) MCFG_NSCSI_ADD("scsibus:7", next_scsi_devices, "ncr5390", true) - MCFG_DEVICE_CARD_MACHINE_CONFIG("ncr5390", ncr5390) + MCFG_SLOT_OPTION_MACHINE_CONFIG("ncr5390", ncr5390) MCFG_DEVICE_ADD("net", MB8795, 0) MCFG_MB8795_TX_IRQ_CALLBACK(WRITELINE(next_state, net_tx_irq)) diff --git a/src/mame/drivers/ngen.cpp b/src/mame/drivers/ngen.cpp index 766e49e98c8..311aa87d137 100644 --- a/src/mame/drivers/ngen.cpp +++ b/src/mame/drivers/ngen.cpp @@ -916,13 +916,15 @@ void ngen_state::ngen386_io(address_map &map) static INPUT_PORTS_START( ngen ) INPUT_PORTS_END -static SLOT_INTERFACE_START(keyboard) - SLOT_INTERFACE("ngen", NGEN_KEYBOARD) -SLOT_INTERFACE_END +static void keyboard(device_slot_interface &device) +{ + device.option_add("ngen", NGEN_KEYBOARD); +} -static SLOT_INTERFACE_START( ngen_floppies ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void ngen_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); +} MACHINE_CONFIG_START(ngen_state::ngen) // basic machine hardware diff --git a/src/mame/drivers/ngp.cpp b/src/mame/drivers/ngp.cpp index a376910ab4a..e854a072542 100644 --- a/src/mame/drivers/ngp.cpp +++ b/src/mame/drivers/ngp.cpp @@ -850,8 +850,8 @@ MACHINE_CONFIG_START(ngp_state::ngp_common) MCFG_SOUND_ADD("ldac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.25) // unknown DAC MCFG_SOUND_ADD("rdac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/nightgal.cpp b/src/mame/drivers/nightgal.cpp index a69c050f738..de272a2dc86 100644 --- a/src/mame/drivers/nightgal.cpp +++ b/src/mame/drivers/nightgal.cpp @@ -840,7 +840,7 @@ MACHINE_CONFIG_START(nightgal_state::sexygal) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_DEVICE_REMOVE("aysnd") diff --git a/src/mame/drivers/notetaker.cpp b/src/mame/drivers/notetaker.cpp index 17f4ef6c115..4e47bf3d669 100644 --- a/src/mame/drivers/notetaker.cpp +++ b/src/mame/drivers/notetaker.cpp @@ -732,9 +732,10 @@ void notetaker_state::ep_io(address_map &map) /* Input ports */ /* Floppy Image Interface */ -static SLOT_INTERFACE_START( notetaker_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) -SLOT_INTERFACE_END +static void notetaker_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); +} /* Machine Start; allocate timers and savestate stuff */ void notetaker_state::machine_start() @@ -857,7 +858,7 @@ MACHINE_CONFIG_START(notetaker_state::notetakr) // TODO: hook DAC up to two HA2425 (sample and hold) chips and hook those up to the speakers MCFG_SOUND_ADD("dac", DAC1200, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END DRIVER_INIT_MEMBER(notetaker_state,notetakr) diff --git a/src/mame/drivers/novagmcs48.cpp b/src/mame/drivers/novagmcs48.cpp index 3a1f2a95af3..0f14c0bb638 100644 --- a/src/mame/drivers/novagmcs48.cpp +++ b/src/mame/drivers/novagmcs48.cpp @@ -159,7 +159,7 @@ MACHINE_CONFIG_START(novagmcs48_state::presto) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(novagmcs48_state::octo) diff --git a/src/mame/drivers/nycaptor.cpp b/src/mame/drivers/nycaptor.cpp index 9b45538620d..282dbbcc17f 100644 --- a/src/mame/drivers/nycaptor.cpp +++ b/src/mame/drivers/nycaptor.cpp @@ -805,7 +805,7 @@ MACHINE_CONFIG_START(nycaptor_state::nycaptor) // Update: of course it exists, sound board seems common Taito design. MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(nycaptor_state::cyclshtg) @@ -877,7 +877,7 @@ MACHINE_CONFIG_START(nycaptor_state::cyclshtg) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END @@ -946,7 +946,7 @@ MACHINE_CONFIG_START(nycaptor_state::bronx) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/nyny.cpp b/src/mame/drivers/nyny.cpp index e020eee411a..a03016a1931 100644 --- a/src/mame/drivers/nyny.cpp +++ b/src/mame/drivers/nyny.cpp @@ -666,7 +666,7 @@ MACHINE_CONFIG_START(nyny_state::nyny) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/octopus.cpp b/src/mame/drivers/octopus.cpp index cb049683b74..933fe8f83ee 100644 --- a/src/mame/drivers/octopus.cpp +++ b/src/mame/drivers/octopus.cpp @@ -859,22 +859,25 @@ READ8_MEMBER( octopus_state::get_slave_ack ) return 0x00; } -static SLOT_INTERFACE_START( octopus_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) -SLOT_INTERFACE_END +static void octopus_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); +} -static SLOT_INTERFACE_START(keyboard) - SLOT_INTERFACE("octopus", OCTOPUS_KEYBOARD) -SLOT_INTERFACE_END +static void keyboard(device_slot_interface &device) +{ + device.option_add("octopus", OCTOPUS_KEYBOARD); +} -SLOT_INTERFACE_START(octopus_centronics_devices) - SLOT_INTERFACE("pl80", COMX_PL80) - SLOT_INTERFACE("ex800", EPSON_EX800) - SLOT_INTERFACE("lx800", EPSON_LX800) - SLOT_INTERFACE("lx810l", EPSON_LX810L) - SLOT_INTERFACE("ap2000", EPSON_AP2000) - SLOT_INTERFACE("printer", CENTRONICS_PRINTER) -SLOT_INTERFACE_END +void octopus_centronics_devices(device_slot_interface &device) +{ + device.option_add("pl80", COMX_PL80); + device.option_add("ex800", EPSON_EX800); + device.option_add("lx800", EPSON_LX800); + device.option_add("lx810l", EPSON_LX810L); + device.option_add("ap2000", EPSON_AP2000); + device.option_add("printer", CENTRONICS_PRINTER); +} MACHINE_CONFIG_START(octopus_state::octopus) /* basic machine hardware */ diff --git a/src/mame/drivers/olyboss.cpp b/src/mame/drivers/olyboss.cpp index 0eb4e4ab5d1..8fb0f7aff5e 100644 --- a/src/mame/drivers/olyboss.cpp +++ b/src/mame/drivers/olyboss.cpp @@ -410,17 +410,20 @@ WRITE8_MEMBER( olyboss_state::fdcctrl85_w ) m_fdd1->get_device()->mon_w(!(data & 0x80)); } -static SLOT_INTERFACE_START( bossa_floppies ) - SLOT_INTERFACE( "525ssdd", FLOPPY_525_SSDD ) -SLOT_INTERFACE_END +static void bossa_floppies(device_slot_interface &device) +{ + device.option_add("525ssdd", FLOPPY_525_SSDD); +} -static SLOT_INTERFACE_START( bossb_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) -SLOT_INTERFACE_END +static void bossb_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); +} -static SLOT_INTERFACE_START( bosscd_floppies ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void bosscd_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); +} //************************************************************************** // MACHINE CONFIGURATION diff --git a/src/mame/drivers/oric.cpp b/src/mame/drivers/oric.cpp index ffc520e11f6..32a332be02f 100644 --- a/src/mame/drivers/oric.cpp +++ b/src/mame/drivers/oric.cpp @@ -830,9 +830,10 @@ FLOPPY_FORMATS_MEMBER( telestrat_state::floppy_formats ) FLOPPY_ORIC_DSK_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( telestrat_floppies ) - SLOT_INTERFACE( "3dsdd", FLOPPY_3_DSDD ) -SLOT_INTERFACE_END +static void telestrat_floppies(device_slot_interface &device) +{ + device.option_add("3dsdd", FLOPPY_3_DSDD); +} MACHINE_CONFIG_START(telestrat_state::telstrat) oric(config); diff --git a/src/mame/drivers/orion.cpp b/src/mame/drivers/orion.cpp index 8909988c70c..bb786b54536 100644 --- a/src/mame/drivers/orion.cpp +++ b/src/mame/drivers/orion.cpp @@ -86,9 +86,10 @@ FLOPPY_FORMATS_MEMBER( orion_state::orion_floppy_formats ) FLOPPY_SMX_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( orion_floppies ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void orion_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); +} /* Machine driver */ MACHINE_CONFIG_START(orion_state::orion128) diff --git a/src/mame/drivers/osbexec.cpp b/src/mame/drivers/osbexec.cpp index d8f68fc50a1..e784675a78f 100644 --- a/src/mame/drivers/osbexec.cpp +++ b/src/mame/drivers/osbexec.cpp @@ -469,9 +469,10 @@ WRITE_LINE_MEMBER(osbexec_state::comm_clk_a_w) * */ -static SLOT_INTERFACE_START( osborne2_floppies ) - SLOT_INTERFACE( "525ssdd", FLOPPY_525_SSDD ) -SLOT_INTERFACE_END +static void osborne2_floppies(device_slot_interface &device) +{ + device.option_add("525ssdd", FLOPPY_525_SSDD); +} TIMER_CALLBACK_MEMBER(osbexec_state::osbexec_video_callback) diff --git a/src/mame/drivers/osborne1.cpp b/src/mame/drivers/osborne1.cpp index 528bc0a0f85..0e97320c190 100644 --- a/src/mame/drivers/osborne1.cpp +++ b/src/mame/drivers/osborne1.cpp @@ -257,10 +257,11 @@ INPUT_PORTS_END * */ -static SLOT_INTERFACE_START( osborne1_floppies ) - SLOT_INTERFACE("525sssd", FLOPPY_525_SSSD) // Siemens FDD 100-5, custom Osborne electronics - SLOT_INTERFACE("525ssdd", FLOPPY_525_QD) // SSDD) // MPI 52(?), custom Osborne electronics -SLOT_INTERFACE_END +static void osborne1_floppies(device_slot_interface &device) +{ + device.option_add("525sssd", FLOPPY_525_SSSD); // Siemens FDD 100-5, custom Osborne electronics + device.option_add("525ssdd", FLOPPY_525_QD); // SSDD) // MPI 52(?), custom Osborne electronics +} /* F4 Character Displayer */ @@ -283,24 +284,24 @@ GFXDECODE_END MACHINE_CONFIG_START(osborne1_state::osborne1) - MCFG_CPU_ADD("maincpu", Z80, MAIN_CLOCK/4) + MCFG_CPU_ADD(m_maincpu, Z80, MAIN_CLOCK/4) MCFG_CPU_PROGRAM_MAP(osborne1_mem) MCFG_CPU_OPCODES_MAP(osborne1_op) MCFG_CPU_IO_MAP(osborne1_io) MCFG_Z80_SET_IRQACK_CALLBACK(WRITELINE(osborne1_state, irqack_w)) - MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green()) + MCFG_SCREEN_ADD_MONOCHROME(m_screen, RASTER, rgb_t::green()) MCFG_SCREEN_UPDATE_DRIVER(osborne1_state, screen_update) MCFG_SCREEN_RAW_PARAMS(MAIN_CLOCK, 1024, 0, 104*8, 260, 0, 24*10) MCFG_SCREEN_PALETTE("palette") - MCFG_GFXDECODE_ADD("gfxdecode", "palette", osborne1) + MCFG_GFXDECODE_ADD(m_gfxdecode, "palette", osborne1) MCFG_PALETTE_ADD_MONOCHROME_HIGHLIGHT("palette") MCFG_SPEAKER_STANDARD_MONO("mono") - MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0) + MCFG_SOUND_ADD(m_speaker, SPEAKER_SOUND, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) - MCFG_DEVICE_ADD("pia_0", PIA6821, 0) + MCFG_DEVICE_ADD(m_pia0, PIA6821, 0) MCFG_PIA_READPA_HANDLER(DEVREAD8(m_ieee, ieee488_device, dio_r)) MCFG_PIA_READPB_HANDLER(READ8(osborne1_state, ieee_pia_pb_r)) MCFG_PIA_WRITEPA_HANDLER(DEVWRITE8(m_ieee, ieee488_device, dio_w)) @@ -310,15 +311,15 @@ MACHINE_CONFIG_START(osborne1_state::osborne1) MCFG_PIA_IRQA_HANDLER(WRITELINE(osborne1_state, ieee_pia_irq_a_func)) MCFG_IEEE488_BUS_ADD() - MCFG_IEEE488_SRQ_CALLBACK(DEVWRITELINE("pia_0", pia6821_device, ca2_w)) + MCFG_IEEE488_SRQ_CALLBACK(DEVWRITELINE(m_pia0, pia6821_device, ca2_w)) - MCFG_DEVICE_ADD("pia_1", PIA6821, 0) + MCFG_DEVICE_ADD(m_pia1, PIA6821, 0) MCFG_PIA_WRITEPA_HANDLER(WRITE8(osborne1_state, video_pia_port_a_w)) MCFG_PIA_WRITEPB_HANDLER(WRITE8(osborne1_state, video_pia_port_b_w)) MCFG_PIA_CB2_HANDLER(WRITELINE(osborne1_state, video_pia_out_cb2_dummy)) MCFG_PIA_IRQA_HANDLER(WRITELINE(osborne1_state, video_pia_irq_a_func)) - MCFG_DEVICE_ADD("acia", ACIA6850, 0) + MCFG_DEVICE_ADD(m_acia, ACIA6850, 0) MCFG_ACIA6850_TXD_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_txd)) MCFG_ACIA6850_RTS_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_rts)) MCFG_ACIA6850_IRQ_HANDLER(WRITELINE(osborne1_state, serial_acia_irq_func)) @@ -329,10 +330,10 @@ MACHINE_CONFIG_START(osborne1_state::osborne1) MCFG_RS232_CTS_HANDLER(DEVWRITELINE(m_acia, acia6850_device, write_cts)) MCFG_RS232_RI_HANDLER(DEVWRITELINE(m_pia1, pia6821_device, ca2_w)) - MCFG_DEVICE_ADD("mb8877", MB8877, MAIN_CLOCK/16) + MCFG_DEVICE_ADD(m_fdc, MB8877, MAIN_CLOCK/16) MCFG_WD_FDC_FORCE_READY - MCFG_FLOPPY_DRIVE_ADD("mb8877:0", osborne1_floppies, "525ssdd", floppy_image_device::default_floppy_formats) - MCFG_FLOPPY_DRIVE_ADD("mb8877:1", osborne1_floppies, "525ssdd", floppy_image_device::default_floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(m_floppy0, osborne1_floppies, "525ssdd", floppy_image_device::default_floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(m_floppy1, osborne1_floppies, "525ssdd", floppy_image_device::default_floppy_formats) // internal ram MCFG_RAM_ADD(RAM_TAG) diff --git a/src/mame/drivers/osi.cpp b/src/mame/drivers/osi.cpp index 725c98e2980..f76d91ee4e5 100644 --- a/src/mame/drivers/osi.cpp +++ b/src/mame/drivers/osi.cpp @@ -686,9 +686,10 @@ void c1pmf_state::machine_start() // disk format: 1 head, 36 tracks (? - manual displays a directory listing with 40 tracks), // 10 sectors, 256 byte sector length, first sector id 0 -static SLOT_INTERFACE_START( osi_floppies ) - SLOT_INTERFACE("ssdd", FLOPPY_525_SSDD) -SLOT_INTERFACE_END +static void osi_floppies(device_slot_interface &device) +{ + device.option_add("ssdd", FLOPPY_525_SSDD); +} /* F4 Character Displayer */ static const gfx_layout osi_charlayout = diff --git a/src/mame/drivers/othello.cpp b/src/mame/drivers/othello.cpp index 7ffeeed445d..4132ad69575 100644 --- a/src/mame/drivers/othello.cpp +++ b/src/mame/drivers/othello.cpp @@ -450,7 +450,7 @@ MACHINE_CONFIG_START(othello_state::othello) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.3) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END ROM_START( othello ) diff --git a/src/mame/drivers/p8k.cpp b/src/mame/drivers/p8k.cpp index 4065ee1c001..c6f42338f57 100644 --- a/src/mame/drivers/p8k.cpp +++ b/src/mame/drivers/p8k.cpp @@ -259,9 +259,10 @@ DECLARE_WRITE_LINE_MEMBER( p8k_state::fdc_irq ) m_pio2->port_b_write(state ? 0x10 : 0x00); } -static SLOT_INTERFACE_START( p8k_floppies ) - SLOT_INTERFACE( "525hd", FLOPPY_525_HD ) -SLOT_INTERFACE_END +static void p8k_floppies(device_slot_interface &device) +{ + device.option_add("525hd", FLOPPY_525_HD); +} /* Input ports */ static INPUT_PORTS_START( p8k ) diff --git a/src/mame/drivers/palm.cpp b/src/mame/drivers/palm.cpp index ae9349c1403..cee8f9e0d24 100644 --- a/src/mame/drivers/palm.cpp +++ b/src/mame/drivers/palm.cpp @@ -202,7 +202,7 @@ MACHINE_CONFIG_START(palm_state::palm) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_DEVICE_ADD( MC68328_TAG, MC68328, 0 ) // lsi device MCFG_MC68328_CPU("maincpu") diff --git a/src/mame/drivers/pandoras.cpp b/src/mame/drivers/pandoras.cpp index 649eb6b4b11..49b9b50797f 100644 --- a/src/mame/drivers/pandoras.cpp +++ b/src/mame/drivers/pandoras.cpp @@ -365,7 +365,7 @@ MACHINE_CONFIG_START(pandoras_state::pandoras) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.12) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/partner.cpp b/src/mame/drivers/partner.cpp index 3c68fdb4a59..a6598df8a8a 100644 --- a/src/mame/drivers/partner.cpp +++ b/src/mame/drivers/partner.cpp @@ -145,9 +145,10 @@ FLOPPY_FORMATS_MEMBER( partner_state::floppy_formats ) FLOPPY_SMX_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( partner_floppies ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void partner_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); +} /* F4 Character Displayer */ static const gfx_layout partner_charlayout = diff --git a/src/mame/drivers/pasopia7.cpp b/src/mame/drivers/pasopia7.cpp index 4edfc308b28..2ba8578adf4 100644 --- a/src/mame/drivers/pasopia7.cpp +++ b/src/mame/drivers/pasopia7.cpp @@ -913,9 +913,10 @@ void pasopia7_state::fdc_irq(bool state) m_maincpu->set_input_line(INPUT_LINE_IRQ0, state ? ASSERT_LINE : CLEAR_LINE); } -static SLOT_INTERFACE_START( pasopia7_floppies ) - SLOT_INTERFACE( "525hd", FLOPPY_525_HD ) -SLOT_INTERFACE_END +static void pasopia7_floppies(device_slot_interface &device) +{ + device.option_add("525hd", FLOPPY_525_HD); +} MACHINE_CONFIG_START(pasopia7_state::p7_base) /* basic machine hardware */ diff --git a/src/mame/drivers/pastelg.cpp b/src/mame/drivers/pastelg.cpp index 6c6249a5a93..3b0d72d5207 100644 --- a/src/mame/drivers/pastelg.cpp +++ b/src/mame/drivers/pastelg.cpp @@ -432,7 +432,7 @@ MACHINE_CONFIG_START(pastelg_state::pastelg) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END /* @@ -491,7 +491,7 @@ MACHINE_CONFIG_START(pastelg_state::threeds) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/pc100.cpp b/src/mame/drivers/pc100.cpp index 33fb115091f..8b556d2a1cf 100644 --- a/src/mame/drivers/pc100.cpp +++ b/src/mame/drivers/pc100.cpp @@ -490,9 +490,10 @@ TIMER_DEVICE_CALLBACK_MEMBER(pc100_state::pc100_10hz_irq) } } -static SLOT_INTERFACE_START( pc100_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) -SLOT_INTERFACE_END +static void pc100_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); +} #define MASTER_CLOCK 6988800 diff --git a/src/mame/drivers/pc1512.cpp b/src/mame/drivers/pc1512.cpp index 7c5765fd447..1d4d59b6938 100644 --- a/src/mame/drivers/pc1512.cpp +++ b/src/mame/drivers/pc1512.cpp @@ -1026,17 +1026,19 @@ WRITE_LINE_MEMBER( pc1512_base_state::write_centronics_fault ) // isa8bus_interface isabus_intf //------------------------------------------------- -SLOT_INTERFACE_START( pc1640_isa8_cards ) - SLOT_INTERFACE_INTERNAL("iga", ISA8_PC1640_IGA) -SLOT_INTERFACE_END +void pc1640_isa8_cards(device_slot_interface &device) +{ + device.option_add_internal("iga", ISA8_PC1640_IGA); +} FLOPPY_FORMATS_MEMBER( pc1512_base_state::floppy_formats ) FLOPPY_PC_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( pc1512_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) // Tandon TM65-2L -SLOT_INTERFACE_END +static void pc1512_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); // Tandon TM65-2L +} diff --git a/src/mame/drivers/pc8801.cpp b/src/mame/drivers/pc8801.cpp index 90787ebba81..2c658791750 100644 --- a/src/mame/drivers/pc8801.cpp +++ b/src/mame/drivers/pc8801.cpp @@ -2247,9 +2247,10 @@ GFXDECODE_END /* Floppy Configuration */ -static SLOT_INTERFACE_START( pc88_floppies ) - SLOT_INTERFACE( "525hd", FLOPPY_525_HD ) -SLOT_INTERFACE_END +static void pc88_floppies(device_slot_interface &device) +{ + device.option_add("525hd", FLOPPY_525_HD); +} #if 0 /* Cassette Configuration */ diff --git a/src/mame/drivers/pc88va.cpp b/src/mame/drivers/pc88va.cpp index ea0e60d7d62..a001eedd3b7 100644 --- a/src/mame/drivers/pc88va.cpp +++ b/src/mame/drivers/pc88va.cpp @@ -1774,9 +1774,10 @@ FLOPPY_FORMATS_MEMBER( pc88va_state::floppy_formats ) FLOPPY_XDF_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( pc88va_floppies ) - SLOT_INTERFACE( "525hd", FLOPPY_525_HD ) -SLOT_INTERFACE_END +static void pc88va_floppies(device_slot_interface &device) +{ + device.option_add("525hd", FLOPPY_525_HD); +} READ8_MEMBER(pc88va_state::dma_memr_cb) { diff --git a/src/mame/drivers/pc9801.cpp b/src/mame/drivers/pc9801.cpp index b52c78d5689..573364d97de 100644 --- a/src/mame/drivers/pc9801.cpp +++ b/src/mame/drivers/pc9801.cpp @@ -1960,26 +1960,28 @@ READ8_MEMBER(pc9801_state::unk_r) * ****************************************/ -static SLOT_INTERFACE_START( pc9801_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) - SLOT_INTERFACE( "525hd", FLOPPY_525_HD ) - SLOT_INTERFACE( "35hd", FLOPPY_35_HD ) -SLOT_INTERFACE_END +static void pc9801_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); + device.option_add("525hd", FLOPPY_525_HD); + device.option_add("35hd", FLOPPY_35_HD); +} -static SLOT_INTERFACE_START( pc9801_cbus ) +static void pc9801_cbus_devices(device_slot_interface &device) +{ // PC-9801-14 - SLOT_INTERFACE( "pc9801_26", PC9801_26 ) - SLOT_INTERFACE( "pc9801_86", PC9801_86 ) + device.option_add("pc9801_26", PC9801_26); + device.option_add("pc9801_86", PC9801_86); // PC-9801-86 // PC-9801-26 + PC-9801-86 (?) // PC-9801-86 + Chibi-Oto - SLOT_INTERFACE( "pc9801_118", PC9801_118 ) + device.option_add("pc9801_118", PC9801_118); // Speak Board // Spark Board // AMD-98 (AmuseMent boarD) - SLOT_INTERFACE( "pc9801_amd98", PC9801_AMD98 ) - SLOT_INTERFACE( "mpu_pc98", MPU_PC98 ) -SLOT_INTERFACE_END + device.option_add("pc9801_amd98", PC9801_AMD98); + device.option_add("mpu_pc98", MPU_PC98); +} // Jast Sound, could be put independently @@ -2197,9 +2199,10 @@ TIMER_DEVICE_CALLBACK_MEMBER( pc9801_state::mouse_irq_cb ) } } -SLOT_INTERFACE_START(pc9801_atapi_devices) - SLOT_INTERFACE("pc9801_cd", PC9801_CD) -SLOT_INTERFACE_END +void pc9801_atapi_devices(device_slot_interface &device) +{ + device.option_add("pc9801_cd", PC9801_CD); +} MACHINE_CONFIG_START(pc9801_state::pc9801_keyboard) MCFG_DEVICE_ADD("keyb", PC9801_KBD, 53) @@ -2219,8 +2222,8 @@ MACHINE_CONFIG_START(pc9801_state::pc9801_mouse) MACHINE_CONFIG_END MACHINE_CONFIG_START(pc9801_state::pc9801_cbus) - MCFG_PC9801CBUS_SLOT_ADD("cbus0", pc9801_cbus, "pc9801_26") - MCFG_PC9801CBUS_SLOT_ADD("cbus1", pc9801_cbus, nullptr) + MCFG_PC9801CBUS_SLOT_ADD("cbus0", pc9801_cbus_devices, "pc9801_26") + MCFG_PC9801CBUS_SLOT_ADD("cbus1", pc9801_cbus_devices, nullptr) // TODO: six max slots MACHINE_CONFIG_END diff --git a/src/mame/drivers/pcat_dyn.cpp b/src/mame/drivers/pcat_dyn.cpp index f83859e3b60..73b2cfa5e43 100644 --- a/src/mame/drivers/pcat_dyn.cpp +++ b/src/mame/drivers/pcat_dyn.cpp @@ -141,13 +141,15 @@ static INPUT_PORTS_START( pcat_dyn ) PORT_BIT(0x0040, IP_ACTIVE_HIGH, IPT_COIN1) INPUT_PORTS_END -static SLOT_INTERFACE_START(pcat_dyn_com) - SLOT_INTERFACE("msmouse", MSYSTEM_SERIAL_MOUSE) -SLOT_INTERFACE_END +static void pcat_dyn_com(device_slot_interface &device) +{ + device.option_add("msmouse", MSYSTEM_SERIAL_MOUSE); +} -static SLOT_INTERFACE_START( pcat_dyn_isa8_cards ) - SLOT_INTERFACE("sb15", ISA8_SOUND_BLASTER_1_5) -SLOT_INTERFACE_END +static void pcat_dyn_isa8_cards(device_slot_interface &device) +{ + device.option_add("sb15", ISA8_SOUND_BLASTER_1_5); +} static DEVICE_INPUT_DEFAULTS_START( pcat_dyn_sb_def ) DEVICE_INPUT_DEFAULTS("CONFIG", 0x03, 0x01) @@ -215,8 +217,8 @@ MACHINE_CONFIG_START(pcat_dyn_state::pcat_dyn) MCFG_ISA_OUT_DRQ3_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq3_w)) MCFG_ISA8_SLOT_ADD("isa", "isa1", pcat_dyn_isa8_cards, "sb15", true) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("sb15", pcat_dyn_sb_def) - MCFG_DEVICE_CARD_MACHINE_CONFIG("sb15", pcat_dyn_sb_conf) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("sb15", pcat_dyn_sb_def) + MCFG_SLOT_OPTION_MACHINE_CONFIG("sb15", pcat_dyn_sb_conf) MACHINE_CONFIG_END /*************************************** diff --git a/src/mame/drivers/pcd.cpp b/src/mame/drivers/pcd.cpp index 28c20a8e38c..83a60167487 100644 --- a/src/mame/drivers/pcd.cpp +++ b/src/mame/drivers/pcd.cpp @@ -478,10 +478,11 @@ void pcd_state::pcx_io(address_map &map) // MACHINE DRIVERS //************************************************************************** -static SLOT_INTERFACE_START( pcd_floppies ) - SLOT_INTERFACE("55f", TEAC_FD_55F) // 80 tracks - SLOT_INTERFACE("55g", TEAC_FD_55G) // 77 tracks -SLOT_INTERFACE_END +static void pcd_floppies(device_slot_interface &device) +{ + device.option_add("55f", TEAC_FD_55F); // 80 tracks + device.option_add("55g", TEAC_FD_55G); // 77 tracks +} FLOPPY_FORMATS_MEMBER( pcd_state::floppy_formats ) FLOPPY_PC_FORMAT diff --git a/src/mame/drivers/pce.cpp b/src/mame/drivers/pce.cpp index c94082daf62..77b34ea71ff 100644 --- a/src/mame/drivers/pce.cpp +++ b/src/mame/drivers/pce.cpp @@ -305,13 +305,14 @@ uint32_t pce_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, c } -static SLOT_INTERFACE_START(pce_cart) - SLOT_INTERFACE_INTERNAL("rom", PCE_ROM_STD) - SLOT_INTERFACE_INTERNAL("cdsys3u", PCE_ROM_CDSYS3) - SLOT_INTERFACE_INTERNAL("cdsys3j", PCE_ROM_CDSYS3) - SLOT_INTERFACE_INTERNAL("populous", PCE_ROM_POPULOUS) - SLOT_INTERFACE_INTERNAL("sf2", PCE_ROM_SF2) -SLOT_INTERFACE_END +static void pce_cart(device_slot_interface &device) +{ + device.option_add_internal("rom", PCE_ROM_STD); + device.option_add_internal("cdsys3u", PCE_ROM_CDSYS3); + device.option_add_internal("cdsys3j", PCE_ROM_CDSYS3); + device.option_add_internal("populous", PCE_ROM_POPULOUS); + device.option_add_internal("sf2", PCE_ROM_SF2); +} MACHINE_CONFIG_START(pce_state::pce_common) /* basic machine hardware */ diff --git a/src/mame/drivers/pcw.cpp b/src/mame/drivers/pcw.cpp index 1692dc3ee7b..3468065d24e 100644 --- a/src/mame/drivers/pcw.cpp +++ b/src/mame/drivers/pcw.cpp @@ -1240,9 +1240,10 @@ static INPUT_PORTS_START(pcw) PORT_BIT( 0xff, 0x00, IPT_UNUSED) INPUT_PORTS_END -static SLOT_INTERFACE_START( pcw_floppies ) - SLOT_INTERFACE( "3dsdd", FLOPPY_3_DSDD ) -SLOT_INTERFACE_END +static void pcw_floppies(device_slot_interface &device) +{ + device.option_add("3dsdd", FLOPPY_3_DSDD); +} /* PCW8256, PCW8512, PCW9256 */ MACHINE_CONFIG_START(pcw_state::pcw) diff --git a/src/mame/drivers/pcw16.cpp b/src/mame/drivers/pcw16.cpp index 1d2dd69184b..477735fd409 100644 --- a/src/mame/drivers/pcw16.cpp +++ b/src/mame/drivers/pcw16.cpp @@ -930,9 +930,10 @@ FLOPPY_FORMATS_MEMBER( pcw16_state::floppy_formats ) FLOPPY_PC_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( pcw16_floppies ) - SLOT_INTERFACE( "35hd", FLOPPY_35_HD ) -SLOT_INTERFACE_END +static void pcw16_floppies(device_slot_interface &device) +{ + device.option_add("35hd", FLOPPY_35_HD); +} void pcw16_state::pcw16_io(address_map &map) @@ -1004,9 +1005,10 @@ static INPUT_PORTS_START(pcw16) PORT_INCLUDE( at_keyboard ) /* IN4 - IN11 */ INPUT_PORTS_END -static SLOT_INTERFACE_START(pcw16_com) - SLOT_INTERFACE("msystems_mouse", MSYSTEM_SERIAL_MOUSE) -SLOT_INTERFACE_END +static void pcw16_com(device_slot_interface &device) +{ + device.option_add("msystems_mouse", MSYSTEM_SERIAL_MOUSE); +} MACHINE_CONFIG_START(pcw16_state::pcw16) /* basic machine hardware */ diff --git a/src/mame/drivers/pcxt.cpp b/src/mame/drivers/pcxt.cpp index e0d5a6b6e47..9b814e5895c 100644 --- a/src/mame/drivers/pcxt.cpp +++ b/src/mame/drivers/pcxt.cpp @@ -486,10 +486,11 @@ void pcxt_state::machine_reset() m_lastvalue = -1; } -static SLOT_INTERFACE_START( filetto_isa8_cards ) - SLOT_INTERFACE_INTERNAL("filetto", ISA8_CGA_FILETTO) - SLOT_INTERFACE_INTERNAL("tetriskr", ISA8_CGA_TETRISKR) -SLOT_INTERFACE_END +static void filetto_isa8_cards(device_slot_interface &device) +{ + device.option_add_internal("filetto", ISA8_CGA_FILETTO); + device.option_add_internal("tetriskr", ISA8_CGA_TETRISKR); +} MACHINE_CONFIG_START(pcxt_state::filetto) diff --git a/src/mame/drivers/peoplepc.cpp b/src/mame/drivers/peoplepc.cpp index 3a7e6690b5e..dbd4d098a3c 100644 --- a/src/mame/drivers/peoplepc.cpp +++ b/src/mame/drivers/peoplepc.cpp @@ -218,17 +218,19 @@ void peoplepc_state::peoplepc_io(address_map &map) map(0x0070, 0x0070).w(this, FUNC(peoplepc_state::dmapg_w)); } -static SLOT_INTERFACE_START( peoplepc_floppies ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void peoplepc_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); +} FLOPPY_FORMATS_MEMBER( peoplepc_state::floppy_formats ) FLOPPY_IMD_FORMAT FLOPPY_FORMATS_END -SLOT_INTERFACE_START( peoplepc_keyboard_devices ) - SLOT_INTERFACE("keyboard", SERIAL_KEYBOARD) -SLOT_INTERFACE_END +void peoplepc_keyboard_devices(device_slot_interface &device) +{ + device.option_add("keyboard", SERIAL_KEYBOARD); +} static DEVICE_INPUT_DEFAULTS_START(keyboard) DEVICE_INPUT_DEFAULTS( "RS232_TXBAUD", 0xff, RS232_BAUD_1200 ) @@ -296,7 +298,7 @@ MACHINE_CONFIG_START(peoplepc_state::olypeopl) MCFG_RS232_PORT_ADD("kbd", peoplepc_keyboard_devices, "keyboard") MCFG_RS232_RXD_HANDLER(DEVWRITELINE("i8251_0", i8251_device, write_rxd)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("keyboard", keyboard) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("keyboard", keyboard) MCFG_DEVICE_ADD("i8251_1", I8251, 0) MACHINE_CONFIG_END diff --git a/src/mame/drivers/pet.cpp b/src/mame/drivers/pet.cpp index cb73e92d25c..3ad844da28b 100644 --- a/src/mame/drivers/pet.cpp +++ b/src/mame/drivers/pet.cpp @@ -1584,9 +1584,10 @@ MC6845_UPDATE_ROW( pet80_state::cbm8296_update_row ) // SLOT_INTERFACE( cbm8296d_ieee488_devices ) //------------------------------------------------- -SLOT_INTERFACE_START( cbm8296d_ieee488_devices ) - SLOT_INTERFACE("c8250lp", C8250LP) -SLOT_INTERFACE_END +void cbm8296d_ieee488_devices(device_slot_interface &device) +{ + device.option_add("c8250lp", C8250LP); +} diff --git a/src/mame/drivers/pg685.cpp b/src/mame/drivers/pg685.cpp index dbf403c5902..8c13f539e1b 100644 --- a/src/mame/drivers/pg685.cpp +++ b/src/mame/drivers/pg685.cpp @@ -280,13 +280,15 @@ READ8_MEMBER(pg685_state::f9f3f_r) // FLOPPY //************************************************************************** -static SLOT_INTERFACE_START( pg675_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) -SLOT_INTERFACE_END +static void pg675_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); +} -static SLOT_INTERFACE_START( pg685_floppies ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void pg685_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); +} READ8_MEMBER(pg685_state::f9f24_r) diff --git a/src/mame/drivers/pimps.cpp b/src/mame/drivers/pimps.cpp index 6d4e7dda22b..de99b376419 100644 --- a/src/mame/drivers/pimps.cpp +++ b/src/mame/drivers/pimps.cpp @@ -148,7 +148,7 @@ MACHINE_CONFIG_START(pimps_state::pimps) MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart1", i8251_device, write_rxd)) MCFG_RS232_DSR_HANDLER(DEVWRITELINE("uart1", i8251_device, write_dsr)) MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart1", i8251_device, write_cts)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal) // must be exactly here + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) // must be exactly here MCFG_DEVICE_ADD("uart2", I8251, 0) MCFG_I8251_TXD_HANDLER(DEVWRITELINE("rs232b", rs232_port_device, write_txd)) diff --git a/src/mame/drivers/pipbug.cpp b/src/mame/drivers/pipbug.cpp index 6be0cb7708f..c63caf19d42 100644 --- a/src/mame/drivers/pipbug.cpp +++ b/src/mame/drivers/pipbug.cpp @@ -168,7 +168,7 @@ MACHINE_CONFIG_START(pipbug_state::pipbug) /* video hardware */ MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "terminal") MCFG_RS232_RXD_HANDLER(INPUTLINE("maincpu", S2650_SENSE_LINE)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) /* quickload */ MCFG_QUICKLOAD_ADD("quickload", pipbug_state, pipbug, "pgm", 1) diff --git a/src/mame/drivers/pk8020.cpp b/src/mame/drivers/pk8020.cpp index 1e0221916a1..43b9b724a46 100644 --- a/src/mame/drivers/pk8020.cpp +++ b/src/mame/drivers/pk8020.cpp @@ -171,9 +171,10 @@ FLOPPY_FORMATS_MEMBER( pk8020_state::floppy_formats ) FLOPPY_PK8020_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( pk8020_floppies ) - SLOT_INTERFACE("qd", FLOPPY_525_QD) -SLOT_INTERFACE_END +static void pk8020_floppies(device_slot_interface &device) +{ + device.option_add("qd", FLOPPY_525_QD); +} /* Machine driver */ diff --git a/src/mame/drivers/plus4.cpp b/src/mame/drivers/plus4.cpp index cd823f5d64a..60f0a43f2ee 100644 --- a/src/mame/drivers/plus4.cpp +++ b/src/mame/drivers/plus4.cpp @@ -815,10 +815,11 @@ WRITE_LINE_MEMBER( plus4_state::exp_irq_w ) // SLOT_INTERFACE( cbm_datassette_devices ) //------------------------------------------------- -SLOT_INTERFACE_START( plus4_datassette_devices ) - SLOT_INTERFACE("c1531", C1531) - SLOT_INTERFACE("diag264", DIAG264_CASSETTE_LOOPBACK) -SLOT_INTERFACE_END +void plus4_datassette_devices(device_slot_interface &device) +{ + device.option_add("c1531", C1531); + device.option_add("diag264", DIAG264_CASSETTE_LOOPBACK); +} diff --git a/src/mame/drivers/pockstat.cpp b/src/mame/drivers/pockstat.cpp index dda961ce241..55373c8165d 100644 --- a/src/mame/drivers/pockstat.cpp +++ b/src/mame/drivers/pockstat.cpp @@ -993,7 +993,7 @@ MACHINE_CONFIG_START(pockstat_state::pockstat) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) /* cartridge */ MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "pockstat_cart") diff --git a/src/mame/drivers/polepos.cpp b/src/mame/drivers/polepos.cpp index 0c8ce4307d0..9f7d2948aa9 100644 --- a/src/mame/drivers/polepos.cpp +++ b/src/mame/drivers/polepos.cpp @@ -1052,7 +1052,7 @@ MACHINE_CONFIG_START(polepos_state::topracern) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.12) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.12) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(polepos_state::polepos2bi) diff --git a/src/mame/drivers/pong.cpp b/src/mame/drivers/pong.cpp index 4f182270dfe..246fc77b0dc 100644 --- a/src/mame/drivers/pong.cpp +++ b/src/mame/drivers/pong.cpp @@ -407,7 +407,7 @@ MACHINE_CONFIG_START(pong_state::pong) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(breakout_state::breakout) @@ -460,7 +460,7 @@ MACHINE_CONFIG_START(breakout_state::breakout) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(pong_state::pongf) @@ -505,7 +505,7 @@ MACHINE_CONFIG_START(pong_state::pongd) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END /*************************************************************************** diff --git a/src/mame/drivers/popeye.cpp b/src/mame/drivers/popeye.cpp index 5ff43821de9..daafc6ab65a 100644 --- a/src/mame/drivers/popeye.cpp +++ b/src/mame/drivers/popeye.cpp @@ -622,9 +622,9 @@ MACHINE_CONFIG_START(tpp2_state::config) MCFG_SOUND_ROUTES_RESET() MCFG_AY8910_OUTPUT_TYPE(AY8910_RESISTOR_OUTPUT) /* Does tnx1, tpp1 & popeyebl have the same filtering? */ MCFG_AY8910_RES_LOADS(2000.0, 2000.0, 2000.0) - MCFG_SOUND_ROUTE_EX(0, "snd_nl", 1.0, 0) - MCFG_SOUND_ROUTE_EX(1, "snd_nl", 1.0, 1) - MCFG_SOUND_ROUTE_EX(2, "snd_nl", 1.0, 2) + MCFG_SOUND_ROUTE(0, "snd_nl", 1.0, 0) + MCFG_SOUND_ROUTE(1, "snd_nl", 1.0, 1) + MCFG_SOUND_ROUTE(2, "snd_nl", 1.0, 2) /* NETLIST configuration using internal AY8910 resistor values */ diff --git a/src/mame/drivers/ppmast93.cpp b/src/mame/drivers/ppmast93.cpp index adbb0156493..b9e4e71d190 100644 --- a/src/mame/drivers/ppmast93.cpp +++ b/src/mame/drivers/ppmast93.cpp @@ -404,7 +404,7 @@ MACHINE_CONFIG_START(ppmast93_state::ppmast93) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.3) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END ROM_START( ppmast93 ) diff --git a/src/mame/drivers/prof180x.cpp b/src/mame/drivers/prof180x.cpp index 2bd2b0951df..fa8cbe39964 100644 --- a/src/mame/drivers/prof180x.cpp +++ b/src/mame/drivers/prof180x.cpp @@ -207,9 +207,10 @@ INPUT_PORTS_END /* Video */ -static SLOT_INTERFACE_START( prof180x_floppies ) - SLOT_INTERFACE( "35dd", FLOPPY_35_DD ) -SLOT_INTERFACE_END +static void prof180x_floppies(device_slot_interface &device) +{ + device.option_add("35dd", FLOPPY_35_DD); +} /* static RTC8583_INTERFACE( rtc_intf ) diff --git a/src/mame/drivers/prof80.cpp b/src/mame/drivers/prof80.cpp index 410bb5f5ef9..105e267ecf0 100644 --- a/src/mame/drivers/prof80.cpp +++ b/src/mame/drivers/prof80.cpp @@ -395,9 +395,10 @@ INPUT_PORTS_END // upd765_interface fdc_intf //------------------------------------------------- -static SLOT_INTERFACE_START( prof80_floppies ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void prof80_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); +} diff --git a/src/mame/drivers/proteus.cpp b/src/mame/drivers/proteus.cpp index 4ad69477300..04087a4f641 100644 --- a/src/mame/drivers/proteus.cpp +++ b/src/mame/drivers/proteus.cpp @@ -313,9 +313,10 @@ FLOPPY_FORMATS_MEMBER(proteus_state::floppy_formats) FLOPPY_POLY_CPM_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START(proteus_floppies) - SLOT_INTERFACE("8dssd", FLOPPY_8_DSSD) // Shugart SA-860 -SLOT_INTERFACE_END +static void proteus_floppies(device_slot_interface &device) +{ + device.option_add("8dssd", FLOPPY_8_DSSD); // Shugart SA-860 +} MACHINE_CONFIG_START(proteus_state::proteus) diff --git a/src/mame/drivers/pt68k4.cpp b/src/mame/drivers/pt68k4.cpp index cb96355d3b1..a48d4426a66 100644 --- a/src/mame/drivers/pt68k4.cpp +++ b/src/mame/drivers/pt68k4.cpp @@ -156,9 +156,10 @@ FLOPPY_FORMATS_MEMBER( pt68k4_state::floppy_formats ) FLOPPY_IMD_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( pt68k_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) -SLOT_INTERFACE_END +static void pt68k_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); +} // XT keyboard interface - done in TTL instead of an 804x WRITE_LINE_MEMBER(pt68k4_state::keyboard_clock_w) @@ -389,16 +390,17 @@ WRITE_LINE_MEMBER(pt68k4_state::duart2_irq) } // these are cards supported by the HUMBUG and Monk BIOSes -SLOT_INTERFACE_START( pt68k4_isa8_cards ) - SLOT_INTERFACE("mda", ISA8_MDA) - SLOT_INTERFACE("cga", ISA8_CGA) - SLOT_INTERFACE("ega", ISA8_EGA) // Monk only - SLOT_INTERFACE("vga", ISA8_VGA) // Monk only - SLOT_INTERFACE("fdc_at", ISA8_FDC_AT) - SLOT_INTERFACE("wdxt_gen", ISA8_WDXT_GEN) - SLOT_INTERFACE("lpt", ISA8_LPT) - SLOT_INTERFACE("xtide", ISA8_XTIDE) // Monk only -SLOT_INTERFACE_END +void pt68k4_isa8_cards(device_slot_interface &device) +{ + device.option_add("mda", ISA8_MDA); + device.option_add("cga", ISA8_CGA); + device.option_add("ega", ISA8_EGA); // Monk only + device.option_add("vga", ISA8_VGA); // Monk only + device.option_add("fdc_at", ISA8_FDC_AT); + device.option_add("wdxt_gen", ISA8_WDXT_GEN); + device.option_add("lpt", ISA8_LPT); + device.option_add("xtide", ISA8_XTIDE); // Monk only +} MACHINE_CONFIG_START(pt68k4_state::pt68k2) /* basic machine hardware */ diff --git a/src/mame/drivers/pulsar.cpp b/src/mame/drivers/pulsar.cpp index e4c9fe0970a..15c4984aa01 100644 --- a/src/mame/drivers/pulsar.cpp +++ b/src/mame/drivers/pulsar.cpp @@ -179,9 +179,10 @@ static DEVICE_INPUT_DEFAULTS_START( terminal ) DEVICE_INPUT_DEFAULTS( "RS232_STOPBITS", 0xff, RS232_STOPBITS_1 ) DEVICE_INPUT_DEFAULTS_END -static SLOT_INTERFACE_START( pulsar_floppies ) - SLOT_INTERFACE( "525hd", FLOPPY_525_HD ) -SLOT_INTERFACE_END +static void pulsar_floppies(device_slot_interface &device) +{ + device.option_add("525hd", FLOPPY_525_HD); +} /* Input ports */ static INPUT_PORTS_START( pulsar ) @@ -236,7 +237,7 @@ MACHINE_CONFIG_START(pulsar_state::pulsar) MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "terminal") MCFG_RS232_RXD_HANDLER(DEVWRITELINE("dart", z80dart_device, rxa_w)) MCFG_RS232_CTS_HANDLER(DEVWRITELINE("dart", z80dart_device, ctsa_w)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) MCFG_DEVICE_ADD("brg", COM8116, XTAL(5'068'800)) // Schematic has the labels for FT and FR the wrong way around, but the pin numbers are correct. diff --git a/src/mame/drivers/pwrview.cpp b/src/mame/drivers/pwrview.cpp index b7b489bfed5..30411412452 100644 --- a/src/mame/drivers/pwrview.cpp +++ b/src/mame/drivers/pwrview.cpp @@ -397,9 +397,10 @@ void pwrview_state::pwrview_io(address_map &map) map(0xc2e6, 0xc2e6).r(this, FUNC(pwrview_state::pitclock_r)); } -static SLOT_INTERFACE_START(pwrview_floppies) - SLOT_INTERFACE("525dd", FLOPPY_525_DD) -SLOT_INTERFACE_END +static void pwrview_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); +} MACHINE_CONFIG_START(pwrview_state::pwrview) MCFG_CPU_ADD("maincpu", I80186, XTAL(16'000'000)) diff --git a/src/mame/drivers/pyl601.cpp b/src/mame/drivers/pyl601.cpp index f2c70e7ade5..d52d3475a21 100644 --- a/src/mame/drivers/pyl601.cpp +++ b/src/mame/drivers/pyl601.cpp @@ -494,9 +494,10 @@ FLOPPY_FORMATS_MEMBER( pyl601_state::floppy_formats ) FLOPPY_PYLDIN_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( pyl601_floppies ) - SLOT_INTERFACE( "525hd", FLOPPY_525_HD ) -SLOT_INTERFACE_END +static void pyl601_floppies(device_slot_interface &device) +{ + device.option_add("525hd", FLOPPY_525_HD); +} /* F4 Character Displayer */ static const gfx_layout pyl601_charlayout = diff --git a/src/mame/drivers/qtsbc.cpp b/src/mame/drivers/qtsbc.cpp index 98bd1d493a0..daad7dd9bd7 100644 --- a/src/mame/drivers/qtsbc.cpp +++ b/src/mame/drivers/qtsbc.cpp @@ -483,7 +483,7 @@ MACHINE_CONFIG_START(qtsbc_state::qtsbc) MCFG_RS232_DSR_HANDLER(DEVWRITELINE("usart", i8251_device, write_dsr)) // actually from pin 11, "Reverse Channel Transmit" MCFG_RS232_CTS_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_rts)) MCFG_RS232_DCD_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_dtr)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal) // must be exactly here + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) // must be exactly here MACHINE_CONFIG_END /* ROM definition */ diff --git a/src/mame/drivers/quantum.cpp b/src/mame/drivers/quantum.cpp index 87a0fbfca50..35c2efbc4a5 100644 --- a/src/mame/drivers/quantum.cpp +++ b/src/mame/drivers/quantum.cpp @@ -307,7 +307,7 @@ MACHINE_CONFIG_START(quantum_state::quantum) MCFG_POKEY_POT6_R_CB(READ8(quantum_state, input_1_r)) MCFG_POKEY_POT7_R_CB(READ8(quantum_state, input_1_r)) MCFG_POKEY_OUTPUT_OPAMP(RES_K(1), 0.0, 5.0) - MCFG_SOUND_ROUTE_EX(0, "discrete", 1.0, 0) + MCFG_SOUND_ROUTE(0, "discrete", 1.0, 0) MCFG_SOUND_ADD("pokey2", POKEY, 600000) MCFG_POKEY_POT0_R_CB(READ8(quantum_state, input_2_r)) @@ -319,7 +319,7 @@ MACHINE_CONFIG_START(quantum_state::quantum) MCFG_POKEY_POT6_R_CB(READ8(quantum_state, input_2_r)) MCFG_POKEY_POT7_R_CB(READ8(quantum_state, input_2_r)) MCFG_POKEY_OUTPUT_OPAMP(RES_K(1), 0.0, 5.0) - MCFG_SOUND_ROUTE_EX(0, "discrete", 1.0, 1) + MCFG_SOUND_ROUTE(0, "discrete", 1.0, 1) MCFG_SOUND_ADD("discrete", DISCRETE, 0) MCFG_DISCRETE_INTF(quantum) diff --git a/src/mame/drivers/quasar.cpp b/src/mame/drivers/quasar.cpp index 9e878e50a12..063dced522d 100644 --- a/src/mame/drivers/quasar.cpp +++ b/src/mame/drivers/quasar.cpp @@ -350,7 +350,7 @@ MACHINE_CONFIG_START(quasar_state::quasar) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END ROM_START( quasar ) diff --git a/src/mame/drivers/quizshow.cpp b/src/mame/drivers/quizshow.cpp index e33bd1fe8bb..1a1752049ca 100644 --- a/src/mame/drivers/quizshow.cpp +++ b/src/mame/drivers/quizshow.cpp @@ -411,7 +411,7 @@ MACHINE_CONFIG_START(quizshow_state::quizshow) MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/qx10.cpp b/src/mame/drivers/qx10.cpp index 9492063623e..e5e421c0825 100644 --- a/src/mame/drivers/qx10.cpp +++ b/src/mame/drivers/qx10.cpp @@ -381,9 +381,10 @@ QUICKLOAD_LOAD_MEMBER( qx10_state, qx10 ) FDD */ -static SLOT_INTERFACE_START( qx10_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) -SLOT_INTERFACE_END +static void qx10_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); +} WRITE_LINE_MEMBER( qx10_state::qx10_upd765_interrupt ) { @@ -721,9 +722,10 @@ void qx10_state::upd7220_map(address_map &map) map(0x00000, 0x3ffff).rw(this, FUNC(qx10_state::vram_r), FUNC(qx10_state::vram_w)); } -static SLOT_INTERFACE_START(keyboard) - SLOT_INTERFACE("qx10", QX10_KEYBOARD) -SLOT_INTERFACE_END +static void keyboard(device_slot_interface &device) +{ + device.option_add("qx10", QX10_KEYBOARD); +} MACHINE_CONFIG_START(qx10_state::qx10) /* basic machine hardware */ diff --git a/src/mame/drivers/rainbow.cpp b/src/mame/drivers/rainbow.cpp index 9356e686e68..682aa5a8680 100644 --- a/src/mame/drivers/rainbow.cpp +++ b/src/mame/drivers/rainbow.cpp @@ -862,12 +862,13 @@ FLOPPY_IMD_FORMAT, FLOPPY_PC_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START(rainbow_floppies) -SLOT_INTERFACE("525qd", FLOPPY_525_QD) // QD means 80 tracks with DD data rate (single or double sided). -SLOT_INTERFACE("525dd", FLOPPY_525_DD) // mimic a 5.25" PC (40 track) drive. Requires IDrive5.SYS. -SLOT_INTERFACE("35dd", FLOPPY_35_DD) // mimic 3.5" PC drive (720K, double density). Use Impdrv3.SYS. -SLOT_INTERFACE("525ssdd", FLOPPY_525_SSDD) // to read a single sided, (160K) PC-DOS 1 disk with MediaMaster -SLOT_INTERFACE_END +static void rainbow_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); // QD means 80 tracks with DD data rate (single or double sided). + device.option_add("525dd", FLOPPY_525_DD); // mimic a 5.25" PC (40 track) drive. Requires IDrive5.SYS. + device.option_add("35dd", FLOPPY_35_DD); // mimic 3.5" PC drive (720K, double density). Use Impdrv3.SYS. + device.option_add("525ssdd", FLOPPY_525_SSDD); // to read a single sided, (160K) PC-DOS 1 disk with MediaMaster +} void rainbow_state::machine_start() { diff --git a/src/mame/drivers/rastersp.cpp b/src/mame/drivers/rastersp.cpp index f792400a4e7..7d9337a9b26 100644 --- a/src/mame/drivers/rastersp.cpp +++ b/src/mame/drivers/rastersp.cpp @@ -848,10 +848,11 @@ void rastersp_state::ncr53c700(device_t *device) MCFG_NCR53C7XX_HOST_WRITE(DEVWRITE32(":", rastersp_state, ncr53c700_write)) } -static SLOT_INTERFACE_START( rastersp_scsi_devices ) - SLOT_INTERFACE("harddisk", NSCSI_HARDDISK) - SLOT_INTERFACE_INTERNAL("ncr53c700", NCR53C7XX) -SLOT_INTERFACE_END +static void rastersp_scsi_devices(device_slot_interface &device) +{ + device.option_add("harddisk", NSCSI_HARDDISK); + device.option_add_internal("ncr53c700", NCR53C7XX); +} /************************************* @@ -879,7 +880,7 @@ MACHINE_CONFIG_START(rastersp_state::rastersp) MCFG_NSCSI_BUS_ADD("scsibus") MCFG_NSCSI_ADD("scsibus:0", rastersp_scsi_devices, "harddisk", true) MCFG_NSCSI_ADD("scsibus:7", rastersp_scsi_devices, "ncr53c700", true) - MCFG_DEVICE_CARD_MACHINE_CONFIG("ncr53c700", ncr53c700) + MCFG_SLOT_OPTION_MACHINE_CONFIG("ncr53c700", ncr53c700) /* Video */ MCFG_SCREEN_ADD("screen", RASTER) @@ -899,8 +900,8 @@ MACHINE_CONFIG_START(rastersp_state::rastersp) MCFG_SOUND_ADD("ldac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) // unknown DAC MCFG_SOUND_ADD("rdac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/rc702.cpp b/src/mame/drivers/rc702.cpp index d2ea326a5c3..bbe87db641d 100644 --- a/src/mame/drivers/rc702.cpp +++ b/src/mame/drivers/rc702.cpp @@ -322,9 +322,10 @@ void rc702_state::kbd_put(u8 data) m_pio->strobe_a(1); } -static SLOT_INTERFACE_START( floppies ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); +} MACHINE_CONFIG_START(rc702_state::rc702) /* basic machine hardware */ diff --git a/src/mame/drivers/rc759.cpp b/src/mame/drivers/rc759.cpp index 0fa535c20ea..21be59dd228 100644 --- a/src/mame/drivers/rc759.cpp +++ b/src/mame/drivers/rc759.cpp @@ -525,9 +525,10 @@ INPUT_PORTS_END // MACHINE DRIVERS //************************************************************************** -static SLOT_INTERFACE_START( rc759_floppies ) - SLOT_INTERFACE("hd", FLOPPY_525_HD) -SLOT_INTERFACE_END +static void rc759_floppies(device_slot_interface &device) +{ + device.option_add("hd", FLOPPY_525_HD); +} MACHINE_CONFIG_START(rc759_state::rc759) MCFG_CPU_ADD("maincpu", I80186, 6000000) diff --git a/src/mame/drivers/replicator.cpp b/src/mame/drivers/replicator.cpp index 6ddba3655d5..698f56e2601 100644 --- a/src/mame/drivers/replicator.cpp +++ b/src/mame/drivers/replicator.cpp @@ -643,7 +643,7 @@ MACHINE_CONFIG_START(replicator_state::replicator) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(0, "speaker", 0.5) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MACHINE_CONFIG_END ROM_START( replica1 ) diff --git a/src/mame/drivers/risc2500.cpp b/src/mame/drivers/risc2500.cpp index ac1a4119fd3..71850608ccc 100644 --- a/src/mame/drivers/risc2500.cpp +++ b/src/mame/drivers/risc2500.cpp @@ -339,7 +339,7 @@ MACHINE_CONFIG_START(risc2500_state::risc2500) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_2BIT_BINARY_WEIGHTED_ONES_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/rltennis.cpp b/src/mame/drivers/rltennis.cpp index 23c3b98e031..958cbe977e1 100644 --- a/src/mame/drivers/rltennis.cpp +++ b/src/mame/drivers/rltennis.cpp @@ -210,8 +210,8 @@ MACHINE_CONFIG_START(rltennis_state::rltennis) MCFG_SOUND_ADD("dac1", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC MCFG_SOUND_ADD("dac2", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END ROM_START( rltennis ) diff --git a/src/mame/drivers/rm380z.cpp b/src/mame/drivers/rm380z.cpp index 7e20c7081d4..725309498d0 100644 --- a/src/mame/drivers/rm380z.cpp +++ b/src/mame/drivers/rm380z.cpp @@ -222,9 +222,10 @@ INPUT_PORTS_END // // -static SLOT_INTERFACE_START( rm380z_floppies ) - SLOT_INTERFACE("sssd", FLOPPY_525_SSSD) -SLOT_INTERFACE_END +static void rm380z_floppies(device_slot_interface &device) +{ + device.option_add("sssd", FLOPPY_525_SSSD); +} uint32_t rm380z_state::screen_update_rm380z(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { diff --git a/src/mame/drivers/rmnimbus.cpp b/src/mame/drivers/rmnimbus.cpp index e7855be4868..c50c650309a 100644 --- a/src/mame/drivers/rmnimbus.cpp +++ b/src/mame/drivers/rmnimbus.cpp @@ -28,13 +28,15 @@ #include "formats/pc_dsk.h" -static SLOT_INTERFACE_START(rmnimbus_floppies) - SLOT_INTERFACE( "35dd", FLOPPY_35_DD ) -SLOT_INTERFACE_END +static void rmnimbus_floppies(device_slot_interface &device) +{ + device.option_add("35dd", FLOPPY_35_DD); +} -static SLOT_INTERFACE_START(keyboard) - SLOT_INTERFACE("rmnkbd", RMNIMBUS_KEYBOARD) -SLOT_INTERFACE_END +static void keyboard(device_slot_interface &device) +{ + device.option_add("rmnkbd", RMNIMBUS_KEYBOARD); +} void rmnimbus_state::nimbus_mem(address_map &map) { diff --git a/src/mame/drivers/route16.cpp b/src/mame/drivers/route16.cpp index d7abaa945ed..e64fcdb46d3 100644 --- a/src/mame/drivers/route16.cpp +++ b/src/mame/drivers/route16.cpp @@ -685,7 +685,7 @@ MACHINE_CONFIG_START(route16_state::stratvox) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/rowamet.cpp b/src/mame/drivers/rowamet.cpp index 57874b4a86f..d57147bdd91 100644 --- a/src/mame/drivers/rowamet.cpp +++ b/src/mame/drivers/rowamet.cpp @@ -236,7 +236,7 @@ MACHINE_CONFIG_START(rowamet_state::rowamet) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END /*------------------------------------------------------------------- diff --git a/src/mame/drivers/royalmah.cpp b/src/mame/drivers/royalmah.cpp index 57b07ce2e34..e028270fc08 100644 --- a/src/mame/drivers/royalmah.cpp +++ b/src/mame/drivers/royalmah.cpp @@ -3529,7 +3529,7 @@ MACHINE_CONFIG_START(royalmah_state::jansou) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(royalmah_state::dondenmj) diff --git a/src/mame/drivers/s11.cpp b/src/mame/drivers/s11.cpp index b96b29cb99f..32b34a6e729 100644 --- a/src/mame/drivers/s11.cpp +++ b/src/mame/drivers/s11.cpp @@ -449,8 +449,8 @@ MACHINE_CONFIG_START(s11_state::s11) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) MCFG_SPEAKER_STANDARD_MONO("speech") MCFG_SOUND_ADD("hc55516", HC55516, 0) diff --git a/src/mame/drivers/s11a.cpp b/src/mame/drivers/s11a.cpp index de9adf93087..c07e7169fd8 100644 --- a/src/mame/drivers/s11a.cpp +++ b/src/mame/drivers/s11a.cpp @@ -241,8 +241,8 @@ MACHINE_CONFIG_START(s11a_state::s11a) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) MCFG_SPEAKER_STANDARD_MONO("speech") MCFG_SOUND_ADD("hc55516", HC55516, 0) diff --git a/src/mame/drivers/s11b.cpp b/src/mame/drivers/s11b.cpp index 65d3d5bc227..2bb0f92a4d9 100644 --- a/src/mame/drivers/s11b.cpp +++ b/src/mame/drivers/s11b.cpp @@ -315,8 +315,8 @@ MACHINE_CONFIG_START(s11b_state::s11b) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) MCFG_SPEAKER_STANDARD_MONO("speech") MCFG_SOUND_ADD("hc55516", HC55516, 0) diff --git a/src/mame/drivers/s3.cpp b/src/mame/drivers/s3.cpp index 13e013841ee..5a5b76c91ee 100644 --- a/src/mame/drivers/s3.cpp +++ b/src/mame/drivers/s3.cpp @@ -495,7 +495,7 @@ MACHINE_CONFIG_START(s3_state::s3a) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_DEVICE_ADD("pias", PIA6821, 0) MCFG_PIA_READPB_HANDLER(READ8(s3_state,sound_r)) diff --git a/src/mame/drivers/s4.cpp b/src/mame/drivers/s4.cpp index a9f4fdbb882..ff75edaaacb 100644 --- a/src/mame/drivers/s4.cpp +++ b/src/mame/drivers/s4.cpp @@ -489,7 +489,7 @@ MACHINE_CONFIG_START(s4_state::s4a) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_DEVICE_ADD("pias", PIA6821, 0) MCFG_PIA_READPB_HANDLER(READ8(s4_state, sound_r)) diff --git a/src/mame/drivers/s6.cpp b/src/mame/drivers/s6.cpp index 3c7f98571bd..f0f421ac433 100644 --- a/src/mame/drivers/s6.cpp +++ b/src/mame/drivers/s6.cpp @@ -459,7 +459,7 @@ MACHINE_CONFIG_START(s6_state::s6) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_SPEAKER_STANDARD_MONO("speech") MCFG_SOUND_ADD("hc55516", HC55516, 0) diff --git a/src/mame/drivers/s6a.cpp b/src/mame/drivers/s6a.cpp index 7fd6b295130..7689111eea6 100644 --- a/src/mame/drivers/s6a.cpp +++ b/src/mame/drivers/s6a.cpp @@ -442,7 +442,7 @@ MACHINE_CONFIG_START(s6a_state::s6a) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_SPEAKER_STANDARD_MONO("speech") MCFG_SOUND_ADD("hc55516", HC55516, 0) diff --git a/src/mame/drivers/s7.cpp b/src/mame/drivers/s7.cpp index ad45fd8e404..a88266a1af8 100644 --- a/src/mame/drivers/s7.cpp +++ b/src/mame/drivers/s7.cpp @@ -495,7 +495,7 @@ MACHINE_CONFIG_START(s7_state::s7) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_SPEAKER_STANDARD_MONO("speech") MCFG_SOUND_ADD("hc55516", HC55516, 0) diff --git a/src/mame/drivers/s8.cpp b/src/mame/drivers/s8.cpp index a58b0068b64..03bfc4a22e7 100644 --- a/src/mame/drivers/s8.cpp +++ b/src/mame/drivers/s8.cpp @@ -365,7 +365,7 @@ MACHINE_CONFIG_START(s8_state::s8) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_DEVICE_ADD("pias", PIA6821, 0) MCFG_PIA_READPA_HANDLER(READ8(s8_state, sound_r)) diff --git a/src/mame/drivers/s8a.cpp b/src/mame/drivers/s8a.cpp index 4178d7622d0..a9bec06fd7e 100644 --- a/src/mame/drivers/s8a.cpp +++ b/src/mame/drivers/s8a.cpp @@ -337,7 +337,7 @@ MACHINE_CONFIG_START(s8a_state::s8a) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_DEVICE_ADD("pias", PIA6821, 0) MCFG_PIA_READPA_HANDLER(READ8(s8a_state, sound_r)) diff --git a/src/mame/drivers/s9.cpp b/src/mame/drivers/s9.cpp index 5816970a114..d7ef5e23080 100644 --- a/src/mame/drivers/s9.cpp +++ b/src/mame/drivers/s9.cpp @@ -371,7 +371,7 @@ MACHINE_CONFIG_START(s9_state::s9) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_SPEAKER_STANDARD_MONO("speech") MCFG_SOUND_ADD("hc55516", HC55516, 0) diff --git a/src/mame/drivers/sage2.cpp b/src/mame/drivers/sage2.cpp index f6871a05c5c..7423e31b1e2 100644 --- a/src/mame/drivers/sage2.cpp +++ b/src/mame/drivers/sage2.cpp @@ -341,9 +341,10 @@ WRITE_LINE_MEMBER( sage2_state::br2_w ) // upd765_interface fdc_intf //------------------------------------------------- -static SLOT_INTERFACE_START( sage2_floppies ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) // Mitsubishi M4859 -SLOT_INTERFACE_END +static void sage2_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); // Mitsubishi M4859 +} void sage2_state::update_fdc_int() { @@ -454,7 +455,7 @@ MACHINE_CONFIG_START(sage2_state::sage2) MCFG_RS232_RXD_HANDLER(DEVWRITELINE(I8251_0_TAG, i8251_device, write_rxd)) MCFG_RS232_DSR_HANDLER(DEVWRITELINE(I8251_0_TAG, i8251_device, write_dsr)) MCFG_RS232_CTS_HANDLER(DEVWRITELINE(I8251_0_TAG, i8251_device, write_cts)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) MCFG_DEVICE_ADD(I8251_1_TAG, I8251, 0) MCFG_I8251_TXD_HANDLER(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_txd)) diff --git a/src/mame/drivers/samcoupe.cpp b/src/mame/drivers/samcoupe.cpp index 93089dd351b..048bd51cd0d 100644 --- a/src/mame/drivers/samcoupe.cpp +++ b/src/mame/drivers/samcoupe.cpp @@ -513,9 +513,10 @@ FLOPPY_FORMATS_MEMBER( samcoupe_state::floppy_formats ) FLOPPY_MGT_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( samcoupe_floppies ) - SLOT_INTERFACE( "35dd", FLOPPY_35_DD ) -SLOT_INTERFACE_END +static void samcoupe_floppies(device_slot_interface &device) +{ + device.option_add("35dd", FLOPPY_35_DD); +} MACHINE_CONFIG_START(samcoupe_state::samcoupe) diff --git a/src/mame/drivers/sapi1.cpp b/src/mame/drivers/sapi1.cpp index f8bc4272e19..42da3b51d3a 100644 --- a/src/mame/drivers/sapi1.cpp +++ b/src/mame/drivers/sapi1.cpp @@ -702,7 +702,7 @@ MACHINE_CONFIG_START(sapi1_state::sapi3a) MCFG_AY51013_AUTO_RDAV(true) // RDAV not actually tied to RDE, but pulsed by K155AG3 (=74123N): R25=22k, C14=220 MCFG_RS232_PORT_ADD("v24", default_rs232_devices, "terminal") - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) /* internal ram */ MCFG_RAM_ADD(RAM_TAG) diff --git a/src/mame/drivers/saturn.cpp b/src/mame/drivers/saturn.cpp index d605e67d2ea..ba716313f2d 100644 --- a/src/mame/drivers/saturn.cpp +++ b/src/mame/drivers/saturn.cpp @@ -853,15 +853,16 @@ MACHINE_CONFIG_START(sat_console_state::saturn) MCFG_SATURN_CONTROL_PORT_ADD("ctrl2", saturn_controls, "joypad") MACHINE_CONFIG_END -static SLOT_INTERFACE_START(saturn_cart) - SLOT_INTERFACE_INTERNAL("rom", SATURN_ROM) - SLOT_INTERFACE_INTERNAL("ram8", SATURN_DRAM_8MB) - SLOT_INTERFACE_INTERNAL("ram32", SATURN_DRAM_32MB) - SLOT_INTERFACE_INTERNAL("bram4", SATURN_BRAM_4MB) - SLOT_INTERFACE_INTERNAL("bram8", SATURN_BRAM_8MB) - SLOT_INTERFACE_INTERNAL("bram16", SATURN_BRAM_16MB) - SLOT_INTERFACE_INTERNAL("bram32", SATURN_BRAM_32MB) -SLOT_INTERFACE_END +static void saturn_cart(device_slot_interface &device) +{ + device.option_add_internal("rom", SATURN_ROM); + device.option_add_internal("ram8", SATURN_DRAM_8MB); + device.option_add_internal("ram32", SATURN_DRAM_32MB); + device.option_add_internal("bram4", SATURN_BRAM_4MB); + device.option_add_internal("bram8", SATURN_BRAM_8MB); + device.option_add_internal("bram16", SATURN_BRAM_16MB); + device.option_add_internal("bram32", SATURN_BRAM_32MB); +} MACHINE_CONFIG_START(sat_console_state::saturnus) diff --git a/src/mame/drivers/savquest.cpp b/src/mame/drivers/savquest.cpp index 80867511475..d44b66d27a6 100644 --- a/src/mame/drivers/savquest.cpp +++ b/src/mame/drivers/savquest.cpp @@ -807,9 +807,10 @@ WRITE_LINE_MEMBER(savquest_state::vblank_assert) { } -SLOT_INTERFACE_START( savquest_isa16_cards ) - SLOT_INTERFACE("sb16", ISA16_SOUND_BLASTER_16) -SLOT_INTERFACE_END +void savquest_isa16_cards(device_slot_interface &device) +{ + device.option_add("sb16", ISA16_SOUND_BLASTER_16); +} MACHINE_CONFIG_START(savquest_state::savquest) MCFG_CPU_ADD("maincpu", PENTIUM2, 450000000) // actually Pentium II 450 diff --git a/src/mame/drivers/sbasketb.cpp b/src/mame/drivers/sbasketb.cpp index f3c4fd7c780..362ed6bba35 100644 --- a/src/mame/drivers/sbasketb.cpp +++ b/src/mame/drivers/sbasketb.cpp @@ -238,7 +238,7 @@ MACHINE_CONFIG_START(sbasketb_state::sbasketb) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_SOUND_ADD("snsnd", SN76489, XTAL(14'318'181) / 8) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) diff --git a/src/mame/drivers/sbrain.cpp b/src/mame/drivers/sbrain.cpp index e2ee925e9d4..0da25855356 100644 --- a/src/mame/drivers/sbrain.cpp +++ b/src/mame/drivers/sbrain.cpp @@ -470,9 +470,10 @@ DRIVER_INIT_MEMBER( sbrain_state, sbrain ) m_bank2->configure_entry(1, &main[0x8000]); } -static SLOT_INTERFACE_START( sbrain_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) -SLOT_INTERFACE_END +static void sbrain_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); +} MACHINE_RESET_MEMBER( sbrain_state, sbrain ) { diff --git a/src/mame/drivers/sbrkout.cpp b/src/mame/drivers/sbrkout.cpp index 563a2eda958..72f7f263720 100644 --- a/src/mame/drivers/sbrkout.cpp +++ b/src/mame/drivers/sbrkout.cpp @@ -590,7 +590,7 @@ MACHINE_CONFIG_START(sbrkout_state::sbrkout) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.99) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/scv.cpp b/src/mame/drivers/scv.cpp index c70900c4ea9..2a68da51f73 100644 --- a/src/mame/drivers/scv.cpp +++ b/src/mame/drivers/scv.cpp @@ -647,15 +647,16 @@ static GFXDECODE_START( scv ) GFXDECODE_END -static SLOT_INTERFACE_START(scv_cart) - SLOT_INTERFACE_INTERNAL("rom8k", SCV_ROM8K) - SLOT_INTERFACE_INTERNAL("rom16k", SCV_ROM16K) - SLOT_INTERFACE_INTERNAL("rom32k", SCV_ROM32K) - SLOT_INTERFACE_INTERNAL("rom32k_ram", SCV_ROM32K_RAM8K) - SLOT_INTERFACE_INTERNAL("rom64k", SCV_ROM64K) - SLOT_INTERFACE_INTERNAL("rom128k", SCV_ROM128K) - SLOT_INTERFACE_INTERNAL("rom128k_ram", SCV_ROM128K_RAM4K) -SLOT_INTERFACE_END +static void scv_cart(device_slot_interface &device) +{ + device.option_add_internal("rom8k", SCV_ROM8K); + device.option_add_internal("rom16k", SCV_ROM16K); + device.option_add_internal("rom32k", SCV_ROM32K); + device.option_add_internal("rom32k_ram", SCV_ROM32K_RAM8K); + device.option_add_internal("rom64k", SCV_ROM64K); + device.option_add_internal("rom128k", SCV_ROM128K); + device.option_add_internal("rom128k_ram", SCV_ROM128K_RAM4K); +} MACHINE_CONFIG_START(scv_state::scv) diff --git a/src/mame/drivers/scyclone.cpp b/src/mame/drivers/scyclone.cpp index 143296021d4..87980788c95 100644 --- a/src/mame/drivers/scyclone.cpp +++ b/src/mame/drivers/scyclone.cpp @@ -654,16 +654,16 @@ MACHINE_CONFIG_START(scyclone_state::scyclone) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_SOUND_ADD("dac2", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref2", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/sdk80.cpp b/src/mame/drivers/sdk80.cpp index e58b57ab3c1..acf7dd89e71 100644 --- a/src/mame/drivers/sdk80.cpp +++ b/src/mame/drivers/sdk80.cpp @@ -138,7 +138,7 @@ MACHINE_CONFIG_START(sdk80_state::sdk80) MCFG_RS232_RXD_HANDLER(DEVWRITELINE(I8251A_TAG, i8251_device, write_rxd)) MCFG_RS232_DSR_HANDLER(DEVWRITELINE(I8251A_TAG, i8251_device, write_dsr)) MCFG_RS232_CTS_HANDLER(DEVWRITELINE(I8251A_TAG, i8251_device, write_cts)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) MCFG_DEVICE_ADD("usart_clock", CLOCK, XTAL(18'432'000)/60) MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(sdk80_state, usart_clock_tick)) diff --git a/src/mame/drivers/sdk86.cpp b/src/mame/drivers/sdk86.cpp index 892f2da868b..b82d8ef2e18 100644 --- a/src/mame/drivers/sdk86.cpp +++ b/src/mame/drivers/sdk86.cpp @@ -162,7 +162,7 @@ MACHINE_CONFIG_START(sdk86_state::sdk86) MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, "terminal") MCFG_RS232_RXD_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_rxd)) MCFG_RS232_DSR_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_dsr)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) MCFG_DEVICE_ADD("usart_clock", CLOCK, XTAL(14'745'600)/3/16) MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_txc)) diff --git a/src/mame/drivers/seattlecmp.cpp b/src/mame/drivers/seattlecmp.cpp index 8ec37dac3fd..d04d800f264 100644 --- a/src/mame/drivers/seattlecmp.cpp +++ b/src/mame/drivers/seattlecmp.cpp @@ -136,7 +136,7 @@ MACHINE_CONFIG_START(seattle_comp_state::seattle) MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart", i8251_device, write_rxd)) MCFG_RS232_DSR_HANDLER(DEVWRITELINE("uart", i8251_device, write_dsr)) MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart", i8251_device, write_cts)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal) // must be exactly here + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) // must be exactly here MACHINE_CONFIG_END /* ROM definition */ diff --git a/src/mame/drivers/segapico.cpp b/src/mame/drivers/segapico.cpp index 6f7280ab75c..8c0c5d254d7 100644 --- a/src/mame/drivers/segapico.cpp +++ b/src/mame/drivers/segapico.cpp @@ -371,11 +371,12 @@ static INPUT_PORTS_START( pico ) INPUT_PORTS_END -static SLOT_INTERFACE_START(pico_cart) - SLOT_INTERFACE_INTERNAL("rom", MD_STD_ROM) - SLOT_INTERFACE_INTERNAL("rom_sram", MD_ROM_SRAM) // not sure these are needed... - SLOT_INTERFACE_INTERNAL("rom_sramsafe", MD_ROM_SRAM) // not sure these are needed... -SLOT_INTERFACE_END +static void pico_cart(device_slot_interface &device) +{ + device.option_add_internal("rom", MD_STD_ROM); + device.option_add_internal("rom_sram", MD_ROM_SRAM); // not sure these are needed... + device.option_add_internal("rom_sramsafe", MD_ROM_SRAM); // not sure these are needed... +} MACHINE_START_MEMBER(pico_state,pico) { @@ -582,11 +583,12 @@ void copera_state::copera_mem(address_map &map) -static SLOT_INTERFACE_START(copera_cart) - SLOT_INTERFACE_INTERNAL("rom", MD_STD_ROM) - SLOT_INTERFACE_INTERNAL("rom_sram", MD_ROM_SRAM) // not sure these are needed... - SLOT_INTERFACE_INTERNAL("rom_sramsafe", MD_ROM_SRAM) // not sure these are needed... -SLOT_INTERFACE_END +static void copera_cart(device_slot_interface &device) +{ + device.option_add_internal("rom", MD_STD_ROM); + device.option_add_internal("rom_sram", MD_ROM_SRAM); // not sure these are needed... + device.option_add_internal("rom_sramsafe", MD_ROM_SRAM); // not sure these are needed... +} MACHINE_START_MEMBER(copera_state,copera) { diff --git a/src/mame/drivers/segas16a.cpp b/src/mame/drivers/segas16a.cpp index 75be59aece4..158e7a11d67 100644 --- a/src/mame/drivers/segas16a.cpp +++ b/src/mame/drivers/segas16a.cpp @@ -2025,7 +2025,7 @@ MACHINE_CONFIG_START(segas16a_state::system16a) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/segas24.cpp b/src/mame/drivers/segas24.cpp index 62db06b7ee1..a80e924849a 100644 --- a/src/mame/drivers/segas24.cpp +++ b/src/mame/drivers/segas24.cpp @@ -1918,7 +1918,7 @@ MACHINE_CONFIG_START(segas24_state::system24) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(segas24_state::mahmajn) diff --git a/src/mame/drivers/seicross.cpp b/src/mame/drivers/seicross.cpp index 8458d3eaf02..63a84493ef3 100644 --- a/src/mame/drivers/seicross.cpp +++ b/src/mame/drivers/seicross.cpp @@ -434,7 +434,7 @@ MACHINE_CONFIG_START(seicross_state::no_nvram) MCFG_SOUND_ADD("dac", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.12) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/senjyo.cpp b/src/mame/drivers/senjyo.cpp index a92e373c31c..0aa1069e66b 100644 --- a/src/mame/drivers/senjyo.cpp +++ b/src/mame/drivers/senjyo.cpp @@ -599,7 +599,7 @@ MACHINE_CONFIG_START(senjyo_state::senjyo) MCFG_SOUND_ADD("dac", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.05) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/sg1000.cpp b/src/mame/drivers/sg1000.cpp index e3eb180700b..fe97d63b09a 100644 --- a/src/mame/drivers/sg1000.cpp +++ b/src/mame/drivers/sg1000.cpp @@ -455,9 +455,10 @@ FLOPPY_FORMATS_END floppy_interface sf7000_floppy_interface -------------------------------------------------*/ -static SLOT_INTERFACE_START( sf7000_floppies ) - SLOT_INTERFACE( "3ssdd", FLOPPY_3_SSDD ) -SLOT_INTERFACE_END +static void sf7000_floppies(device_slot_interface &device) +{ + device.option_add("3ssdd", FLOPPY_3_SSDD); +} /*------------------------------------------------- MACHINE_START( sg1000 ) diff --git a/src/mame/drivers/shangkid.cpp b/src/mame/drivers/shangkid.cpp index 16ba388275a..95ef35bdc6b 100644 --- a/src/mame/drivers/shangkid.cpp +++ b/src/mame/drivers/shangkid.cpp @@ -422,7 +422,7 @@ MACHINE_CONFIG_START(shangkid_state::chinhero) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_SOUND_ADD("aysnd", AY8910, XTAL(18'432'000)/12) /* verified on pcb */ MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(shangkid_state, chinhero_ay8910_porta_w)) diff --git a/src/mame/drivers/shisen.cpp b/src/mame/drivers/shisen.cpp index cb5ed7f4196..0eb90bc92f4 100644 --- a/src/mame/drivers/shisen.cpp +++ b/src/mame/drivers/shisen.cpp @@ -260,7 +260,7 @@ MACHINE_CONFIG_START(shisen_state::shisen) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.25) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/sitcom.cpp b/src/mame/drivers/sitcom.cpp index 6c8e3208b11..02d22b51964 100644 --- a/src/mame/drivers/sitcom.cpp +++ b/src/mame/drivers/sitcom.cpp @@ -371,9 +371,9 @@ MACHINE_CONFIG_START(sitcom_state::sitcom) MCFG_I8255_IN_PORTC_CB(IOPORT("PORTC")) // video hardware - MCFG_DEVICE_ADD("ds0", DL1414T, 0) // left display + MCFG_DEVICE_ADD("ds0", DL1414T, u32(0)) // left display MCFG_DL1414_UPDATE_HANDLER(WRITE16(sitcom_state, update_ds<0>)) - MCFG_DEVICE_ADD("ds1", DL1414T, 0) // right display + MCFG_DEVICE_ADD("ds1", DL1414T, u32(0)) // right display MCFG_DL1414_UPDATE_HANDLER(WRITE16(sitcom_state, update_ds<1>)) // host interface @@ -388,7 +388,7 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(sitcom_timer_state::sitcomtmr) sitcom(config); - MCFG_DEVICE_ADD("ds2", DL1414T, 0) // remote display + MCFG_DEVICE_ADD("ds2", DL1414T, u32(0)) // remote display MCFG_DL1414_UPDATE_HANDLER(WRITE16(sitcom_timer_state, update_ds<2>)) MCFG_DEFAULT_LAYOUT(layout_sitcomtmr) diff --git a/src/mame/drivers/slicer.cpp b/src/mame/drivers/slicer.cpp index c31450db245..0187d05b858 100644 --- a/src/mame/drivers/slicer.cpp +++ b/src/mame/drivers/slicer.cpp @@ -83,10 +83,11 @@ void slicer_state::slicer_io(address_map &map) map(0x0185, 0x0185).r("sasi_ctrl_in", FUNC(input_buffer_device::read)); } -static SLOT_INTERFACE_START( slicer_floppies ) - SLOT_INTERFACE("525dd", FLOPPY_525_DD) - SLOT_INTERFACE("8dsdd", FLOPPY_8_DSDD) -SLOT_INTERFACE_END +static void slicer_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); + device.option_add("8dsdd", FLOPPY_8_DSDD); +} MACHINE_CONFIG_START(slicer_state::slicer) MCFG_CPU_ADD("maincpu", I80186, XTAL(16'000'000) / 2) diff --git a/src/mame/drivers/smc777.cpp b/src/mame/drivers/smc777.cpp index fb5c4594d5d..919fa1aabe6 100644 --- a/src/mame/drivers/smc777.cpp +++ b/src/mame/drivers/smc777.cpp @@ -1016,9 +1016,10 @@ INTERRUPT_GEN_MEMBER(smc777_state::vblank_irq) } -static SLOT_INTERFACE_START( smc777_floppies ) - SLOT_INTERFACE("ssdd", FLOPPY_35_SSDD) -SLOT_INTERFACE_END +static void smc777_floppies(device_slot_interface &device) +{ + device.option_add("ssdd", FLOPPY_35_SSDD); +} MACHINE_CONFIG_START(smc777_state::smc777) diff --git a/src/mame/drivers/snk6502.cpp b/src/mame/drivers/snk6502.cpp index 3d51c5307d4..3db13e11ee0 100644 --- a/src/mame/drivers/snk6502.cpp +++ b/src/mame/drivers/snk6502.cpp @@ -1071,7 +1071,7 @@ MACHINE_CONFIG_START(snk6502_state::fantasy) // otherwise it is using the VCO for the envelope, but the VCO is not hooked up MCFG_SN76477_ENVELOPE_PARAMS(0, 1) // envelope 1, 2 MCFG_SN76477_ENABLE(0) // enable - MCFG_SOUND_ROUTE_EX(0, "discrete", 1.0, 0) + MCFG_SOUND_ROUTE(0, "discrete", 1.0, 0) MCFG_SOUND_ADD("discrete", DISCRETE, 0) MCFG_DISCRETE_INTF(fantasy) diff --git a/src/mame/drivers/softbox.cpp b/src/mame/drivers/softbox.cpp index 6b5b7970931..dcca744fc8e 100644 --- a/src/mame/drivers/softbox.cpp +++ b/src/mame/drivers/softbox.cpp @@ -386,7 +386,7 @@ MACHINE_CONFIG_START(softbox_state::softbox) MCFG_RS232_RXD_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_rxd)) MCFG_RS232_DSR_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_dsr)) MCFG_RS232_CTS_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_cts)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) MCFG_DEVICE_ADD(I8255_0_TAG, I8255A, 0) MCFG_I8255_IN_PORTA_CB(READ8(softbox_state, ppi0_pa_r)) diff --git a/src/mame/drivers/sorcerer.cpp b/src/mame/drivers/sorcerer.cpp index f3e8da751dd..b4c1e25614f 100644 --- a/src/mame/drivers/sorcerer.cpp +++ b/src/mame/drivers/sorcerer.cpp @@ -447,7 +447,7 @@ MACHINE_CONFIG_START(sorcerer_state::sorcerer) MCFG_AY31015_AUTO_RDAV(true) MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "null_modem") - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) /* printer */ MCFG_CENTRONICS_ADD("centronics", centronics_devices, "covox") diff --git a/src/mame/drivers/spc1000.cpp b/src/mame/drivers/spc1000.cpp index 4a064b6de32..585917d6ea0 100644 --- a/src/mame/drivers/spc1000.cpp +++ b/src/mame/drivers/spc1000.cpp @@ -458,10 +458,11 @@ WRITE_LINE_MEMBER( spc1000_state::irq_w ) // address maps //------------------------------------------------- -extern SLOT_INTERFACE_START(spc1000_exp) - SLOT_INTERFACE("fdd", SPC1000_FDD_EXP) - SLOT_INTERFACE("vdp", SPC1000_VDP_EXP) -SLOT_INTERFACE_END +void spc1000_exp(device_slot_interface &device) +{ + device.option_add("fdd", SPC1000_FDD_EXP); + device.option_add("vdp", SPC1000_VDP_EXP); +} MACHINE_CONFIG_START(spc1000_state::spc1000) /* basic machine hardware */ diff --git a/src/mame/drivers/special.cpp b/src/mame/drivers/special.cpp index b66dfcc44bb..234423457f1 100644 --- a/src/mame/drivers/special.cpp +++ b/src/mame/drivers/special.cpp @@ -358,9 +358,10 @@ FLOPPY_FORMATS_MEMBER( special_state::specimx_floppy_formats ) FLOPPY_SMX_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( specimx_floppies ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void specimx_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); +} /* Machine driver */ MACHINE_CONFIG_START(special_state::special) @@ -385,7 +386,7 @@ MACHINE_CONFIG_START(special_state::special) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.0625) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette") MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) @@ -507,7 +508,7 @@ MACHINE_CONFIG_START(special_state::erik) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.0625) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette") MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) diff --git a/src/mame/drivers/specpls3.cpp b/src/mame/drivers/specpls3.cpp index 139cecad237..b3a7cd7e08b 100644 --- a/src/mame/drivers/specpls3.cpp +++ b/src/mame/drivers/specpls3.cpp @@ -348,9 +348,10 @@ DRIVER_INIT_MEMBER(spectrum_state,plus2) m_floppy = 0; } -static SLOT_INTERFACE_START( specpls3_floppies ) - SLOT_INTERFACE( "3ssdd", FLOPPY_3_SSDD ) -SLOT_INTERFACE_END +static void specpls3_floppies(device_slot_interface &device) +{ + device.option_add("3ssdd", FLOPPY_3_SSDD); +} /* F4 Character Displayer */ static const gfx_layout spectrum_charlayout = diff --git a/src/mame/drivers/squale.cpp b/src/mame/drivers/squale.cpp index 6fa00ec6102..16d9d588ed8 100644 --- a/src/mame/drivers/squale.cpp +++ b/src/mame/drivers/squale.cpp @@ -739,9 +739,10 @@ static INPUT_PORTS_START( squale ) INPUT_PORTS_END -static SLOT_INTERFACE_START( squale_floppies ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void squale_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); +} void squale_state::machine_start() { diff --git a/src/mame/drivers/ssozumo.cpp b/src/mame/drivers/ssozumo.cpp index 45b4593c789..681861c2bb4 100644 --- a/src/mame/drivers/ssozumo.cpp +++ b/src/mame/drivers/ssozumo.cpp @@ -234,7 +234,7 @@ MACHINE_CONFIG_START(ssozumo_state::ssozumo) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.3) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/sun3x.cpp b/src/mame/drivers/sun3x.cpp index 95ed03e46fa..8e652c7431f 100644 --- a/src/mame/drivers/sun3x.cpp +++ b/src/mame/drivers/sun3x.cpp @@ -577,9 +577,10 @@ FLOPPY_FORMATS_MEMBER( sun3x_state::floppy_formats ) FLOPPY_PC_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( sun_floppies ) - SLOT_INTERFACE( "35hd", FLOPPY_35_HD ) -SLOT_INTERFACE_END +static void sun_floppies(device_slot_interface &device) +{ + device.option_add("35hd", FLOPPY_35_HD); +} MACHINE_CONFIG_START(sun3x_state::sun3_80) /* basic machine hardware */ diff --git a/src/mame/drivers/sun4.cpp b/src/mame/drivers/sun4.cpp index 36067cfd5e7..23c08fa0c99 100644 --- a/src/mame/drivers/sun4.cpp +++ b/src/mame/drivers/sun4.cpp @@ -1887,15 +1887,17 @@ FLOPPY_FORMATS_MEMBER( sun4_state::floppy_formats ) FLOPPY_PC_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( sun_floppies ) - SLOT_INTERFACE( "35hd", FLOPPY_35_HD ) -SLOT_INTERFACE_END +static void sun_floppies(device_slot_interface &device) +{ + device.option_add("35hd", FLOPPY_35_HD); +} -static SLOT_INTERFACE_START( sun_scsi_devices ) - SLOT_INTERFACE("cdrom", NSCSI_CDROM) - SLOT_INTERFACE("harddisk", NSCSI_HARDDISK) - SLOT_INTERFACE_INTERNAL("ncr5390", NCR5390) -SLOT_INTERFACE_END +static void sun_scsi_devices(device_slot_interface &device) +{ + device.option_add("cdrom", NSCSI_CDROM); + device.option_add("harddisk", NSCSI_HARDDISK); + device.option_add_internal("ncr5390", NCR5390); +} void sun4_state::ncr5390(device_t *device) { @@ -1968,7 +1970,7 @@ MACHINE_CONFIG_START(sun4_state::sun4) MCFG_NSCSI_ADD("scsibus:5", sun_scsi_devices, nullptr, false) MCFG_NSCSI_ADD("scsibus:6", sun_scsi_devices, nullptr, false) MCFG_NSCSI_ADD("scsibus:7", sun_scsi_devices, "ncr5390", true) - MCFG_DEVICE_CARD_MACHINE_CONFIG("ncr5390", ncr5390) + MCFG_SLOT_OPTION_MACHINE_CONFIG("ncr5390", ncr5390) MACHINE_CONFIG_END MACHINE_CONFIG_START(sun4_state::sun4c) @@ -2033,7 +2035,7 @@ MACHINE_CONFIG_START(sun4_state::sun4c) MCFG_NSCSI_ADD("scsibus:5", sun_scsi_devices, nullptr, false) MCFG_NSCSI_ADD("scsibus:6", sun_scsi_devices, nullptr, false) MCFG_NSCSI_ADD("scsibus:7", sun_scsi_devices, "ncr5390", true) - MCFG_DEVICE_CARD_MACHINE_CONFIG("ncr5390", ncr5390) + MCFG_SLOT_OPTION_MACHINE_CONFIG("ncr5390", ncr5390) MCFG_SCREEN_ADD("bwtwo", RASTER) MCFG_SCREEN_UPDATE_DRIVER(sun4_state, bw2_update) diff --git a/src/mame/drivers/suna16.cpp b/src/mame/drivers/suna16.cpp index eb125547a6c..33dad960941 100644 --- a/src/mame/drivers/suna16.cpp +++ b/src/mame/drivers/suna16.cpp @@ -863,10 +863,10 @@ MACHINE_CONFIG_START(suna16_state::bssoccer) MCFG_SOUND_ADD("ldac2", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.2) // unknown DAC MCFG_SOUND_ADD("rdac2", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.2) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "ldac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac2", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac2", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac2", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac2", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END @@ -922,8 +922,8 @@ MACHINE_CONFIG_START(suna16_state::uballoon) MCFG_SOUND_ADD("ldac", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.25) // unknown DAC MCFG_SOUND_ADD("rdac", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END /*************************************************************************** @@ -978,8 +978,8 @@ MACHINE_CONFIG_START(suna16_state::sunaq) MCFG_SOUND_ADD("ldac", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.25) // unknown DAC MCFG_SOUND_ADD("rdac", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END /*************************************************************************** @@ -1045,10 +1045,10 @@ MACHINE_CONFIG_START(suna16_state::bestbest) MCFG_SOUND_ADD("ldac2", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.2) // unknown DAC MCFG_SOUND_ADD("rdac2", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.2) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "ldac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac2", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac2", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac2", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac2", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END /*************************************************************************** diff --git a/src/mame/drivers/suna8.cpp b/src/mame/drivers/suna8.cpp index 093daeadc32..8681c1c6fd8 100644 --- a/src/mame/drivers/suna8.cpp +++ b/src/mame/drivers/suna8.cpp @@ -2060,10 +2060,10 @@ MACHINE_CONFIG_START(suna8_state::brickzn11) MCFG_SOUND_ADD("ldac2", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.17) // unknown DAC MCFG_SOUND_ADD("rdac2", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.17) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "ldac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac2", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac2", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac2", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac2", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(suna8_state::brickzn) diff --git a/src/mame/drivers/super6.cpp b/src/mame/drivers/super6.cpp index 75cbec4648e..6b790a64be7 100644 --- a/src/mame/drivers/super6.cpp +++ b/src/mame/drivers/super6.cpp @@ -395,9 +395,10 @@ WRITE8_MEMBER(super6_state::io_write_byte) // floppy_format_type floppy_formats //------------------------------------------------- -static SLOT_INTERFACE_START( super6_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void super6_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_QD); +} WRITE_LINE_MEMBER( super6_state::fdc_intrq_w ) { @@ -519,7 +520,7 @@ MACHINE_CONFIG_START(super6_state::super6) MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, "terminal") MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxa_w)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, nullptr) MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxb_w)) diff --git a/src/mame/drivers/super80.cpp b/src/mame/drivers/super80.cpp index bb6f6f5531b..a10638dd482 100644 --- a/src/mame/drivers/super80.cpp +++ b/src/mame/drivers/super80.cpp @@ -690,9 +690,10 @@ void super80_state::machine_start() m_cass_led.resolve(); } -static SLOT_INTERFACE_START( super80_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) -SLOT_INTERFACE_END +static void super80_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); +} static const char *const relay_sample_names[] = diff --git a/src/mame/drivers/superslave.cpp b/src/mame/drivers/superslave.cpp index b2e39d51012..ab624bec04b 100644 --- a/src/mame/drivers/superslave.cpp +++ b/src/mame/drivers/superslave.cpp @@ -406,7 +406,7 @@ MACHINE_CONFIG_START(superslave_state::superslave) MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80DART_0_TAG, z80dart_device, rxa_w)) MCFG_RS232_DCD_HANDLER(DEVWRITELINE(Z80DART_0_TAG, z80dart_device, dcda_w)) MCFG_RS232_CTS_HANDLER(DEVWRITELINE(Z80DART_0_TAG, z80dart_device, ctsa_w)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, nullptr) MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80DART_0_TAG, z80dart_device, rxb_w)) diff --git a/src/mame/drivers/swtpc09.cpp b/src/mame/drivers/swtpc09.cpp index fb7db1e60f8..2c8062a3892 100644 --- a/src/mame/drivers/swtpc09.cpp +++ b/src/mame/drivers/swtpc09.cpp @@ -147,15 +147,16 @@ FLOPPY_FORMATS_MEMBER( swtpc09_state::floppy_formats ) FLOPPY_FORMATS_END // todo: implement floppy controller cards as slot devices and do this properly -static SLOT_INTERFACE_START( swtpc09_floppies ) - SLOT_INTERFACE("sssd", FLOPPY_525_SSSD) // flex 40 trks ss sd 5.25 - SLOT_INTERFACE("sssd35", FLOPPY_525_SSSD_35T) // flex 35 trks ss sd 5.25 - SLOT_INTERFACE("ssdd", FLOPPY_525_SSDD) // flex 40 trks ss dd 5.25 - SLOT_INTERFACE("dd", FLOPPY_525_DD) // flex 40 trks ds dd 5.25 - SLOT_INTERFACE("8dssd", FLOPPY_8_DSSD) // UNIFlex 8 inch ds sd - SLOT_INTERFACE("8dsdd", FLOPPY_8_DSDD) // UNIFlex 8 inch ds dd - SLOT_INTERFACE("35hd", FLOPPY_35_HD) // flex 1.44mb disk from swtpc emu (emulator only?) -SLOT_INTERFACE_END +static void swtpc09_floppies(device_slot_interface &device) +{ + device.option_add("sssd", FLOPPY_525_SSSD); // flex 40 trks ss sd 5.25 + device.option_add("sssd35", FLOPPY_525_SSSD_35T); // flex 35 trks ss sd 5.25 + device.option_add("ssdd", FLOPPY_525_SSDD); // flex 40 trks ss dd 5.25 + device.option_add("dd", FLOPPY_525_DD); // flex 40 trks ds dd 5.25 + device.option_add("8dssd", FLOPPY_8_DSSD); // UNIFlex 8 inch ds sd + device.option_add("8dsdd", FLOPPY_8_DSDD); // UNIFlex 8 inch ds dd + device.option_add("35hd", FLOPPY_35_HD); // flex 1.44mb disk from swtpc emu (emulator only?) +} /*************************************************************************** diff --git a/src/mame/drivers/sys9002.cpp b/src/mame/drivers/sys9002.cpp index d90851fe426..9feca342338 100644 --- a/src/mame/drivers/sys9002.cpp +++ b/src/mame/drivers/sys9002.cpp @@ -157,7 +157,7 @@ MACHINE_CONFIG_START(sys9002_state::sys9002) MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart1", i8251_device, write_rxd)) MCFG_RS232_DSR_HANDLER(DEVWRITELINE("uart1", i8251_device, write_dsr)) MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart1", i8251_device, write_cts)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", uart1) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", uart1) MCFG_DEVICE_ADD("uart2", I8251, 0) MCFG_I8251_TXD_HANDLER(DEVWRITELINE("rs232b", rs232_port_device, write_txd)) @@ -168,7 +168,7 @@ MACHINE_CONFIG_START(sys9002_state::sys9002) MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart2", i8251_device, write_rxd)) MCFG_RS232_DSR_HANDLER(DEVWRITELINE("uart2", i8251_device, write_dsr)) MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart2", i8251_device, write_cts)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", uart2) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", uart2) MACHINE_CONFIG_END /* ROM definition */ diff --git a/src/mame/drivers/tagteam.cpp b/src/mame/drivers/tagteam.cpp index f357602d65f..ca0b6614bdf 100644 --- a/src/mame/drivers/tagteam.cpp +++ b/src/mame/drivers/tagteam.cpp @@ -247,7 +247,7 @@ MACHINE_CONFIG_START(tagteam_state::tagteam) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/taito.cpp b/src/mame/drivers/taito.cpp index e4edd3cba1c..2ba90a15ec8 100644 --- a/src/mame/drivers/taito.cpp +++ b/src/mame/drivers/taito.cpp @@ -364,7 +364,7 @@ MACHINE_CONFIG_START(taito_state::taito) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.475) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_DEVICE_ADD("pia", PIA6821, 0) //MCFG_PIA_READPA_HANDLER(READ8(taito_state, pia_pa_r)) diff --git a/src/mame/drivers/taitogn.cpp b/src/mame/drivers/taitogn.cpp index 77e352d421b..92a3d1c70c1 100644 --- a/src/mame/drivers/taitogn.cpp +++ b/src/mame/drivers/taitogn.cpp @@ -686,12 +686,13 @@ void taitogn_state::taitogn_mp_map(address_map &map) map(0x1fa10100, 0x1fa10100).r(this, FUNC(taitogn_state::gnet_mahjong_panel_r)); } -SLOT_INTERFACE_START(slot_ataflash) - SLOT_INTERFACE("taitopccard1", TAITO_PCCARD1) - SLOT_INTERFACE("taitopccard2", TAITO_PCCARD2) - SLOT_INTERFACE("taitocf", TAITO_COMPACT_FLASH) - SLOT_INTERFACE("ataflash", ATA_FLASH_PCCARD) -SLOT_INTERFACE_END +void slot_ataflash(device_slot_interface &device) +{ + device.option_add("taitopccard1", TAITO_PCCARD1); + device.option_add("taitopccard2", TAITO_PCCARD2); + device.option_add("taitocf", TAITO_COMPACT_FLASH); + device.option_add("ataflash", ATA_FLASH_PCCARD); +} MACHINE_CONFIG_START(taitogn_state::coh3002t) diff --git a/src/mame/drivers/taitosj.cpp b/src/mame/drivers/taitosj.cpp index b1256844a7f..8cf6f50c14c 100644 --- a/src/mame/drivers/taitosj.cpp +++ b/src/mame/drivers/taitosj.cpp @@ -1826,7 +1826,7 @@ MACHINE_CONFIG_START(taitosj_state::nomcu) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.15) // 30k r-2r network MCFG_SOUND_ADD("dacvol", DISCRETE, 0) MCFG_DISCRETE_INTF(taitosj_dacvol) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/tandy2k.cpp b/src/mame/drivers/tandy2k.cpp index 19d627b6d40..db789a65e8b 100644 --- a/src/mame/drivers/tandy2k.cpp +++ b/src/mame/drivers/tandy2k.cpp @@ -700,9 +700,10 @@ FLOPPY_FORMATS_MEMBER( tandy2k_state::floppy_formats ) FLOPPY_TANDY_2000_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( tandy2k_floppies ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void tandy2k_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); +} // Keyboard diff --git a/src/mame/drivers/tavernie.cpp b/src/mame/drivers/tavernie.cpp index b5ea7a9184c..e3db604a5f0 100644 --- a/src/mame/drivers/tavernie.cpp +++ b/src/mame/drivers/tavernie.cpp @@ -187,9 +187,10 @@ MACHINE_RESET_MEMBER( tavernie_state, ivg09) m_pia_ivg->cb1_w(1); } -static SLOT_INTERFACE_START( ifd09_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) -SLOT_INTERFACE_END +static void ifd09_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); +} // can support 3 drives WRITE8_MEMBER( tavernie_state::ds_w ) diff --git a/src/mame/drivers/tceptor.cpp b/src/mame/drivers/tceptor.cpp index fdbdd63e1b5..60e5c4fc512 100644 --- a/src/mame/drivers/tceptor.cpp +++ b/src/mame/drivers/tceptor.cpp @@ -384,7 +384,7 @@ MACHINE_CONFIG_START(tceptor_state::tceptor) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.4) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.4) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/tdv2324.cpp b/src/mame/drivers/tdv2324.cpp index fd66194ebce..af802f173cf 100644 --- a/src/mame/drivers/tdv2324.cpp +++ b/src/mame/drivers/tdv2324.cpp @@ -248,9 +248,10 @@ uint32_t tdv2324_state::screen_update(screen_device &screen, bitmap_rgb32 &bitma // SLOT_INTERFACE( tdv2324_floppies ) //------------------------------------------------- -static SLOT_INTERFACE_START( tdv2324_floppies ) - SLOT_INTERFACE( "8dsdd", FLOPPY_8_DSDD ) -SLOT_INTERFACE_END +static void tdv2324_floppies(device_slot_interface &device) +{ + device.option_add("8dsdd", FLOPPY_8_DSDD); +} diff --git a/src/mame/drivers/terracre.cpp b/src/mame/drivers/terracre.cpp index a26cf0b0c1f..00fadbe6622 100644 --- a/src/mame/drivers/terracre.cpp +++ b/src/mame/drivers/terracre.cpp @@ -490,8 +490,8 @@ MACHINE_CONFIG_START(terracre_state::ym3526) MCFG_SOUND_ADD("dac1", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC MCFG_SOUND_ADD("dac2", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(terracre_state::ym2203) diff --git a/src/mame/drivers/testconsole.cpp b/src/mame/drivers/testconsole.cpp index 9d03cf2e472..abe38b77177 100644 --- a/src/mame/drivers/testconsole.cpp +++ b/src/mame/drivers/testconsole.cpp @@ -185,16 +185,16 @@ MACHINE_CONFIG_START(whouse_testcons_state::whousetc) MCFG_DEVICE_ADD("i8255", I8255, 0) - MCFG_DEVICE_ADD("dsp0", DL1416B, 0) + MCFG_DEVICE_ADD("dsp0", DL1416B, u32(0)) MCFG_DL1416_UPDATE_HANDLER(WRITE16(whouse_testcons_state, update_dsp<0>)) - MCFG_DEVICE_ADD("dsp1", DL1416B, 0) + MCFG_DEVICE_ADD("dsp1", DL1416B, u32(0)) MCFG_DL1416_UPDATE_HANDLER(WRITE16(whouse_testcons_state, update_dsp<1>)) - MCFG_DEVICE_ADD("dsp2", DL1416B, 0) + MCFG_DEVICE_ADD("dsp2", DL1416B, u32(0)) MCFG_DL1416_UPDATE_HANDLER(WRITE16(whouse_testcons_state, update_dsp<2>)) - MCFG_DEVICE_ADD("dsp3", DL1416B, 0) + MCFG_DEVICE_ADD("dsp3", DL1416B, u32(0)) MCFG_DL1416_UPDATE_HANDLER(WRITE16(whouse_testcons_state, update_dsp<3>)) MCFG_DEFAULT_LAYOUT(layout_whousetc) diff --git a/src/mame/drivers/thomson.cpp b/src/mame/drivers/thomson.cpp index 9f973423720..4a04e06136b 100644 --- a/src/mame/drivers/thomson.cpp +++ b/src/mame/drivers/thomson.cpp @@ -608,12 +608,13 @@ FLOPPY_FORMATS_MEMBER( thomson_state::cd90_640_formats ) FLOPPY_CD90_640_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( cd90_640_floppies ) - SLOT_INTERFACE("sssd", FLOPPY_525_SSSD) - SLOT_INTERFACE("sd", FLOPPY_525_SD) - SLOT_INTERFACE("ssdd", FLOPPY_525_SSDD) - SLOT_INTERFACE("dd", FLOPPY_525_DD) -SLOT_INTERFACE_END +static void cd90_640_floppies(device_slot_interface &device) +{ + device.option_add("sssd", FLOPPY_525_SSSD); + device.option_add("sd", FLOPPY_525_SD); + device.option_add("ssdd", FLOPPY_525_SSDD); + device.option_add("dd", FLOPPY_525_DD); +} /* ------------ driver ------------ */ @@ -652,8 +653,8 @@ MACHINE_CONFIG_START(thomson_state::to7) MCFG_SOUND_ADD("buzzer", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) MCFG_SOUND_ADD("dac", DAC_6BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC (6-bit game extension DAC) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "buzzer", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "buzzer", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) /* speech synthesis */ MCFG_SOUND_ADD("mea8000", MEA8000, 3840000) diff --git a/src/mame/drivers/tiki100.cpp b/src/mame/drivers/tiki100.cpp index 05b2eccc0ea..e56e1935862 100644 --- a/src/mame/drivers/tiki100.cpp +++ b/src/mame/drivers/tiki100.cpp @@ -628,11 +628,12 @@ FLOPPY_FORMATS_MEMBER( tiki100_state::floppy_formats ) FLOPPY_TIKI100_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( tiki100_floppies ) - SLOT_INTERFACE( "525ssdd", FLOPPY_525_SSDD ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) // Tead FD-55A - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) // Teac FD-55F -SLOT_INTERFACE_END +static void tiki100_floppies(device_slot_interface &device) +{ + device.option_add("525ssdd", FLOPPY_525_SSDD); + device.option_add("525dd", FLOPPY_525_DD); // Tead FD-55A + device.option_add("525qd", FLOPPY_525_QD); // Teac FD-55F +} /* AY-3-8912 Interface */ diff --git a/src/mame/drivers/tim011.cpp b/src/mame/drivers/tim011.cpp index fd025940f76..dc64f1b40ef 100644 --- a/src/mame/drivers/tim011.cpp +++ b/src/mame/drivers/tim011.cpp @@ -115,9 +115,10 @@ READ8_MEMBER(tim011_state::scroll_r) return m_scroll; } -static SLOT_INTERFACE_START( tim011_floppies ) - SLOT_INTERFACE( "35dd", FLOPPY_35_DD ) -SLOT_INTERFACE_END +static void tim011_floppies(device_slot_interface &device) +{ + device.option_add("35dd", FLOPPY_35_DD); +} static const floppy_format_type tim011_floppy_formats[] = { FLOPPY_IMD_FORMAT, diff --git a/src/mame/drivers/tim100.cpp b/src/mame/drivers/tim100.cpp index e7cfe6a057f..5c66d7e6e16 100644 --- a/src/mame/drivers/tim100.cpp +++ b/src/mame/drivers/tim100.cpp @@ -193,7 +193,7 @@ MACHINE_CONFIG_START(tim100_state::tim100) MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart_u17", i8251_device, write_rxd)) MCFG_RS232_DSR_HANDLER(DEVWRITELINE("uart_u17", i8251_device, write_dsr)) MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart_u17", i8251_device, write_cts)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("keyboard", tim100 ) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("keyboard", tim100) MCFG_DEVICE_ADD("uart_u18", I8251, 0) MCFG_I8251_TXD_HANDLER(DEVWRITELINE("rs232a", rs232_port_device, write_txd)) @@ -204,7 +204,7 @@ MACHINE_CONFIG_START(tim100_state::tim100) MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart_u18", i8251_device, write_rxd)) MCFG_RS232_DSR_HANDLER(DEVWRITELINE("uart_u18", i8251_device, write_dsr)) MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart_u18", i8251_device, write_cts)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", tim100 ) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", tim100) MCFG_DEVICE_ADD("uart_clock", CLOCK, 153600) MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("uart_u17", i8251_device, write_txc)) diff --git a/src/mame/drivers/tnzs.cpp b/src/mame/drivers/tnzs.cpp index cdedfa7524b..6acaceb32f7 100644 --- a/src/mame/drivers/tnzs.cpp +++ b/src/mame/drivers/tnzs.cpp @@ -1711,7 +1711,7 @@ MACHINE_CONFIG_START(kabukiz_state::kabukiz) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/trackfld.cpp b/src/mame/drivers/trackfld.cpp index 16fbd8cfffb..b254713addb 100644 --- a/src/mame/drivers/trackfld.cpp +++ b/src/mame/drivers/trackfld.cpp @@ -952,7 +952,7 @@ MACHINE_CONFIG_START(trackfld_state::trackfld) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) // ls374.8e + r34-r47(20k) + r35-r53(10k) + r54(20k) + upc324.8f MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_SOUND_ADD("snsnd", SN76496, SOUND_CLOCK/8) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) @@ -1028,7 +1028,7 @@ MACHINE_CONFIG_START(trackfld_state::yieartf) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) // ls374.8e + r34-r47(20k) + r35-r53(10k) + r54(20k) + upc324.8f MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_SOUND_ADD("snsnd", SN76496, MASTER_CLOCK/6/2) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) diff --git a/src/mame/drivers/tranz330.cpp b/src/mame/drivers/tranz330.cpp index 8eaaebf2ab1..3a4a623c985 100644 --- a/src/mame/drivers/tranz330.cpp +++ b/src/mame/drivers/tranz330.cpp @@ -172,21 +172,17 @@ void tranz330_state::tranz330(machine_config &config) m_ctc->set_zc_callback<2>(DEVCB_WRITELINE(tranz330_state, sound_w)); m_ctc->set_intr_callback(DEVCB_DEVWRITELINE("irq", input_merger_device, in_w<2>)); - RS232_PORT(config, m_rs232, 0); - m_rs232->option_reset(); - slot_options_default_rs232_devices(m_rs232); - m_rs232->set_default_option(nullptr); - m_rs232->set_fixed(false); + RS232_PORT(config, m_rs232, default_rs232_devices, nullptr); m_rs232->set_rxd_handler(DEVCB_DEVWRITELINE(m_dart, z80dart_device, rxb_w)); m_rs232->set_dcd_handler(DEVCB_DEVWRITELINE(m_dart, z80dart_device, dcdb_w)); m_rs232->set_cts_handler(DEVCB_DEVWRITELINE(m_dart, z80dart_device, ctsb_w)); // video - MIC10937(config, VFD_TAG, 60).set_port_value(0); + MIC10937(config, VFD_TAG).set_port_value(0); config.m_default_layout = &layout_tranz330; // sound - SPEAKER(config, "mono", 0).set_position(0.0, 0.0, 1.0); + SPEAKER(config, "mono", 0).standard_mono(); SPEAKER_SOUND(config, "speaker", 0) .add_route(ALL_OUTPUTS, "mono", 0.25); } diff --git a/src/mame/drivers/tricep.cpp b/src/mame/drivers/tricep.cpp index cf930c2b39b..d0bab99c53a 100644 --- a/src/mame/drivers/tricep.cpp +++ b/src/mame/drivers/tricep.cpp @@ -110,7 +110,7 @@ MACHINE_CONFIG_START(tricep_state::tricep) MCFG_RS232_DSR_HANDLER(DEVWRITELINE("pci0", mc2661_device, dsr_w)) MCFG_RS232_DCD_HANDLER(DEVWRITELINE("pci0", mc2661_device, dcd_w)) MCFG_RS232_CTS_HANDLER(DEVWRITELINE("pci0", mc2661_device, cts_w)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) MACHINE_CONFIG_END /* ROM definition */ diff --git a/src/mame/drivers/trs80.cpp b/src/mame/drivers/trs80.cpp index 09a3c5775e1..73583392b0b 100644 --- a/src/mame/drivers/trs80.cpp +++ b/src/mame/drivers/trs80.cpp @@ -600,9 +600,10 @@ FLOPPY_FORMATS_MEMBER( trs80_state::floppy_formats ) FLOPPY_DMK_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( trs80_floppies ) - SLOT_INTERFACE("sssd", FLOPPY_525_QD) -SLOT_INTERFACE_END +static void trs80_floppies(device_slot_interface &device) +{ + device.option_add("sssd", FLOPPY_525_QD); +} MACHINE_CONFIG_START(trs80_state::trs80) // the original model I, level I, with no extras diff --git a/src/mame/drivers/trs80m2.cpp b/src/mame/drivers/trs80m2.cpp index da546f91e3b..d85ef889dea 100644 --- a/src/mame/drivers/trs80m2.cpp +++ b/src/mame/drivers/trs80m2.cpp @@ -621,10 +621,11 @@ TIMER_DEVICE_CALLBACK_MEMBER(trs80m2_state::ctc_tick) m_ctc->trg2(0); } -static SLOT_INTERFACE_START( trs80m2_floppies ) - SLOT_INTERFACE( "8ssdd", FLOPPY_8_SSDD ) // Shugart SA-800 - SLOT_INTERFACE( "8dsdd", FLOPPY_8_DSDD ) // Shugart SA-850 -SLOT_INTERFACE_END +static void trs80m2_floppies(device_slot_interface &device) +{ + device.option_add("8ssdd", FLOPPY_8_SSDD); // Shugart SA-800 + device.option_add("8dsdd", FLOPPY_8_DSDD); // Shugart SA-850 +} //------------------------------------------------- diff --git a/src/mame/drivers/truco.cpp b/src/mame/drivers/truco.cpp index e98057f3f56..d2816e73c86 100644 --- a/src/mame/drivers/truco.cpp +++ b/src/mame/drivers/truco.cpp @@ -456,7 +456,7 @@ MACHINE_CONFIG_START(truco_state::truco) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/trucocl.cpp b/src/mame/drivers/trucocl.cpp index 5d370dde5c2..414e949ff21 100644 --- a/src/mame/drivers/trucocl.cpp +++ b/src/mame/drivers/trucocl.cpp @@ -169,7 +169,7 @@ MACHINE_CONFIG_START(trucocl_state::trucocl) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END /*************************************************************************** diff --git a/src/mame/drivers/ts802.cpp b/src/mame/drivers/ts802.cpp index 8166445d100..dd39d82a41b 100644 --- a/src/mame/drivers/ts802.cpp +++ b/src/mame/drivers/ts802.cpp @@ -138,9 +138,10 @@ WRITE8_MEMBER( ts802_state::io_write_byte ) m_io->write_byte(offset, data); } -static SLOT_INTERFACE_START( ts802_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) -SLOT_INTERFACE_END +static void ts802_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); +} MACHINE_RESET_MEMBER( ts802_state, ts802 ) { diff --git a/src/mame/drivers/ts803.cpp b/src/mame/drivers/ts803.cpp index 20a2b33ae39..0b563ed0482 100644 --- a/src/mame/drivers/ts803.cpp +++ b/src/mame/drivers/ts803.cpp @@ -183,9 +183,10 @@ INPUT_PORTS_END /* disk drive */ -static SLOT_INTERFACE_START( ts803_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) -SLOT_INTERFACE_END +static void ts803_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); +} WRITE8_MEMBER( ts803_state::disk_0_control_w ) { diff --git a/src/mame/drivers/tsamurai.cpp b/src/mame/drivers/tsamurai.cpp index c45711f438d..06fbeaebd0b 100644 --- a/src/mame/drivers/tsamurai.cpp +++ b/src/mame/drivers/tsamurai.cpp @@ -761,8 +761,8 @@ MACHINE_CONFIG_START(tsamurai_state::tsamurai) MCFG_SOUND_ADD("dac1", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1) // unknown DAC MCFG_SOUND_ADD("dac2", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END @@ -810,7 +810,7 @@ MACHINE_CONFIG_START(tsamurai_state::vsgongf) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END @@ -865,8 +865,8 @@ MACHINE_CONFIG_START(tsamurai_state::m660) MCFG_SOUND_ADD("dac1", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1) // unknown DAC MCFG_SOUND_ADD("dac2", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/tsispch.cpp b/src/mame/drivers/tsispch.cpp index 3de60e48469..9766de49c87 100644 --- a/src/mame/drivers/tsispch.cpp +++ b/src/mame/drivers/tsispch.cpp @@ -408,7 +408,7 @@ MACHINE_CONFIG_START(tsispch_state::prose2k) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_12BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) // unknown DAC (TODO: correctly figure out how the DAC works; apparently it is connected to the serial output of the upd7720, which will be "fun" to connect up) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) MCFG_GENERIC_TERMINAL_KEYBOARD_CB(DEVPUT("i8251a_u15", i8251_device, receive_character)) diff --git a/src/mame/drivers/turrett.cpp b/src/mame/drivers/turrett.cpp index 1c877e3f620..d146d0a27af 100644 --- a/src/mame/drivers/turrett.cpp +++ b/src/mame/drivers/turrett.cpp @@ -341,9 +341,10 @@ public: DEFINE_DEVICE_TYPE(TURRETT_HARDDISK, turrett_hdd, "turrett_hdd", "Turret Tower HDD") -SLOT_INTERFACE_START(turrett_devices) - SLOT_INTERFACE("hdd", TURRETT_HARDDISK) -SLOT_INTERFACE_END +void turrett_devices(device_slot_interface &device) +{ + device.option_add("hdd", TURRETT_HARDDISK); +} /************************************* * diff --git a/src/mame/drivers/tvc.cpp b/src/mame/drivers/tvc.cpp index 64875a8a08c..f71440da574 100644 --- a/src/mame/drivers/tvc.cpp +++ b/src/mame/drivers/tvc.cpp @@ -760,9 +760,10 @@ QUICKLOAD_LOAD_MEMBER( tvc_state, tvc64) } -extern SLOT_INTERFACE_START(tvc_exp) - SLOT_INTERFACE("hbf", TVC_HBF) // Videoton HBF floppy interface -SLOT_INTERFACE_END +void tvc_exp(device_slot_interface &device) +{ + device.option_add("hbf", TVC_HBF); // Videoton HBF floppy interface +} MACHINE_CONFIG_START(tvc_state::tvc) diff --git a/src/mame/drivers/unixpc.cpp b/src/mame/drivers/unixpc.cpp index 3a56d232efe..2c6c589113d 100644 --- a/src/mame/drivers/unixpc.cpp +++ b/src/mame/drivers/unixpc.cpp @@ -317,9 +317,10 @@ INPUT_PORTS_END MACHINE DRIVERS ***************************************************************************/ -static SLOT_INTERFACE_START( unixpc_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) -SLOT_INTERFACE_END +static void unixpc_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); +} MACHINE_CONFIG_START(unixpc_state::unixpc) // basic machine hardware diff --git a/src/mame/drivers/ut88.cpp b/src/mame/drivers/ut88.cpp index 5d54df9693a..49df616377b 100644 --- a/src/mame/drivers/ut88.cpp +++ b/src/mame/drivers/ut88.cpp @@ -211,7 +211,7 @@ MACHINE_CONFIG_START(ut88_state::ut88) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette") MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) diff --git a/src/mame/drivers/v1050.cpp b/src/mame/drivers/v1050.cpp index 4b93fbc93aa..24c3adc2418 100644 --- a/src/mame/drivers/v1050.cpp +++ b/src/mame/drivers/v1050.cpp @@ -929,10 +929,11 @@ void v1050_state::update_fdc() // disk format: 80 tracks, 1 head, 10 sectors, 512 bytes sector length, first sector id 1 -static SLOT_INTERFACE_START( v1050_floppies ) - SLOT_INTERFACE( "525ssqd", FLOPPY_525_SSQD ) // Teac FD 55E-02-U - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) // Teac FD 55-FV-35-U -SLOT_INTERFACE_END +static void v1050_floppies(device_slot_interface &device) +{ + device.option_add("525ssqd", FLOPPY_525_SSQD); // Teac FD 55E-02-U + device.option_add("525qd", FLOPPY_525_QD); // Teac FD 55-FV-35-U +} WRITE_LINE_MEMBER( v1050_state::fdc_intrq_w ) { diff --git a/src/mame/drivers/v6809.cpp b/src/mame/drivers/v6809.cpp index 4b30ac80bd3..828ae6786fd 100644 --- a/src/mame/drivers/v6809.cpp +++ b/src/mame/drivers/v6809.cpp @@ -270,9 +270,10 @@ WRITE_LINE_MEMBER( v6809_state::speaker_w ) // m_speaker->level_w(data); } -static SLOT_INTERFACE_START( v6809_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) -SLOT_INTERFACE_END +static void v6809_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); +} // *** Machine **** diff --git a/src/mame/drivers/vboy.cpp b/src/mame/drivers/vboy.cpp index 2db0706d211..404575393fd 100644 --- a/src/mame/drivers/vboy.cpp +++ b/src/mame/drivers/vboy.cpp @@ -1344,10 +1344,11 @@ TIMER_DEVICE_CALLBACK_MEMBER(vboy_state::vboy_scanlineR) #endif -static SLOT_INTERFACE_START(vboy_cart) - SLOT_INTERFACE_INTERNAL("vb_rom", VBOY_ROM_STD) - SLOT_INTERFACE_INTERNAL("vb_eeprom", VBOY_ROM_EEPROM) -SLOT_INTERFACE_END +static void vboy_cart(device_slot_interface &device) +{ + device.option_add_internal("vb_rom", VBOY_ROM_STD); + device.option_add_internal("vb_eeprom", VBOY_ROM_EEPROM); +} MACHINE_CONFIG_START(vboy_state::vboy) @@ -1389,7 +1390,7 @@ MACHINE_CONFIG_START(vboy_state::vboy) /* sound hardware */ MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") - MCFG_VBOYSND_ADD("vbsnd") + MCFG_DEVICE_ADD("vbsnd", VBOYSND) MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) MACHINE_CONFIG_END diff --git a/src/mame/drivers/vc4000.cpp b/src/mame/drivers/vc4000.cpp index 11fdaaaec9b..705bc3f1d6a 100644 --- a/src/mame/drivers/vc4000.cpp +++ b/src/mame/drivers/vc4000.cpp @@ -517,12 +517,13 @@ QUICKLOAD_LOAD_MEMBER( vc4000_state,vc4000) return result; } -static SLOT_INTERFACE_START(vc4000_cart) - SLOT_INTERFACE_INTERNAL("std", VC4000_ROM_STD) - SLOT_INTERFACE_INTERNAL("rom4k", VC4000_ROM_ROM4K) - SLOT_INTERFACE_INTERNAL("ram1k", VC4000_ROM_RAM1K) - SLOT_INTERFACE_INTERNAL("chess2", VC4000_ROM_CHESS2) -SLOT_INTERFACE_END +static void vc4000_cart(device_slot_interface &device) +{ + device.option_add_internal("std", VC4000_ROM_STD); + device.option_add_internal("rom4k", VC4000_ROM_ROM4K); + device.option_add_internal("ram1k", VC4000_ROM_RAM1K); + device.option_add_internal("chess2", VC4000_ROM_CHESS2); +} MACHINE_CONFIG_START(vc4000_state::vc4000) diff --git a/src/mame/drivers/vcombat.cpp b/src/mame/drivers/vcombat.cpp index 12663eb6fe5..34149e352a2 100644 --- a/src/mame/drivers/vcombat.cpp +++ b/src/mame/drivers/vcombat.cpp @@ -597,7 +597,7 @@ MACHINE_CONFIG_START(vcombat_state::vcombat) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_10BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END @@ -631,7 +631,7 @@ MACHINE_CONFIG_START(vcombat_state::shadfgtr) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_10BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/vector06.cpp b/src/mame/drivers/vector06.cpp index 40d9c779a20..1cc4e725d4c 100644 --- a/src/mame/drivers/vector06.cpp +++ b/src/mame/drivers/vector06.cpp @@ -152,9 +152,10 @@ FLOPPY_FORMATS_MEMBER( vector06_state::floppy_formats ) FLOPPY_VECTOR06_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( vector06_floppies ) - SLOT_INTERFACE("qd", FLOPPY_525_QD) -SLOT_INTERFACE_END +static void vector06_floppies(device_slot_interface &device) +{ + device.option_add("qd", FLOPPY_525_QD); +} /* Machine driver */ diff --git a/src/mame/drivers/vectrex.cpp b/src/mame/drivers/vectrex.cpp index 77c2d3f011f..327e93bd347 100644 --- a/src/mame/drivers/vectrex.cpp +++ b/src/mame/drivers/vectrex.cpp @@ -90,11 +90,12 @@ static INPUT_PORTS_START(vectrex) INPUT_PORTS_END -static SLOT_INTERFACE_START(vectrex_cart) - SLOT_INTERFACE_INTERNAL("vec_rom", VECTREX_ROM_STD) - SLOT_INTERFACE_INTERNAL("vec_rom64k", VECTREX_ROM_64K) - SLOT_INTERFACE_INTERNAL("vec_sram", VECTREX_ROM_SRAM) -SLOT_INTERFACE_END +static void vectrex_cart(device_slot_interface &device) +{ + device.option_add_internal("vec_rom", VECTREX_ROM_STD); + device.option_add_internal("vec_rom64k", VECTREX_ROM_64K); + device.option_add_internal("vec_sram", VECTREX_ROM_SRAM); +} MACHINE_CONFIG_START(vectrex_base_state::vectrex_base) /* basic machine hardware */ @@ -112,7 +113,7 @@ MACHINE_CONFIG_START(vectrex_base_state::vectrex_base) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // mc1408.ic301 (also used for vector generation) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_SOUND_ADD("ay8912", AY8912, 6_MHz_XTAL / 4) MCFG_AY8910_PORT_A_READ_CB(IOPORT("BUTTONS")) diff --git a/src/mame/drivers/vg5k.cpp b/src/mame/drivers/vg5k.cpp index 416caa68ffe..2a8e0916149 100644 --- a/src/mame/drivers/vg5k.cpp +++ b/src/mame/drivers/vg5k.cpp @@ -392,7 +392,7 @@ MACHINE_CONFIG_START(vg5k_state::vg5k) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.125) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) /* cassette */ MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette") diff --git a/src/mame/drivers/vidbrain.cpp b/src/mame/drivers/vidbrain.cpp index e4962f226a7..86c2ed09cd4 100644 --- a/src/mame/drivers/vidbrain.cpp +++ b/src/mame/drivers/vidbrain.cpp @@ -521,7 +521,7 @@ MACHINE_CONFIG_START(vidbrain_state::vidbrain) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_2BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.167) // 74ls74.u16 + 120k + 56k MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) // devices MCFG_DEVICE_ADD(F3853_TAG, F3853, XTAL(4'000'000)/2) diff --git a/src/mame/drivers/videopkr.cpp b/src/mame/drivers/videopkr.cpp index b64eebcd605..d3aacee79e1 100644 --- a/src/mame/drivers/videopkr.cpp +++ b/src/mame/drivers/videopkr.cpp @@ -1304,7 +1304,7 @@ MACHINE_CONFIG_START(videopkr_state::videopkr) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.275) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/vigilant.cpp b/src/mame/drivers/vigilant.cpp index 3f86702999c..9e46003850b 100644 --- a/src/mame/drivers/vigilant.cpp +++ b/src/mame/drivers/vigilant.cpp @@ -527,7 +527,7 @@ MACHINE_CONFIG_START(vigilant_state::vigilant) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(vigilant_state::buccanrs) @@ -593,7 +593,7 @@ MACHINE_CONFIG_START(vigilant_state::buccanrs) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.35) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.35) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END MACHINE_CONFIG_START(vigilant_state::kikcubic) @@ -643,7 +643,7 @@ MACHINE_CONFIG_START(vigilant_state::kikcubic) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/vis.cpp b/src/mame/drivers/vis.cpp index fe84573ac6c..9ec7fad238a 100644 --- a/src/mame/drivers/vis.cpp +++ b/src/mame/drivers/vis.cpp @@ -140,8 +140,8 @@ MACHINE_CONFIG_START(vis_audio_device::device_add_mconfig) MCFG_SOUND_ADD("ldac", DAC_16BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) // unknown DAC MCFG_SOUND_ADD("rdac", DAC_16BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END READ8_MEMBER(vis_audio_device::pcm_r) @@ -857,10 +857,11 @@ void vis_state::at16_io(address_map &map) map(0x031a, 0x031a).r(this, FUNC(vis_state::unk3_r)); } -static SLOT_INTERFACE_START(vis_cards) - SLOT_INTERFACE("visaudio", VIS_AUDIO) - SLOT_INTERFACE("visvga", VIS_VGA) -SLOT_INTERFACE_END +static void vis_cards(device_slot_interface &device) +{ + device.option_add("visaudio", VIS_AUDIO); + device.option_add("visvga", VIS_VGA); +} // TODO: other buttons static INPUT_PORTS_START(vis) diff --git a/src/mame/drivers/vixen.cpp b/src/mame/drivers/vixen.cpp index 8e8ee570d74..5289c6ce3dc 100644 --- a/src/mame/drivers/vixen.cpp +++ b/src/mame/drivers/vixen.cpp @@ -667,9 +667,10 @@ WRITE_LINE_MEMBER( vixen_state::atn_w ) update_interrupt(); } -static SLOT_INTERFACE_START( vixen_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) -SLOT_INTERFACE_END +static void vixen_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); +} WRITE_LINE_MEMBER( vixen_state::fdc_intrq_w ) { diff --git a/src/mame/drivers/wangpc.cpp b/src/mame/drivers/wangpc.cpp index 4b43c66f06d..27971f14339 100644 --- a/src/mame/drivers/wangpc.cpp +++ b/src/mame/drivers/wangpc.cpp @@ -1094,9 +1094,10 @@ WRITE_LINE_MEMBER( wangpc_state::epci_irq_w ) // upd765_interface fdc_intf //------------------------------------------------- -static SLOT_INTERFACE_START( wangpc_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) -SLOT_INTERFACE_END +static void wangpc_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); +} FLOPPY_FORMATS_MEMBER( wangpc_state::floppy_formats ) FLOPPY_PC_FORMAT diff --git a/src/mame/drivers/wheelfir.cpp b/src/mame/drivers/wheelfir.cpp index bb899a1c156..1538001e7a1 100644 --- a/src/mame/drivers/wheelfir.cpp +++ b/src/mame/drivers/wheelfir.cpp @@ -769,8 +769,8 @@ MACHINE_CONFIG_START(wheelfir_state::wheelfir) MCFG_SOUND_ADD("ldac", DAC_10BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) // unknown DAC MCFG_SOUND_ADD("rdac", DAC_10BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/wicat.cpp b/src/mame/drivers/wicat.cpp index 4c7fcba9b83..b5936c94cb0 100644 --- a/src/mame/drivers/wicat.cpp +++ b/src/mame/drivers/wicat.cpp @@ -288,9 +288,10 @@ static INPUT_PORTS_START( wicat ) INPUT_PORTS_END -static SLOT_INTERFACE_START(wicat_floppies) - SLOT_INTERFACE("525qd", FLOPPY_525_QD) -SLOT_INTERFACE_END +static void wicat_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); +} void wicat_state::driver_start() { diff --git a/src/mame/drivers/wildpkr.cpp b/src/mame/drivers/wildpkr.cpp index fac8dfcbda0..96e2ae65890 100644 --- a/src/mame/drivers/wildpkr.cpp +++ b/src/mame/drivers/wildpkr.cpp @@ -529,7 +529,7 @@ MACHINE_CONFIG_START(wildpkr_state::tabpkr) MCFG_SOUND_ADD("dac", AD557, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/williams.cpp b/src/mame/drivers/williams.cpp index c8f16936117..27e48479ed4 100644 --- a/src/mame/drivers/williams.cpp +++ b/src/mame/drivers/williams.cpp @@ -1492,7 +1492,7 @@ MACHINE_CONFIG_START(williams_state::williams) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // mc1408.ic6 MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) /* pia */ MCFG_DEVICE_ADD("pia_0", PIA6821, 0) @@ -1711,8 +1711,8 @@ MACHINE_CONFIG_START(blaster_state::blaster) MCFG_SOUND_ADD("ldac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.25) // unknown DAC MCFG_SOUND_ADD("rdac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END @@ -1756,7 +1756,7 @@ MACHINE_CONFIG_START(williams2_state::williams2) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) /* pia */ MCFG_DEVICE_ADD("pia_0", PIA6821, 0) diff --git a/src/mame/drivers/wmg.cpp b/src/mame/drivers/wmg.cpp index 02632727e6c..fa55c7a6af4 100644 --- a/src/mame/drivers/wmg.cpp +++ b/src/mame/drivers/wmg.cpp @@ -521,7 +521,7 @@ MACHINE_CONFIG_START(wmg_state::wmg) MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) /* pia */ MCFG_DEVICE_ADD("pia_0", PIA6821, 0) diff --git a/src/mame/drivers/wswan.cpp b/src/mame/drivers/wswan.cpp index d3b6d556e56..c0e17ac94b8 100644 --- a/src/mame/drivers/wswan.cpp +++ b/src/mame/drivers/wswan.cpp @@ -105,11 +105,12 @@ PALETTE_INIT_MEMBER(wscolor_state, wscolor) } } -static SLOT_INTERFACE_START(wswan_cart) - SLOT_INTERFACE_INTERNAL("ws_rom", WS_ROM_STD) - SLOT_INTERFACE_INTERNAL("ws_sram", WS_ROM_SRAM) - SLOT_INTERFACE_INTERNAL("ws_eeprom", WS_ROM_EEPROM) -SLOT_INTERFACE_END +static void wswan_cart(device_slot_interface &device) +{ + device.option_add_internal("ws_rom", WS_ROM_STD); + device.option_add_internal("ws_sram", WS_ROM_SRAM); + device.option_add_internal("ws_eeprom", WS_ROM_EEPROM); +} MACHINE_CONFIG_START(wswan_state::wswan) /* Basic machine hardware */ diff --git a/src/mame/drivers/wyvernf0.cpp b/src/mame/drivers/wyvernf0.cpp index 47e1eff2461..f5a86652a14 100644 --- a/src/mame/drivers/wyvernf0.cpp +++ b/src/mame/drivers/wyvernf0.cpp @@ -705,7 +705,7 @@ MACHINE_CONFIG_START(wyvernf0_state::wyvernf0) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END /*************************************************************************** diff --git a/src/mame/drivers/x1.cpp b/src/mame/drivers/x1.cpp index 904186c23ec..fde4a7e88a8 100644 --- a/src/mame/drivers/x1.cpp +++ b/src/mame/drivers/x1.cpp @@ -2194,9 +2194,10 @@ FLOPPY_FORMATS_MEMBER( x1_state::floppy_formats ) FLOPPY_2D_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( x1_floppies ) - SLOT_INTERFACE("dd", FLOPPY_525_DD) -SLOT_INTERFACE_END +static void x1_floppies(device_slot_interface &device) +{ + device.option_add("dd", FLOPPY_525_DD); +} MACHINE_CONFIG_START(x1_state::x1) /* basic machine hardware */ diff --git a/src/mame/drivers/x1twin.cpp b/src/mame/drivers/x1twin.cpp index 6a7f5f1a5e2..e0ed353dcc6 100644 --- a/src/mame/drivers/x1twin.cpp +++ b/src/mame/drivers/x1twin.cpp @@ -406,9 +406,10 @@ static const z80_daisy_config x1_daisy[] = { nullptr } }; -static SLOT_INTERFACE_START( x1_floppies ) - SLOT_INTERFACE("dd", FLOPPY_525_DD) -SLOT_INTERFACE_END +static void x1_floppies(device_slot_interface &device) +{ + device.option_add("dd", FLOPPY_525_DD); +} MACHINE_CONFIG_START(x1twin_state::x1twin) /* basic machine hardware */ diff --git a/src/mame/drivers/x68k.cpp b/src/mame/drivers/x68k.cpp index 80be6ab2c90..976d4c031e8 100644 --- a/src/mame/drivers/x68k.cpp +++ b/src/mame/drivers/x68k.cpp @@ -1468,11 +1468,12 @@ WRITE_LINE_MEMBER(x68k_state::x68k_irq4_line) logerror("EXP: IRQ4 set to %i (vector %02x)\n",state,m_current_vector[4]); } -static SLOT_INTERFACE_START(x68000_exp_cards) - SLOT_INTERFACE("neptunex",X68K_NEPTUNEX) // Neptune-X ethernet adapter (ISA NE2000 bridge) - SLOT_INTERFACE("cz6bs1",X68K_SCSIEXT) // Sharp CZ-6BS1 SCSI-1 controller - SLOT_INTERFACE("x68k_midi",X68K_MIDI) // X68000 MIDI interface -SLOT_INTERFACE_END +static void x68000_exp_cards(device_slot_interface &device) +{ + device.option_add("neptunex", X68K_NEPTUNEX); // Neptune-X ethernet adapter (ISA NE2000 bridge) + device.option_add("cz6bs1", X68K_SCSIEXT); // Sharp CZ-6BS1 SCSI-1 controller + device.option_add("x68k_midi", X68K_MIDI); // X68000 MIDI interface +} void x68k_state::machine_reset() { @@ -1624,13 +1625,15 @@ FLOPPY_FORMATS_MEMBER( x68k_state::floppy_formats ) FLOPPY_DIM_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( x68k_floppies ) - SLOT_INTERFACE( "525hd", FLOPPY_525_HD ) -SLOT_INTERFACE_END +static void x68k_floppies(device_slot_interface &device) +{ + device.option_add("525hd", FLOPPY_525_HD); +} -static SLOT_INTERFACE_START(keyboard) - SLOT_INTERFACE("x68k", X68K_KEYBOARD) -SLOT_INTERFACE_END +static void keyboard(device_slot_interface &device) +{ + device.option_add("x68k", X68K_KEYBOARD); +} MACHINE_CONFIG_START(x68k_state::x68000) /* basic machine hardware */ diff --git a/src/mame/drivers/xbox.cpp b/src/mame/drivers/xbox.cpp index df2587fbaa9..b85dc2c2ab9 100644 --- a/src/mame/drivers/xbox.cpp +++ b/src/mame/drivers/xbox.cpp @@ -158,14 +158,16 @@ void xbox_state::machine_reset() id[88] |= (1 << 2); // ultra dma mode 2 supported } -SLOT_INTERFACE_START(usb_xbox) - SLOT_INTERFACE("xbox_controller", OHCI_GAME_CONTROLLER) -SLOT_INTERFACE_END +void usb_xbox(device_slot_interface &device) +{ + device.option_add("xbox_controller", OHCI_GAME_CONTROLLER); +} -SLOT_INTERFACE_START(xbox_ata_devices) - SLOT_INTERFACE("hdd", IDE_HARDDISK) - SLOT_INTERFACE("cdrom", ATAPI_CDROM) -SLOT_INTERFACE_END +void xbox_ata_devices(device_slot_interface &device) +{ + device.option_add("hdd", IDE_HARDDISK); + device.option_add("cdrom", ATAPI_CDROM); +} MACHINE_CONFIG_START(xbox_state::xbox) xbox_base(config); diff --git a/src/mame/drivers/xerox820.cpp b/src/mame/drivers/xerox820.cpp index 3e91fe6e415..3f944013753 100644 --- a/src/mame/drivers/xerox820.cpp +++ b/src/mame/drivers/xerox820.cpp @@ -438,13 +438,14 @@ QUICKLOAD_LOAD_MEMBER( xerox820_state, xerox820 ) /* WD1771 Interface */ -static SLOT_INTERFACE_START( xerox820_floppies ) - SLOT_INTERFACE( "sa400", FLOPPY_525_SSSD_35T ) // Shugart SA-400, 35 trk drive - SLOT_INTERFACE( "sa400l", FLOPPY_525_SSSD ) // Shugart SA-400, 40 trk drive - SLOT_INTERFACE( "sa450", FLOPPY_525_DD ) // Shugart SA-450 - SLOT_INTERFACE( "sa800", FLOPPY_8_SSDD ) // Shugart SA-800 - SLOT_INTERFACE( "sa850", FLOPPY_8_DSDD ) // Shugart SA-850 -SLOT_INTERFACE_END +static void xerox820_floppies(device_slot_interface &device) +{ + device.option_add("sa400", FLOPPY_525_SSSD_35T); // Shugart SA-400, 35 trk drive + device.option_add("sa400l", FLOPPY_525_SSSD); // Shugart SA-400, 40 trk drive + device.option_add("sa450", FLOPPY_525_DD); // Shugart SA-450 + device.option_add("sa800", FLOPPY_8_SSDD); // Shugart SA-800 + device.option_add("sa850", FLOPPY_8_DSDD); // Shugart SA-850 +} void xerox820_state::update_nmi() { diff --git a/src/mame/drivers/xor100.cpp b/src/mame/drivers/xor100.cpp index 1d57b537130..5278ae2d0b9 100644 --- a/src/mame/drivers/xor100.cpp +++ b/src/mame/drivers/xor100.cpp @@ -424,9 +424,10 @@ WRITE_LINE_MEMBER( xor100_state::ctc_z2_w ) /* WD1795-02 Interface */ -static SLOT_INTERFACE_START( xor100_floppies ) - SLOT_INTERFACE( "8ssdd", FLOPPY_8_SSDD ) // Shugart SA-100 -SLOT_INTERFACE_END +static void xor100_floppies(device_slot_interface &device) +{ + device.option_add("8ssdd", FLOPPY_8_SSDD); // Shugart SA-100 +} void xor100_state::fdc_intrq_w(bool state) { @@ -461,8 +462,9 @@ static DEVICE_INPUT_DEFAULTS_START( terminal ) DEVICE_INPUT_DEFAULTS( "RS232_STOPBITS", 0xff, RS232_STOPBITS_1 ) DEVICE_INPUT_DEFAULTS_END -static SLOT_INTERFACE_START( xor100_s100_cards ) -SLOT_INTERFACE_END +static void xor100_s100_cards(device_slot_interface &device) +{ +} /* Machine Initialization */ @@ -530,7 +532,7 @@ MACHINE_CONFIG_START(xor100_state::xor100) MCFG_RS232_RXD_HANDLER(DEVWRITELINE(I8251_B_TAG, i8251_device, write_rxd)) MCFG_RS232_DSR_HANDLER(DEVWRITELINE(I8251_B_TAG, i8251_device, write_dsr)) MCFG_RS232_CTS_HANDLER(DEVWRITELINE(I8251_B_TAG, i8251_device, write_cts)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) MCFG_DEVICE_ADD(COM5016_TAG, COM8116, XTAL(5'068'800)) MCFG_COM8116_FR_HANDLER(DEVWRITELINE(I8251_A_TAG, i8251_device, write_txc)) diff --git a/src/mame/drivers/xtheball.cpp b/src/mame/drivers/xtheball.cpp index 45417350963..b2d0e844a13 100644 --- a/src/mame/drivers/xtheball.cpp +++ b/src/mame/drivers/xtheball.cpp @@ -338,7 +338,7 @@ MACHINE_CONFIG_START(xtheball_state::xtheball) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/drivers/z100.cpp b/src/mame/drivers/z100.cpp index 2a55cb3d3d8..1c1c1f24809 100644 --- a/src/mame/drivers/z100.cpp +++ b/src/mame/drivers/z100.cpp @@ -666,9 +666,10 @@ void z100_state::machine_reset() } } -static SLOT_INTERFACE_START( z100_floppies ) - SLOT_INTERFACE("dd", FLOPPY_525_DD) -SLOT_INTERFACE_END +static void z100_floppies(device_slot_interface &device) +{ + device.option_add("dd", FLOPPY_525_DD); +} MACHINE_CONFIG_START(z100_state::z100) /* basic machine hardware */ diff --git a/src/mame/drivers/z80ne.cpp b/src/mame/drivers/z80ne.cpp index 5491ba3d0b3..1ecf934d65d 100644 --- a/src/mame/drivers/z80ne.cpp +++ b/src/mame/drivers/z80ne.cpp @@ -410,9 +410,10 @@ FLOPPY_FORMATS_MEMBER( z80ne_state::floppy_formats ) FLOPPY_DMK_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( z80ne_floppies ) - SLOT_INTERFACE("sssd", FLOPPY_525_SSSD) -SLOT_INTERFACE_END +static void z80ne_floppies(device_slot_interface &device) +{ + device.option_add("sssd", FLOPPY_525_SSSD); +} MACHINE_CONFIG_START(z80ne_state::z80ne) /* basic machine hardware */ diff --git a/src/mame/drivers/z88.cpp b/src/mame/drivers/z88.cpp index cdee2567c0e..5bfa67a3e71 100644 --- a/src/mame/drivers/z88.cpp +++ b/src/mame/drivers/z88.cpp @@ -612,16 +612,17 @@ READ8_MEMBER(z88_state::kb_r) return data; } -static SLOT_INTERFACE_START(z88_cart) - SLOT_INTERFACE("32krom", Z88_32K_ROM) // 32KB ROM cart - SLOT_INTERFACE("128krom", Z88_128K_ROM) // 128KB ROM cart - SLOT_INTERFACE("256krom", Z88_256K_ROM) // 256KB ROM cart - SLOT_INTERFACE("32kram", Z88_32K_RAM) // 32KB RAM cart - SLOT_INTERFACE("128kram", Z88_128K_RAM) // 128KB RAM cart - SLOT_INTERFACE("512kram", Z88_512K_RAM) // 512KB RAM cart - SLOT_INTERFACE("1024kram", Z88_1024K_RAM) // 1024KB RAM cart - SLOT_INTERFACE("1024kflash", Z88_1024K_FLASH) // 1024KB Flash cart -SLOT_INTERFACE_END +static void z88_cart(device_slot_interface &device) +{ + device.option_add("32krom", Z88_32K_ROM); // 32KB ROM cart + device.option_add("128krom", Z88_128K_ROM); // 128KB ROM cart + device.option_add("256krom", Z88_256K_ROM); // 256KB ROM cart + device.option_add("32kram", Z88_32K_RAM); // 32KB RAM cart + device.option_add("128kram", Z88_128K_RAM); // 128KB RAM cart + device.option_add("512kram", Z88_512K_RAM); // 512KB RAM cart + device.option_add("1024kram", Z88_1024K_RAM); // 1024KB RAM cart + device.option_add("1024kflash", Z88_1024K_FLASH); // 1024KB Flash cart +} MACHINE_CONFIG_START(z88_state::z88) /* basic machine hardware */ diff --git a/src/mame/drivers/zorba.cpp b/src/mame/drivers/zorba.cpp index 01e5ead77be..ec360fcea3b 100644 --- a/src/mame/drivers/zorba.cpp +++ b/src/mame/drivers/zorba.cpp @@ -108,9 +108,10 @@ INPUT_PORTS_START( zorba ) INPUT_PORTS_END -SLOT_INTERFACE_START( zorba_floppies ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) -SLOT_INTERFACE_END +void zorba_floppies(device_slot_interface &device) +{ + device.option_add("525dd", FLOPPY_525_DD); +} // F4 Character Displayer @@ -136,7 +137,7 @@ GFXDECODE_END MACHINE_CONFIG_START(zorba_state::zorba) // basic machine hardware - MCFG_CPU_ADD("maincpu", Z80, 24_MHz_XTAL / 6) + MCFG_CPU_ADD(m_maincpu, Z80, 24_MHz_XTAL / 6) MCFG_CPU_PROGRAM_MAP(zorba_mem) MCFG_CPU_IO_MAP(zorba_io) @@ -145,11 +146,11 @@ MACHINE_CONFIG_START(zorba_state::zorba) MCFG_SCREEN_REFRESH_RATE(50) MCFG_SCREEN_UPDATE_DEVICE("crtc", i8275_device, screen_update) MCFG_GFXDECODE_ADD("gfxdecode", "palette", zorba) - MCFG_PALETTE_ADD_MONOCHROME_HIGHLIGHT("palette") + MCFG_PALETTE_ADD_MONOCHROME_HIGHLIGHT(m_palette) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") - MCFG_SOUND_ADD("beeper", BEEP, 800) // should be horizontal frequency / 16, so depends on CRTC parameters + MCFG_SOUND_ADD(m_beep, BEEP, 800) // should be horizontal frequency / 16, so depends on CRTC parameters MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) MCFG_INPUT_MERGER_ANY_HIGH("irq0") @@ -160,7 +161,7 @@ MACHINE_CONFIG_START(zorba_state::zorba) MCFG_INPUT_MERGER_OUTPUT_HANDLER(WRITELINE(zorba_state, irq_w<2>)) /* devices */ - MCFG_DEVICE_ADD("dma", Z80DMA, 24_MHz_XTAL / 6) + MCFG_DEVICE_ADD(m_dma, Z80DMA, 24_MHz_XTAL / 6) // busack on cpu connects to bai pin MCFG_Z80DMA_OUT_BUSREQ_CB(WRITELINE(zorba_state, busreq_w)) //connects to busreq on cpu MCFG_Z80DMA_OUT_INT_CB(DEVWRITELINE("irq0", input_merger_device, in_w<0>)) @@ -170,33 +171,33 @@ MACHINE_CONFIG_START(zorba_state::zorba) MCFG_Z80DMA_IN_IORQ_CB(READ8(zorba_state, io_read_byte)) MCFG_Z80DMA_OUT_IORQ_CB(WRITE8(zorba_state, io_write_byte)) - MCFG_DEVICE_ADD("uart0", I8251, 0) // U32 COM port J2 + MCFG_DEVICE_ADD(m_uart0, I8251, 0) // U32 COM port J2 MCFG_I8251_TXD_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_txd)) // TODO: this line has a LED attached MCFG_I8251_DTR_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_dtr)) MCFG_I8251_RTS_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_rts)) MCFG_I8251_RXRDY_HANDLER(WRITELINE(zorba_state, tx_rx_rdy_w<1>)) MCFG_I8251_TXRDY_HANDLER(WRITELINE(zorba_state, tx_rx_rdy_w<0>)) - MCFG_DEVICE_ADD("uart1", I8251, 0) // U31 printer port J3 + MCFG_DEVICE_ADD(m_uart1, I8251, 0) // U31 printer port J3 MCFG_I8251_TXD_HANDLER(DEVWRITELINE("serprn", rs232_port_device, write_txd)) MCFG_I8251_RTS_HANDLER(DEVWRITELINE("serprn", rs232_port_device, write_rts)) MCFG_I8251_RXRDY_HANDLER(WRITELINE(zorba_state, tx_rx_rdy_w<3>)) MCFG_I8251_TXRDY_HANDLER(WRITELINE(zorba_state, tx_rx_rdy_w<2>)) - MCFG_DEVICE_ADD("uart2", I8251, 0) // U30 serial keyboard J6 + MCFG_DEVICE_ADD(m_uart2, I8251, 0) // U30 serial keyboard J6 MCFG_I8251_TXD_HANDLER(DEVWRITELINE("keyboard", zorba_keyboard_device, txd_w)) MCFG_I8251_RXRDY_HANDLER(WRITELINE(zorba_state, tx_rx_rdy_w<5>)) MCFG_I8251_TXRDY_HANDLER(WRITELINE(zorba_state, tx_rx_rdy_w<4>)) // port A - disk select etc, beeper // port B - parallel interface - MCFG_DEVICE_ADD("pia0", PIA6821, 0) + MCFG_DEVICE_ADD(m_pia0, PIA6821, 0) MCFG_PIA_WRITEPA_HANDLER(WRITE8(zorba_state, pia0_porta_w)) MCFG_PIA_WRITEPB_HANDLER(DEVWRITE8("parprndata", output_latch_device, write)) MCFG_PIA_CB2_HANDLER(DEVWRITELINE("parprn", centronics_device, write_strobe)) // IEEE488 interface - MCFG_DEVICE_ADD("pia1", PIA6821, 0) + MCFG_DEVICE_ADD(m_pia1, PIA6821, 0) MCFG_PIA_READPA_HANDLER(DEVREAD8(m_ieee, ieee488_device, dio_r)) // TODO: gated with PB1 MCFG_PIA_WRITEPA_HANDLER(DEVWRITE8(m_ieee, ieee488_device, dio_w)) // TODO: gated with PB1 MCFG_PIA_READPB_HANDLER(READ8(zorba_state, pia1_portb_r)) @@ -218,7 +219,7 @@ MACHINE_CONFIG_START(zorba_state::zorba) MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE(m_uart2, i8251_device, write_rxc)) // CRTC - MCFG_DEVICE_ADD("crtc", I8275, 14.318'181_MHz_XTAL / 7) + MCFG_DEVICE_ADD(m_crtc, I8275, 14.318'181_MHz_XTAL / 7) MCFG_I8275_CHARACTER_WIDTH(8) MCFG_I8275_DRAW_CHARACTER_CALLBACK_OWNER(zorba_state, zorba_update_chr) MCFG_I8275_DRQ_CALLBACK(DEVWRITELINE(m_dma, z80dma_device, rdy_w)) @@ -226,12 +227,12 @@ MACHINE_CONFIG_START(zorba_state::zorba) MCFG_VIDEO_SET_SCREEN("screen") // Floppies - MCFG_FD1793_ADD("fdc", 24_MHz_XTAL / 24) + MCFG_FD1793_ADD(m_fdc, 24_MHz_XTAL / 24) MCFG_WD_FDC_INTRQ_CALLBACK(DEVWRITELINE("irq2", input_merger_device, in_w<0>)) MCFG_WD_FDC_DRQ_CALLBACK(DEVWRITELINE("irq2", input_merger_device, in_w<1>)) - MCFG_FLOPPY_DRIVE_ADD("fdc:0", zorba_floppies, "525dd", floppy_image_device::default_floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(m_floppy0, zorba_floppies, "525dd", floppy_image_device::default_floppy_formats) MCFG_FLOPPY_DRIVE_SOUND(true) - MCFG_FLOPPY_DRIVE_ADD("fdc:1", zorba_floppies, "525dd", floppy_image_device::default_floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(m_floppy1, zorba_floppies, "525dd", floppy_image_device::default_floppy_formats) MCFG_FLOPPY_DRIVE_SOUND(true) // J1 IEEE-488 diff --git a/src/mame/includes/amstrad.h b/src/mame/includes/amstrad.h index 85705534e8c..94ffc948eb5 100644 --- a/src/mame/includes/amstrad.h +++ b/src/mame/includes/amstrad.h @@ -335,7 +335,7 @@ protected: /*----------- defined in machine/amstrad.c -----------*/ -SLOT_INTERFACE_EXTERN(cpc_exp_cards); -SLOT_INTERFACE_EXTERN(cpcplus_exp_cards); +void cpc_exp_cards(device_slot_interface &device); +void cpcplus_exp_cards(device_slot_interface &device); #endif // MAME_INCLUDES_AMSTRAD_H diff --git a/src/mame/includes/coco.h b/src/mame/includes/coco.h index 2e06453f102..357e68ee12b 100644 --- a/src/mame/includes/coco.h +++ b/src/mame/includes/coco.h @@ -36,7 +36,7 @@ INPUT_PORTS_EXTERN( coco_joystick ); INPUT_PORTS_EXTERN( coco_rtc ); INPUT_PORTS_EXTERN( coco_beckerport ); -SLOT_INTERFACE_EXTERN( coco_cart ); +void coco_cart(device_slot_interface &device); // constants #define JOYSTICK_DELTA 10 diff --git a/src/mame/machine/acs8600_ics.cpp b/src/mame/machine/acs8600_ics.cpp index 3077ea0027c..febe3f3b4af 100644 --- a/src/mame/machine/acs8600_ics.cpp +++ b/src/mame/machine/acs8600_ics.cpp @@ -128,7 +128,7 @@ MACHINE_CONFIG_START(acs8600_ics_device::device_add_mconfig) MCFG_RS232_RXD_HANDLER(DEVWRITELINE("sio1", z80sio_device, rxa_w)) MCFG_RS232_DCD_HANDLER(DEVWRITELINE("sio1", z80sio_device, dcda_w)) MCFG_RS232_CTS_HANDLER(DEVWRITELINE("sio1", z80sio_device, ctsa_w)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", altos8600_terminal) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", altos8600_terminal) MCFG_RS232_PORT_ADD("rs2321b", default_rs232_devices, nullptr) MCFG_RS232_RXD_HANDLER(DEVWRITELINE("sio1", z80sio_device, rxb_w)) diff --git a/src/mame/machine/apollo.cpp b/src/mame/machine/apollo.cpp index 2a6035b84d7..411ff71afd8 100644 --- a/src/mame/machine/apollo.cpp +++ b/src/mame/machine/apollo.cpp @@ -1048,11 +1048,12 @@ void apollo_ni::set_node_id_from_disk() #undef VERBOSE #define VERBOSE 0 -static SLOT_INTERFACE_START(apollo_isa_cards) - SLOT_INTERFACE("wdc", ISA16_OMTI8621_APOLLO) // Combo ESDI/AT floppy controller - SLOT_INTERFACE("ctape", ISA8_SC499) // Archive SC499 cartridge tape - SLOT_INTERFACE("3c505", ISA16_3C505) // 3Com 3C505 Ethernet card -SLOT_INTERFACE_END +static void apollo_isa_cards(device_slot_interface &device) +{ + device.option_add("wdc", ISA16_OMTI8621_APOLLO); // Combo ESDI/AT floppy controller + device.option_add("ctape", ISA8_SC499); // Archive SC499 cartridge tape + device.option_add("3c505", ISA16_3C505); // 3Com 3C505 Ethernet card +} MACHINE_CONFIG_START(apollo_state::common) // configuration MUST be reset first ! @@ -1181,7 +1182,7 @@ MACHINE_CONFIG_START(apollo_state::apollo_terminal) MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "terminal") MCFG_RS232_RXD_HANDLER(DEVWRITELINE(APOLLO_SIO_TAG, apollo_sio, rx_b_w)) - MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", apollo_terminal) + MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", apollo_terminal) MACHINE_CONFIG_END DRIVER_INIT_MEMBER(apollo_state,apollo) diff --git a/src/mame/machine/beta.cpp b/src/mame/machine/beta.cpp index b4935bc213d..575b7d23c52 100644 --- a/src/mame/machine/beta.cpp +++ b/src/mame/machine/beta.cpp @@ -175,9 +175,10 @@ FLOPPY_FORMATS_MEMBER(beta_disk_device::floppy_formats) FLOPPY_TRD_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( beta_disk_floppies ) - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) -SLOT_INTERFACE_END +static void beta_disk_floppies(device_slot_interface &device) +{ + device.option_add("525qd", FLOPPY_525_QD); +} ROM_START( beta_disk ) diff --git a/src/mame/machine/inder_sb.cpp b/src/mame/machine/inder_sb.cpp index 4ac836b222a..6e00261d965 100644 --- a/src/mame/machine/inder_sb.cpp +++ b/src/mame/machine/inder_sb.cpp @@ -165,15 +165,15 @@ MACHINE_CONFIG_START(inder_sb_device::device_add_mconfig) MCFG_SOUND_ADD("dac1", DAC_8BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC MCFG_SOUND_ADD("dac2", DAC_8BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC MCFG_SOUND_ADD("dac3", DAC_8BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC - MCFG_SOUND_ADD("dac0vol", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE_EX(0, "dac0", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac0", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC - MCFG_SOUND_ADD("dac1vol", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC - MCFG_SOUND_ADD("dac2vol", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC - MCFG_SOUND_ADD("dac3vol", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE_EX(0, "dac3", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac3", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC + MCFG_SOUND_ADD("dac0vol", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(0, "dac0", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac0", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC + MCFG_SOUND_ADD("dac1vol", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC + MCFG_SOUND_ADD("dac2vol", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC + MCFG_SOUND_ADD("dac3vol", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(0, "dac3", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac3", -1.0, DAC_VREF_NEG_INPUT) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac0vol", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac1vol", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac2vol", 1.0, DAC_VREF_POS_INPUT) - MCFG_SOUND_ROUTE_EX(0, "dac3vol", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac0vol", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac1vol", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac2vol", 1.0, DAC_VREF_POS_INPUT) + MCFG_SOUND_ROUTE(0, "dac3vol", 1.0, DAC_VREF_POS_INPUT) MACHINE_CONFIG_END diff --git a/src/mame/machine/isbc_208.cpp b/src/mame/machine/isbc_208.cpp index 12600e2bd67..7cd4022f294 100644 --- a/src/mame/machine/isbc_208.cpp +++ b/src/mame/machine/isbc_208.cpp @@ -23,10 +23,11 @@ FLOPPY_FORMATS_MEMBER( isbc_208_device::floppy_formats ) FLOPPY_PC_FORMAT FLOPPY_FORMATS_END -static SLOT_INTERFACE_START( isbc_208_floppies ) - SLOT_INTERFACE( "8dd", FLOPPY_8_DSDD ) - SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) -SLOT_INTERFACE_END +static void isbc_208_floppies(device_slot_interface &device) +{ + device.option_add("8dd", FLOPPY_8_DSDD); + device.option_add("525dd", FLOPPY_525_DD); +} MACHINE_CONFIG_START(isbc_208_device::device_add_mconfig) MCFG_DEVICE_ADD("dmac", AM9517A, XTAL(8'000'000)/4) diff --git a/src/mame/machine/mega32x.cpp b/src/mame/machine/mega32x.cpp index 402aff23d58..a042c31ed17 100644 --- a/src/mame/machine/mega32x.cpp +++ b/src/mame/machine/mega32x.cpp @@ -1787,8 +1787,8 @@ MACHINE_CONFIG_START(sega_32x_ntsc_device::device_add_mconfig) MCFG_SOUND_ADD("ldac", DAC_16BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, ":lspeaker", 0.4) // unknown DAC MCFG_SOUND_ADD("rdac", DAC_16BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, ":rspeaker", 0.4) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) _32X_INTERLEAVE_LEVEL MACHINE_CONFIG_END @@ -1817,8 +1817,8 @@ MACHINE_CONFIG_START(sega_32x_pal_device::device_add_mconfig) MCFG_SOUND_ADD("ldac", DAC_16BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, ":lspeaker", 0.4) // unknown DAC MCFG_SOUND_ADD("rdac", DAC_16BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, ":rspeaker", 0.4) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) + MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) _32X_INTERLEAVE_LEVEL MACHINE_CONFIG_END diff --git a/src/mame/machine/victor9k_fdc.cpp b/src/mame/machine/victor9k_fdc.cpp index 5e9bf3ddb55..caf82b6cbf6 100644 --- a/src/mame/machine/victor9k_fdc.cpp +++ b/src/mame/machine/victor9k_fdc.cpp @@ -144,10 +144,11 @@ void victor_9000_fdc_device::unload1_cb(floppy_image_device *device) m_via4->write_cb1(1); } -static SLOT_INTERFACE_START( victor9k_floppies ) - SLOT_INTERFACE( "525ssqd", FLOPPY_525_SSQD ) // Tandon TM100-3 with custom electronics - SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) // Tandon TM100-4 with custom electronics -SLOT_INTERFACE_END +static void victor9k_floppies(device_slot_interface &device) +{ + device.option_add("525ssqd", FLOPPY_525_SSQD); // Tandon TM100-3 with custom electronics + device.option_add("525qd", FLOPPY_525_QD); // Tandon TM100-4 with custom electronics +} FLOPPY_FORMATS_MEMBER( victor_9000_fdc_device::floppy_formats ) FLOPPY_VICTOR_9000_FORMAT diff --git a/src/mame/video/k053246_k053247_k055673.cpp b/src/mame/video/k053246_k053247_k055673.cpp index 410e517c7fe..06168cdf99e 100644 --- a/src/mame/video/k053246_k053247_k055673.cpp +++ b/src/mame/video/k053246_k053247_k055673.cpp @@ -1065,7 +1065,7 @@ void k055673_device::device_start() DEFINE_DEVICE_TYPE(K053247, k053247_device, "k053247", "K053246/K053247 Sprite Generator") -device_type const K053246 = K053247; +decltype(K053247) K053246 = K053247; k053247_device::k053247_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : k053247_device(mconfig, K053247, tag, owner, clock) diff --git a/src/mame/video/k053246_k053247_k055673.h b/src/mame/video/k053246_k053247_k055673.h index 00ef8b8b224..079781c410f 100644 --- a/src/mame/video/k053246_k053247_k055673.h +++ b/src/mame/video/k053246_k053247_k055673.h @@ -470,7 +470,7 @@ protected: }; DECLARE_DEVICE_TYPE(K053247, k053247_device) -extern device_type const K053246; +DECLARE_DEVICE_TYPE(K053246, k053247_device) class k055673_device : public k053247_device {