summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/pc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/pc.cpp')
-rw-r--r--src/mame/drivers/pc.cpp238
1 files changed, 117 insertions, 121 deletions
diff --git a/src/mame/drivers/pc.cpp b/src/mame/drivers/pc.cpp
index 61336c9c9c9..64e490b327e 100644
--- a/src/mame/drivers/pc.cpp
+++ b/src/mame/drivers/pc.cpp
@@ -203,24 +203,25 @@ MACHINE_CONFIG_START(pc_state::pccga)
/* basic machine hardware */
MCFG_CPU_PC(pc8, pc8, I8088, 4772720) /* 4,77 MHz */
- MCFG_IBM5160_MOTHERBOARD_ADD("mb", "maincpu")
- MCFG_DEVICE_INPUT_DEFAULTS(pccga)
+ ibm5160_mb_device &mb(IBM5160_MOTHERBOARD(config, "mb", 0));
+ mb.set_cputag(m_maincpu);
+ mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(pccga));
// FIXME: determine ISA bus clock
- MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "cga", false)
- MCFG_DEVICE_ADD("isa2", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "fdc_xt", false)
- MCFG_DEVICE_ADD("isa3", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "lpt", false)
- MCFG_DEVICE_ADD("isa4", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "com", false)
- MCFG_DEVICE_ADD("isa5", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false)
+ ISA8_SLOT(config, "isa1", 0, "mb:isa", pc_isa8_cards, "cga", false);
+ ISA8_SLOT(config, "isa2", 0, "mb:isa", pc_isa8_cards, "fdc_xt", false);
+ ISA8_SLOT(config, "isa3", 0, "mb:isa", pc_isa8_cards, "lpt", false);
+ ISA8_SLOT(config, "isa4", 0, "mb:isa", pc_isa8_cards, "com", false);
+ ISA8_SLOT(config, "isa5", 0, "mb:isa", pc_isa8_cards, nullptr, false);
/* keyboard */
- MCFG_PC_KBDC_SLOT_ADD("mb:pc_kbdc", "kbd", pc_xt_keyboards, STR_KBD_IBM_PC_XT_83)
+ PC_KBDC_SLOT(config, "kbd", pc_xt_keyboards, STR_KBD_IBM_PC_XT_83).set_pc_kbdc_slot(subdevice("mb:pc_kbdc"));
/* internal ram */
RAM(config, RAM_TAG).set_default_size("640K").set_extra_options("64K, 128K, 256K, 512K");
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("disk_list","ibm5150")
+ SOFTWARE_LIST(config, "disk_list").set_original("ibm5150");
MACHINE_CONFIG_END
@@ -253,13 +254,12 @@ Expansion: 8087 FPU
******************************************************************************/
-MACHINE_CONFIG_START(pc_state::ataripc1)
+void pc_state::ataripc1(machine_config &config)
+{
pccga(config);
- MCFG_DEVICE_MODIFY("isa1")
- MCFG_SLOT_DEFAULT_OPTION("ega")
- MCFG_DEVICE_MODIFY("isa2")
- MCFG_SLOT_OPTION_MACHINE_CONFIG("fdc_xt", cfg_single_360K)
-MACHINE_CONFIG_END
+ subdevice<isa8_slot_device>("isa1")->set_default_option("ega");
+ subdevice<isa8_slot_device>("isa2")->set_option_machine_config("fdc_xt", cfg_single_360K);
+}
ROM_START ( ataripc1 )
ROM_REGION(0x10000,"bios", 0)
@@ -329,7 +329,7 @@ INPUT_PORTS_END
MACHINE_CONFIG_START(pc_state::bondwell)
pccga(config);
- MCFG_DEVICE_REMOVE("maincpu")
+ config.device_remove("maincpu");
MCFG_CPU_PC(pc8, pc8, I8088, 4772720) // turbo?
MACHINE_CONFIG_END
@@ -355,13 +355,14 @@ ToDo: The ROM for the CGA is available (see ROM section)
******************************************************************************/
-MACHINE_CONFIG_START(pc_state::mpc1600)
+void pc_state::mpc1600(machine_config &config)
+{
pccga(config);
- MCFG_DEVICE_ADD("isa6", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false)
- MCFG_DEVICE_ADD("isa7", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false)
- MCFG_DEVICE_ADD("isa8", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false)
+ ISA8_SLOT(config, "isa6", 0, "mb:isa", pc_isa8_cards, nullptr, false);
+ ISA8_SLOT(config, "isa7", 0, "mb:isa", pc_isa8_cards, nullptr, false);
+ ISA8_SLOT(config, "isa8", 0, "mb:isa", pc_isa8_cards, nullptr, false);
subdevice<ram_device>(RAM_TAG)->set_default_size("128K").set_extra_options("256K, 512K, 640K");
-MACHINE_CONFIG_END
+}
ROM_START( mpc1600 )
ROM_REGION(0x10000,"bios", 0)
@@ -407,12 +408,12 @@ CPU:
******************************************************************************/
-MACHINE_CONFIG_START(pc_state::comport)
+void pc_state::comport(machine_config &config)
+{
pccga(config);
- MCFG_DEVICE_MODIFY("isa1")
- MCFG_SLOT_DEFAULT_OPTION("ega")
+ subdevice<isa8_slot_device>("isa1")->set_default_option("ega");
subdevice<ram_device>(RAM_TAG)->set_default_size("128K").set_extra_options("256K, 512K, 640K");
-MACHINE_CONFIG_END
+}
ROM_START( comport )
ROM_REGION(0x10000, "bios", 0)
@@ -423,7 +424,7 @@ ROM_START( comport )
ROMX_LOAD("compaq_portable_rev_c.bin", 0xe000, 0x2000, CRC(1d1f7c38) SHA1(d9782eb46cd1a7d40f3e8b37eb48db04ac588acb), ROM_BIOS(1))
ROM_REGION(0x8000,"gfx1", 0)
- ROM_LOAD("compaq_portable_video_cpqvid.bin", 0x0000, 0x2000, BAD_DUMP CRC(3ae64565) SHA1(6eeb06620e588a2f7bfab72eb4fadbd70503ea94))
+ ROM_LOAD("compaq_portable_video_cpqvid.bin", 0x0000, 0x1ffe, BAD_DUMP CRC(3ae64565) SHA1(6eeb06620e588a2f7bfab72eb4fadbd70503ea94))
ROM_END
@@ -445,11 +446,11 @@ Expansion: Expansion box, with 5 ISA slots and space for a 5.25" drive and a har
******************************************************************************/
-MACHINE_CONFIG_START(pc_state::dgone)
+void pc_state::dgone(machine_config &config)
+{
pccga(config);
- MCFG_DEVICE_MODIFY("isa2")
- MCFG_SLOT_OPTION_MACHINE_CONFIG("fdc_xt", cfg_dual_720K)
-MACHINE_CONFIG_END
+ subdevice<isa8_slot_device>("isa2")->set_option_machine_config("fdc_xt", cfg_dual_720K);
+}
ROM_START( dgone )
ROM_REGION(0x10000,"bios", 0)
@@ -485,7 +486,7 @@ Options: 8087 FPU, EagleNet File server, EightPort serial card, High Resolution
MACHINE_CONFIG_START(pc_state::eagle1600)
pccga(config);
- MCFG_DEVICE_REMOVE("maincpu")
+ config.device_remove("maincpu");
MCFG_CPU_PC(pc16, pc16, I8086, 8000000)
MACHINE_CONFIG_END
@@ -555,11 +556,10 @@ void pc_state::epc_io(address_map &map)
MACHINE_CONFIG_START(pc_state::epc)
pccga(config);
- MCFG_DEVICE_REMOVE("maincpu")
+ config.device_remove("maincpu");
MCFG_CPU_PC(pc8, epc, I8088, 4772720)
- MCFG_DEVICE_MODIFY("isa1")
- MCFG_SLOT_DEFAULT_OPTION("ega")
- MCFG_DEVICE_ADD("i8251", I8251, 0) // clock?
+ subdevice<isa8_slot_device>("isa1")->set_default_option("ega");
+ I8251(config, "i8251", 0); // clock?
MACHINE_CONFIG_END
ROM_START( epc )
@@ -617,17 +617,18 @@ MACHINE_CONFIG_START(pc_state::ibm5550)
/* basic machine hardware */
MCFG_CPU_PC(pc16, ibm5550, I8086, 8000000)
- MCFG_IBM5160_MOTHERBOARD_ADD("mb", "maincpu")
- MCFG_DEVICE_INPUT_DEFAULTS(pccga)
+ ibm5160_mb_device &mb(IBM5160_MOTHERBOARD(config, "mb", 0));
+ mb.set_cputag(m_maincpu);
+ mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(pccga));
// FIXME: determine ISA bus clock
- MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "cga", false)
- MCFG_DEVICE_ADD("isa2", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "fdc_xt", false)
- MCFG_DEVICE_ADD("isa3", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "lpt", false)
- MCFG_DEVICE_ADD("isa4", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "com", false)
+ ISA8_SLOT(config, "isa1", 0, "mb:isa", pc_isa8_cards, "cga", false);
+ ISA8_SLOT(config, "isa2", 0, "mb:isa", pc_isa8_cards, "fdc_xt", false);
+ ISA8_SLOT(config, "isa3", 0, "mb:isa", pc_isa8_cards, "lpt", false);
+ ISA8_SLOT(config, "isa4", 0, "mb:isa", pc_isa8_cards, "com", false);
/* keyboard */
- MCFG_PC_KBDC_SLOT_ADD("mb:pc_kbdc", "kbd", pc_xt_keyboards, STR_KBD_IBM_PC_XT_83)
+ PC_KBDC_SLOT(config, "kbd", pc_xt_keyboards, STR_KBD_IBM_PC_XT_83).set_pc_kbdc_slot(subdevice("mb:pc_kbdc"));
/* internal ram */
RAM(config, RAM_TAG).set_default_size("640K").set_extra_options("64K, 128K, 256K, 512K");
@@ -679,20 +680,16 @@ Misc: A Kaypro 16/2 is a configuration without harddisk but with two floppy disk
******************************************************************************/
-MACHINE_CONFIG_START(pc_state::kaypro16)
+void pc_state::kaypro16(machine_config &config)
+{
pccga(config);
- MCFG_DEVICE_MODIFY("isa1")
- MCFG_SLOT_FIXED(true)
- MCFG_DEVICE_MODIFY("isa2")
- MCFG_SLOT_FIXED(true)
- MCFG_DEVICE_MODIFY("isa3")
- MCFG_SLOT_FIXED(true)
- MCFG_DEVICE_MODIFY("isa4")
- MCFG_SLOT_FIXED(true)
- MCFG_DEVICE_MODIFY("isa5")
- MCFG_SLOT_DEFAULT_OPTION(nullptr)
+ subdevice<isa8_slot_device>("isa1")->set_fixed(true);
+ subdevice<isa8_slot_device>("isa2")->set_fixed(true);
+ subdevice<isa8_slot_device>("isa3")->set_fixed(true);
+ subdevice<isa8_slot_device>("isa4")->set_fixed(true);
+ subdevice<isa8_slot_device>("isa5")->set_default_option(nullptr);
subdevice<ram_device>(RAM_TAG)->set_default_size("256K").set_extra_options("512K, 640K");
-MACHINE_CONFIG_END
+}
ROM_START( kaypro16 )
ROM_REGION(0x10000, "bios", 0)
@@ -704,11 +701,11 @@ ROM_END
******************************************************************************/
// MK-88
-MACHINE_CONFIG_START(pc_state::mk88)
+void pc_state::mk88(machine_config &config)
+{
poisk2(config);
- MCFG_DEVICE_MODIFY("isa1")
- MCFG_SLOT_DEFAULT_OPTION("cga_ec1841")
-MACHINE_CONFIG_END
+ subdevice<isa8_slot_device>("isa1")->set_default_option("cga_ec1841");
+}
// MK-88
ROM_START( mk88 )
@@ -749,14 +746,15 @@ Options: 8087 FPU, K101 memory upgrade in 64K steps, 1.2MB floppy and controller
******************************************************************************/
-MACHINE_CONFIG_START(pc_state::ncrpc4i)
+void pc_state::ncrpc4i(machine_config & config)
+{
pccga(config);
//MCFG_DEVICE_MODIFY("mb:isa")
- MCFG_DEVICE_ADD("isa6", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false) // FIXME: determine ISA bus clock
- MCFG_DEVICE_ADD("isa7", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false)
+ ISA8_SLOT(config, "isa6", 0, "mb:isa", pc_isa8_cards, nullptr, false); // FIXME: determine ISA bus clock
+ ISA8_SLOT(config, "isa7", 0, "mb:isa", pc_isa8_cards, nullptr, false);
subdevice<ram_device>(RAM_TAG)->set_default_size("640K").set_extra_options("64K, 128K, 256K, 512K");
-MACHINE_CONFIG_END
+}
ROM_START( ncrpc4i )
ROM_REGION(0x10000,"bios", 0)
@@ -787,15 +785,14 @@ static DEVICE_INPUT_DEFAULTS_START( m15 )
DEVICE_INPUT_DEFAULTS("DSW0", 0x01, 0x00)
DEVICE_INPUT_DEFAULTS_END
-MACHINE_CONFIG_START(pc_state::m15)
+void pc_state::m15(machine_config &config)
+{
pccga(config);
- MCFG_DEVICE_MODIFY("mb")
- MCFG_DEVICE_INPUT_DEFAULTS(m15)
- MCFG_DEVICE_MODIFY("isa2")
- MCFG_SLOT_OPTION_MACHINE_CONFIG("fdc_xt", cfg_dual_720K)
+ subdevice<ibm5160_mb_device>("mb")->set_input_default(DEVICE_INPUT_DEFAULTS_NAME(m15));
+ subdevice<isa8_slot_device>("isa2")->set_option_machine_config("fdc_xt", cfg_dual_720K);
subdevice<ram_device>(RAM_TAG)->set_default_size("448K").set_extra_options("16K, 160K, 304K");
-MACHINE_CONFIG_END
+}
ROM_START( olivm15 )
ROM_REGION(0x10000,"bios", 0)
@@ -822,14 +819,11 @@ Options: 8087 FPU
MACHINE_CONFIG_START(pc_state::olytext30)
pccga(config);
- MCFG_DEVICE_REMOVE("maincpu")
+ config.device_remove("maincpu");
MCFG_CPU_PC(pc8, pc8, V20, XTAL(14'318'181)/3) /* 4,77 MHz */
- MCFG_DEVICE_MODIFY("isa2")
- MCFG_SLOT_OPTION_MACHINE_CONFIG("fdc_xt", cfg_single_720K)
- MCFG_DEVICE_MODIFY("isa3")
- MCFG_SLOT_DEFAULT_OPTION("")
- MCFG_DEVICE_MODIFY("isa5")
- MCFG_SLOT_DEFAULT_OPTION("hdc")
+ subdevice<isa8_slot_device>("isa2")->set_option_machine_config("fdc_xt", cfg_single_720K);
+ subdevice<isa8_slot_device>("isa3")->set_default_option("");
+ subdevice<isa8_slot_device>("isa5")->set_default_option("hdc");
subdevice<ram_device>(RAM_TAG)->set_default_size("768K");
MACHINE_CONFIG_END
@@ -847,16 +841,17 @@ MACHINE_CONFIG_START(pc_state::poisk2)
/* basic machine hardware */
MCFG_CPU_PC(pc16, pc16, I8086, 4772720)
- MCFG_IBM5160_MOTHERBOARD_ADD("mb", "maincpu")
- MCFG_DEVICE_INPUT_DEFAULTS(pccga)
+ ibm5160_mb_device &mb(IBM5160_MOTHERBOARD(config, "mb", 0));
+ mb.set_cputag(m_maincpu);
+ mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(pccga));
- MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "cga_poisk2", false) // FIXME: determine ISA bus clock
- MCFG_DEVICE_ADD("isa2", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "fdc_xt", false)
- MCFG_DEVICE_ADD("isa3", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "lpt", false)
- MCFG_DEVICE_ADD("isa4", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "com", false)
+ ISA8_SLOT(config, "isa1", 0, "mb:isa", pc_isa8_cards, "cga_poisk2", false); // FIXME: determine ISA bus clock
+ ISA8_SLOT(config, "isa2", 0, "mb:isa", pc_isa8_cards, "fdc_xt", false);
+ ISA8_SLOT(config, "isa3", 0, "mb:isa", pc_isa8_cards, "lpt", false);
+ ISA8_SLOT(config, "isa4", 0, "mb:isa", pc_isa8_cards, "com", false);
/* keyboard */
- MCFG_PC_KBDC_SLOT_ADD("mb:pc_kbdc", "kbd", pc_xt_keyboards, STR_KBD_IBM_PC_XT_83)
+ PC_KBDC_SLOT(config, "kbd", pc_xt_keyboards, STR_KBD_IBM_PC_XT_83).set_pc_kbdc_slot(subdevice("mb:pc_kbdc"));
/* internal ram */
RAM(config, RAM_TAG).set_default_size("640K").set_extra_options("64K, 128K, 256K, 512K");
@@ -938,18 +933,17 @@ MACHINE_CONFIG_START(pc_state::iskr3104)
/* basic machine hardware */
MCFG_CPU_PC(pc16, pc16, I8086, 4772720)
- MCFG_IBM5160_MOTHERBOARD_ADD("mb", "maincpu")
- MCFG_DEVICE_INPUT_DEFAULTS(iskr3104)
-
- MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "ega", false) // FIXME: determine ISA bus clock
- MCFG_SLOT_OPTION_DEFAULT_BIOS("ega", "iskr3104")
+ ibm5160_mb_device &mb(IBM5160_MOTHERBOARD(config, "mb", 0));
+ mb.set_cputag(m_maincpu);
+ mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(iskr3104));
- MCFG_DEVICE_ADD("isa2", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "fdc_xt", false)
- MCFG_DEVICE_ADD("isa3", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "lpt", false)
- MCFG_DEVICE_ADD("isa4", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "com", false)
+ ISA8_SLOT(config, "isa1", 0, "mb:isa", pc_isa8_cards, "ega", false).set_option_default_bios("ega", "iskr3104"); // FIXME: determine ISA bus clock
+ ISA8_SLOT(config, "isa2", 0, "mb:isa", pc_isa8_cards, "fdc_xt", false);
+ ISA8_SLOT(config, "isa3", 0, "mb:isa", pc_isa8_cards, "lpt", false);
+ ISA8_SLOT(config, "isa4", 0, "mb:isa", pc_isa8_cards, "com", false);
/* keyboard */
- MCFG_PC_KBDC_SLOT_ADD("mb:pc_kbdc", "kbd", pc_xt_keyboards, STR_KBD_IBM_PC_XT_83)
+ PC_KBDC_SLOT(config, "kbd", pc_xt_keyboards, STR_KBD_IBM_PC_XT_83).set_pc_kbdc_slot(subdevice("mb:pc_kbdc"));
/* internal ram */
RAM(config, RAM_TAG).set_default_size("640K").set_extra_options("64K, 128K, 256K, 512K");
@@ -1014,19 +1008,20 @@ MACHINE_CONFIG_START(pc_state::siemens)
/* basic machine hardware */
MCFG_CPU_PC(pc8, pc8, I8088, XTAL(14'318'181)/3) /* 4,77 MHz */
- MCFG_IBM5150_MOTHERBOARD_ADD("mb", "maincpu")
- MCFG_DEVICE_INPUT_DEFAULTS(siemens)
+ ibm5150_mb_device &mb(IBM5150_MOTHERBOARD(config, "mb", 0));
+ mb.set_cputag(m_maincpu);
+ mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(siemens));
// FIXME: determine ISA bus clock
- MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "hercules", false)
- MCFG_DEVICE_ADD("isa2", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "fdc_xt", false)
- MCFG_DEVICE_ADD("isa3", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "lpt", false)
- MCFG_DEVICE_ADD("isa4", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "com", false)
- MCFG_DEVICE_ADD("isa5", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "hdc", false)
- MCFG_DEVICE_ADD("isa6", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false)
+ ISA8_SLOT(config, "isa1", 0, "mb:isa", pc_isa8_cards, "hercules", false);
+ ISA8_SLOT(config, "isa2", 0, "mb:isa", pc_isa8_cards, "fdc_xt", false);
+ ISA8_SLOT(config, "isa3", 0, "mb:isa", pc_isa8_cards, "lpt", false);
+ ISA8_SLOT(config, "isa4", 0, "mb:isa", pc_isa8_cards, "com", false);
+ ISA8_SLOT(config, "isa5", 0, "mb:isa", pc_isa8_cards, "hdc", false);
+ ISA8_SLOT(config, "isa6", 0, "mb:isa", pc_isa8_cards, nullptr, false);
/* keyboard */
- MCFG_PC_KBDC_SLOT_ADD("mb:pc_kbdc", "kbd", pc_xt_keyboards, STR_KBD_IBM_PC_XT_83)
+ PC_KBDC_SLOT(config, "kbd", pc_xt_keyboards, STR_KBD_IBM_PC_XT_83).set_pc_kbdc_slot(subdevice("mb:pc_kbdc"));
/* internal ram */
RAM(config, RAM_TAG).set_default_size("640K").set_extra_options("64K, 128K, 256K, 512K");
@@ -1057,27 +1052,28 @@ Options: 8087 FPU
MACHINE_CONFIG_START(pc_state::laser_turbo_xt)
MCFG_CPU_PC(pc8, pc8, I8088, XTAL(14'318'181)/3) /* 4,77 MHz */
- MCFG_IBM5160_MOTHERBOARD_ADD("mb","maincpu")
- MCFG_DEVICE_INPUT_DEFAULTS(pccga)
+ ibm5160_mb_device &mb(IBM5160_MOTHERBOARD(config, "mb", 0));
+ mb.set_cputag(m_maincpu);
+ mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(pccga));
// FIXME: determine ISA bus clock
- MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "cga", false)
- MCFG_DEVICE_ADD("isa2", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "com", false) // Multi I/O card (includes FDC)
- MCFG_DEVICE_ADD("isa3", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "fdc_xt", false)
- MCFG_DEVICE_ADD("isa4", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false)
- MCFG_DEVICE_ADD("isa5", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false)
- MCFG_DEVICE_ADD("isa6", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false)
- MCFG_DEVICE_ADD("isa7", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false)
- MCFG_DEVICE_ADD("isa8", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false)
+ ISA8_SLOT(config, "isa1", 0, "mb:isa", pc_isa8_cards, "cga", false);
+ ISA8_SLOT(config, "isa2", 0, "mb:isa", pc_isa8_cards, "com", false); // Multi I/O card (includes FDC)
+ ISA8_SLOT(config, "isa3", 0, "mb:isa", pc_isa8_cards, "fdc_xt", false);
+ ISA8_SLOT(config, "isa4", 0, "mb:isa", pc_isa8_cards, nullptr, false);
+ ISA8_SLOT(config, "isa5", 0, "mb:isa", pc_isa8_cards, nullptr, false);
+ ISA8_SLOT(config, "isa6", 0, "mb:isa", pc_isa8_cards, nullptr, false);
+ ISA8_SLOT(config, "isa7", 0, "mb:isa", pc_isa8_cards, nullptr, false);
+ ISA8_SLOT(config, "isa8", 0, "mb:isa", pc_isa8_cards, nullptr, false);
/* keyboard */
- MCFG_PC_KBDC_SLOT_ADD("mb:pc_kbdc", "kbd", pc_xt_keyboards, STR_KBD_IBM_PC_XT_83)
+ PC_KBDC_SLOT(config, "kbd", pc_xt_keyboards, STR_KBD_IBM_PC_XT_83).set_pc_kbdc_slot(subdevice("mb:pc_kbdc"));
/* internal ram */
RAM(config, RAM_TAG).set_default_size("640K").set_extra_options("512K,768K,896K,1024K,1408K,1536K,1664K");
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("disk_list","ibm5150")
+ SOFTWARE_LIST(config, "disk_list").set_original("ibm5150");
MACHINE_CONFIG_END
ROM_START( laser_turbo_xt )
@@ -1136,23 +1132,23 @@ MACHINE_CONFIG_START(pc_state::zenith)
/* basic machine hardware */
MCFG_CPU_PC(zenith, pc8, I8088, XTAL(14'318'181)/3) /* 4,77 MHz */
- MCFG_IBM5150_MOTHERBOARD_ADD("mb", "maincpu")
- MCFG_DEVICE_INPUT_DEFAULTS(pccga)
+ ibm5150_mb_device &mb(IBM5150_MOTHERBOARD(config, "mb", 0));
+ mb.set_cputag(m_maincpu);
+ mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(pccga));
- MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "cga", false) // FIXME: determine ISA bus clock
- MCFG_DEVICE_ADD("isa2", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "fdc_xt", false)
- MCFG_SLOT_OPTION_MACHINE_CONFIG("fdc_xt", cfg_dual_720K)
- MCFG_DEVICE_ADD("isa3", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "lpt", false)
- MCFG_DEVICE_ADD("isa4", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "com", false)
+ ISA8_SLOT(config, "isa1", 0, "mb:isa", pc_isa8_cards, "cga", false); // FIXME: determine ISA bus clock
+ ISA8_SLOT(config, "isa2", 0, "mb:isa", pc_isa8_cards, "fdc_xt", false).set_option_machine_config("fdc_xt", cfg_dual_720K);
+ ISA8_SLOT(config, "isa3", 0, "mb:isa", pc_isa8_cards, "lpt", false);
+ ISA8_SLOT(config, "isa4", 0, "mb:isa", pc_isa8_cards, "com", false);
/* keyboard */
- MCFG_PC_KBDC_SLOT_ADD("mb:pc_kbdc", "kbd", pc_xt_keyboards, STR_KBD_IBM_PC_XT_83)
+ PC_KBDC_SLOT(config, "kbd", pc_xt_keyboards, STR_KBD_IBM_PC_XT_83).set_pc_kbdc_slot(subdevice("mb:pc_kbdc"));
/* internal ram */
RAM(config, RAM_TAG).set_default_size("640K").set_extra_options("128K, 256K, 512K");
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("disk_list","ibm5150")
+ SOFTWARE_LIST(config, "disk_list").set_original("ibm5150");
MACHINE_CONFIG_END
ROM_START( zdsupers )