summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus')
-rw-r--r--src/devices/bus/a2bus/a2sam.cpp13
-rw-r--r--src/devices/bus/abcbus/cadmouse.cpp11
-rw-r--r--src/devices/bus/abcbus/db411223.cpp11
-rw-r--r--src/devices/bus/abcbus/unidisk.cpp5
-rw-r--r--src/devices/bus/c64/16kb.cpp11
-rw-r--r--src/devices/bus/c64/dela_ep256.cpp29
-rw-r--r--src/devices/bus/c64/dela_ep64.cpp11
-rw-r--r--src/devices/bus/c64/dela_ep7x8.cpp48
-rw-r--r--src/devices/bus/c64/dela_ep7x8.h8
-rw-r--r--src/devices/bus/c64/fcc.cpp9
-rw-r--r--src/devices/bus/c64/multiscreen.cpp13
-rw-r--r--src/devices/bus/c64/ps64.cpp21
-rw-r--r--src/devices/bus/c64/reu.cpp8
-rw-r--r--src/devices/bus/c64/rex_ep256.cpp29
-rw-r--r--src/devices/bus/c64/speakeasy.cpp8
-rw-r--r--src/devices/bus/c64/xl80.cpp15
-rw-r--r--src/devices/bus/cbm2/hrg.cpp32
-rw-r--r--src/devices/bus/cbmiec/c1526.cpp18
-rw-r--r--src/devices/bus/cbmiec/serialbox.cpp9
-rw-r--r--src/devices/bus/cbmiec/vic1515.cpp11
-rw-r--r--src/devices/bus/cbmiec/vic1520.cpp9
-rw-r--r--src/devices/bus/cbus/pc9801_86.cpp23
-rw-r--r--src/devices/bus/centronics/covox.cpp31
-rw-r--r--src/devices/bus/centronics/digiblst.cpp13
-rw-r--r--src/devices/bus/compis/hrg.cpp38
-rw-r--r--src/devices/bus/comx35/clm.cpp17
-rw-r--r--src/devices/bus/cpc/amdrum.cpp13
-rw-r--r--src/devices/bus/cpc/magicsound.cpp13
-rw-r--r--src/devices/bus/interpro/keyboard/hle.cpp8
-rw-r--r--src/devices/bus/isa/adlib.cpp8
-rw-r--r--src/devices/bus/isa/aga.cpp13
-rw-r--r--src/devices/bus/isa/aha1542.cpp9
-rw-r--r--src/devices/bus/isa/cga.cpp29
-rw-r--r--src/devices/bus/isa/ega.cpp15
-rw-r--r--src/devices/bus/isa/eis_sad8852.cpp11
-rw-r--r--src/devices/bus/isa/finalchs.cpp9
-rw-r--r--src/devices/bus/isa/lbaenhancer.cpp7
-rw-r--r--src/devices/bus/isa/mda.cpp39
-rw-r--r--src/devices/bus/isa/num9rev.cpp17
-rw-r--r--src/devices/bus/isa/p1_sound.cpp16
-rw-r--r--src/devices/bus/isa/pds.cpp7
-rw-r--r--src/devices/bus/isa/pgc.cpp25
-rw-r--r--src/devices/bus/isa/sc499.cpp7
-rw-r--r--src/devices/bus/isa/svga_cirrus.cpp28
-rw-r--r--src/devices/bus/isa/svga_s3.cpp56
-rw-r--r--src/devices/bus/isa/svga_trident.cpp16
-rw-r--r--src/devices/bus/isa/svga_tseng.cpp16
-rw-r--r--src/devices/bus/isa/vga.cpp16
-rw-r--r--src/devices/bus/isa/vga_ati.cpp53
-rw-r--r--src/devices/bus/isa/wd1007a.cpp7
-rw-r--r--src/devices/bus/jakks_gamekey/rom.cpp5
-rw-r--r--src/devices/bus/megadrive/svp.cpp11
-rw-r--r--src/devices/bus/msx_cart/fmpac.cpp8
-rw-r--r--src/devices/bus/msx_cart/konami.cpp40
-rw-r--r--src/devices/bus/msx_cart/majutsushi.cpp13
-rw-r--r--src/devices/bus/nasbus/avc.cpp11
-rw-r--r--src/devices/bus/nes/konami.cpp18
-rw-r--r--src/devices/bus/nubus/nubus_48gc.cpp19
-rw-r--r--src/devices/bus/nubus/nubus_cb264.cpp15
-rw-r--r--src/devices/bus/nubus/nubus_image.cpp7
-rw-r--r--src/devices/bus/nubus/nubus_m2hires.cpp15
-rw-r--r--src/devices/bus/nubus/nubus_m2video.cpp15
-rw-r--r--src/devices/bus/nubus/nubus_spec8.cpp15
-rw-r--r--src/devices/bus/nubus/nubus_specpdq.cpp19
-rw-r--r--src/devices/bus/nubus/nubus_vikbw.cpp15
-rw-r--r--src/devices/bus/nubus/nubus_wsportrait.cpp15
-rw-r--r--src/devices/bus/nubus/pds30_30hr.cpp15
-rw-r--r--src/devices/bus/nubus/pds30_cb264.cpp15
-rw-r--r--src/devices/bus/nubus/pds30_mc30.cpp15
-rw-r--r--src/devices/bus/nubus/pds30_procolor816.cpp15
-rw-r--r--src/devices/bus/nubus/pds30_sigmalview.cpp15
-rw-r--r--src/devices/bus/pet/hsg.cpp32
-rw-r--r--src/devices/bus/snes/upd.cpp146
-rw-r--r--src/devices/bus/snes/upd.h6
-rw-r--r--src/devices/bus/vic20/videopak.cpp15
-rw-r--r--src/devices/bus/wangpc/tig.cpp17
76 files changed, 736 insertions, 685 deletions
diff --git a/src/devices/bus/a2bus/a2sam.cpp b/src/devices/bus/a2bus/a2sam.cpp
index 21ea8d1fdca..a2f2fd8781f 100644
--- a/src/devices/bus/a2bus/a2sam.cpp
+++ b/src/devices/bus/a2bus/a2sam.cpp
@@ -31,12 +31,15 @@ DEFINE_DEVICE_TYPE(A2BUS_SAM, a2bus_sam_device, "a2sam", "Don't Ask Software S.A
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(a2bus_sam_device::device_add_mconfig)
+void a2bus_sam_device::device_add_mconfig(machine_config &config)
+{
SPEAKER(config, "speaker").front_center();
- MCFG_DEVICE_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(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
-MACHINE_CONFIG_END
+ DAC_8BIT_R2R(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.5); // unknown DAC
+ voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
+ vref.set_output(5.0);
+ vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
+ vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
+}
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/abcbus/cadmouse.cpp b/src/devices/bus/abcbus/cadmouse.cpp
index 9cee7326cf4..7a4d90916f9 100644
--- a/src/devices/bus/abcbus/cadmouse.cpp
+++ b/src/devices/bus/abcbus/cadmouse.cpp
@@ -125,11 +125,12 @@ void abc_cadmouse_device::abc_cadmouse_io(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(abc_cadmouse_device::device_add_mconfig)
- MCFG_DEVICE_ADD(Z80_TAG, Z80, XTAL(8'000'000)/2)
- MCFG_DEVICE_PROGRAM_MAP(abc_cadmouse_mem)
- MCFG_DEVICE_IO_MAP(abc_cadmouse_io)
-MACHINE_CONFIG_END
+void abc_cadmouse_device::device_add_mconfig(machine_config &config)
+{
+ Z80(config, m_maincpu, XTAL(8'000'000)/2);
+ m_maincpu->set_addrmap(AS_PROGRAM, &abc_cadmouse_device::abc_cadmouse_mem);
+ m_maincpu->set_addrmap(AS_IO, &abc_cadmouse_device::abc_cadmouse_io);
+}
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/abcbus/db411223.cpp b/src/devices/bus/abcbus/db411223.cpp
index d9d2906f6d6..86ba1f22ee9 100644
--- a/src/devices/bus/abcbus/db411223.cpp
+++ b/src/devices/bus/abcbus/db411223.cpp
@@ -68,11 +68,12 @@ void databoard_4112_23_t::databoard_4112_23_io(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(databoard_4112_23_t::device_add_mconfig)
- MCFG_DEVICE_ADD(Z80_TAG, Z80, 4000000)
- MCFG_DEVICE_PROGRAM_MAP(databoard_4112_23_mem)
- MCFG_DEVICE_IO_MAP(databoard_4112_23_io)
-MACHINE_CONFIG_END
+void databoard_4112_23_t::device_add_mconfig(machine_config &config)
+{
+ Z80(config, m_maincpu, 4000000);
+ m_maincpu->set_addrmap(AS_PROGRAM, &databoard_4112_23_t::databoard_4112_23_mem);
+ m_maincpu->set_addrmap(AS_IO, &databoard_4112_23_t::databoard_4112_23_io);
+}
//-------------------------------------------------
diff --git a/src/devices/bus/abcbus/unidisk.cpp b/src/devices/bus/abcbus/unidisk.cpp
index 0d5968aa71b..0b068000193 100644
--- a/src/devices/bus/abcbus/unidisk.cpp
+++ b/src/devices/bus/abcbus/unidisk.cpp
@@ -73,11 +73,12 @@ void unidisk_t::unidisk_io(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(unidisk_t::device_add_mconfig)
+void unidisk_t::device_add_mconfig(machine_config &config)
+{
TMS9995(config, m_maincpu, 12000000);
m_maincpu->set_addrmap(AS_PROGRAM, &unidisk_t::unidisk_mem);
m_maincpu->set_addrmap(AS_IO, &unidisk_t::unidisk_io);
-MACHINE_CONFIG_END
+}
//-------------------------------------------------
diff --git a/src/devices/bus/c64/16kb.cpp b/src/devices/bus/c64/16kb.cpp
index 4b23cb663f7..96e19a52dd2 100644
--- a/src/devices/bus/c64/16kb.cpp
+++ b/src/devices/bus/c64/16kb.cpp
@@ -22,13 +22,12 @@ DEFINE_DEVICE_TYPE(C64_16KB, c64_16kb_cartridge_device, "c64_16kb", "C64 16KB EP
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(c64_16kb_cartridge_device::device_add_mconfig)
- MCFG_GENERIC_CARTSLOT_ADD("roml", generic_linear_slot, nullptr)
- MCFG_GENERIC_EXTENSIONS("rom,bin,80")
+void c64_16kb_cartridge_device::device_add_mconfig(machine_config &config)
+{
+ GENERIC_CARTSLOT(config, m_low, generic_linear_slot, nullptr, "rom,bin,80");
- MCFG_GENERIC_CARTSLOT_ADD("romh", generic_linear_slot, nullptr)
- MCFG_GENERIC_EXTENSIONS("rom,bin,a0,e0")
-MACHINE_CONFIG_END
+ GENERIC_CARTSLOT(config, m_high, generic_linear_slot, nullptr, "rom,bin,a0,e0");
+}
//-------------------------------------------------
diff --git a/src/devices/bus/c64/dela_ep256.cpp b/src/devices/bus/c64/dela_ep256.cpp
index e11b3ae8f53..0254f4ebdc4 100644
--- a/src/devices/bus/c64/dela_ep256.cpp
+++ b/src/devices/bus/c64/dela_ep256.cpp
@@ -22,24 +22,17 @@ DEFINE_DEVICE_TYPE(C64_DELA_EP256, c64_dela_ep256_cartridge_device, "delep256",
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(c64_dela_ep256_cartridge_device::device_add_mconfig)
- MCFG_GENERIC_SOCKET_ADD("rom1", generic_linear_slot, nullptr)
- MCFG_GENERIC_EXTENSIONS("bin,rom")
- MCFG_GENERIC_SOCKET_ADD("rom2", generic_linear_slot, nullptr)
- MCFG_GENERIC_EXTENSIONS("bin,rom")
- MCFG_GENERIC_SOCKET_ADD("rom3", generic_linear_slot, nullptr)
- MCFG_GENERIC_EXTENSIONS("bin,rom")
- MCFG_GENERIC_SOCKET_ADD("rom4", generic_linear_slot, nullptr)
- MCFG_GENERIC_EXTENSIONS("bin,rom")
- MCFG_GENERIC_SOCKET_ADD("rom5", generic_linear_slot, nullptr)
- MCFG_GENERIC_EXTENSIONS("bin,rom")
- MCFG_GENERIC_SOCKET_ADD("rom6", generic_linear_slot, nullptr)
- MCFG_GENERIC_EXTENSIONS("bin,rom")
- MCFG_GENERIC_SOCKET_ADD("rom7", generic_linear_slot, nullptr)
- MCFG_GENERIC_EXTENSIONS("bin,rom")
- MCFG_GENERIC_SOCKET_ADD("rom8", generic_linear_slot, nullptr)
- MCFG_GENERIC_EXTENSIONS("bin,rom")
-MACHINE_CONFIG_END
+void c64_dela_ep256_cartridge_device::device_add_mconfig(machine_config &config)
+{
+ GENERIC_SOCKET(config, "rom1", generic_linear_slot, nullptr, "bin,rom");
+ GENERIC_SOCKET(config, "rom2", generic_linear_slot, nullptr, "bin,rom");
+ GENERIC_SOCKET(config, "rom3", generic_linear_slot, nullptr, "bin,rom");
+ GENERIC_SOCKET(config, "rom4", generic_linear_slot, nullptr, "bin,rom");
+ GENERIC_SOCKET(config, "rom5", generic_linear_slot, nullptr, "bin,rom");
+ GENERIC_SOCKET(config, "rom6", generic_linear_slot, nullptr, "bin,rom");
+ GENERIC_SOCKET(config, "rom7", generic_linear_slot, nullptr, "bin,rom");
+ GENERIC_SOCKET(config, "rom8", generic_linear_slot, nullptr, "bin,rom");
+}
diff --git a/src/devices/bus/c64/dela_ep64.cpp b/src/devices/bus/c64/dela_ep64.cpp
index c9eee384a5a..f30ad70a52e 100644
--- a/src/devices/bus/c64/dela_ep64.cpp
+++ b/src/devices/bus/c64/dela_ep64.cpp
@@ -22,12 +22,11 @@ DEFINE_DEVICE_TYPE(C64_DELA_EP64, c64_dela_ep64_cartridge_device, "c64_dela_ep64
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(c64_dela_ep64_cartridge_device::device_add_mconfig)
- MCFG_GENERIC_SOCKET_ADD("eprom1", generic_linear_slot, nullptr)
- MCFG_GENERIC_EXTENSIONS("rom,bin")
- MCFG_GENERIC_SOCKET_ADD("eprom2", generic_linear_slot, nullptr)
- MCFG_GENERIC_EXTENSIONS("rom,bin")
-MACHINE_CONFIG_END
+void c64_dela_ep64_cartridge_device::device_add_mconfig(machine_config &config)
+{
+ GENERIC_SOCKET(config, m_eprom1, generic_linear_slot, nullptr, "rom,bin");
+ GENERIC_SOCKET(config, m_eprom2, generic_linear_slot, nullptr, "rom,bin");
+}
//**************************************************************************
diff --git a/src/devices/bus/c64/dela_ep7x8.cpp b/src/devices/bus/c64/dela_ep7x8.cpp
index 564e7196449..8841c5b2e3e 100644
--- a/src/devices/bus/c64/dela_ep7x8.cpp
+++ b/src/devices/bus/c64/dela_ep7x8.cpp
@@ -22,22 +22,16 @@ DEFINE_DEVICE_TYPE(C64_DELA_EP7X8, c64_dela_ep7x8_cartridge_device, "c64_dela_ep
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(c64_dela_ep7x8_cartridge_device::device_add_mconfig)
- MCFG_GENERIC_SOCKET_ADD("rom1", generic_linear_slot, nullptr)
- MCFG_GENERIC_EXTENSIONS("bin,rom")
- MCFG_GENERIC_SOCKET_ADD("rom2", generic_linear_slot, nullptr)
- MCFG_GENERIC_EXTENSIONS("bin,rom")
- MCFG_GENERIC_SOCKET_ADD("rom3", generic_linear_slot, nullptr)
- MCFG_GENERIC_EXTENSIONS("bin,rom")
- MCFG_GENERIC_SOCKET_ADD("rom4", generic_linear_slot, nullptr)
- MCFG_GENERIC_EXTENSIONS("bin,rom")
- MCFG_GENERIC_SOCKET_ADD("rom5", generic_linear_slot, nullptr)
- MCFG_GENERIC_EXTENSIONS("bin,rom")
- MCFG_GENERIC_SOCKET_ADD("rom6", generic_linear_slot, nullptr)
- MCFG_GENERIC_EXTENSIONS("bin,rom")
- MCFG_GENERIC_SOCKET_ADD("rom7", generic_linear_slot, nullptr)
- MCFG_GENERIC_EXTENSIONS("bin,rom")
-MACHINE_CONFIG_END
+void c64_dela_ep7x8_cartridge_device::device_add_mconfig(machine_config &config)
+{
+ GENERIC_SOCKET(config, m_eprom[0], generic_linear_slot, nullptr, "bin,rom");
+ GENERIC_SOCKET(config, m_eprom[1], generic_linear_slot, nullptr, "bin,rom");
+ GENERIC_SOCKET(config, m_eprom[2], generic_linear_slot, nullptr, "bin,rom");
+ GENERIC_SOCKET(config, m_eprom[3], generic_linear_slot, nullptr, "bin,rom");
+ GENERIC_SOCKET(config, m_eprom[4], generic_linear_slot, nullptr, "bin,rom");
+ GENERIC_SOCKET(config, m_eprom[5], generic_linear_slot, nullptr, "bin,rom");
+ GENERIC_SOCKET(config, m_eprom[6], generic_linear_slot, nullptr, "bin,rom");
+}
//**************************************************************************
@@ -51,13 +45,7 @@ MACHINE_CONFIG_END
c64_dela_ep7x8_cartridge_device::c64_dela_ep7x8_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, C64_DELA_EP7X8, tag, owner, clock),
device_c64_expansion_card_interface(mconfig, *this),
- m_eprom1(*this, "rom1"),
- m_eprom2(*this, "rom2"),
- m_eprom3(*this, "rom3"),
- m_eprom4(*this, "rom4"),
- m_eprom5(*this, "rom5"),
- m_eprom6(*this, "rom6"),
- m_eprom7(*this, "rom7"), m_bank(0)
+ m_eprom(*this, "rom%u", 1U)
{
}
@@ -95,13 +83,13 @@ uint8_t c64_dela_ep7x8_cartridge_device::c64_cd_r(address_space &space, offs_t o
offs_t addr = offset & 0x1fff;
if (!BIT(m_bank, 0)) data |= m_roml[addr];
- if (!BIT(m_bank, 1)) data |= m_eprom1->read_rom(space, addr);
- if (!BIT(m_bank, 2)) data |= m_eprom2->read_rom(space, addr);
- if (!BIT(m_bank, 3)) data |= m_eprom3->read_rom(space, addr);
- if (!BIT(m_bank, 4)) data |= m_eprom4->read_rom(space, addr);
- if (!BIT(m_bank, 5)) data |= m_eprom5->read_rom(space, addr);
- if (!BIT(m_bank, 6)) data |= m_eprom6->read_rom(space, addr);
- if (!BIT(m_bank, 7)) data |= m_eprom7->read_rom(space, addr);
+ if (!BIT(m_bank, 1)) data |= m_eprom[0]->read_rom(space, addr);
+ if (!BIT(m_bank, 2)) data |= m_eprom[1]->read_rom(space, addr);
+ if (!BIT(m_bank, 3)) data |= m_eprom[2]->read_rom(space, addr);
+ if (!BIT(m_bank, 4)) data |= m_eprom[3]->read_rom(space, addr);
+ if (!BIT(m_bank, 5)) data |= m_eprom[4]->read_rom(space, addr);
+ if (!BIT(m_bank, 6)) data |= m_eprom[5]->read_rom(space, addr);
+ if (!BIT(m_bank, 7)) data |= m_eprom[6]->read_rom(space, addr);
}
return data;
diff --git a/src/devices/bus/c64/dela_ep7x8.h b/src/devices/bus/c64/dela_ep7x8.h
index 48146d1c5e1..3b5470ef0b2 100644
--- a/src/devices/bus/c64/dela_ep7x8.h
+++ b/src/devices/bus/c64/dela_ep7x8.h
@@ -44,13 +44,7 @@ protected:
virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
- required_device<generic_slot_device> m_eprom1;
- required_device<generic_slot_device> m_eprom2;
- required_device<generic_slot_device> m_eprom3;
- required_device<generic_slot_device> m_eprom4;
- required_device<generic_slot_device> m_eprom5;
- required_device<generic_slot_device> m_eprom6;
- required_device<generic_slot_device> m_eprom7;
+ required_device_array<generic_slot_device, 7> m_eprom;
uint8_t m_bank;
};
diff --git a/src/devices/bus/c64/fcc.cpp b/src/devices/bus/c64/fcc.cpp
index 77d505e97a3..b0c91a9e098 100644
--- a/src/devices/bus/c64/fcc.cpp
+++ b/src/devices/bus/c64/fcc.cpp
@@ -75,10 +75,11 @@ void c64_final_chesscard_device::c64_fcc_map(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(c64_final_chesscard_device::device_add_mconfig)
- MCFG_DEVICE_ADD(G65SC02P4_TAG, M65SC02, XTAL(5'000'000))
- MCFG_DEVICE_PROGRAM_MAP(c64_fcc_map)
-MACHINE_CONFIG_END
+void c64_final_chesscard_device::device_add_mconfig(machine_config &config)
+{
+ M65SC02(config, m_maincpu, XTAL(5'000'000));
+ m_maincpu->set_addrmap(AS_PROGRAM, &c64_final_chesscard_device::c64_fcc_map);
+}
//-------------------------------------------------
diff --git a/src/devices/bus/c64/multiscreen.cpp b/src/devices/bus/c64/multiscreen.cpp
index e243a335e50..453cf350256 100644
--- a/src/devices/bus/c64/multiscreen.cpp
+++ b/src/devices/bus/c64/multiscreen.cpp
@@ -112,13 +112,14 @@ void c64_multiscreen_cartridge_device::multiscreen_mem(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(c64_multiscreen_cartridge_device::device_add_mconfig)
- MCFG_DEVICE_ADD(MC6802P_TAG, M6802, XTAL(4'000'000))
- MCFG_DEVICE_PROGRAM_MAP(multiscreen_mem)
+void c64_multiscreen_cartridge_device::device_add_mconfig(machine_config &config)
+{
+ m6802_cpu_device &cpu(M6802(config, MC6802P_TAG, XTAL(4'000'000)));
+ cpu.set_addrmap(AS_PROGRAM, &c64_multiscreen_cartridge_device::multiscreen_mem);
- MCFG_DEVICE_ADD(MC6821P_0_TAG, PIA6821, 0)
- MCFG_DEVICE_ADD(MC6821P_1_TAG, PIA6821, 0)
-MACHINE_CONFIG_END
+ PIA6821(config, MC6821P_0_TAG, 0);
+ PIA6821(config, MC6821P_1_TAG, 0);
+}
//**************************************************************************
diff --git a/src/devices/bus/c64/ps64.cpp b/src/devices/bus/c64/ps64.cpp
index b70c8a61c0f..fbfad3fe7d2 100644
--- a/src/devices/bus/c64/ps64.cpp
+++ b/src/devices/bus/c64/ps64.cpp
@@ -61,25 +61,14 @@ DEFINE_DEVICE_TYPE(C64_PS64, c64_ps64_cartridge_device, "c64_ps64", "C64 PS-64")
//-------------------------------------------------
-// votrax_sc02_interface votrax_intf
-//-------------------------------------------------
-/*
-static struct votrax_sc02_interface votrax_intf =
-{
- DEVCB_NOOP
-};
-*/
-
-
-//-------------------------------------------------
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(c64_ps64_cartridge_device::device_add_mconfig)
- //MCFG_SPEAKER_STANDARD_MONO("mono")
- //MCFG_VOTRAX_SC02_ADD(SSI263_TAG, 2000000, votrax_intf)
- //MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
-MACHINE_CONFIG_END
+void c64_ps64_cartridge_device::device_add_mconfig(machine_config &config)
+{
+ //SPEAKER(config, "speaker").front_center();
+ //VOTRAX_SC02(config, SSI263_TAG, 2000000).add_route(ALL_OUTPUTS, "mono", 1.00);
+}
diff --git a/src/devices/bus/c64/reu.cpp b/src/devices/bus/c64/reu.cpp
index efa415e6e39..72f3f6f73e6 100644
--- a/src/devices/bus/c64/reu.cpp
+++ b/src/devices/bus/c64/reu.cpp
@@ -31,12 +31,12 @@ DEFINE_DEVICE_TYPE(C64_REU1764, c64_reu1764_cartridge_device, "c64_1764reu", "17
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(c64_reu_cartridge_device::device_add_mconfig)
+void c64_reu_cartridge_device::device_add_mconfig(machine_config &config)
+{
MOS8726(config, m_dmac, 1000000); // dummy clock
- MCFG_GENERIC_SOCKET_ADD("rom", generic_linear_slot, nullptr)
- MCFG_GENERIC_EXTENSIONS("bin,rom")
-MACHINE_CONFIG_END
+ GENERIC_SOCKET(config, m_eprom, generic_linear_slot, nullptr, "bin,rom");
+}
diff --git a/src/devices/bus/c64/rex_ep256.cpp b/src/devices/bus/c64/rex_ep256.cpp
index 67f1ce015b9..266b3b791e1 100644
--- a/src/devices/bus/c64/rex_ep256.cpp
+++ b/src/devices/bus/c64/rex_ep256.cpp
@@ -22,24 +22,17 @@ DEFINE_DEVICE_TYPE(C64_REX_EP256, c64_rex_ep256_cartridge_device, "rexexp256", "
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(c64_rex_ep256_cartridge_device::device_add_mconfig)
- MCFG_GENERIC_SOCKET_ADD("rom1", generic_linear_slot, nullptr)
- MCFG_GENERIC_EXTENSIONS("bin,rom")
- MCFG_GENERIC_SOCKET_ADD("rom2", generic_linear_slot, nullptr)
- MCFG_GENERIC_EXTENSIONS("bin,rom")
- MCFG_GENERIC_SOCKET_ADD("rom3", generic_linear_slot, nullptr)
- MCFG_GENERIC_EXTENSIONS("bin,rom")
- MCFG_GENERIC_SOCKET_ADD("rom4", generic_linear_slot, nullptr)
- MCFG_GENERIC_EXTENSIONS("bin,rom")
- MCFG_GENERIC_SOCKET_ADD("rom5", generic_linear_slot, nullptr)
- MCFG_GENERIC_EXTENSIONS("bin,rom")
- MCFG_GENERIC_SOCKET_ADD("rom6", generic_linear_slot, nullptr)
- MCFG_GENERIC_EXTENSIONS("bin,rom")
- MCFG_GENERIC_SOCKET_ADD("rom7", generic_linear_slot, nullptr)
- MCFG_GENERIC_EXTENSIONS("bin,rom")
- MCFG_GENERIC_SOCKET_ADD("rom8", generic_linear_slot, nullptr)
- MCFG_GENERIC_EXTENSIONS("bin,rom")
-MACHINE_CONFIG_END
+void c64_rex_ep256_cartridge_device::device_add_mconfig(machine_config &config)
+{
+ GENERIC_SOCKET(config, "rom1", generic_linear_slot, nullptr, "bin,rom");
+ GENERIC_SOCKET(config, "rom2", generic_linear_slot, nullptr, "bin,rom");
+ GENERIC_SOCKET(config, "rom3", generic_linear_slot, nullptr, "bin,rom");
+ GENERIC_SOCKET(config, "rom4", generic_linear_slot, nullptr, "bin,rom");
+ GENERIC_SOCKET(config, "rom5", generic_linear_slot, nullptr, "bin,rom");
+ GENERIC_SOCKET(config, "rom6", generic_linear_slot, nullptr, "bin,rom");
+ GENERIC_SOCKET(config, "rom7", generic_linear_slot, nullptr, "bin,rom");
+ GENERIC_SOCKET(config, "rom8", generic_linear_slot, nullptr, "bin,rom");
+}
diff --git a/src/devices/bus/c64/speakeasy.cpp b/src/devices/bus/c64/speakeasy.cpp
index 09427458fe7..b7be256ef86 100644
--- a/src/devices/bus/c64/speakeasy.cpp
+++ b/src/devices/bus/c64/speakeasy.cpp
@@ -31,12 +31,12 @@ DEFINE_DEVICE_TYPE(C64_SPEAKEASY, c64_speakeasy_cartridge_device, "c64_speakeasy
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(c64_speakeasy_cartridge_device::device_add_mconfig)
+void c64_speakeasy_cartridge_device::device_add_mconfig(machine_config &config)
+{
SPEAKER(config, "mono").front_center();
- MCFG_DEVICE_ADD(SC01A_TAG, VOTRAX_SC01, 720000)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.85)
-MACHINE_CONFIG_END
+ VOTRAX_SC01(config, m_votrax, 720000).add_route(ALL_OUTPUTS, "mono", 0.85);
+}
diff --git a/src/devices/bus/c64/xl80.cpp b/src/devices/bus/c64/xl80.cpp
index 050bd4db64f..62cd0a8a3b9 100644
--- a/src/devices/bus/c64/xl80.cpp
+++ b/src/devices/bus/c64/xl80.cpp
@@ -123,12 +123,13 @@ GFXDECODE_END
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(c64_xl80_device::device_add_mconfig)
- MCFG_SCREEN_ADD_MONOCHROME(MC6845_SCREEN_TAG, RASTER, rgb_t::white())
- MCFG_SCREEN_UPDATE_DEVICE(HD46505SP_TAG, h46505_device, screen_update)
- MCFG_SCREEN_SIZE(80*8, 24*8)
- MCFG_SCREEN_VISIBLE_AREA(0, 80*8-1, 0, 24*8-1)
- MCFG_SCREEN_REFRESH_RATE(50)
+void c64_xl80_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, MC6845_SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::white()));
+ screen.set_screen_update(HD46505SP_TAG, FUNC(h46505_device::screen_update));
+ screen.set_size(80*8, 24*8);
+ screen.set_visarea(0, 80*8-1, 0, 24*8-1);
+ screen.set_refresh_hz(50);
GFXDECODE(config, "gfxdecode", m_palette, gfx_c64_xl80);
PALETTE(config, m_palette, palette_device::MONOCHROME);
@@ -138,7 +139,7 @@ MACHINE_CONFIG_START(c64_xl80_device::device_add_mconfig)
m_crtc->set_show_border_area(true);
m_crtc->set_char_width(8);
m_crtc->set_update_row_callback(FUNC(c64_xl80_device::crtc_update_row), this);
-MACHINE_CONFIG_END
+}
diff --git a/src/devices/bus/cbm2/hrg.cpp b/src/devices/bus/cbm2/hrg.cpp
index 1d0e4fc6191..83fab890fcb 100644
--- a/src/devices/bus/cbm2/hrg.cpp
+++ b/src/devices/bus/cbm2/hrg.cpp
@@ -88,12 +88,13 @@ void cbm2_hrg_b_device::hrg_b_map(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(cbm2_hrg_a_device::device_add_mconfig)
- MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::green())
- MCFG_SCREEN_UPDATE_DEVICE(EF9365_TAG, ef9365_device, screen_update)
- MCFG_SCREEN_SIZE(512, 512)
- MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 512-1)
- MCFG_SCREEN_REFRESH_RATE(25)
+void cbm2_hrg_a_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_screen_update(EF9365_TAG, FUNC(ef9365_device::screen_update));
+ screen.set_size(512, 512);
+ screen.set_visarea(0, 512-1, 0, 512-1);
+ screen.set_refresh_hz(25);
PALETTE(config, "palette", palette_device::MONOCHROME);
EF9365(config, m_gdc, 1750000);
@@ -102,14 +103,15 @@ MACHINE_CONFIG_START(cbm2_hrg_a_device::device_add_mconfig)
m_gdc->set_palette_tag("palette");
m_gdc->set_nb_bitplanes(1);
m_gdc->set_display_mode(ef9365_device::DISPLAY_MODE_512x512);
-MACHINE_CONFIG_END
-
-MACHINE_CONFIG_START(cbm2_hrg_b_device::device_add_mconfig)
- MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::green())
- MCFG_SCREEN_UPDATE_DEVICE(EF9366_TAG, ef9365_device, screen_update)
- MCFG_SCREEN_SIZE(512, 256)
- MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1)
- MCFG_SCREEN_REFRESH_RATE(50)
+}
+
+void cbm2_hrg_b_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_screen_update(EF9366_TAG, FUNC(ef9365_device::screen_update));
+ screen.set_size(512, 256);
+ screen.set_visarea(0, 512-1, 0, 256-1);
+ screen.set_refresh_hz(50);
PALETTE(config, "palette", palette_device::MONOCHROME);
EF9365(config, m_gdc, 1750000); //EF9366
@@ -118,7 +120,7 @@ MACHINE_CONFIG_START(cbm2_hrg_b_device::device_add_mconfig)
m_gdc->set_palette_tag("palette");
m_gdc->set_nb_bitplanes(1);
m_gdc->set_display_mode(ef9365_device::DISPLAY_MODE_512x256);
-MACHINE_CONFIG_END
+}
diff --git a/src/devices/bus/cbmiec/c1526.cpp b/src/devices/bus/cbmiec/c1526.cpp
index 6341807bd60..7123782d42c 100644
--- a/src/devices/bus/cbmiec/c1526.cpp
+++ b/src/devices/bus/cbmiec/c1526.cpp
@@ -88,20 +88,22 @@ void c1526_device_base::c1526_mem(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(c1526_device::device_add_mconfig)
- MCFG_DEVICE_ADD(M6504_TAG, M6504, XTAL(4'000'000)/4)
- MCFG_DEVICE_PROGRAM_MAP(c1526_mem)
-MACHINE_CONFIG_END
+void c1526_device::device_add_mconfig(machine_config &config)
+{
+ m6504_device &cpu(M6504(config, M6504_TAG, XTAL(4'000'000)/4));
+ cpu.set_addrmap(AS_PROGRAM, &c1526_device::c1526_mem);
+}
//-------------------------------------------------
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(c4023_device::device_add_mconfig)
- MCFG_DEVICE_ADD(M6504_TAG, M6504, XTAL(4'000'000)/4)
- MCFG_DEVICE_PROGRAM_MAP(c1526_mem)
-MACHINE_CONFIG_END
+void c4023_device::device_add_mconfig(machine_config &config)
+{
+ m6504_device &cpu(M6504(config, M6504_TAG, XTAL(4'000'000)/4));
+ cpu.set_addrmap(AS_PROGRAM, &c4023_device::c1526_mem);
+}
//-------------------------------------------------
diff --git a/src/devices/bus/cbmiec/serialbox.cpp b/src/devices/bus/cbmiec/serialbox.cpp
index b14eca1f389..ab8326528d0 100644
--- a/src/devices/bus/cbmiec/serialbox.cpp
+++ b/src/devices/bus/cbmiec/serialbox.cpp
@@ -69,10 +69,11 @@ void serial_box_device::serial_box_mem(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(serial_box_device::device_add_mconfig)
- MCFG_DEVICE_ADD(M6502_TAG, M65C02, XTAL(4'000'000)/4)
- MCFG_DEVICE_PROGRAM_MAP(serial_box_mem)
-MACHINE_CONFIG_END
+void serial_box_device::device_add_mconfig(machine_config &config)
+{
+ M65C02(config, m_maincpu, XTAL(4'000'000)/4);
+ m_maincpu->set_addrmap(AS_PROGRAM, &serial_box_device::serial_box_mem);
+}
diff --git a/src/devices/bus/cbmiec/vic1515.cpp b/src/devices/bus/cbmiec/vic1515.cpp
index 1afc47ce807..5accd8b6858 100644
--- a/src/devices/bus/cbmiec/vic1515.cpp
+++ b/src/devices/bus/cbmiec/vic1515.cpp
@@ -61,11 +61,12 @@ void vic1515_device::vic1515_io(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(vic1515_device::device_add_mconfig)
- MCFG_DEVICE_ADD("maincpu", I8039, XTAL(6'000'000))
- MCFG_DEVICE_PROGRAM_MAP(vic1515_mem)
- MCFG_DEVICE_IO_MAP(vic1515_io)
-MACHINE_CONFIG_END
+void vic1515_device::device_add_mconfig(machine_config &config)
+{
+ i8039_device &maincpu(I8039(config, "maincpu", XTAL(6'000'000)));
+ maincpu.set_addrmap(AS_PROGRAM, &vic1515_device::vic1515_mem);
+ maincpu.set_addrmap(AS_IO, &vic1515_device::vic1515_io);
+}
//-------------------------------------------------
diff --git a/src/devices/bus/cbmiec/vic1520.cpp b/src/devices/bus/cbmiec/vic1520.cpp
index 0f515f8638a..8e535c230e6 100644
--- a/src/devices/bus/cbmiec/vic1520.cpp
+++ b/src/devices/bus/cbmiec/vic1520.cpp
@@ -94,10 +94,11 @@ void vic1520_device::vic1520_mem(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(vic1520_device::device_add_mconfig)
- MCFG_DEVICE_ADD(M6500_1_TAG, M6502, XTAL(2'000'000)) // M6500/1
- MCFG_DEVICE_PROGRAM_MAP(vic1520_mem)
-MACHINE_CONFIG_END
+void vic1520_device::device_add_mconfig(machine_config &config)
+{
+ m6502_device &cpu(M6502(config, M6500_1_TAG, XTAL(2'000'000))); // M6500/1
+ cpu.set_addrmap(AS_PROGRAM, &vic1520_device::vic1520_mem);
+}
//-------------------------------------------------
diff --git a/src/devices/bus/cbus/pc9801_86.cpp b/src/devices/bus/cbus/pc9801_86.cpp
index b5146ab6a87..f99665b7542 100644
--- a/src/devices/bus/cbus/pc9801_86.cpp
+++ b/src/devices/bus/cbus/pc9801_86.cpp
@@ -47,7 +47,8 @@ WRITE_LINE_MEMBER(pc9801_86_device::sound_irq)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(pc9801_86_device::pc9801_86_config)
+void pc9801_86_device::pc9801_86_config(machine_config &config)
+{
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
YM2608(config, m_opna, 7.987_MHz_XTAL);
@@ -62,16 +63,20 @@ MACHINE_CONFIG_START(pc9801_86_device::pc9801_86_config)
m_opna->add_route(1, "lspeaker", 1.00);
m_opna->add_route(2, "rspeaker", 1.00);
- MCFG_DEVICE_ADD("ldac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) // burr brown pcm61p
- MCFG_DEVICE_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(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
+ DAC_16BIT_R2R_TWOS_COMPLEMENT(config, m_ldac, 0).add_route(ALL_OUTPUTS, "lspeaker", 1.0); // burr brown pcm61p
+ DAC_16BIT_R2R_TWOS_COMPLEMENT(config, m_rdac, 0).add_route(ALL_OUTPUTS, "rspeaker", 1.0); // burr brown pcm61p
+ voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
+ vref.set_output(5.0);
+ vref.add_route(0, "ldac", 1.0, DAC_VREF_POS_INPUT);
+ vref.add_route(0, "ldac", -1.0, DAC_VREF_NEG_INPUT);
+ vref.add_route(0, "rdac", 1.0, DAC_VREF_POS_INPUT);
+ vref.add_route(0, "rdac", -1.0, DAC_VREF_NEG_INPUT);
+}
-MACHINE_CONFIG_START(pc9801_86_device::device_add_mconfig)
+void pc9801_86_device::device_add_mconfig(machine_config &config)
+{
pc9801_86_config(config);
-MACHINE_CONFIG_END
+}
// to load a different bios for slots:
// -cbusX pc9801_86,bios=N
diff --git a/src/devices/bus/centronics/covox.cpp b/src/devices/bus/centronics/covox.cpp
index e508578ffe6..f360b97d92a 100644
--- a/src/devices/bus/centronics/covox.cpp
+++ b/src/devices/bus/centronics/covox.cpp
@@ -38,13 +38,16 @@ centronics_covox_device::centronics_covox_device(const machine_config &mconfig,
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(centronics_covox_device::device_add_mconfig)
+void centronics_covox_device::device_add_mconfig(machine_config &config)
+{
/* sound hardware */
SPEAKER(config, "speaker").front_center();
- MCFG_DEVICE_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(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
-MACHINE_CONFIG_END
+ DAC_8BIT_R2R(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.5); // unknown DAC
+ voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
+ vref.set_output(5.0);
+ vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
+ vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
+}
void centronics_covox_device::device_start()
{
@@ -87,16 +90,20 @@ centronics_covox_stereo_device::centronics_covox_stereo_device(const machine_con
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(centronics_covox_stereo_device::device_add_mconfig)
+void centronics_covox_stereo_device::device_add_mconfig(machine_config &config)
+{
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
- MCFG_DEVICE_ADD("ldac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) // unknown DAC
- MCFG_DEVICE_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(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
+ DAC_8BIT_R2R(config, m_ldac, 0).add_route(ALL_OUTPUTS, "lspeaker", 0.5); // unknown DAC
+ DAC_8BIT_R2R(config, m_rdac, 0).add_route(ALL_OUTPUTS, "rspeaker", 0.5); // unknown DAC
+ voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
+ vref.set_output(5.0);
+ vref.add_route(0, "ldac", 1.0, DAC_VREF_POS_INPUT);
+ vref.add_route(0, "ldac", -1.0, DAC_VREF_NEG_INPUT);
+ vref.add_route(0, "rdac", 1.0, DAC_VREF_POS_INPUT);
+ vref.add_route(0, "rdac", -1.0, DAC_VREF_NEG_INPUT);
+}
void centronics_covox_stereo_device::device_start()
{
diff --git a/src/devices/bus/centronics/digiblst.cpp b/src/devices/bus/centronics/digiblst.cpp
index 99a046f4d13..680716a8a25 100644
--- a/src/devices/bus/centronics/digiblst.cpp
+++ b/src/devices/bus/centronics/digiblst.cpp
@@ -38,13 +38,16 @@ centronics_digiblaster_device::centronics_digiblaster_device(const machine_confi
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(centronics_digiblaster_device::device_add_mconfig)
+void centronics_digiblaster_device::device_add_mconfig(machine_config &config)
+{
/* sound hardware */
SPEAKER(config, "speaker").front_center();
- MCFG_DEVICE_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(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
-MACHINE_CONFIG_END
+ DAC_8BIT_R2R(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.5); // unknown DAC
+ voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
+ vref.set_output(5.0);
+ vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
+ vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
+}
void centronics_digiblaster_device::device_start()
{
diff --git a/src/devices/bus/compis/hrg.cpp b/src/devices/bus/compis/hrg.cpp
index fc1665107fa..6049be0adcd 100644
--- a/src/devices/bus/compis/hrg.cpp
+++ b/src/devices/bus/compis/hrg.cpp
@@ -77,14 +77,15 @@ UPD7220_DISPLAY_PIXELS_MEMBER( compis_uhrg_device::display_pixels )
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(compis_hrg_device::device_add_mconfig)
- MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::green())
- MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
- MCFG_SCREEN_REFRESH_RATE(50)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) // not accurate
- MCFG_SCREEN_SIZE(640, 400)
- MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 400-1)
- MCFG_SCREEN_UPDATE_DEVICE(UPD7220_TAG, upd7220_device, screen_update)
+void compis_hrg_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_video_attributes(VIDEO_UPDATE_BEFORE_VBLANK);
+ screen.set_refresh_hz(50);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); // not accurate
+ screen.set_size(640, 400);
+ screen.set_visarea(0, 640-1, 0, 400-1);
+ screen.set_screen_update(UPD7220_TAG, FUNC(upd7220_device::screen_update));
UPD7220(config, m_crtc, 2252500); // unknown clock
m_crtc->set_addrmap(0, &compis_hrg_device::hrg_map);
@@ -92,17 +93,18 @@ MACHINE_CONFIG_START(compis_hrg_device::device_add_mconfig)
m_crtc->set_screen(SCREEN_TAG);
PALETTE(config, m_palette, palette_device::MONOCHROME);
-MACHINE_CONFIG_END
+}
-MACHINE_CONFIG_START(compis_uhrg_device::device_add_mconfig)
- MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::green())
- MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
- MCFG_SCREEN_REFRESH_RATE(50)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) // not accurate
- MCFG_SCREEN_SIZE(1280, 800)
- MCFG_SCREEN_VISIBLE_AREA(0, 1280-1, 0, 800-1)
- MCFG_SCREEN_UPDATE_DEVICE(UPD7220_TAG, upd7220_device, screen_update)
+void compis_uhrg_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_video_attributes(VIDEO_UPDATE_BEFORE_VBLANK);
+ screen.set_refresh_hz(50);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); // not accurate
+ screen.set_size(1280, 800);
+ screen.set_visarea(0, 1280-1, 0, 800-1);
+ screen.set_screen_update(UPD7220_TAG, FUNC(upd7220_device::screen_update));
UPD7220(config, m_crtc, 2252500*2); // unknown clock
m_crtc->set_addrmap(0, &compis_uhrg_device::uhrg_map);
@@ -110,7 +112,7 @@ MACHINE_CONFIG_START(compis_uhrg_device::device_add_mconfig)
m_crtc->set_screen(SCREEN_TAG);
PALETTE(config, m_palette, palette_device::MONOCHROME);
-MACHINE_CONFIG_END
+}
//**************************************************************************
diff --git a/src/devices/bus/comx35/clm.cpp b/src/devices/bus/comx35/clm.cpp
index a7809731bcd..48372080308 100644
--- a/src/devices/bus/comx35/clm.cpp
+++ b/src/devices/bus/comx35/clm.cpp
@@ -137,13 +137,14 @@ GFXDECODE_END
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(comx_clm_device::device_add_mconfig)
- MCFG_SCREEN_ADD_MONOCHROME(MC6845_SCREEN_TAG, RASTER, rgb_t::white())
- MCFG_SCREEN_UPDATE_DEVICE(MC6845_TAG, mc6845_device, screen_update)
- MCFG_SCREEN_SIZE(80*8, 24*8)
- MCFG_SCREEN_VISIBLE_AREA(0, 80*8-1, 0, 24*8-1)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500))
- MCFG_SCREEN_REFRESH_RATE(50)
+void comx_clm_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, MC6845_SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::white()));
+ screen.set_screen_update(MC6845_TAG, FUNC(mc6845_device::screen_update));
+ screen.set_size(80*8, 24*8);
+ screen.set_visarea(0, 80*8-1, 0, 24*8-1);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500));
+ screen.set_refresh_hz(50);
GFXDECODE(config, "gfxdecode", m_palette, gfx_comx_clm);
PALETTE(config, m_palette, palette_device::MONOCHROME);
@@ -153,7 +154,7 @@ MACHINE_CONFIG_START(comx_clm_device::device_add_mconfig)
m_crtc->set_show_border_area(true);
m_crtc->set_char_width(8);
m_crtc->set_update_row_callback(FUNC(comx_clm_device::crtc_update_row), this);
-MACHINE_CONFIG_END
+}
//**************************************************************************
diff --git a/src/devices/bus/cpc/amdrum.cpp b/src/devices/bus/cpc/amdrum.cpp
index b0c0610b607..acaebe1c260 100644
--- a/src/devices/bus/cpc/amdrum.cpp
+++ b/src/devices/bus/cpc/amdrum.cpp
@@ -20,13 +20,16 @@
DEFINE_DEVICE_TYPE(CPC_AMDRUM, cpc_amdrum_device, "cpc_amdrum", "Amdrum")
-MACHINE_CONFIG_START(cpc_amdrum_device::device_add_mconfig)
+void cpc_amdrum_device::device_add_mconfig(machine_config &config)
+{
SPEAKER(config, "speaker").front_center();
- MCFG_DEVICE_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(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ DAC_8BIT_R2R(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.5); // unknown DAC
+ voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
+ vref.set_output(5.0);
+ vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
+ vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
// no pass-through
-MACHINE_CONFIG_END
+}
//**************************************************************************
diff --git a/src/devices/bus/cpc/magicsound.cpp b/src/devices/bus/cpc/magicsound.cpp
index f1a940a72c3..3d665d93800 100644
--- a/src/devices/bus/cpc/magicsound.cpp
+++ b/src/devices/bus/cpc/magicsound.cpp
@@ -20,7 +20,8 @@
DEFINE_DEVICE_TYPE(AL_MAGICSOUND, al_magicsound_device, "al_magicsound", "Aleste Magic Sound Board")
-MACHINE_CONFIG_START(al_magicsound_device::device_add_mconfig)
+void al_magicsound_device::device_add_mconfig(machine_config &config)
+{
AM9517A(config, m_dmac, DERIVED_CLOCK(1, 1)); // CLK from expansion port
// According to the schematics, the TC pin (EOP on western chips) is connected to NMI on the expansion port.
// NMIs seem to occur too quickly when this is active, so either EOP is not triggered at the correct time, or
@@ -57,11 +58,13 @@ MACHINE_CONFIG_START(al_magicsound_device::device_add_mconfig)
m_timer2->set_clk<2>(4000000);
SPEAKER(config, "speaker").front_center();
- MCFG_DEVICE_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(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ DAC_8BIT_R2R(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.5); // unknown DAC
+ voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
+ vref.set_output(5.0);
+ vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
+ vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
// no pass-through(?)
-MACHINE_CONFIG_END
+}
//**************************************************************************
diff --git a/src/devices/bus/interpro/keyboard/hle.cpp b/src/devices/bus/interpro/keyboard/hle.cpp
index 670e5bd975c..15dd262eddf 100644
--- a/src/devices/bus/interpro/keyboard/hle.cpp
+++ b/src/devices/bus/interpro/keyboard/hle.cpp
@@ -277,11 +277,11 @@ WRITE_LINE_MEMBER(hle_device_base::input_txd)
device_buffered_serial_interface::rx_w(state);
}
-MACHINE_CONFIG_START(hle_device_base::device_add_mconfig)
+void hle_device_base::device_add_mconfig(machine_config &config)
+{
SPEAKER(config, "bell").front_center();
- MCFG_DEVICE_ADD("beeper", BEEP, ATTOSECONDS_TO_HZ(480 * ATTOSECONDS_PER_MICROSECOND))
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bell", 1.0)
-MACHINE_CONFIG_END
+ BEEP(config, m_beeper, ATTOSECONDS_TO_HZ(480 * ATTOSECONDS_PER_MICROSECOND)).add_route(ALL_OUTPUTS, "bell", 1.0);
+}
void hle_device_base::device_start()
{
diff --git a/src/devices/bus/isa/adlib.cpp b/src/devices/bus/isa/adlib.cpp
index ad2d3735d6e..6a900b0e09d 100644
--- a/src/devices/bus/isa/adlib.cpp
+++ b/src/devices/bus/isa/adlib.cpp
@@ -44,11 +44,11 @@ DEFINE_DEVICE_TYPE(ISA8_ADLIB, isa8_adlib_device, "isa_adlib", "Ad Lib Sound Car
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(isa8_adlib_device::device_add_mconfig)
+void isa8_adlib_device::device_add_mconfig(machine_config &config)
+{
SPEAKER(config, "mono").front_center();
- MCFG_DEVICE_ADD("ym3812", YM3812, ym3812_StdClock)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 3.00)
-MACHINE_CONFIG_END
+ YM3812(config, m_ym3812, ym3812_StdClock).add_route(ALL_OUTPUTS, "mono", 3.00);
+}
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/isa/aga.cpp b/src/devices/bus/isa/aga.cpp
index 9aa2810431b..dfdf2433c91 100644
--- a/src/devices/bus/isa/aga.cpp
+++ b/src/devices/bus/isa/aga.cpp
@@ -273,12 +273,13 @@ MC6845_UPDATE_ROW( isa8_aga_device::aga_update_row )
}
-MACHINE_CONFIG_START(isa8_aga_device::device_add_mconfig)
- MCFG_SCREEN_ADD( AGA_SCREEN_NAME, RASTER )
- MCFG_SCREEN_RAW_PARAMS( XTAL(14'318'181),912,0,640,262,0,200 )
- MCFG_SCREEN_UPDATE_DEVICE( AGA_MC6845_NAME, mc6845_device, screen_update )
+void isa8_aga_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, AGA_SCREEN_NAME, SCREEN_TYPE_RASTER));
+ screen.set_raw(XTAL(14'318'181), 912, 0, 640, 262, 0, 200);
+ screen.set_screen_update(AGA_MC6845_NAME, FUNC(mc6845_device::screen_update));
- MCFG_PALETTE_ADD( "palette", /* CGA_PALETTE_SETS * 16*/ 65536 )
+ PALETTE(config, m_palette).set_entries(/* CGA_PALETTE_SETS * 16*/ 65536);
MC6845(config, m_mc6845, XTAL(14'318'181)/8);
m_mc6845->set_screen(AGA_SCREEN_NAME);
@@ -287,7 +288,7 @@ MACHINE_CONFIG_START(isa8_aga_device::device_add_mconfig)
m_mc6845->set_update_row_callback(FUNC(isa8_aga_device::aga_update_row), this);
m_mc6845->out_hsync_callback().set(FUNC(isa8_aga_device::hsync_changed));
m_mc6845->out_vsync_callback().set(FUNC(isa8_aga_device::vsync_changed));
-MACHINE_CONFIG_END
+}
/*************************************
diff --git a/src/devices/bus/isa/aha1542.cpp b/src/devices/bus/isa/aha1542.cpp
index 8e260347eee..b044c88b171 100644
--- a/src/devices/bus/isa/aha1542.cpp
+++ b/src/devices/bus/isa/aha1542.cpp
@@ -175,10 +175,11 @@ const tiny_rom_entry *aha1542_device::device_rom_region() const
return ROM_NAME( aha1542 );
}
-MACHINE_CONFIG_START(aha1542_device::device_add_mconfig)
- MCFG_DEVICE_ADD(Z84C0010_TAG, Z80, XTAL(12'000'000))
- MCFG_DEVICE_PROGRAM_MAP( z84c0010_mem )
-MACHINE_CONFIG_END
+void aha1542_device::device_add_mconfig(machine_config &config)
+{
+ z80_device &cpu(Z80(config, Z84C0010_TAG, XTAL(12'000'000)));
+ cpu.set_addrmap(AS_PROGRAM, &aha1542_device::z84c0010_mem);
+}
aha1542_device::aha1542_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, AHA1542, tag, owner, clock),
diff --git a/src/devices/bus/isa/cga.cpp b/src/devices/bus/isa/cga.cpp
index f5fb8f185d7..9ebb3e9bdd3 100644
--- a/src/devices/bus/isa/cga.cpp
+++ b/src/devices/bus/isa/cga.cpp
@@ -261,12 +261,13 @@ DEFINE_DEVICE_TYPE(ISA8_CGA, isa8_cga_device, "cga", "IBM Color/Graphics Monitor
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(isa8_cga_device::device_add_mconfig)
- MCFG_SCREEN_ADD(CGA_SCREEN_NAME, RASTER)
- MCFG_SCREEN_RAW_PARAMS(XTAL(14'318'181),912,0,640,262,0,200)
- MCFG_SCREEN_UPDATE_DEVICE( DEVICE_SELF, isa8_cga_device, screen_update )
+void isa8_cga_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, CGA_SCREEN_NAME, SCREEN_TYPE_RASTER));
+ screen.set_raw(XTAL(14'318'181), 912, 0, 640, 262, 0, 200);
+ screen.set_screen_update(FUNC(isa8_cga_device::screen_update));
- MCFG_PALETTE_ADD("palette", /* CGA_PALETTE_SETS * 16*/ 65536 )
+ PALETTE(config, m_palette).set_entries(/* CGA_PALETTE_SETS * 16*/ 65536);
MC6845(config, m_crtc, XTAL(14'318'181)/16);
m_crtc->set_screen(nullptr);
@@ -276,7 +277,7 @@ MACHINE_CONFIG_START(isa8_cga_device::device_add_mconfig)
m_crtc->out_hsync_callback().set(FUNC(isa8_cga_device::hsync_changed));
m_crtc->out_vsync_callback().set(FUNC(isa8_cga_device::vsync_changed));
m_crtc->set_reconfigure_callback(FUNC(isa8_cga_device::reconfigure), this);
-MACHINE_CONFIG_END
+}
ioport_constructor isa8_cga_device::device_input_ports() const
{
@@ -1693,13 +1694,13 @@ const tiny_rom_entry *isa8_cga_mc1502_device::device_rom_region() const
DEFINE_DEVICE_TYPE(ISA8_CGA_M24, isa8_cga_m24_device, "cga_m24", "Olivetti M24 CGA")
-MACHINE_CONFIG_START(isa8_cga_m24_device::device_add_mconfig)
+void isa8_cga_m24_device::device_add_mconfig(machine_config &config)
+{
isa8_cga_device::device_add_mconfig(config);
- MCFG_DEVICE_MODIFY(CGA_SCREEN_NAME)
- MCFG_SCREEN_RAW_PARAMS(XTAL(14'318'181),912,0,640,462,0,400)
+ subdevice<screen_device>(CGA_SCREEN_NAME)->set_raw(XTAL(14'318'181), 912, 0, 640, 462, 0, 400);
m_crtc->set_reconfigure_callback(FUNC(isa8_cga_m24_device::reconfigure), this);
-MACHINE_CONFIG_END
+}
isa8_cga_m24_device::isa8_cga_m24_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
isa8_cga_m24_device(mconfig, ISA8_CGA_M24, tag, owner, clock)
@@ -1886,12 +1887,12 @@ MC6845_UPDATE_ROW( isa8_cga_m24_device::m24_gfx_1bpp_m24_update_row )
DEFINE_DEVICE_TYPE(ISA8_CGA_CPORTIII, isa8_cga_cportiii_device, "cga_cportiii", "Compaq Portable III CGA")
-MACHINE_CONFIG_START(isa8_cga_cportiii_device::device_add_mconfig)
+void isa8_cga_cportiii_device::device_add_mconfig(machine_config &config)
+{
isa8_cga_m24_device::device_add_mconfig(config);
- MCFG_DEVICE_MODIFY(CGA_SCREEN_NAME)
- MCFG_SCREEN_COLOR(rgb_t(255, 125, 0))
-MACHINE_CONFIG_END
+ subdevice<screen_device>(CGA_SCREEN_NAME)->set_color(rgb_t(255, 125, 0));
+}
isa8_cga_cportiii_device::isa8_cga_cportiii_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
isa8_cga_m24_device(mconfig, ISA8_CGA_CPORTIII, tag, owner, clock)
diff --git a/src/devices/bus/isa/ega.cpp b/src/devices/bus/isa/ega.cpp
index 936138bd972..a0e7484b280 100644
--- a/src/devices/bus/isa/ega.cpp
+++ b/src/devices/bus/isa/ega.cpp
@@ -528,13 +528,14 @@ DEFINE_DEVICE_TYPE(ISA8_EGA, isa8_ega_device, "ega", "IBM Enhanced Graphics Adap
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(isa8_ega_device::device_add_mconfig)
- MCFG_SCREEN_ADD(EGA_SCREEN_NAME, RASTER)
- MCFG_SCREEN_RAW_PARAMS(16.257_MHz_XTAL, 912, 0, 640, 262, 0, 200)
- MCFG_SCREEN_UPDATE_DEVICE(EGA_CRTC_NAME, crtc_ega_device, screen_update)
- MCFG_SCREEN_PALETTE("palette")
+void isa8_ega_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, EGA_SCREEN_NAME, SCREEN_TYPE_RASTER));
+ screen.set_raw(16.257_MHz_XTAL, 912, 0, 640, 262, 0, 200);
+ screen.set_screen_update(EGA_CRTC_NAME, FUNC(crtc_ega_device::screen_update));
+ screen.set_palette(m_palette);
- MCFG_PALETTE_ADD( "palette", 64 )
+ PALETTE(config, m_palette).set_entries(64);
CRTC_EGA(config, m_crtc_ega, 16.257_MHz_XTAL/8);
m_crtc_ega->set_screen(EGA_SCREEN_NAME);
@@ -544,7 +545,7 @@ MACHINE_CONFIG_START(isa8_ega_device::device_add_mconfig)
m_crtc_ega->res_out_hsync_callback().set(FUNC(isa8_ega_device::hsync_changed));
m_crtc_ega->res_out_vsync_callback().set(FUNC(isa8_ega_device::vsync_changed));
m_crtc_ega->res_out_vblank_callback().set(FUNC(isa8_ega_device::vblank_changed));
-MACHINE_CONFIG_END
+}
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/isa/eis_sad8852.cpp b/src/devices/bus/isa/eis_sad8852.cpp
index 4f2b5a0c856..f4d634d1033 100644
--- a/src/devices/bus/isa/eis_sad8852.cpp
+++ b/src/devices/bus/isa/eis_sad8852.cpp
@@ -199,13 +199,14 @@ ioport_constructor isa16_sad8852_device::device_input_ports() const
//-------------------------------------------------
// Board configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(isa16_sad8852_device::device_add_mconfig)
- MCFG_DEVICE_ADD(I80188_TAG, I80188, XTAL(12'000'000) / 2) // Chip revision is 6 MHz
- MCFG_DEVICE_PROGRAM_MAP( sad8852_mem )
- MCFG_DEVICE_IO_MAP(sad8852_io)
+void isa16_sad8852_device::device_add_mconfig(machine_config &config)
+{
+ i80188_cpu_device &cpu(I80188(config, I80188_TAG, XTAL(12'000'000) / 2)); // Chip revision is 6 MHz
+ cpu.set_addrmap(AS_PROGRAM, &isa16_sad8852_device::sad8852_mem);
+ cpu.set_addrmap(AS_IO, &isa16_sad8852_device::sad8852_io);
I8274_NEW(config, "terminal", XTAL(12'000'000) / 3); // Needs verification
-MACHINE_CONFIG_END
+}
isa16_sad8852_device::isa16_sad8852_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, ISA16_SAD8852, tag, owner, clock)
diff --git a/src/devices/bus/isa/finalchs.cpp b/src/devices/bus/isa/finalchs.cpp
index e79dee39686..f9e6f37dc8f 100644
--- a/src/devices/bus/isa/finalchs.cpp
+++ b/src/devices/bus/isa/finalchs.cpp
@@ -71,10 +71,11 @@ DEFINE_DEVICE_TYPE(ISA8_FINALCHS, isa8_finalchs_device, "isa_finalchs", "Final C
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(isa8_finalchs_device::device_add_mconfig)
- MCFG_DEVICE_ADD("maincpu",M65C02,5000000)
- MCFG_DEVICE_PROGRAM_MAP(finalchs_mem)
-MACHINE_CONFIG_END
+void isa8_finalchs_device::device_add_mconfig(machine_config &config)
+{
+ m65c02_device &cpu(M65C02(config, "maincpu", 5000000));
+ cpu.set_addrmap(AS_PROGRAM, &isa8_finalchs_device::finalchs_mem);
+}
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/isa/lbaenhancer.cpp b/src/devices/bus/isa/lbaenhancer.cpp
index 14bd28826ef..f8ebedb130c 100644
--- a/src/devices/bus/isa/lbaenhancer.cpp
+++ b/src/devices/bus/isa/lbaenhancer.cpp
@@ -84,9 +84,10 @@ const tiny_rom_entry *lba_enhancer_device::device_rom_region() const
//-------------------------------------------------
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START( lba_enhancer_device::device_add_mconfig )
-// MCFG_DEVICE_ADD("lba_enhancer", lba_enhancer, 0)
-MACHINE_CONFIG_END
+void lba_enhancer_device::device_add_mconfig(machine_config &config)
+{
+// lba_enhancer(config, "lba_enhancer", 0);
+}
//-------------------------------------------------
diff --git a/src/devices/bus/isa/mda.cpp b/src/devices/bus/isa/mda.cpp
index b638aa37ae9..35e46220cff 100644
--- a/src/devices/bus/isa/mda.cpp
+++ b/src/devices/bus/isa/mda.cpp
@@ -107,12 +107,13 @@ DEFINE_DEVICE_TYPE(ISA8_MDA, isa8_mda_device, "isa_ibm_mda", "IBM Monochrome Dis
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(isa8_mda_device::device_add_mconfig)
- MCFG_SCREEN_ADD( MDA_SCREEN_NAME, RASTER)
- MCFG_SCREEN_RAW_PARAMS(MDA_CLOCK, 882, 0, 720, 370, 0, 350 )
- MCFG_SCREEN_UPDATE_DEVICE( MC6845_NAME, mc6845_device, screen_update )
+void isa8_mda_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, MDA_SCREEN_NAME, SCREEN_TYPE_RASTER));
+ screen.set_raw(MDA_CLOCK, 882, 0, 720, 370, 0, 350);
+ screen.set_screen_update(MC6845_NAME, FUNC(mc6845_device::screen_update));
- MCFG_PALETTE_ADD( "palette", 4 )
+ PALETTE(config, m_palette).set_entries(4);
MC6845(config, m_crtc, MDA_CLOCK/9);
m_crtc->set_screen(MDA_SCREEN_NAME);
@@ -126,7 +127,7 @@ MACHINE_CONFIG_START(isa8_mda_device::device_add_mconfig)
PC_LPT(config, m_lpt);
m_lpt->irq_handler().set(FUNC(isa8_mda_device::pc_cpu_line));
-MACHINE_CONFIG_END
+}
//-------------------------------------------------
// rom_region - device-specific ROM region
@@ -532,12 +533,13 @@ DEFINE_DEVICE_TYPE(ISA8_HERCULES, isa8_hercules_device, "isa_hercules", "Hercule
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(isa8_hercules_device::device_add_mconfig)
- MCFG_SCREEN_ADD( HERCULES_SCREEN_NAME, RASTER)
- MCFG_SCREEN_RAW_PARAMS(MDA_CLOCK, 882, 0, 720, 370, 0, 350 )
- MCFG_SCREEN_UPDATE_DEVICE( MC6845_NAME, mc6845_device, screen_update )
+void isa8_hercules_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, HERCULES_SCREEN_NAME, SCREEN_TYPE_RASTER));
+ screen.set_raw(MDA_CLOCK, 882, 0, 720, 370, 0, 350);
+ screen.set_screen_update(MC6845_NAME, FUNC(mc6845_device::screen_update));
- MCFG_PALETTE_ADD( "palette", 4 )
+ PALETTE(config, m_palette).set_entries(4);
MC6845(config, m_crtc, MDA_CLOCK/9);
m_crtc->set_screen(HERCULES_SCREEN_NAME);
@@ -551,7 +553,7 @@ MACHINE_CONFIG_START(isa8_hercules_device::device_add_mconfig)
PC_LPT(config, m_lpt);
m_lpt->irq_handler().set(FUNC(isa8_mda_device::pc_cpu_line));
-MACHINE_CONFIG_END
+}
//-------------------------------------------------
// rom_region - device-specific ROM region
@@ -745,12 +747,13 @@ DEFINE_DEVICE_TYPE(ISA8_EC1840_0002, isa8_ec1840_0002_device, "ec1840_0002", "EC
//-------------------------------------------------
// XXX
-MACHINE_CONFIG_START(isa8_ec1840_0002_device::device_add_mconfig)
- MCFG_SCREEN_ADD( MDA_SCREEN_NAME, RASTER)
- MCFG_SCREEN_RAW_PARAMS(MDA_CLOCK, 792, 0, 640, 370, 0, 350 )
- MCFG_SCREEN_UPDATE_DEVICE( MC6845_NAME, mc6845_device, screen_update )
+void isa8_ec1840_0002_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, MDA_SCREEN_NAME, SCREEN_TYPE_RASTER));
+ screen.set_raw(MDA_CLOCK, 792, 0, 640, 370, 0, 350);
+ screen.set_screen_update(MC6845_NAME, FUNC(mc6845_device::screen_update));
- MCFG_PALETTE_ADD( "palette", 4 )
+ PALETTE(config, m_palette).set_entries(4);
MC6845(config, m_crtc, MDA_CLOCK/8);
m_crtc->set_screen(MDA_SCREEN_NAME);
@@ -759,7 +762,7 @@ MACHINE_CONFIG_START(isa8_ec1840_0002_device::device_add_mconfig)
m_crtc->set_update_row_callback(FUNC(isa8_mda_device::crtc_update_row), this);
m_crtc->out_hsync_callback().set(FUNC(isa8_mda_device::hsync_changed));
m_crtc->out_vsync_callback().set(FUNC(isa8_mda_device::vsync_changed));
-MACHINE_CONFIG_END
+}
//-------------------------------------------------
// isa8_ec1840_0002_device - constructor
diff --git a/src/devices/bus/isa/num9rev.cpp b/src/devices/bus/isa/num9rev.cpp
index baf30cca586..6137ed580a7 100644
--- a/src/devices/bus/isa/num9rev.cpp
+++ b/src/devices/bus/isa/num9rev.cpp
@@ -53,19 +53,20 @@ UPD7220_DISPLAY_PIXELS_MEMBER( isa8_number_9_rev_device::hgdc_display_pixels )
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(isa8_number_9_rev_device::device_add_mconfig)
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_SIZE(512, 448)
- MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 448-1)
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_UPDATE_DRIVER(isa8_number_9_rev_device, screen_update)
- MCFG_PALETTE_ADD("palette", 4096)
+void isa8_number_9_rev_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_size(512, 448);
+ screen.set_visarea(0, 512-1, 0, 448-1);
+ screen.set_refresh_hz(60);
+ screen.set_screen_update(FUNC(isa8_number_9_rev_device::screen_update));
+ PALETTE(config, m_palette).set_entries(4096);
UPD7220(config, m_upd7220, XTAL(4'433'619)/2); // unknown clock
m_upd7220->set_addrmap(0, &isa8_number_9_rev_device::upd7220_map);
m_upd7220->set_display_pixels_callback(FUNC(isa8_number_9_rev_device::hgdc_display_pixels), this);
m_upd7220->set_screen("screen");
-MACHINE_CONFIG_END
+}
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/isa/p1_sound.cpp b/src/devices/bus/isa/p1_sound.cpp
index d855f376f12..a1711099c8d 100644
--- a/src/devices/bus/isa/p1_sound.cpp
+++ b/src/devices/bus/isa/p1_sound.cpp
@@ -29,7 +29,8 @@ DEFINE_DEVICE_TYPE(P1_SOUND, p1_sound_device, "p1_sound", "Poisk-1 sound card (B
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(p1_sound_device::device_add_mconfig)
+void p1_sound_device::device_add_mconfig(machine_config &config)
+{
I8251(config, m_midi, 0);
m_midi->txd_handler().set("mdout", FUNC(midi_port_device::write_txd));
m_midi->rxrdy_handler().set(":isa", FUNC(isa8_device::irq3_w));
@@ -64,12 +65,13 @@ MACHINE_CONFIG_START(p1_sound_device::device_add_mconfig)
// m_d17->out_handler<2>().set(FUNC(XXX));
SPEAKER(config, "speaker").front_center();
- MCFG_DEVICE_ADD("filter", FILTER_RC)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
- MCFG_DEVICE_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(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
-MACHINE_CONFIG_END
+ FILTER_RC(config, m_filter).add_route(ALL_OUTPUTS, "speaker", 1.0);
+ DAC_8BIT_R2R(config, m_dac, 0).add_route(ALL_OUTPUTS, "filter", 0.5); // unknown DAC
+ voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
+ vref.set_output(5.0);
+ vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
+ vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
+}
//**************************************************************************
diff --git a/src/devices/bus/isa/pds.cpp b/src/devices/bus/isa/pds.cpp
index 45dffd9904e..65a35db2b14 100644
--- a/src/devices/bus/isa/pds.cpp
+++ b/src/devices/bus/isa/pds.cpp
@@ -56,6 +56,7 @@ void isa8_pds_device::device_stop()
{
}
-MACHINE_CONFIG_START(isa8_pds_device::device_add_mconfig)
- MCFG_DEVICE_ADD("pds_ppi", I8255, 0)
-MACHINE_CONFIG_END
+void isa8_pds_device::device_add_mconfig(machine_config &config)
+{
+ I8255(config, m_ppi);
+}
diff --git a/src/devices/bus/isa/pgc.cpp b/src/devices/bus/isa/pgc.cpp
index 4db56f5eaa4..d90badaeae7 100644
--- a/src/devices/bus/isa/pgc.cpp
+++ b/src/devices/bus/isa/pgc.cpp
@@ -151,30 +151,31 @@ DEFINE_DEVICE_TYPE(ISA8_PGC, isa8_pgc_device, "isa_ibm_pgc", "IBM Professional G
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(isa8_pgc_device::device_add_mconfig)
- MCFG_DEVICE_ADD("maincpu", I8088, XTAL(24'000'000)/3)
- MCFG_DEVICE_PROGRAM_MAP(pgc_map)
+void isa8_pgc_device::device_add_mconfig(machine_config &config)
+{
+ I8088(config, m_cpu, XTAL(24'000'000)/3);
+ m_cpu->set_addrmap(AS_PROGRAM, &isa8_pgc_device::pgc_map);
#if 0
- MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(isa8_pgc_device, irq_callback)
+ m_cpu->set_irq_acknowledge_callback(FUNC(isa8_pgc_device::irq_callback));
#endif
timer_device &scantimer(TIMER(config, "scantimer"));
scantimer.configure_periodic(FUNC(isa8_pgc_device::scanline_callback), attotime::from_hz(60*PGC_TOTAL_VERT));
scantimer.set_start_delay(attotime::from_hz(XTAL(50'000'000)/(2*PGC_HORZ_START)));
- MCFG_SCREEN_ADD(PGC_SCREEN_NAME, RASTER)
- MCFG_SCREEN_RAW_PARAMS(XTAL(50'000'000)/2,
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
+ m_screen->set_raw(XTAL(50'000'000)/2,
PGC_TOTAL_HORZ, PGC_HORZ_START, PGC_HORZ_START+PGC_DISP_HORZ,
- PGC_TOTAL_VERT, PGC_VERT_START, PGC_VERT_START+PGC_DISP_VERT)
- MCFG_SCREEN_UPDATE_DRIVER(isa8_pgc_device, screen_update)
- MCFG_SCREEN_PALETTE("palette")
+ PGC_TOTAL_VERT, PGC_VERT_START, PGC_VERT_START+PGC_DISP_VERT);
+ m_screen->set_screen_update(FUNC(isa8_pgc_device::screen_update));
+ m_screen->set_palette(m_palette);
#if 0
- MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, isa8_pgc_device, vblank_irq))
+ m_screen->screen_vblank().set(FUNC(isa8_pgc_device::vblank_irq));
#endif
GFXDECODE(config, "gfxdecode", m_palette, gfx_pgc);
- MCFG_PALETTE_ADD( "palette", 256 )
-MACHINE_CONFIG_END
+ PALETTE(config, m_palette).set_entries(256);
+}
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/isa/sc499.cpp b/src/devices/bus/isa/sc499.cpp
index e9ace1ddb83..92f049f0402 100644
--- a/src/devices/bus/isa/sc499.cpp
+++ b/src/devices/bus/isa/sc499.cpp
@@ -177,9 +177,10 @@ static INPUT_PORTS_START( sc499_port )
INPUT_PORTS_END
-MACHINE_CONFIG_START(sc499_device::device_add_mconfig)
- MCFG_DEVICE_ADD(SC499_CTAPE_TAG, SC499_CTAPE, 0)
-MACHINE_CONFIG_END
+void sc499_device::device_add_mconfig(machine_config &config)
+{
+ SC499_CTAPE(config, m_image, 0);
+}
//**************************************************************************
diff --git a/src/devices/bus/isa/svga_cirrus.cpp b/src/devices/bus/isa/svga_cirrus.cpp
index 444acac7c1a..bcb6b4995a1 100644
--- a/src/devices/bus/isa/svga_cirrus.cpp
+++ b/src/devices/bus/isa/svga_cirrus.cpp
@@ -30,14 +30,14 @@ DEFINE_DEVICE_TYPE(ISA16_SVGA_CIRRUS_GD542X, isa16_svga_cirrus_gd542x_device, "c
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(isa16_svga_cirrus_device::device_add_mconfig)
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480)
- MCFG_SCREEN_UPDATE_DEVICE("vga", cirrus_gd5430_device, screen_update)
+void isa16_svga_cirrus_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480);
+ screen.set_screen_update("vga", FUNC(cirrus_gd5430_device::screen_update));
- MCFG_DEVICE_ADD("vga", CIRRUS_GD5430, 0)
- MCFG_VIDEO_SET_SCREEN("screen")
-MACHINE_CONFIG_END
+ CIRRUS_GD5430(config, "vga", 0).set_screen("screen");
+}
//-------------------------------------------------
// rom_region - device-specific ROM region
@@ -110,14 +110,14 @@ ROM_END
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(isa16_svga_cirrus_gd542x_device::device_add_mconfig)
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480)
- MCFG_SCREEN_UPDATE_DEVICE("vga", cirrus_gd5428_device, screen_update)
+void isa16_svga_cirrus_gd542x_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480);
+ screen.set_screen_update("vga", FUNC(cirrus_gd5428_device::screen_update));
- MCFG_DEVICE_ADD("vga", CIRRUS_GD5428, 0)
- MCFG_VIDEO_SET_SCREEN("screen")
-MACHINE_CONFIG_END
+ CIRRUS_GD5428(config, "vga", 0).set_screen("screen");
+}
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/isa/svga_s3.cpp b/src/devices/bus/isa/svga_s3.cpp
index 1c97abc3b62..d5a2cde30bf 100644
--- a/src/devices/bus/isa/svga_s3.cpp
+++ b/src/devices/bus/isa/svga_s3.cpp
@@ -40,14 +40,14 @@ DEFINE_DEVICE_TYPE(ISA16_SVGA_S3, isa16_svga_s3_device, "s3_764", "Number Nine 9
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(isa16_svga_s3_device::device_add_mconfig)
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480)
- MCFG_SCREEN_UPDATE_DEVICE("vga", s3_vga_device, screen_update)
+void isa16_svga_s3_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480);
+ screen.set_screen_update("vga", FUNC(s3_vga_device::screen_update));
- MCFG_DEVICE_ADD("vga", S3_VGA, 0)
- MCFG_VIDEO_SET_SCREEN("screen")
-MACHINE_CONFIG_END
+ S3_VGA(config, "vga", 0).set_screen("screen");
+}
//-------------------------------------------------
// rom_region - device-specific ROM region
@@ -146,14 +146,14 @@ DEFINE_DEVICE_TYPE(ISA16_S3VIRGE, isa16_s3virge_device, "s3virge", "S3 ViRGE Gra
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(isa16_s3virge_device::device_add_mconfig)
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480)
- MCFG_SCREEN_UPDATE_DEVICE("vga", s3virge_vga_device, screen_update)
+void isa16_s3virge_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480);
+ screen.set_screen_update("vga", FUNC(s3virge_vga_device::screen_update));
- MCFG_DEVICE_ADD("vga", S3VIRGE, 0)
- MCFG_VIDEO_SET_SCREEN("screen")
-MACHINE_CONFIG_END
+ S3VIRGE(config, "vga", 0).set_screen("screen");
+}
//-------------------------------------------------
// rom_region - device-specific ROM region
@@ -227,14 +227,14 @@ DEFINE_DEVICE_TYPE(ISA16_S3VIRGEDX, isa16_s3virgedx_device, "s3virgedx", "S3 ViR
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(isa16_s3virgedx_device::device_add_mconfig)
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480)
- MCFG_SCREEN_UPDATE_DEVICE("vga", s3virgedx_vga_device, screen_update)
+void isa16_s3virgedx_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480);
+ screen.set_screen_update("vga", FUNC(s3virgedx_vga_device::screen_update));
- MCFG_DEVICE_ADD("vga", S3VIRGEDX, 0)
- MCFG_VIDEO_SET_SCREEN("screen")
-MACHINE_CONFIG_END
+ S3VIRGEDX(config, "vga", 0).set_screen("screen");
+}
//-------------------------------------------------
// rom_region - device-specific ROM region
@@ -309,14 +309,14 @@ DEFINE_DEVICE_TYPE(ISA16_DMS3D2KPRO, isa16_stealth3d2kpro_device, "dms3d2kp", "D
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(isa16_stealth3d2kpro_device::device_add_mconfig)
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480)
- MCFG_SCREEN_UPDATE_DEVICE("vga", s3virgedx_rev1_vga_device, screen_update)
+void isa16_stealth3d2kpro_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480);
+ screen.set_screen_update("vga", FUNC(s3virgedx_rev1_vga_device::screen_update));
- MCFG_DEVICE_ADD("vga", S3VIRGEDX1, 0)
- MCFG_VIDEO_SET_SCREEN("screen")
-MACHINE_CONFIG_END
+ S3VIRGEDX1(config, "vga", 0).set_screen("screen");
+}
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/isa/svga_trident.cpp b/src/devices/bus/isa/svga_trident.cpp
index 79aa1dfd55f..aa7fc90b489 100644
--- a/src/devices/bus/isa/svga_trident.cpp
+++ b/src/devices/bus/isa/svga_trident.cpp
@@ -30,14 +30,14 @@ DEFINE_DEVICE_TYPE(ISA16_SVGA_TGUI9680, isa16_svga_tgui9680_device, "tgui9680",
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(isa16_svga_tgui9680_device::device_add_mconfig)
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480)
- MCFG_SCREEN_UPDATE_DEVICE("vga", trident_vga_device, screen_update)
-
- MCFG_DEVICE_ADD("vga", TRIDENT_VGA, 0)
- MCFG_VIDEO_SET_SCREEN("screen")
-MACHINE_CONFIG_END
+void isa16_svga_tgui9680_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480);
+ screen.set_screen_update("vga", FUNC(trident_vga_device::screen_update));
+
+ TRIDENT_VGA(config, "vga", 0).set_screen("screen");
+}
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/isa/svga_tseng.cpp b/src/devices/bus/isa/svga_tseng.cpp
index fd232b01d8d..dfe39a39d8e 100644
--- a/src/devices/bus/isa/svga_tseng.cpp
+++ b/src/devices/bus/isa/svga_tseng.cpp
@@ -29,14 +29,14 @@ DEFINE_DEVICE_TYPE(ISA8_SVGA_ET4K, isa8_svga_et4k_device, "et4000", "SVGA Tseng
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(isa8_svga_et4k_device::device_add_mconfig)
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480)
- MCFG_SCREEN_UPDATE_DEVICE("vga", tseng_vga_device, screen_update)
-
- MCFG_DEVICE_ADD("vga", TSENG_VGA, 0)
- MCFG_VIDEO_SET_SCREEN("screen")
-MACHINE_CONFIG_END
+void isa8_svga_et4k_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480);
+ screen.set_screen_update("vga", FUNC(tseng_vga_device::screen_update));
+
+ TSENG_VGA(config, "vga", 0).set_screen("screen");
+}
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/isa/vga.cpp b/src/devices/bus/isa/vga.cpp
index b8a86adbfe3..0419ecdd255 100644
--- a/src/devices/bus/isa/vga.cpp
+++ b/src/devices/bus/isa/vga.cpp
@@ -27,14 +27,14 @@ DEFINE_DEVICE_TYPE(ISA8_VGA, isa8_vga_device, "ibm_vga", "IBM VGA Graphics Card"
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(isa8_vga_device::device_add_mconfig)
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480)
- MCFG_SCREEN_UPDATE_DEVICE("vga", vga_device, screen_update)
-
- MCFG_DEVICE_ADD("vga", VGA, 0)
- MCFG_VIDEO_SET_SCREEN("screen")
-MACHINE_CONFIG_END
+void isa8_vga_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480);
+ screen.set_screen_update("vga", FUNC(vga_device::screen_update));
+
+ VGA(config, "vga", 0).set_screen("screen");
+}
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/isa/vga_ati.cpp b/src/devices/bus/isa/vga_ati.cpp
index 650a686d4fc..bad1a47a479 100644
--- a/src/devices/bus/isa/vga_ati.cpp
+++ b/src/devices/bus/isa/vga_ati.cpp
@@ -76,32 +76,33 @@ DEFINE_DEVICE_TYPE(ISA16_SVGA_MACH64, isa16_vga_mach64_device, "mach64
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(isa16_vga_gfxultra_device::device_add_mconfig)
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480)
- MCFG_SCREEN_UPDATE_DEVICE("vga", ati_vga_device, screen_update)
-
- MCFG_DEVICE_ADD("vga", ATI_VGA, 0)
- MCFG_VIDEO_SET_SCREEN("screen")
-MACHINE_CONFIG_END
-
-MACHINE_CONFIG_START(isa16_vga_gfxultrapro_device::device_add_mconfig)
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480)
- MCFG_SCREEN_UPDATE_DEVICE("vga", mach32_device, screen_update)
-
- MCFG_DEVICE_ADD("vga", ATIMACH32, 0)
- MCFG_VIDEO_SET_SCREEN("screen")
-MACHINE_CONFIG_END
-
-MACHINE_CONFIG_START(isa16_vga_mach64_device::device_add_mconfig)
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480)
- MCFG_SCREEN_UPDATE_DEVICE("vga", mach64_device, screen_update)
-
- MCFG_DEVICE_ADD("vga", ATIMACH64, 0)
- MCFG_VIDEO_SET_SCREEN("screen")
-MACHINE_CONFIG_END
+void isa16_vga_gfxultra_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480);
+ screen.set_screen_update("vga", FUNC(ati_vga_device::screen_update));
+
+ ATI_VGA(config, "vga", 0).set_screen("screen");
+}
+
+void isa16_vga_gfxultrapro_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480);
+ screen.set_screen_update("vga", FUNC(mach32_device::screen_update));
+
+ ATIMACH32(config, "vga", 0).set_screen("screen");
+}
+
+void isa16_vga_mach64_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480);
+ screen.set_screen_update("vga", FUNC(mach64_device::screen_update));
+
+ ATIMACH64(config, "vga", 0).set_screen("screen");
+}
+
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/isa/wd1007a.cpp b/src/devices/bus/isa/wd1007a.cpp
index 3db2db1d776..22d9863e392 100644
--- a/src/devices/bus/isa/wd1007a.cpp
+++ b/src/devices/bus/isa/wd1007a.cpp
@@ -45,9 +45,10 @@ wd1007a_device::wd1007a_device(const machine_config &mconfig, const char *tag, d
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(wd1007a_device::device_add_mconfig)
- MCFG_DEVICE_ADD("mcu", AM8753, 10_MHz_XTAL)
-MACHINE_CONFIG_END
+void wd1007a_device::device_add_mconfig(machine_config &config)
+{
+ AM8753(config, "mcu", 10_MHz_XTAL);
+}
//-------------------------------------------------
diff --git a/src/devices/bus/jakks_gamekey/rom.cpp b/src/devices/bus/jakks_gamekey/rom.cpp
index caabfe225c2..0ca9b7024d9 100644
--- a/src/devices/bus/jakks_gamekey/rom.cpp
+++ b/src/devices/bus/jakks_gamekey/rom.cpp
@@ -94,9 +94,10 @@ WRITE16_MEMBER(jakks_gamekey_rom_i2c_base_device::write_cart_seeprom)
// i2c 24lc04
-MACHINE_CONFIG_START(jakks_gamekey_rom_i2c_24lc04_device::device_add_mconfig)
+void jakks_gamekey_rom_i2c_24lc04_device::device_add_mconfig(machine_config &config)
+{
I2CMEM(config, "i2cmem", 0)/*.set_page_size(16)*/.set_data_size(0x200); // 24LC04
-MACHINE_CONFIG_END
+}
/*-------------------------------------------------
diff --git a/src/devices/bus/megadrive/svp.cpp b/src/devices/bus/megadrive/svp.cpp
index 2ed4e40ba1f..fe4ae33536e 100644
--- a/src/devices/bus/megadrive/svp.cpp
+++ b/src/devices/bus/megadrive/svp.cpp
@@ -347,11 +347,12 @@ void md_rom_svp_device::md_svp_ext_map(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(md_rom_svp_device::device_add_mconfig)
- MCFG_DEVICE_ADD("svp", SSP1601, MASTER_CLOCK_NTSC / 7 * 3) /* ~23 MHz (guessed) */
- MCFG_DEVICE_PROGRAM_MAP(md_svp_ssp_map)
- MCFG_DEVICE_IO_MAP(md_svp_ext_map)
-MACHINE_CONFIG_END
+void md_rom_svp_device::device_add_mconfig(machine_config &config)
+{
+ SSP1601(config, m_svp, MASTER_CLOCK_NTSC / 7 * 3); /* ~23 MHz (guessed) */
+ m_svp->set_addrmap(AS_PROGRAM, &md_rom_svp_device::md_svp_ssp_map);
+ m_svp->set_addrmap(AS_IO, &md_rom_svp_device::md_svp_ext_map);
+}
ioport_constructor md_rom_svp_device::device_input_ports() const
{
diff --git a/src/devices/bus/msx_cart/fmpac.cpp b/src/devices/bus/msx_cart/fmpac.cpp
index 36ca228b919..959b2fed0c8 100644
--- a/src/devices/bus/msx_cart/fmpac.cpp
+++ b/src/devices/bus/msx_cart/fmpac.cpp
@@ -29,12 +29,12 @@ msx_cart_fmpac_device::msx_cart_fmpac_device(const machine_config &mconfig, cons
}
-MACHINE_CONFIG_START(msx_cart_fmpac_device::device_add_mconfig)
+void msx_cart_fmpac_device::device_add_mconfig(machine_config &config)
+{
// This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'.
SPEAKER(config, "mono").front_center();
- MCFG_DEVICE_ADD("ym2413", YM2413, XTAL(10'738'635)/3)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
-MACHINE_CONFIG_END
+ YM2413(config, m_ym2413, XTAL(10'738'635)/3).add_route(ALL_OUTPUTS, "mono", 0.40);
+}
void msx_cart_fmpac_device::device_start()
diff --git a/src/devices/bus/msx_cart/konami.cpp b/src/devices/bus/msx_cart/konami.cpp
index e1d4e35321f..9236c590d64 100644
--- a/src/devices/bus/msx_cart/konami.cpp
+++ b/src/devices/bus/msx_cart/konami.cpp
@@ -141,12 +141,12 @@ msx_cart_konami_scc_device::msx_cart_konami_scc_device(const machine_config &mco
}
-MACHINE_CONFIG_START(msx_cart_konami_scc_device::device_add_mconfig)
+void msx_cart_konami_scc_device::device_add_mconfig(machine_config &config)
+{
// This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'.
SPEAKER(config, "mono").front_center();
- MCFG_DEVICE_ADD("k051649", K051649, XTAL(10'738'635)/3/2)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15)
-MACHINE_CONFIG_END
+ K051649(config, m_k051649, XTAL(10'738'635)/3/2).add_route(ALL_OUTPUTS, "mono", 0.15);
+}
void msx_cart_konami_scc_device::device_start()
@@ -472,13 +472,16 @@ msx_cart_synthesizer_device::msx_cart_synthesizer_device(const machine_config &m
}
-MACHINE_CONFIG_START(msx_cart_synthesizer_device::device_add_mconfig)
+void msx_cart_synthesizer_device::device_add_mconfig(machine_config &config)
+{
// This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'.
SPEAKER(config, "speaker").front_center();
- MCFG_DEVICE_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(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
-MACHINE_CONFIG_END
+ DAC_8BIT_R2R(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.1); // unknown DAC
+ voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
+ vref.set_output(5.0);
+ vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
+ vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
+}
void msx_cart_synthesizer_device::device_start()
@@ -545,12 +548,12 @@ msx_cart_konami_sound_device::msx_cart_konami_sound_device(const machine_config
}
-MACHINE_CONFIG_START(msx_cart_konami_sound_device::device_add_mconfig)
+void msx_cart_konami_sound_device::device_add_mconfig(machine_config &config)
+{
// This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'.
SPEAKER(config, "mono").front_center();
- MCFG_DEVICE_ADD("k052539", K051649, XTAL(10'738'635)/3/2)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15)
-MACHINE_CONFIG_END
+ K051649(config, m_k052539, XTAL(10'738'635)/3/2).add_route(ALL_OUTPUTS, "mono", 0.15);
+}
void msx_cart_konami_sound_device::device_start()
@@ -872,13 +875,14 @@ void msx_cart_keyboard_master_device::vlm_map(address_map &map)
}
-MACHINE_CONFIG_START(msx_cart_keyboard_master_device::device_add_mconfig)
+void msx_cart_keyboard_master_device::device_add_mconfig(machine_config &config)
+{
// This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'.
SPEAKER(config, "mono").front_center();
- MCFG_DEVICE_ADD("vlm5030", VLM5030, XTAL(3'579'545))
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
- MCFG_DEVICE_ADDRESS_MAP(0, vlm_map)
-MACHINE_CONFIG_END
+ VLM5030(config, m_vlm5030, XTAL(3'579'545));
+ m_vlm5030->add_route(ALL_OUTPUTS, "mono", 0.40);
+ m_vlm5030->set_addrmap(0, &msx_cart_keyboard_master_device::vlm_map);
+}
void msx_cart_keyboard_master_device::device_start()
diff --git a/src/devices/bus/msx_cart/majutsushi.cpp b/src/devices/bus/msx_cart/majutsushi.cpp
index ef76b62af2a..952755ffe03 100644
--- a/src/devices/bus/msx_cart/majutsushi.cpp
+++ b/src/devices/bus/msx_cart/majutsushi.cpp
@@ -26,13 +26,16 @@ msx_cart_majutsushi_device::msx_cart_majutsushi_device(const machine_config &mco
}
-MACHINE_CONFIG_START(msx_cart_majutsushi_device::device_add_mconfig)
+void msx_cart_majutsushi_device::device_add_mconfig(machine_config &config)
+{
// This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'.
SPEAKER(config, "speaker").front_center();
- MCFG_DEVICE_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(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
-MACHINE_CONFIG_END
+ DAC_8BIT_R2R(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.05); // unknown DAC
+ voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
+ vref.set_output(5.0);
+ vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
+ vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
+}
void msx_cart_majutsushi_device::device_start()
diff --git a/src/devices/bus/nasbus/avc.cpp b/src/devices/bus/nasbus/avc.cpp
index a0a71da3666..bf905542e8d 100644
--- a/src/devices/bus/nasbus/avc.cpp
+++ b/src/devices/bus/nasbus/avc.cpp
@@ -22,10 +22,11 @@ DEFINE_DEVICE_TYPE(NASCOM_AVC, nascom_avc_device, "nascom_avc", "Nascom Advanced
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(nascom_avc_device::device_add_mconfig)
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_RAW_PARAMS(16250000, 1024, 0, 768, 320, 0, 256)
- MCFG_SCREEN_UPDATE_DEVICE("mc6845", mc6845_device, screen_update)
+void nascom_avc_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_raw(16250000, 1024, 0, 768, 320, 0, 256);
+ screen.set_screen_update("mc6845", FUNC(mc6845_device::screen_update));
PALETTE(config, m_palette, palette_device::RGB_3BIT);
@@ -34,7 +35,7 @@ MACHINE_CONFIG_START(nascom_avc_device::device_add_mconfig)
m_crtc->set_show_border_area(false);
m_crtc->set_char_width(6);
m_crtc->set_update_row_callback(FUNC(nascom_avc_device::crtc_update_row), this);
-MACHINE_CONFIG_END
+}
//**************************************************************************
diff --git a/src/devices/bus/nes/konami.cpp b/src/devices/bus/nes/konami.cpp
index cac5670a574..2963336f92e 100644
--- a/src/devices/bus/nes/konami.cpp
+++ b/src/devices/bus/nes/konami.cpp
@@ -637,16 +637,15 @@ WRITE8_MEMBER(nes_konami_vrc6_device::write_h)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(nes_konami_vrc6_device::device_add_mconfig)
-
+void nes_konami_vrc6_device::device_add_mconfig(machine_config &config)
+{
// additional sound hardware
SPEAKER(config, "addon").front_center();
// TODO: this is not how VRC6 clock signaling works!
// The board uses the CLK pin in reality, not hardcoded NTSC values!
- MCFG_DEVICE_ADD("vrc6snd", VRC6, XTAL(21'477'272)/12)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 0.5)
-MACHINE_CONFIG_END
+ VRC6(config, m_vrc6snd, XTAL(21'477'272)/12).add_route(ALL_OUTPUTS, "addon", 0.5);
+}
/*-------------------------------------------------
@@ -761,13 +760,12 @@ WRITE8_MEMBER(nes_konami_vrc7_device::write_h)
// FIXME: we currently emulate this as a base YM2413!
-MACHINE_CONFIG_START(nes_konami_vrc7_device::device_add_mconfig)
-
+void nes_konami_vrc7_device::device_add_mconfig(machine_config &config)
+{
// additional sound hardware
SPEAKER(config, "addon").front_center();
// TODO: this is not how VRC7 clock signaling works!
// The board uses the CLK pin in reality, not hardcoded NTSC values!
- MCFG_DEVICE_ADD("ym", YM2413, XTAL(21'477'272)/12)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 0.5)
-MACHINE_CONFIG_END
+ YM2413(config, m_ym2413, XTAL(21'477'272)/12).add_route(ALL_OUTPUTS, "addon", 0.5);
+}
diff --git a/src/devices/bus/nubus/nubus_48gc.cpp b/src/devices/bus/nubus/nubus_48gc.cpp
index e089e1986db..86f4fca21ec 100644
--- a/src/devices/bus/nubus/nubus_48gc.cpp
+++ b/src/devices/bus/nubus/nubus_48gc.cpp
@@ -39,15 +39,16 @@ DEFINE_DEVICE_TYPE(NUBUS_824GC, nubus_824gc_device, "nb_824gc", "Apple 8*24 vide
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(jmfb_device::device_add_mconfig)
- MCFG_SCREEN_ADD(GC48_SCREEN_NAME, RASTER)
- MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, jmfb_device, screen_update)
- MCFG_SCREEN_RAW_PARAMS(25175000, 800, 0, 640, 525, 0, 480)
-// MCFG_SCREEN_SIZE(1152, 870)
-// MCFG_SCREEN_VISIBLE_AREA(0, 1152-1, 0, 870-1)
-// MCFG_SCREEN_REFRESH_RATE(75)
-// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(1260))
-MACHINE_CONFIG_END
+void jmfb_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, GC48_SCREEN_NAME, SCREEN_TYPE_RASTER));
+ screen.set_screen_update(FUNC(jmfb_device::screen_update));
+ screen.set_raw(25175000, 800, 0, 640, 525, 0, 480);
+// screen.set_size(1152, 870);
+// screen.set_visarea(0, 1152-1, 0, 870-1);
+// screen.set_refresh_hz(75);
+// screen.set_vblank_time(ATTOSECONDS_IN_USEC(1260));
+}
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/nubus/nubus_cb264.cpp b/src/devices/bus/nubus/nubus_cb264.cpp
index 9efb5e6d088..01bff0877da 100644
--- a/src/devices/bus/nubus/nubus_cb264.cpp
+++ b/src/devices/bus/nubus/nubus_cb264.cpp
@@ -40,13 +40,14 @@ DEFINE_DEVICE_TYPE(NUBUS_CB264, nubus_cb264_device, "nb_c264", "RasterOps ColorB
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(nubus_cb264_device::device_add_mconfig)
- MCFG_SCREEN_ADD( CB264_SCREEN_NAME, RASTER)
- MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, nubus_cb264_device, screen_update)
- MCFG_SCREEN_RAW_PARAMS(25175000, 800, 0, 640, 525, 0, 480)
- MCFG_SCREEN_SIZE(1024,768)
- MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
-MACHINE_CONFIG_END
+void nubus_cb264_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, CB264_SCREEN_NAME, SCREEN_TYPE_RASTER));
+ screen.set_screen_update(FUNC(nubus_cb264_device::screen_update));
+ screen.set_raw(25175000, 800, 0, 640, 525, 0, 480);
+ screen.set_size(1024, 768);
+ screen.set_visarea(0, 640-1, 0, 480-1);
+}
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/nubus/nubus_image.cpp b/src/devices/bus/nubus/nubus_image.cpp
index 1618bda4da7..8e2d39fb943 100644
--- a/src/devices/bus/nubus/nubus_image.cpp
+++ b/src/devices/bus/nubus/nubus_image.cpp
@@ -130,9 +130,10 @@ DEFINE_DEVICE_TYPE(NUBUS_IMAGE, nubus_image_device, "nb_image", "NuBus Disk Imag
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(nubus_image_device::device_add_mconfig)
- MCFG_DEVICE_ADD(IMAGE_DISK0_TAG, MESSIMG_DISK, 0)
-MACHINE_CONFIG_END
+void nubus_image_device::device_add_mconfig(machine_config &config)
+{
+ MESSIMG_DISK(config, IMAGE_DISK0_TAG, 0);
+}
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/nubus/nubus_m2hires.cpp b/src/devices/bus/nubus/nubus_m2hires.cpp
index 6ac472eeb5b..c575f7d94b1 100644
--- a/src/devices/bus/nubus/nubus_m2hires.cpp
+++ b/src/devices/bus/nubus/nubus_m2hires.cpp
@@ -36,13 +36,14 @@ DEFINE_DEVICE_TYPE(NUBUS_M2HIRES, nubus_m2hires_device, "nb_m2hr", "Macintosh II
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(nubus_m2hires_device::device_add_mconfig)
- MCFG_SCREEN_ADD( M2HIRES_SCREEN_NAME, RASTER)
- MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, nubus_m2hires_device, screen_update)
- MCFG_SCREEN_RAW_PARAMS(25175000, 800, 0, 640, 525, 0, 480)
- MCFG_SCREEN_SIZE(1024,768)
- MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
-MACHINE_CONFIG_END
+void nubus_m2hires_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, M2HIRES_SCREEN_NAME, SCREEN_TYPE_RASTER));
+ screen.set_screen_update(FUNC(nubus_m2hires_device::screen_update));
+ screen.set_raw(25175000, 800, 0, 640, 525, 0, 480);
+ screen.set_size(1024, 768);
+ screen.set_visarea(0, 640-1, 0, 480-1);
+}
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/nubus/nubus_m2video.cpp b/src/devices/bus/nubus/nubus_m2video.cpp
index d7eea8cf22e..b16391b640d 100644
--- a/src/devices/bus/nubus/nubus_m2video.cpp
+++ b/src/devices/bus/nubus/nubus_m2video.cpp
@@ -38,13 +38,14 @@ DEFINE_DEVICE_TYPE(NUBUS_M2VIDEO, nubus_m2video_device, "nb_m2vc", "Macintosh II
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(nubus_m2video_device::device_add_mconfig)
- MCFG_SCREEN_ADD(M2VIDEO_SCREEN_NAME, RASTER)
- MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, nubus_m2video_device, screen_update)
- MCFG_SCREEN_RAW_PARAMS(25175000, 800, 0, 640, 525, 0, 480)
- MCFG_SCREEN_SIZE(1024,768)
- MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
-MACHINE_CONFIG_END
+void nubus_m2video_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, M2VIDEO_SCREEN_NAME, SCREEN_TYPE_RASTER));
+ screen.set_screen_update(FUNC(nubus_m2video_device::screen_update));
+ screen.set_raw(25175000, 800, 0, 640, 525, 0, 480);
+ screen.set_size(1024, 768);
+ screen.set_visarea(0, 640-1, 0, 480-1);
+}
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/nubus/nubus_spec8.cpp b/src/devices/bus/nubus/nubus_spec8.cpp
index d3d45d9b076..1353d3b9a9d 100644
--- a/src/devices/bus/nubus/nubus_spec8.cpp
+++ b/src/devices/bus/nubus/nubus_spec8.cpp
@@ -40,13 +40,14 @@ DEFINE_DEVICE_TYPE(NUBUS_SPEC8S3, nubus_spec8s3_device, "nb_sp8s3", "SuperMac Sp
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(nubus_spec8s3_device::device_add_mconfig)
- MCFG_SCREEN_ADD( SPEC8S3_SCREEN_NAME, RASTER)
- MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, nubus_spec8s3_device, screen_update)
- MCFG_SCREEN_RAW_PARAMS(25175000, 800, 0, 640, 525, 0, 480)
- MCFG_SCREEN_SIZE(1024,768)
- MCFG_SCREEN_VISIBLE_AREA(0, 1024-1, 0, 768-1)
-MACHINE_CONFIG_END
+void nubus_spec8s3_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, SPEC8S3_SCREEN_NAME, SCREEN_TYPE_RASTER));
+ screen.set_screen_update(FUNC(nubus_spec8s3_device::screen_update));
+ screen.set_raw(25175000, 800, 0, 640, 525, 0, 480);
+ screen.set_size(1024, 768);
+ screen.set_visarea(0, 1024-1, 0, 768-1);
+}
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/nubus/nubus_specpdq.cpp b/src/devices/bus/nubus/nubus_specpdq.cpp
index ecdac5a9956..2e09a258bd2 100644
--- a/src/devices/bus/nubus/nubus_specpdq.cpp
+++ b/src/devices/bus/nubus/nubus_specpdq.cpp
@@ -54,15 +54,16 @@ DEFINE_DEVICE_TYPE(NUBUS_SPECPDQ, nubus_specpdq_device, "nb_spdq", "SuperMac Spe
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(nubus_specpdq_device::device_add_mconfig)
- MCFG_SCREEN_ADD( SPECPDQ_SCREEN_NAME, RASTER)
- MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, nubus_specpdq_device, screen_update)
- MCFG_SCREEN_RAW_PARAMS(25175000, 800, 0, 640, 525, 0, 480)
- MCFG_SCREEN_SIZE(1280,1024)
- MCFG_SCREEN_VISIBLE_AREA(0, 1152-1, 0, 844-1)
-
- MCFG_PALETTE_ADD("palette", 256)
-MACHINE_CONFIG_END
+void nubus_specpdq_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, SPECPDQ_SCREEN_NAME, SCREEN_TYPE_RASTER));
+ screen.set_screen_update(FUNC(nubus_specpdq_device::screen_update));
+ screen.set_raw(25175000, 800, 0, 640, 525, 0, 480);
+ screen.set_size(1280, 1024);
+ screen.set_visarea(0, 1152-1, 0, 844-1);
+
+ PALETTE(config, m_palette).set_entries(256);
+}
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/nubus/nubus_vikbw.cpp b/src/devices/bus/nubus/nubus_vikbw.cpp
index 040f452b2d2..ab3af18fe72 100644
--- a/src/devices/bus/nubus/nubus_vikbw.cpp
+++ b/src/devices/bus/nubus/nubus_vikbw.cpp
@@ -36,13 +36,14 @@ DEFINE_DEVICE_TYPE(NUBUS_VIKBW, nubus_vikbw_device, "nb_vikbw", "Moniterm Viking
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(nubus_vikbw_device::device_add_mconfig)
- MCFG_SCREEN_ADD( VIKBW_SCREEN_NAME, RASTER)
- MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, nubus_vikbw_device, screen_update)
- MCFG_SCREEN_SIZE(1024,768)
- MCFG_SCREEN_VISIBLE_AREA(0, 1024-1, 0, 768-1)
- MCFG_SCREEN_REFRESH_RATE(70)
-MACHINE_CONFIG_END
+void nubus_vikbw_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, VIKBW_SCREEN_NAME, SCREEN_TYPE_RASTER));
+ screen.set_screen_update(FUNC(nubus_vikbw_device::screen_update));
+ screen.set_size(1024, 768);
+ screen.set_visarea(0, 1024-1, 0, 768-1);
+ screen.set_refresh_hz(70);
+}
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/nubus/nubus_wsportrait.cpp b/src/devices/bus/nubus/nubus_wsportrait.cpp
index 19c25347738..12702c052a6 100644
--- a/src/devices/bus/nubus/nubus_wsportrait.cpp
+++ b/src/devices/bus/nubus/nubus_wsportrait.cpp
@@ -39,13 +39,14 @@ DEFINE_DEVICE_TYPE(NUBUS_WSPORTRAIT, nubus_wsportrait_device, "nb_wspt", "Macint
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(nubus_wsportrait_device::device_add_mconfig)
- MCFG_SCREEN_ADD( WSPORTRAIT_SCREEN_NAME, RASTER)
- MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, nubus_wsportrait_device, screen_update)
- MCFG_SCREEN_SIZE(1024,960)
- MCFG_SCREEN_REFRESH_RATE(75.0)
- MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 870-1)
-MACHINE_CONFIG_END
+void nubus_wsportrait_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, WSPORTRAIT_SCREEN_NAME, SCREEN_TYPE_RASTER));
+ screen.set_screen_update(FUNC(nubus_wsportrait_device::screen_update));
+ screen.set_size(1024, 960);
+ screen.set_refresh_hz(75.0);
+ screen.set_visarea(0, 640-1, 0, 870-1);
+}
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/nubus/pds30_30hr.cpp b/src/devices/bus/nubus/pds30_30hr.cpp
index 8888c50b5fa..190872708f6 100644
--- a/src/devices/bus/nubus/pds30_30hr.cpp
+++ b/src/devices/bus/nubus/pds30_30hr.cpp
@@ -39,13 +39,14 @@ DEFINE_DEVICE_TYPE(PDS030_XCEED30HR, nubus_xceed30hr_device, "pd3_30hr", "Micron
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(nubus_xceed30hr_device::device_add_mconfig)
- MCFG_SCREEN_ADD( XCEED30HR_SCREEN_NAME, RASTER)
- MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, nubus_xceed30hr_device, screen_update)
- MCFG_SCREEN_RAW_PARAMS(25175000, 800, 0, 640, 525, 0, 480)
- MCFG_SCREEN_SIZE(1024,768)
- MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
-MACHINE_CONFIG_END
+void nubus_xceed30hr_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, XCEED30HR_SCREEN_NAME, SCREEN_TYPE_RASTER));
+ screen.set_screen_update(FUNC(nubus_xceed30hr_device::screen_update));
+ screen.set_raw(25175000, 800, 0, 640, 525, 0, 480);
+ screen.set_size(1024, 768);
+ screen.set_visarea(0, 640-1, 0, 480-1);
+}
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/nubus/pds30_cb264.cpp b/src/devices/bus/nubus/pds30_cb264.cpp
index 6ec398a5257..4d153596fe0 100644
--- a/src/devices/bus/nubus/pds30_cb264.cpp
+++ b/src/devices/bus/nubus/pds30_cb264.cpp
@@ -32,13 +32,14 @@ DEFINE_DEVICE_TYPE(PDS030_CB264SE30, nubus_cb264se30_device, "pd3_c264", "Raster
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(nubus_cb264se30_device::device_add_mconfig)
- MCFG_SCREEN_ADD( CB264SE30_SCREEN_NAME, RASTER)
- MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, nubus_cb264se30_device, screen_update)
- MCFG_SCREEN_RAW_PARAMS(25175000, 800, 0, 640, 525, 0, 480)
- MCFG_SCREEN_SIZE(1024,768)
- MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
-MACHINE_CONFIG_END
+void nubus_cb264se30_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, CB264SE30_SCREEN_NAME, SCREEN_TYPE_RASTER));
+ screen.set_screen_update(FUNC(nubus_cb264se30_device::screen_update));
+ screen.set_raw(25175000, 800, 0, 640, 525, 0, 480);
+ screen.set_size(1024, 768);
+ screen.set_visarea(0, 640-1, 0, 480-1);
+}
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/nubus/pds30_mc30.cpp b/src/devices/bus/nubus/pds30_mc30.cpp
index a314b7f9981..6770b517deb 100644
--- a/src/devices/bus/nubus/pds30_mc30.cpp
+++ b/src/devices/bus/nubus/pds30_mc30.cpp
@@ -35,13 +35,14 @@ DEFINE_DEVICE_TYPE(PDS030_XCEEDMC30, nubus_xceedmc30_device, "pd3_mclr", "Micron
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(nubus_xceedmc30_device::device_add_mconfig)
- MCFG_SCREEN_ADD( XCEEDMC30_SCREEN_NAME, RASTER)
- MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, nubus_xceedmc30_device, screen_update)
- MCFG_SCREEN_RAW_PARAMS(25175000, 800, 0, 640, 525, 0, 480)
- MCFG_SCREEN_SIZE(1024,768)
- MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
-MACHINE_CONFIG_END
+void nubus_xceedmc30_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, XCEEDMC30_SCREEN_NAME, SCREEN_TYPE_RASTER));
+ screen.set_screen_update(FUNC(nubus_xceedmc30_device::screen_update));
+ screen.set_raw(25175000, 800, 0, 640, 525, 0, 480);
+ screen.set_size(1024, 768);
+ screen.set_visarea(0, 640-1, 0, 480-1);
+}
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/nubus/pds30_procolor816.cpp b/src/devices/bus/nubus/pds30_procolor816.cpp
index db1c02fea31..440ba6c86d7 100644
--- a/src/devices/bus/nubus/pds30_procolor816.cpp
+++ b/src/devices/bus/nubus/pds30_procolor816.cpp
@@ -38,13 +38,14 @@ DEFINE_DEVICE_TYPE(PDS030_PROCOLOR816, nubus_procolor816_device, "pd3_pc16", "La
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(nubus_procolor816_device::device_add_mconfig)
- MCFG_SCREEN_ADD( PROCOLOR816_SCREEN_NAME, RASTER)
- MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, nubus_procolor816_device, screen_update)
- MCFG_SCREEN_RAW_PARAMS(25175000, 800, 0, 640, 525, 0, 480)
- MCFG_SCREEN_SIZE(1024,768)
- MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
-MACHINE_CONFIG_END
+void nubus_procolor816_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, PROCOLOR816_SCREEN_NAME, SCREEN_TYPE_RASTER));
+ screen.set_screen_update(FUNC(nubus_procolor816_device::screen_update));
+ screen.set_raw(25175000, 800, 0, 640, 525, 0, 480);
+ screen.set_size(1024, 768);
+ screen.set_visarea(0, 640-1, 0, 480-1);
+}
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/nubus/pds30_sigmalview.cpp b/src/devices/bus/nubus/pds30_sigmalview.cpp
index ea05362d8ea..51f27a03713 100644
--- a/src/devices/bus/nubus/pds30_sigmalview.cpp
+++ b/src/devices/bus/nubus/pds30_sigmalview.cpp
@@ -32,13 +32,14 @@ DEFINE_DEVICE_TYPE(PDS030_LVIEW, nubus_lview_device, "pd3_lviw", "Sigma Designs
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(nubus_lview_device::device_add_mconfig)
- MCFG_SCREEN_ADD( LVIEW_SCREEN_NAME, RASTER)
- MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, nubus_lview_device, screen_update)
- MCFG_SCREEN_SIZE(832,600)
- MCFG_SCREEN_REFRESH_RATE(70)
- MCFG_SCREEN_VISIBLE_AREA(0, 832-1, 0, 600-1)
-MACHINE_CONFIG_END
+void nubus_lview_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, LVIEW_SCREEN_NAME, SCREEN_TYPE_RASTER));
+ screen.set_screen_update(FUNC(nubus_lview_device::screen_update));
+ screen.set_size(832, 600);
+ screen.set_refresh_hz(70);
+ screen.set_visarea(0, 832-1, 0, 600-1);
+}
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/pet/hsg.cpp b/src/devices/bus/pet/hsg.cpp
index fe51ba28bd9..62b60d496a8 100644
--- a/src/devices/bus/pet/hsg.cpp
+++ b/src/devices/bus/pet/hsg.cpp
@@ -91,12 +91,13 @@ void cbm8000_hsg_b_device::hsg_b_map(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(cbm8000_hsg_a_device::device_add_mconfig)
- MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::green())
- MCFG_SCREEN_UPDATE_DEVICE(EF9365_TAG, ef9365_device, screen_update)
- MCFG_SCREEN_SIZE(512, 512)
- MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 512-1)
- MCFG_SCREEN_REFRESH_RATE(25)
+void cbm8000_hsg_a_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_screen_update(EF9365_TAG, FUNC(ef9365_device::screen_update));
+ screen.set_size(512, 512);
+ screen.set_visarea(0, 512-1, 0, 512-1);
+ screen.set_refresh_hz(25);
PALETTE(config, "palette", palette_device::MONOCHROME);
EF9365(config, m_gdc, 1750000);
@@ -105,14 +106,15 @@ MACHINE_CONFIG_START(cbm8000_hsg_a_device::device_add_mconfig)
m_gdc->set_palette_tag("palette");
m_gdc->set_nb_bitplanes(1);
m_gdc->set_display_mode(ef9365_device::DISPLAY_MODE_512x512);
-MACHINE_CONFIG_END
-
-MACHINE_CONFIG_START(cbm8000_hsg_b_device::device_add_mconfig)
- MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::green())
- MCFG_SCREEN_UPDATE_DEVICE(EF9366_TAG, ef9365_device, screen_update)
- MCFG_SCREEN_SIZE(512, 256)
- MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1)
- MCFG_SCREEN_REFRESH_RATE(50)
+}
+
+void cbm8000_hsg_b_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_screen_update(EF9366_TAG, FUNC(ef9365_device::screen_update));
+ screen.set_size(512, 256);
+ screen.set_visarea(0, 512-1, 0, 256-1);
+ screen.set_refresh_hz(50);
PALETTE(config, "palette", palette_device::MONOCHROME);
EF9365(config, m_gdc, 1750000); //EF9366
@@ -121,7 +123,7 @@ MACHINE_CONFIG_START(cbm8000_hsg_b_device::device_add_mconfig)
m_gdc->set_palette_tag("palette");
m_gdc->set_nb_bitplanes(1);
m_gdc->set_display_mode(ef9365_device::DISPLAY_MODE_512x256);
-MACHINE_CONFIG_END
+}
diff --git a/src/devices/bus/snes/upd.cpp b/src/devices/bus/snes/upd.cpp
index 462ab0faf98..d9d81837c30 100644
--- a/src/devices/bus/snes/upd.cpp
+++ b/src/devices/bus/snes/upd.cpp
@@ -132,11 +132,12 @@ void sns_rom20_necdsp_device::dsp_data_map_lorom(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(sns_rom20_necdsp_device::device_add_mconfig)
- MCFG_DEVICE_ADD("dsp", UPD7725, 8000000)
- MCFG_DEVICE_PROGRAM_MAP(dsp_prg_map_lorom)
- MCFG_DEVICE_DATA_MAP(dsp_data_map_lorom)
-MACHINE_CONFIG_END
+void sns_rom20_necdsp_device::device_add_mconfig(machine_config &config)
+{
+ UPD7725(config, m_upd7725, 8000000);
+ m_upd7725->set_addrmap(AS_PROGRAM, &sns_rom20_necdsp_device::dsp_prg_map_lorom);
+ m_upd7725->set_addrmap(AS_DATA, &sns_rom20_necdsp_device::dsp_data_map_lorom);
+}
READ8_MEMBER( sns_rom20_necdsp_device::chip_read )
{
@@ -189,11 +190,12 @@ void sns_rom21_necdsp_device::dsp_data_map_hirom(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(sns_rom21_necdsp_device::device_add_mconfig)
- MCFG_DEVICE_ADD("dsp", UPD7725, 8000000)
- MCFG_DEVICE_PROGRAM_MAP(dsp_prg_map_hirom)
- MCFG_DEVICE_DATA_MAP(dsp_data_map_hirom)
-MACHINE_CONFIG_END
+void sns_rom21_necdsp_device::device_add_mconfig(machine_config &config)
+{
+ UPD7725(config, m_upd7725, 8000000);
+ m_upd7725->set_addrmap(AS_PROGRAM, &sns_rom21_necdsp_device::dsp_prg_map_hirom);
+ m_upd7725->set_addrmap(AS_DATA, &sns_rom21_necdsp_device::dsp_data_map_hirom);
+}
READ8_MEMBER( sns_rom21_necdsp_device::chip_read )
{
@@ -300,18 +302,20 @@ void sns_rom_setadsp_device::st01x_data_map(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(sns_rom_seta10dsp_device::device_add_mconfig)
- MCFG_DEVICE_ADD("dsp", UPD96050, 10000000)
- MCFG_DEVICE_PROGRAM_MAP(st01x_prg_map)
- MCFG_DEVICE_DATA_MAP(st01x_data_map)
-MACHINE_CONFIG_END
+void sns_rom_seta10dsp_device::device_add_mconfig(machine_config &config)
+{
+ UPD96050(config, m_upd96050, 10000000);
+ m_upd96050->set_addrmap(AS_PROGRAM, &sns_rom_seta10dsp_device::st01x_prg_map);
+ m_upd96050->set_addrmap(AS_DATA, &sns_rom_seta10dsp_device::st01x_data_map);
+}
-MACHINE_CONFIG_START(sns_rom_seta11dsp_device::device_add_mconfig)
- MCFG_DEVICE_ADD("dsp", UPD96050, 15000000)
- MCFG_DEVICE_PROGRAM_MAP(st01x_prg_map)
- MCFG_DEVICE_DATA_MAP(st01x_data_map)
-MACHINE_CONFIG_END
+void sns_rom_seta11dsp_device::device_add_mconfig(machine_config &config)
+{
+ UPD96050(config, m_upd96050, 15000000);
+ m_upd96050->set_addrmap(AS_PROGRAM, &sns_rom_seta11dsp_device::st01x_prg_map);
+ m_upd96050->set_addrmap(AS_DATA, &sns_rom_seta11dsp_device::st01x_data_map);
+}
// To make faster DSP access to its internal rom, let's install read banks and map m_bios there with correct byte order
@@ -411,53 +415,61 @@ sns_rom_seta11dsp_legacy_device::sns_rom_seta11dsp_legacy_device(const machine_c
}
-MACHINE_CONFIG_START(sns_rom20_necdsp1_legacy_device::device_add_mconfig)
- MCFG_DEVICE_ADD("dsp", UPD7725, 8000000)
- MCFG_DEVICE_PROGRAM_MAP(dsp_prg_map_lorom)
- MCFG_DEVICE_DATA_MAP(dsp_data_map_lorom)
-MACHINE_CONFIG_END
-
-MACHINE_CONFIG_START(sns_rom20_necdsp1b_legacy_device::device_add_mconfig)
- MCFG_DEVICE_ADD("dsp", UPD7725, 8000000)
- MCFG_DEVICE_PROGRAM_MAP(dsp_prg_map_lorom)
- MCFG_DEVICE_DATA_MAP(dsp_data_map_lorom)
-MACHINE_CONFIG_END
-
-MACHINE_CONFIG_START(sns_rom20_necdsp2_legacy_device::device_add_mconfig)
- MCFG_DEVICE_ADD("dsp", UPD7725, 8000000)
- MCFG_DEVICE_PROGRAM_MAP(dsp_prg_map_lorom)
- MCFG_DEVICE_DATA_MAP(dsp_data_map_lorom)
-MACHINE_CONFIG_END
-
-MACHINE_CONFIG_START(sns_rom20_necdsp3_legacy_device::device_add_mconfig)
- MCFG_DEVICE_ADD("dsp", UPD7725, 8000000)
- MCFG_DEVICE_PROGRAM_MAP(dsp_prg_map_lorom)
- MCFG_DEVICE_DATA_MAP(dsp_data_map_lorom)
-MACHINE_CONFIG_END
-
-MACHINE_CONFIG_START(sns_rom20_necdsp4_legacy_device::device_add_mconfig)
- MCFG_DEVICE_ADD("dsp", UPD7725, 8000000)
- MCFG_DEVICE_PROGRAM_MAP(dsp_prg_map_lorom)
- MCFG_DEVICE_DATA_MAP(dsp_data_map_lorom)
-MACHINE_CONFIG_END
-
-MACHINE_CONFIG_START(sns_rom21_necdsp1_legacy_device::device_add_mconfig)
- MCFG_DEVICE_ADD("dsp", UPD7725, 8000000)
- MCFG_DEVICE_PROGRAM_MAP(dsp_prg_map_hirom)
- MCFG_DEVICE_DATA_MAP(dsp_data_map_hirom)
-MACHINE_CONFIG_END
-
-MACHINE_CONFIG_START(sns_rom_seta10dsp_legacy_device::device_add_mconfig)
- MCFG_DEVICE_ADD("dsp", UPD96050, 10000000)
- MCFG_DEVICE_PROGRAM_MAP(st01x_prg_map)
- MCFG_DEVICE_DATA_MAP(st01x_data_map)
-MACHINE_CONFIG_END
-
-MACHINE_CONFIG_START(sns_rom_seta11dsp_legacy_device::device_add_mconfig)
- MCFG_DEVICE_ADD("dsp", UPD96050, 15000000)
- MCFG_DEVICE_PROGRAM_MAP(st01x_prg_map)
- MCFG_DEVICE_DATA_MAP(st01x_data_map)
-MACHINE_CONFIG_END
+void sns_rom20_necdsp1_legacy_device::device_add_mconfig(machine_config &config)
+{
+ UPD7725(config, m_upd7725, 8000000);
+ m_upd7725->set_addrmap(AS_PROGRAM, &sns_rom20_necdsp1_legacy_device::dsp_prg_map_lorom);
+ m_upd7725->set_addrmap(AS_DATA, &sns_rom20_necdsp1_legacy_device::dsp_data_map_lorom);
+}
+
+void sns_rom20_necdsp1b_legacy_device::device_add_mconfig(machine_config &config)
+{
+ UPD7725(config, m_upd7725, 8000000);
+ m_upd7725->set_addrmap(AS_PROGRAM, &sns_rom20_necdsp1b_legacy_device::dsp_prg_map_lorom);
+ m_upd7725->set_addrmap(AS_DATA, &sns_rom20_necdsp1b_legacy_device::dsp_data_map_lorom);
+}
+
+void sns_rom20_necdsp2_legacy_device::device_add_mconfig(machine_config &config)
+{
+ UPD7725(config, m_upd7725, 8000000);
+ m_upd7725->set_addrmap(AS_PROGRAM, &sns_rom20_necdsp2_legacy_device::dsp_prg_map_lorom);
+ m_upd7725->set_addrmap(AS_DATA, &sns_rom20_necdsp2_legacy_device::dsp_data_map_lorom);
+}
+
+void sns_rom20_necdsp3_legacy_device::device_add_mconfig(machine_config &config)
+{
+ UPD7725(config, m_upd7725, 8000000);
+ m_upd7725->set_addrmap(AS_PROGRAM, &sns_rom20_necdsp3_legacy_device::dsp_prg_map_lorom);
+ m_upd7725->set_addrmap(AS_DATA, &sns_rom20_necdsp3_legacy_device::dsp_data_map_lorom);
+}
+
+void sns_rom20_necdsp4_legacy_device::device_add_mconfig(machine_config &config)
+{
+ UPD7725(config, m_upd7725, 8000000);
+ m_upd7725->set_addrmap(AS_PROGRAM, &sns_rom20_necdsp4_legacy_device::dsp_prg_map_lorom);
+ m_upd7725->set_addrmap(AS_DATA, &sns_rom20_necdsp4_legacy_device::dsp_data_map_lorom);
+}
+
+void sns_rom21_necdsp1_legacy_device::device_add_mconfig(machine_config &config)
+{
+ UPD7725(config, m_upd7725, 8000000);
+ m_upd7725->set_addrmap(AS_PROGRAM, &sns_rom21_necdsp1_legacy_device::dsp_prg_map_hirom);
+ m_upd7725->set_addrmap(AS_DATA, &sns_rom21_necdsp1_legacy_device::dsp_data_map_hirom);
+}
+
+void sns_rom_seta10dsp_legacy_device::device_add_mconfig(machine_config &config)
+{
+ UPD96050(config, m_upd96050, 10000000);
+ m_upd96050->set_addrmap(AS_PROGRAM, &sns_rom_seta10dsp_legacy_device::st01x_prg_map);
+ m_upd96050->set_addrmap(AS_DATA, &sns_rom_seta10dsp_legacy_device::st01x_data_map);
+}
+
+void sns_rom_seta11dsp_legacy_device::device_add_mconfig(machine_config &config)
+{
+ UPD96050(config, m_upd96050, 15000000);
+ m_upd96050->set_addrmap(AS_PROGRAM, &sns_rom_seta11dsp_legacy_device::st01x_prg_map);
+ m_upd96050->set_addrmap(AS_DATA, &sns_rom_seta11dsp_legacy_device::st01x_data_map);
+}
ROM_START( snes_dsp1 )
diff --git a/src/devices/bus/snes/upd.h b/src/devices/bus/snes/upd.h
index dfc55466225..0d21335861c 100644
--- a/src/devices/bus/snes/upd.h
+++ b/src/devices/bus/snes/upd.h
@@ -37,9 +37,9 @@ protected:
void dsp_data_map_lorom(address_map &map);
void dsp_prg_map_lorom(address_map &map);
-private:
required_device<upd7725_device> m_upd7725;
+private:
std::vector<uint32_t> m_dsp_prg;
std::vector<uint16_t> m_dsp_data;
};
@@ -71,9 +71,9 @@ protected:
void dsp_data_map_hirom(address_map &map);
void dsp_prg_map_hirom(address_map &map);
-private:
required_device<upd7725_device> m_upd7725;
+private:
std::vector<uint32_t> m_dsp_prg;
std::vector<uint16_t> m_dsp_data;
};
@@ -102,9 +102,9 @@ protected:
void st01x_data_map(address_map &map);
void st01x_prg_map(address_map &map);
-private:
required_device<upd96050_device> m_upd96050;
+private:
std::vector<uint32_t> m_dsp_prg;
std::vector<uint16_t> m_dsp_data;
};
diff --git a/src/devices/bus/vic20/videopak.cpp b/src/devices/bus/vic20/videopak.cpp
index 3e8c708742b..a63cac93a96 100644
--- a/src/devices/bus/vic20/videopak.cpp
+++ b/src/devices/bus/vic20/videopak.cpp
@@ -97,12 +97,13 @@ GFXDECODE_END
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(vic20_video_pak_device::device_add_mconfig)
- MCFG_SCREEN_ADD_MONOCHROME(MC6845_SCREEN_TAG, RASTER, rgb_t::white())
- MCFG_SCREEN_UPDATE_DEVICE(MC6845_TAG, h46505_device, screen_update)
- MCFG_SCREEN_SIZE(80*8, 24*8)
- MCFG_SCREEN_VISIBLE_AREA(0, 80*8-1, 0, 24*8-1)
- MCFG_SCREEN_REFRESH_RATE(50)
+void vic20_video_pak_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, MC6845_SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::white()));
+ screen.set_screen_update(MC6845_TAG, FUNC(h46505_device::screen_update));
+ screen.set_size(80*8, 24*8);
+ screen.set_visarea(0, 80*8-1, 0, 24*8-1);
+ screen.set_refresh_hz(50);
GFXDECODE(config, "gfxdecode", m_palette, gfx_vic20_video_pak);
PALETTE(config, m_palette, palette_device::MONOCHROME);
@@ -112,7 +113,7 @@ MACHINE_CONFIG_START(vic20_video_pak_device::device_add_mconfig)
m_crtc->set_show_border_area(true);
m_crtc->set_char_width(8);
m_crtc->set_update_row_callback(FUNC(vic20_video_pak_device::crtc_update_row), this);
-MACHINE_CONFIG_END
+}
diff --git a/src/devices/bus/wangpc/tig.cpp b/src/devices/bus/wangpc/tig.cpp
index e9170b420cc..966cc023b6c 100644
--- a/src/devices/bus/wangpc/tig.cpp
+++ b/src/devices/bus/wangpc/tig.cpp
@@ -114,13 +114,14 @@ UPD7220_DISPLAY_PIXELS_MEMBER( wangpc_tig_device::hgdc_display_pixels )
// MACHINE_CONFIG_START( wangpc_tig )
//-------------------------------------------------
-MACHINE_CONFIG_START(wangpc_tig_device::device_add_mconfig)
- MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::green())
- MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, wangpc_tig_device, screen_update)
- MCFG_SCREEN_SIZE(80*10, 25*12)
- MCFG_SCREEN_VISIBLE_AREA(0, 80*10-1, 0, 25*12-1)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500))
- MCFG_SCREEN_REFRESH_RATE(60)
+void wangpc_tig_device::device_add_mconfig(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_screen_update(FUNC(wangpc_tig_device::screen_update));
+ screen.set_size(80*10, 25*12);
+ screen.set_visarea(0, 80*10-1, 0, 25*12-1);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500));
+ screen.set_refresh_hz(60);
PALETTE(config, m_palette, palette_device::MONOCHROME_HIGHLIGHT);
@@ -133,7 +134,7 @@ MACHINE_CONFIG_START(wangpc_tig_device::device_add_mconfig)
m_hgdc1->set_addrmap(0, &wangpc_tig_device::upd7220_1_map);
m_hgdc1->set_display_pixels_callback(FUNC(wangpc_tig_device::hgdc_display_pixels), this);
m_hgdc1->set_screen(SCREEN_TAG);
-MACHINE_CONFIG_END
+}
//**************************************************************************