summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatarGravatar Ivan Vangelista <mesgnet@yahoo.it>2019-02-11 18:18:45 +0100
committerGravatarGravatar Ivan Vangelista <mesgnet@yahoo.it>2019-02-11 18:18:45 +0100
commit502197b9c80b5f384dccc939fc93e1dbd6bf90c1 (patch)
treeafb975bb2efbc8638c0b1717c1a6b08abd550f8a
parentb07f23632a3f3cbaf08337ad68f8598feadcefbd (diff)
downloadmame-502197b9c80b5f384dccc939fc93e1dbd6bf90c1.tar.xz
mame-502197b9c80b5f384dccc939fc93e1dbd6bf90c1.zip
screen.h: adddedconstructor for monochrom screens and removed MCFG_SCREEN_ADD_MONOCHROME and MCFG_SCREEN_COLOR (nw)
misc MACHINE_CONFIG removal (nw) started work on voltage_regulator_device macros removal (nw)
-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
-rw-r--r--src/emu/screen.h13
-rw-r--r--src/mame/audio/alesis.cpp6
-rw-r--r--src/mame/audio/csd.cpp6
-rw-r--r--src/mame/audio/gottlieb.cpp12
-rw-r--r--src/mame/audio/harddriv.cpp6
-rw-r--r--src/mame/audio/midway.cpp12
-rw-r--r--src/mame/audio/s11c_bg.cpp6
-rw-r--r--src/mame/audio/williams.cpp12
-rw-r--r--src/mame/audio/wpcsnd.cpp6
-rw-r--r--src/mame/drivers/alphatpx.cpp44
-rw-r--r--src/mame/drivers/amust.cpp12
-rw-r--r--src/mame/drivers/anzterm.cpp31
-rw-r--r--src/mame/drivers/atari_s1.cpp6
-rw-r--r--src/mame/drivers/atari_s2.cpp6
-rw-r--r--src/mame/drivers/att4425.cpp19
-rw-r--r--src/mame/drivers/attache.cpp28
-rw-r--r--src/mame/drivers/ax20.cpp26
-rw-r--r--src/mame/drivers/beehive.cpp25
-rw-r--r--src/mame/drivers/bking.cpp6
-rw-r--r--src/mame/drivers/bw12.cpp18
-rw-r--r--src/mame/drivers/bwing.cpp6
-rw-r--r--src/mame/drivers/byvid.cpp6
-rw-r--r--src/mame/drivers/capbowl.cpp6
-rw-r--r--src/mame/drivers/champbas.cpp12
-rw-r--r--src/mame/drivers/chsuper.cpp6
-rw-r--r--src/mame/drivers/ckz80.cpp6
-rw-r--r--src/mame/drivers/cmi.cpp8
-rw-r--r--src/mame/drivers/cntsteer.cpp6
-rw-r--r--src/mame/drivers/coco12.cpp6
-rw-r--r--src/mame/drivers/coolpool.cpp12
-rw-r--r--src/mame/drivers/cop01.cpp6
-rw-r--r--src/mame/drivers/dectalk.cpp6
-rw-r--r--src/mame/drivers/dvk_ksm.cpp9
-rw-r--r--src/mame/drivers/eurocom2.cpp27
-rw-r--r--src/mame/drivers/fantland.cpp6
-rw-r--r--src/mame/drivers/finalizr.cpp6
-rw-r--r--src/mame/drivers/fk1.cpp14
-rw-r--r--src/mame/drivers/galaxian.cpp12
-rw-r--r--src/mame/drivers/gamecom.cpp6
-rw-r--r--src/mame/drivers/go2000.cpp6
-rw-r--r--src/mame/drivers/h19.cpp12
-rw-r--r--src/mame/drivers/hankin.cpp6
-rw-r--r--src/mame/drivers/homelab.cpp45
-rw-r--r--src/mame/drivers/hp2640.cpp8
-rw-r--r--src/mame/drivers/hp95lx.cpp8
-rw-r--r--src/mame/drivers/hp9845.cpp36
-rw-r--r--src/mame/drivers/hyhoo.cpp6
-rw-r--r--src/mame/drivers/instantm.cpp6
-rw-r--r--src/mame/drivers/ipds.cpp23
-rw-r--r--src/mame/drivers/iq151.cpp22
-rw-r--r--src/mame/drivers/jankenmn.cpp6
-rw-r--r--src/mame/drivers/juicebox.cpp6
-rw-r--r--src/mame/drivers/junofrst.cpp6
-rw-r--r--src/mame/drivers/k8915.cpp23
-rw-r--r--src/mame/drivers/kaypro.cpp18
-rw-r--r--src/mame/drivers/kingobox.cpp12
-rw-r--r--src/mame/drivers/kron.cpp13
-rw-r--r--src/mame/drivers/ksayakyu.cpp6
-rw-r--r--src/mame/drivers/lasso.cpp6
-rw-r--r--src/mame/drivers/luckybal.cpp6
-rw-r--r--src/mame/drivers/m3.cpp23
-rw-r--r--src/mame/drivers/megazone.cpp6
-rw-r--r--src/mame/drivers/mephistp.cpp6
-rw-r--r--src/mame/drivers/meyc8080.cpp6
-rw-r--r--src/mame/drivers/micral.cpp14
-rw-r--r--src/mame/drivers/microvsn.cpp6
-rw-r--r--src/mame/drivers/mjsister.cpp6
-rw-r--r--src/mame/drivers/modellot.cpp25
-rw-r--r--src/mame/drivers/murogmbl.cpp12
-rw-r--r--src/mame/drivers/mx2178.cpp23
-rw-r--r--src/mame/drivers/nbmj8688.cpp12
-rw-r--r--src/mame/drivers/nbmj8891.cpp6
-rw-r--r--src/mame/drivers/nbmj8900.cpp6
-rw-r--r--src/mame/drivers/nbmj8991.cpp6
-rw-r--r--src/mame/drivers/nightgal.cpp6
-rw-r--r--src/mame/drivers/nokia_3310.cpp58
-rw-r--r--src/mame/drivers/notetaker.cpp6
-rw-r--r--src/mame/drivers/nyny.cpp6
-rw-r--r--src/mame/drivers/pandoras.cpp6
-rw-r--r--src/mame/drivers/pastelg.cpp12
-rw-r--r--src/mame/drivers/peoplepc.cpp11
-rw-r--r--src/mame/drivers/plan80.cpp25
-rw-r--r--src/mame/drivers/pockstat.cpp6
-rw-r--r--src/mame/drivers/pong.cpp18
-rw-r--r--src/mame/drivers/ppmast93.cpp6
-rw-r--r--src/mame/drivers/pyl601.cpp21
-rw-r--r--src/mame/drivers/rd100.cpp25
-rw-r--r--src/mame/drivers/rowamet.cpp6
-rw-r--r--src/mame/drivers/royalmah.cpp6
-rw-r--r--src/mame/drivers/s11.cpp6
-rw-r--r--src/mame/drivers/s11a.cpp6
-rw-r--r--src/mame/drivers/s11b.cpp6
-rw-r--r--src/mame/drivers/s3.cpp6
-rw-r--r--src/mame/drivers/s4.cpp6
-rw-r--r--src/mame/drivers/s6.cpp6
-rw-r--r--src/mame/drivers/s6a.cpp6
-rw-r--r--src/mame/drivers/s7.cpp6
-rw-r--r--src/mame/drivers/s8.cpp6
-rw-r--r--src/mame/drivers/s8a.cpp6
-rw-r--r--src/mame/drivers/s9.cpp6
-rw-r--r--src/mame/drivers/sbasketb.cpp6
-rw-r--r--src/mame/drivers/seicross.cpp6
-rw-r--r--src/mame/drivers/senjyo.cpp6
-rw-r--r--src/mame/drivers/shangkid.cpp6
-rw-r--r--src/mame/drivers/shisen.cpp6
-rw-r--r--src/mame/drivers/ssozumo.cpp6
-rw-r--r--src/mame/drivers/sys9002.cpp23
-rw-r--r--src/mame/drivers/tagteam.cpp6
-rw-r--r--src/mame/drivers/taito.cpp6
-rw-r--r--src/mame/drivers/tdv2324.cpp10
-rw-r--r--src/mame/drivers/trs80m2.cpp42
-rw-r--r--src/mame/drivers/trucocl.cpp6
-rw-r--r--src/mame/drivers/ts803.cpp15
-rw-r--r--src/mame/drivers/tsamurai.cpp6
-rw-r--r--src/mame/drivers/tsispch.cpp6
-rw-r--r--src/mame/drivers/univac.cpp21
-rw-r--r--src/mame/drivers/vcombat.cpp12
-rw-r--r--src/mame/drivers/vidbrain.cpp6
-rw-r--r--src/mame/drivers/videopkr.cpp6
-rw-r--r--src/mame/drivers/vt100.cpp10
-rw-r--r--src/mame/drivers/wildpkr.cpp6
-rw-r--r--src/mame/drivers/williams.cpp12
-rw-r--r--src/mame/drivers/wmg.cpp6
-rw-r--r--src/mame/drivers/xtheball.cpp6
-rw-r--r--src/mame/video/abc1600.cpp11
-rw-r--r--src/mame/video/abc800.cpp11
-rw-r--r--src/mame/video/abc802.cpp11
-rw-r--r--src/mame/video/newbrain.cpp15
-rw-r--r--src/mame/video/v1050.cpp17
205 files changed, 1593 insertions, 1321 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
+}
//**************************************************************************
diff --git a/src/emu/screen.h b/src/emu/screen.h
index acd106f3c4e..edf9629c21a 100644
--- a/src/emu/screen.h
+++ b/src/emu/screen.h
@@ -177,6 +177,12 @@ public:
{
set_type(type);
}
+ screen_device(const machine_config &mconfig, const char *tag, device_t *owner, screen_type_enum type, rgb_t color)
+ : screen_device(mconfig, tag, owner, u32(0))
+ {
+ set_type(type);
+ set_color(color);
+ }
~screen_device();
// configuration readers
@@ -520,11 +526,6 @@ typedef device_type_iterator<screen_device> screen_device_iterator;
#define MCFG_SCREEN_ADD(_tag, _type) \
MCFG_DEVICE_ADD(_tag, SCREEN, SCREEN_TYPE_##_type)
-#define MCFG_SCREEN_ADD_MONOCHROME(_tag, _type, _color) \
- MCFG_DEVICE_ADD(_tag, SCREEN, 0) \
- MCFG_SCREEN_TYPE(_type) \
- MCFG_SCREEN_COLOR(_color)
-
#define MCFG_SCREEN_MODIFY(_tag) \
MCFG_DEVICE_MODIFY(_tag)
@@ -564,7 +565,5 @@ typedef device_type_iterator<screen_device> screen_device_iterator;
downcast<screen_device &>(*device).set_palette(finder_base::DUMMY_TAG);
#define MCFG_SCREEN_VIDEO_ATTRIBUTES(_flags) \
downcast<screen_device &>(*device).set_video_attributes(_flags);
-#define MCFG_SCREEN_COLOR(_color) \
- downcast<screen_device &>(*device).set_color(_color);
#endif // MAME_EMU_SCREEN_H
diff --git a/src/mame/audio/alesis.cpp b/src/mame/audio/alesis.cpp
index 39fb0609fb6..baa33f06560 100644
--- a/src/mame/audio/alesis.cpp
+++ b/src/mame/audio/alesis.cpp
@@ -47,8 +47,10 @@ MACHINE_CONFIG_START(alesis_dm3ag_device::device_add_mconfig)
SPEAKER(config, "lspeaker2").front_left();
SPEAKER(config, "rspeaker2").front_right();
MCFG_DEVICE_ADD("dac", PCM54HP, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker1", 1.0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker1", 1.0) // PCM54HP DAC + R63/R73-75 + Sample and hold
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
//-------------------------------------------------
diff --git a/src/mame/audio/csd.cpp b/src/mame/audio/csd.cpp
index d770de8cd5d..e21e871c17b 100644
--- a/src/mame/audio/csd.cpp
+++ b/src/mame/audio/csd.cpp
@@ -47,8 +47,10 @@ MACHINE_CONFIG_START(midway_cheap_squeak_deluxe_device::device_add_mconfig)
m_pia->irqb_handler().set(FUNC(midway_cheap_squeak_deluxe_device::irq_w));
MCFG_DEVICE_ADD("dac", AD7533, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, *this, 1.0)
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
//-------------------------------------------------
diff --git a/src/mame/audio/gottlieb.cpp b/src/mame/audio/gottlieb.cpp
index bca41ff8732..90cf2af226e 100644
--- a/src/mame/audio/gottlieb.cpp
+++ b/src/mame/audio/gottlieb.cpp
@@ -127,8 +127,10 @@ MACHINE_CONFIG_START(gottlieb_sound_r0_device::device_add_mconfig)
// sound devices
MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, *this, 0.25) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
@@ -258,8 +260,10 @@ MACHINE_CONFIG_START(gottlieb_sound_r1_device::device_add_mconfig)
// sound devices
MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, *this, 0.25) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
diff --git a/src/mame/audio/harddriv.cpp b/src/mame/audio/harddriv.cpp
index 598ff034ea9..b94ec4e84cb 100644
--- a/src/mame/audio/harddriv.cpp
+++ b/src/mame/audio/harddriv.cpp
@@ -456,6 +456,8 @@ MACHINE_CONFIG_START(harddriv_sound_board_device::device_add_mconfig)
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", AM6012, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // ls374d.75e + ls374d.90e + am6012
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
diff --git a/src/mame/audio/midway.cpp b/src/mame/audio/midway.cpp
index f25b82f69b8..54b8aed7998 100644
--- a/src/mame/audio/midway.cpp
+++ b/src/mame/audio/midway.cpp
@@ -601,8 +601,10 @@ MACHINE_CONFIG_START(midway_sounds_good_device::device_add_mconfig)
m_pia->irqb_handler().set(FUNC(midway_sounds_good_device::irq_w));
MCFG_DEVICE_ADD("dac", AD7533, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, *this, 1.0) /// ad7533jn.u10
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
@@ -756,8 +758,10 @@ MACHINE_CONFIG_START(midway_turbo_cheap_squeak_device::device_add_mconfig)
m_pia->irqb_handler().set(FUNC(midway_turbo_cheap_squeak_device::irq_w));
MCFG_DEVICE_ADD("dac", AD7533, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, *this, 1.0)
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
diff --git a/src/mame/audio/s11c_bg.cpp b/src/mame/audio/s11c_bg.cpp
index 941a5d16e80..a9f33ec8cf8 100644
--- a/src/mame/audio/s11c_bg.cpp
+++ b/src/mame/audio/s11c_bg.cpp
@@ -68,8 +68,10 @@ MACHINE_CONFIG_START(s11c_bg_device::device_add_mconfig)
m_ym2151->add_route(ALL_OUTPUTS, *this, 0.25);
MCFG_DEVICE_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, *this, 0.25)
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MCFG_DEVICE_ADD("hc55516_bg", HC55516, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, *this, 0.5)
diff --git a/src/mame/audio/williams.cpp b/src/mame/audio/williams.cpp
index adee5db828e..c7efdbecf4e 100644
--- a/src/mame/audio/williams.cpp
+++ b/src/mame/audio/williams.cpp
@@ -191,8 +191,10 @@ MACHINE_CONFIG_START(williams_cvsd_sound_device::device_add_mconfig)
ym.add_route(ALL_OUTPUTS, *this, 0.10);
MC1408(config, "dac", 0).add_route(ALL_OUTPUTS, *this, 0.25);
- 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)
+ 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);
HC55516(config, m_hc55516, 0);
m_hc55516->add_route(ALL_OUTPUTS, *this, 0.60);
@@ -763,8 +765,10 @@ MACHINE_CONFIG_START(williams_adpcm_sound_device::device_add_mconfig)
ym2151.add_route(ALL_OUTPUTS, *this, 0.10);
MCFG_DEVICE_ADD("dac", AD7524, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, *this, 0.10)
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MCFG_DEVICE_ADD("oki", OKIM6295, ADPCM_MASTER_CLOCK/8, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified
MCFG_DEVICE_ADDRESS_MAP(0, williams_adpcm_oki_map)
diff --git a/src/mame/audio/wpcsnd.cpp b/src/mame/audio/wpcsnd.cpp
index e49b3b89be6..2779287263c 100644
--- a/src/mame/audio/wpcsnd.cpp
+++ b/src/mame/audio/wpcsnd.cpp
@@ -79,8 +79,10 @@ MACHINE_CONFIG_START(wpcsnd_device::device_add_mconfig)
m_ym2151->add_route(ALL_OUTPUTS, *this, 0.25);
MCFG_DEVICE_ADD("dac", AD7524, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, *this, 0.25)
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MCFG_DEVICE_ADD("hc55516", HC55516, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, *this, 0.5)
diff --git a/src/mame/drivers/alphatpx.cpp b/src/mame/drivers/alphatpx.cpp
index 8020a1e2543..060a89b1d53 100644
--- a/src/mame/drivers/alphatpx.cpp
+++ b/src/mame/drivers/alphatpx.cpp
@@ -1204,10 +1204,11 @@ void alphatp_12_state::machine_reset()
m_curfloppy = nullptr;
}
-MACHINE_CONFIG_START(alphatp_12_state::alphatp2)
- MCFG_DEVICE_ADD("maincpu", I8085A, 6_MHz_XTAL)
- MCFG_DEVICE_PROGRAM_MAP(alphatp2_mem)
- MCFG_DEVICE_IO_MAP(alphatp2_io)
+void alphatp_12_state::alphatp2(machine_config &config)
+{
+ i8085a_cpu_device &maincpu(I8085A(config, "maincpu", 6_MHz_XTAL));
+ maincpu.set_addrmap(AS_PROGRAM, &alphatp_12_state::alphatp2_mem);
+ maincpu.set_addrmap(AS_IO, &alphatp_12_state::alphatp2_io);
config.m_perfect_cpu_quantum = subtag("maincpu");
@@ -1220,9 +1221,9 @@ MACHINE_CONFIG_START(alphatp_12_state::alphatp2)
ADDRESS_MAP_BANK(config, "bankdev").set_map(&alphatp_12_state::alphatp2_map).set_options(ENDIANNESS_LITTLE, 8, 18, 0x10000);
// video hardware
- MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
- MCFG_SCREEN_RAW_PARAMS(12.8544_MHz_XTAL, 824, 0, 640, 312, 0, 288)
- MCFG_SCREEN_UPDATE_DRIVER(alphatp_12_state, screen_update)
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_raw(12.8544_MHz_XTAL, 824, 0, 640, 312, 0, 288);
+ screen.set_screen_update(FUNC(alphatp_12_state::screen_update));
PALETTE(config, m_palette, palette_device::MONOCHROME);
@@ -1236,10 +1237,9 @@ MACHINE_CONFIG_START(alphatp_12_state::alphatp2)
// sound hardware
SPEAKER(config, "mono").front_center();
- MCFG_DEVICE_ADD( "beeper", BEEP, 1060 )
- MCFG_SOUND_ROUTE( ALL_OUTPUTS, "mono", 1.00 )
+ BEEP(config, m_beep, 1060).add_route(ALL_OUTPUTS, "mono", 1.00);
- MCFG_DEVICE_ADD("uart", I8251, 0)
+ I8251(config, "uart", 0);
// 4.9152_MHz_XTAL serial clock
FD1791(config, m_fdc, 4_MHz_XTAL / 4);
@@ -1248,7 +1248,7 @@ MACHINE_CONFIG_START(alphatp_12_state::alphatp2)
m_fdc->hld_wr_callback().set(FUNC(alphatp_12_state::fdchld_w));
FLOPPY_CONNECTOR(config, "fdc:0", alphatp2_floppies, "525ssdd", floppy_image_device::default_floppy_formats);
FLOPPY_CONNECTOR(config, "fdc:1", alphatp2_floppies, "525ssdd", floppy_image_device::default_floppy_formats);
-MACHINE_CONFIG_END
+}
void alphatp_12_state::alphatp2u(machine_config &config)
{
@@ -1282,10 +1282,11 @@ void alphatp_34_state::machine_reset()
m_curfloppy = nullptr;
m_88_da = m_85_da = m_88_started = false;
}
-MACHINE_CONFIG_START(alphatp_34_state::alphatp3)
- MCFG_DEVICE_ADD("maincpu", I8085A, 6_MHz_XTAL)
- MCFG_DEVICE_PROGRAM_MAP(alphatp3_mem)
- MCFG_DEVICE_IO_MAP(alphatp3_io)
+void alphatp_34_state::alphatp3(machine_config &config)
+{
+ i8085a_cpu_device &maincpu(I8085A(config, "maincpu", 6_MHz_XTAL));
+ maincpu.set_addrmap(AS_PROGRAM, &alphatp_34_state::alphatp3_mem);
+ maincpu.set_addrmap(AS_IO, &alphatp_34_state::alphatp3_io);
config.m_perfect_cpu_quantum = subtag("maincpu");
@@ -1298,9 +1299,9 @@ MACHINE_CONFIG_START(alphatp_34_state::alphatp3)
ADDRESS_MAP_BANK(config, "bankdev").set_map(&alphatp_34_state::alphatp3_map).set_options(ENDIANNESS_LITTLE, 8, 18, 0x10000);
// video hardware
- MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
- MCFG_SCREEN_RAW_PARAMS(12.8544_MHz_XTAL, 824, 0, 640, 312, 0, 288)
- MCFG_SCREEN_UPDATE_DRIVER(alphatp_34_state, screen_update)
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_raw(12.8544_MHz_XTAL, 824, 0, 640, 312, 0, 288);
+ screen.set_screen_update(FUNC(alphatp_34_state::screen_update));
PALETTE(config, m_palette, palette_device::MONOCHROME);
@@ -1313,10 +1314,9 @@ MACHINE_CONFIG_START(alphatp_34_state::alphatp3)
// sound hardware
SPEAKER(config, "mono").front_center();
- MCFG_DEVICE_ADD( "beeper", BEEP, 1060 )
- MCFG_SOUND_ROUTE( ALL_OUTPUTS, "mono", 1.00 )
+ BEEP(config, m_beep, 1060).add_route(ALL_OUTPUTS, "mono", 1.00);
- MCFG_DEVICE_ADD("uart", I8251, 0)
+ I8251(config, "uart", 0);
// 4.9152_MHz_XTAL serial clock
FD1791(config, m_fdc, 4_MHz_XTAL / 4);
@@ -1325,7 +1325,7 @@ MACHINE_CONFIG_START(alphatp_34_state::alphatp3)
m_fdc->hld_wr_callback().set(FUNC(alphatp_34_state::fdchld_w));
FLOPPY_CONNECTOR(config, "fdc:0", alphatp3_floppies, "525qd", floppy_image_device::default_floppy_formats);
FLOPPY_CONNECTOR(config, "fdc:1", alphatp3_floppies, "525qd", floppy_image_device::default_floppy_formats);
-MACHINE_CONFIG_END
+}
void alphatp_34_state::alphatp30(machine_config &config)
{
diff --git a/src/mame/drivers/amust.cpp b/src/mame/drivers/amust.cpp
index c8b6a3e88f7..42bb35a58ea 100644
--- a/src/mame/drivers/amust.cpp
+++ b/src/mame/drivers/amust.cpp
@@ -440,12 +440,12 @@ MACHINE_CONFIG_START(amust_state::amust)
MCFG_DEVICE_IO_MAP(io_map)
/* video hardware */
- MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
- MCFG_SCREEN_REFRESH_RATE(50)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
- MCFG_SCREEN_SIZE(640, 480)
- MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
- MCFG_SCREEN_UPDATE_DEVICE("crtc", mc6845_device, screen_update)
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_refresh_hz(50);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
+ screen.set_size(640, 480);
+ screen.set_visarea(0, 640-1, 0, 480-1);
+ screen.set_screen_update("crtc", FUNC(mc6845_device::screen_update));
PALETTE(config, m_palette, palette_device::MONOCHROME);
GFXDECODE(config, "gfxdecode", m_palette, gfx_amust);
diff --git a/src/mame/drivers/anzterm.cpp b/src/mame/drivers/anzterm.cpp
index 5bc346ad21c..5938606f34f 100644
--- a/src/mame/drivers/anzterm.cpp
+++ b/src/mame/drivers/anzterm.cpp
@@ -371,7 +371,7 @@ private:
{
return 0;
}
- void anzterm(address_map &map);
+ void anzterm_mem(address_map &map);
};
@@ -404,7 +404,7 @@ GFXDECODE_START( gfx_anzterm )
GFXDECODE_END
-void anzterm_state::anzterm(address_map &map)
+void anzterm_state::anzterm_mem(address_map &map)
{
// There are two battery-backed 2kB SRAM chips with a 4kb SRAM chip for parity
// There are two 64kB DRAM banks (with parity)
@@ -414,25 +414,26 @@ void anzterm_state::anzterm(address_map &map)
}
-MACHINE_CONFIG_START(anzterm_state::anzterm)
- MCFG_DEVICE_ADD("maincpu", M6809, 15974400/4)
- MCFG_DEVICE_PROGRAM_MAP(anzterm)
+void anzterm_state::anzterm(machine_config &config)
+{
+ m6809_device &maincpu(M6809(config, "maincpu", 15974400/4));
+ maincpu.set_addrmap(AS_PROGRAM, &anzterm_state::anzterm_mem);
- MCFG_DEVICE_ADD("pic.ic39", I8214, 0)
- MCFG_DEVICE_ADD("adlc.ic16", MC6854, 0)
- MCFG_DEVICE_ADD("adlc.1c19", MC6854, 0)
- MCFG_DEVICE_ADD("acia.ic17", ACIA6850, 0)
- MCFG_DEVICE_ADD("acia.ic18", ACIA6850, 0)
+ I8214(config, "pic.ic39", 0);
+ MC6854(config, "adlc.ic16", 0);
+ MC6854(config, "adlc.1c19", 0);
+ ACIA6850(config, "acia.ic17", 0);
+ ACIA6850(config, "acia.ic18", 0);
- MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
- MCFG_SCREEN_UPDATE_DRIVER(anzterm_state, screen_update)
- MCFG_SCREEN_PALETTE("palette")
- MCFG_SCREEN_RAW_PARAMS(15974400/4, 1024, 0, 104*8, 260, 0, 24*10) // this is totally wrong, it just stops a validation error
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_screen_update(FUNC(anzterm_state::screen_update));
+ screen.set_palette("palette");
+ screen.set_raw(15974400/4, 1024, 0, 104*8, 260, 0, 24*10); // this is totally wrong, it just stops a validation error
PALETTE(config, "palette", palette_device::MONOCHROME);
GFXDECODE(config, "gfxdecode", "palette", gfx_anzterm);
-MACHINE_CONFIG_END
+}
INPUT_PORTS_START( anzterm )
diff --git a/src/mame/drivers/atari_s1.cpp b/src/mame/drivers/atari_s1.cpp
index f03a13e8663..958fb13a8f1 100644
--- a/src/mame/drivers/atari_s1.cpp
+++ b/src/mame/drivers/atari_s1.cpp
@@ -462,8 +462,10 @@ MACHINE_CONFIG_START(atari_s1_state::atari_s1)
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.3) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
/* Video */
config.set_default_layout(layout_atari_s1);
diff --git a/src/mame/drivers/atari_s2.cpp b/src/mame/drivers/atari_s2.cpp
index f0e0cc7b714..e957af24698 100644
--- a/src/mame/drivers/atari_s2.cpp
+++ b/src/mame/drivers/atari_s2.cpp
@@ -492,8 +492,10 @@ MACHINE_CONFIG_START(atari_s2_state::atari_s2)
MCFG_DEVICE_ADD("dac", DAC_4BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.15) // r23-r26 (68k,33k,18k,8.2k)
MCFG_DEVICE_ADD("dac1", DAC_3BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.15) // r18-r20 (100k,47k,100k)
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
/* Video */
diff --git a/src/mame/drivers/att4425.cpp b/src/mame/drivers/att4425.cpp
index bb3914fd830..66ddf53740e 100644
--- a/src/mame/drivers/att4425.cpp
+++ b/src/mame/drivers/att4425.cpp
@@ -237,7 +237,8 @@ static const z80_daisy_config att4425_daisy_chain[] =
{ nullptr }
};
-MACHINE_CONFIG_START(att4425_state::att4425)
+void att4425_state::att4425(machine_config &config)
+{
/* basic machine hardware */
Z80(config, m_maincpu, XTAL(32'000'000)/8); // XXX
m_maincpu->set_addrmap(AS_PROGRAM, &att4425_state::att4425_mem);
@@ -245,13 +246,13 @@ MACHINE_CONFIG_START(att4425_state::att4425)
m_maincpu->set_daisy_config(att4425_daisy_chain);
/* video hardware */
- MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
- MCFG_SCREEN_REFRESH_RATE(50)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
- MCFG_SCREEN_UPDATE_DRIVER(att4425_state, screen_update)
- MCFG_SCREEN_PALETTE("palette")
- MCFG_SCREEN_SIZE(720, 351)
- MCFG_SCREEN_VISIBLE_AREA(0, 720-1, 0, 351-1)
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER, rgb_t::green());
+ m_screen->set_refresh_hz(50);
+ m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
+ m_screen->set_screen_update(FUNC(att4425_state::screen_update));
+ m_screen->set_palette("palette");
+ m_screen->set_size(720, 351);
+ m_screen->set_visarea(0, 720-1, 0, 351-1);
GFXDECODE(config, "gfxdecode", "palette", gfx_att4425);
PALETTE(config, "palette", palette_device::MONOCHROME_HIGHLIGHT);
@@ -300,7 +301,7 @@ MACHINE_CONFIG_START(att4425_state::att4425)
keyboard_clock.signal_handler().set(FUNC(att4425_state::write_keyboard_clock));
RAM(config, RAM_TAG).set_default_size("32K").set_default_value(0);
-MACHINE_CONFIG_END
+}
/* ROMs */
diff --git a/src/mame/drivers/attache.cpp b/src/mame/drivers/attache.cpp
index 5546bdf5d1a..b9f2a1954aa 100644
--- a/src/mame/drivers/attache.cpp
+++ b/src/mame/drivers/attache.cpp
@@ -1121,7 +1121,8 @@ void attache816_state::machine_reset()
attache_state::machine_reset();
}
-MACHINE_CONFIG_START(attache_state::attache)
+void attache_state::attache(machine_config &config)
+{
Z80(config, m_maincpu, 8_MHz_XTAL / 2);
m_maincpu->set_addrmap(AS_PROGRAM, &attache_state::attache_map);
m_maincpu->set_addrmap(AS_IO, &attache_state::attache_io);
@@ -1129,9 +1130,9 @@ MACHINE_CONFIG_START(attache_state::attache)
config.m_minimum_quantum = attotime::from_hz(60);
- MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
- MCFG_SCREEN_RAW_PARAMS(12.324_MHz_XTAL, 784, 0, 640, 262, 0, 240)
- MCFG_SCREEN_UPDATE_DRIVER(attache_state, screen_update)
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_raw(12.324_MHz_XTAL, 784, 0, 640, 262, 0, 240);
+ screen.set_screen_update(FUNC(attache_state::screen_update));
PALETTE(config, m_palette, palette_device::MONOCHROME_HIGHLIGHT);
@@ -1195,9 +1196,10 @@ MACHINE_CONFIG_START(attache_state::attache)
RAM(config, RAM_TAG).set_default_size("64K");
SOFTWARE_LIST(config, "disk_list").set_original("attache");
-MACHINE_CONFIG_END
+}
-MACHINE_CONFIG_START(attache816_state::attache816)
+void attache816_state::attache816(machine_config &config)
+{
Z80(config, m_maincpu, 8_MHz_XTAL / 2);
m_maincpu->set_addrmap(AS_PROGRAM, &attache816_state::attache_map);
m_maincpu->set_addrmap(AS_IO, &attache816_state::attache_io);
@@ -1205,14 +1207,14 @@ MACHINE_CONFIG_START(attache816_state::attache816)
config.m_minimum_quantum = attotime::from_hz(60);
- MCFG_DEVICE_ADD("extcpu", I8086, 24_MHz_XTAL / 3)
- MCFG_DEVICE_PROGRAM_MAP(attache_x86_map)
- MCFG_DEVICE_IO_MAP(attache_x86_io)
+ I8086(config, m_extcpu, 24_MHz_XTAL / 3);
+ m_extcpu->set_addrmap(AS_PROGRAM, &attache816_state::attache_x86_map);
+ m_extcpu->set_addrmap(AS_IO, &attache816_state::attache_x86_io);
config.m_perfect_cpu_quantum = subtag("extcpu");
- MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
- MCFG_SCREEN_RAW_PARAMS(12.324_MHz_XTAL, 784, 0, 640, 262, 0, 240)
- MCFG_SCREEN_UPDATE_DRIVER(attache_state, screen_update)
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_raw(12.324_MHz_XTAL, 784, 0, 640, 262, 0, 240);
+ screen.set_screen_update(FUNC(attache_state::screen_update));
PALETTE(config, m_palette, palette_device::MONOCHROME_HIGHLIGHT);
@@ -1283,7 +1285,7 @@ MACHINE_CONFIG_START(attache816_state::attache816)
RAM(config, RAM_TAG).set_default_size("64K");
SOFTWARE_LIST(config, "disk_list").set_original("attache");
-MACHINE_CONFIG_END
+}
ROM_START( attache )
ROM_REGION(0x10000, "maincpu", 0)
diff --git a/src/mame/drivers/ax20.cpp b/src/mame/drivers/ax20.cpp
index e9516698360..456de221e05 100644
--- a/src/mame/drivers/ax20.cpp
+++ b/src/mame/drivers/ax20.cpp
@@ -132,21 +132,21 @@ static void ax20_floppies(device_slot_interface &device)
device.option_add("525dd", FLOPPY_525_DD);
}
-MACHINE_CONFIG_START(ax20_state::ax20)
+void ax20_state::ax20(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", I8088, XTAL(14'318'181)/3)
- MCFG_DEVICE_PROGRAM_MAP(ax20_map)
- MCFG_DEVICE_IO_MAP(ax20_io)
+ I8088(config, m_maincpu, XTAL(14'318'181)/3);
+ m_maincpu->set_addrmap(AS_PROGRAM, &ax20_state::ax20_map);
+ m_maincpu->set_addrmap(AS_IO, &ax20_state::ax20_io);
/* video hardware */
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_COLOR(rgb_t::green())
- MCFG_SCREEN_REFRESH_RATE(50)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
- MCFG_SCREEN_UPDATE_DRIVER(ax20_state, screen_update)
- MCFG_SCREEN_SIZE(80*8, 24*12)
- MCFG_SCREEN_VISIBLE_AREA(0, 80*8-1, 0, 24*12-1)
- MCFG_SCREEN_PALETTE(m_palette)
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_refresh_hz(50);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
+ screen.set_screen_update(FUNC(ax20_state::screen_update));
+ screen.set_size(80*8, 24*12);
+ screen.set_visarea(0, 80*8-1, 0, 24*12-1);
+ screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_ax20);
PALETTE(config, m_palette, palette_device::MONOCHROME);
@@ -154,7 +154,7 @@ MACHINE_CONFIG_START(ax20_state::ax20)
/* Devices */
FLOPPY_CONNECTOR(config, "fdc:0", ax20_floppies, "525dd", isa8_fdc_device::floppy_formats);
-MACHINE_CONFIG_END
+}
/* ROM definition */
ROM_START( ax20 )
diff --git a/src/mame/drivers/beehive.cpp b/src/mame/drivers/beehive.cpp
index 9d5983ff196..deb24a5ef15 100644
--- a/src/mame/drivers/beehive.cpp
+++ b/src/mame/drivers/beehive.cpp
@@ -291,23 +291,24 @@ uint32_t beehive_state::screen_update(screen_device &screen, bitmap_ind16 &bitma
return 0;
}
-MACHINE_CONFIG_START(beehive_state::beehive)
+void beehive_state::beehive(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu",I8085A, XTAL(4'000'000))
- MCFG_DEVICE_PROGRAM_MAP(beehive_mem)
- MCFG_DEVICE_IO_MAP(beehive_io)
+ I8085A(config, m_maincpu, XTAL(4'000'000));
+ m_maincpu->set_addrmap(AS_PROGRAM, &beehive_state::beehive_mem);
+ m_maincpu->set_addrmap(AS_IO, &beehive_state::beehive_io);
/* video hardware */
- MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
- MCFG_SCREEN_REFRESH_RATE(50)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
- MCFG_SCREEN_UPDATE_DRIVER(beehive_state, screen_update)
- MCFG_SCREEN_SIZE(640, 250)
- MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 249)
- MCFG_SCREEN_PALETTE("palette")
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_refresh_hz(50);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
+ screen.set_screen_update(FUNC(beehive_state::screen_update));
+ screen.set_size(640, 250);
+ screen.set_visarea(0, 639, 0, 249);
+ screen.set_palette("palette");
PALETTE(config, "palette", palette_device::MONOCHROME);
-MACHINE_CONFIG_END
+}
/* ROM definition */
ROM_START( beehive )
diff --git a/src/mame/drivers/bking.cpp b/src/mame/drivers/bking.cpp
index 4ce84744870..ac01f35a7cc 100644
--- a/src/mame/drivers/bking.cpp
+++ b/src/mame/drivers/bking.cpp
@@ -435,8 +435,10 @@ MACHINE_CONFIG_START(bking_state::bking)
ay2.add_route(ALL_OUTPUTS, "speaker", 0.25);
MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(bking_state::bking3)
diff --git a/src/mame/drivers/bw12.cpp b/src/mame/drivers/bw12.cpp
index 72aed868eb5..e5b8cd5a61f 100644
--- a/src/mame/drivers/bw12.cpp
+++ b/src/mame/drivers/bw12.cpp
@@ -556,12 +556,12 @@ MACHINE_CONFIG_START(bw12_state::common)
MCFG_DEVICE_IO_MAP(bw12_io)
/* video hardware */
- MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::amber())
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
- MCFG_SCREEN_UPDATE_DEVICE(MC6845_TAG, mc6845_device, screen_update)
- MCFG_SCREEN_SIZE(640, 200)
- MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 200-1)
+ screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::amber()));
+ screen.set_refresh_hz(60);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
+ screen.set_screen_update(MC6845_TAG, FUNC(mc6845_device::screen_update));
+ screen.set_size(640, 200);
+ screen.set_visarea(0, 640-1, 0, 200-1);
GFXDECODE(config, "gfxdecode", m_palette, gfx_bw12);
PALETTE(config, m_palette, palette_device::MONOCHROME);
@@ -575,8 +575,10 @@ MACHINE_CONFIG_START(bw12_state::common)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.125) // ls273.ic5 + mc1408.ic4
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
/* devices */
TIMER(config, FLOPPY_TIMER_TAG).configure_generic(FUNC(bw12_state::floppy_motor_off_tick));
diff --git a/src/mame/drivers/bwing.cpp b/src/mame/drivers/bwing.cpp
index 55017bf66b0..01f04a9e815 100644
--- a/src/mame/drivers/bwing.cpp
+++ b/src/mame/drivers/bwing.cpp
@@ -405,8 +405,10 @@ MACHINE_CONFIG_START(bwing_state::bwing)
AY8912(config, "ay2", XTAL(24'000'000) / 2 / 8).add_route(ALL_OUTPUTS, "speaker", 0.5);
MCFG_DEVICE_ADD("dac", DAC08, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1)
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
//****************************************************************************
diff --git a/src/mame/drivers/byvid.cpp b/src/mame/drivers/byvid.cpp
index 999cfb45e00..5975097ae0c 100644
--- a/src/mame/drivers/byvid.cpp
+++ b/src/mame/drivers/byvid.cpp
@@ -803,8 +803,10 @@ MACHINE_CONFIG_START(by133_state::babypac)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", ZN429E, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // U32 (Vidiot) or U6 (Cheap Squeak)
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
SPEAKER(config, "beee").front_center();
MCFG_DEVICE_ADD("beeper", BEEP, 600)
diff --git a/src/mame/drivers/capbowl.cpp b/src/mame/drivers/capbowl.cpp
index 6373deaf41b..0b71fd79e67 100644
--- a/src/mame/drivers/capbowl.cpp
+++ b/src/mame/drivers/capbowl.cpp
@@ -361,8 +361,10 @@ MACHINE_CONFIG_START(capbowl_state::capbowl)
ymsnd.add_route(3, "speaker", 0.75);
DAC0832(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 0.5);
- 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)
+ 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);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/champbas.cpp b/src/mame/drivers/champbas.cpp
index c2c897589e4..90915cc8d76 100644
--- a/src/mame/drivers/champbas.cpp
+++ b/src/mame/drivers/champbas.cpp
@@ -609,8 +609,10 @@ MACHINE_CONFIG_START(champbas_state::champbas)
AY8910(config, "ay1", XTAL(18'432'000)/12).add_route(ALL_OUTPUTS, "speaker", 0.3);
MCFG_DEVICE_ADD("dac", DAC_6BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.7) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(champbas_state::champbasj)
@@ -777,8 +779,10 @@ MACHINE_CONFIG_START(exctsccr_state::exctsccrb)
AY8910(config, "ay1", XTAL(18'432'000)/12).add_route(ALL_OUTPUTS, "speaker", 0.3);
MCFG_DEVICE_ADD("dac", DAC_6BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.7) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/chsuper.cpp b/src/mame/drivers/chsuper.cpp
index 3526ced0f24..e838abfa592 100644
--- a/src/mame/drivers/chsuper.cpp
+++ b/src/mame/drivers/chsuper.cpp
@@ -393,8 +393,10 @@ MACHINE_CONFIG_START(chsuper_state::chsuper)
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/ckz80.cpp b/src/mame/drivers/ckz80.cpp
index e44a05fb211..1dc3838cc80 100644
--- a/src/mame/drivers/ckz80.cpp
+++ b/src/mame/drivers/ckz80.cpp
@@ -449,8 +449,10 @@ MACHINE_CONFIG_START(ckz80_state::master)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", DAC_2BIT_BINARY_WEIGHTED_ONES_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/cmi.cpp b/src/mame/drivers/cmi.cpp
index 537d9f884ae..3202131dd40 100644
--- a/src/mame/drivers/cmi.cpp
+++ b/src/mame/drivers/cmi.cpp
@@ -2191,10 +2191,10 @@ MACHINE_CONFIG_START(cmi_state::cmi2x)
m_dp3->update().set(FUNC(cmi_state::cmi_iix_update_dp<2>));
/* video hardware */
- MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
- MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBLANK_END, HBLANK_START, VTOTAL, VBLANK_END, VBLANK_START)
- MCFG_SCREEN_UPDATE_DRIVER(cmi_state, screen_update_cmi2x)
- MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, cmi_state, cmi_iix_vblank))
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER, rgb_t::green());
+ m_screen->set_raw(PIXEL_CLOCK, HTOTAL, HBLANK_END, HBLANK_START, VTOTAL, VBLANK_END, VBLANK_START);
+ m_screen->set_screen_update(FUNC(cmi_state::screen_update_cmi2x));
+ m_screen->screen_vblank().set(FUNC(cmi_state::cmi_iix_vblank));
PALETTE(config, m_palette, palette_device::MONOCHROME);
diff --git a/src/mame/drivers/cntsteer.cpp b/src/mame/drivers/cntsteer.cpp
index 8f2f11db541..709e040612d 100644
--- a/src/mame/drivers/cntsteer.cpp
+++ b/src/mame/drivers/cntsteer.cpp
@@ -968,8 +968,10 @@ MACHINE_CONFIG_START(cntsteer_state::cntsteer)
AY8910(config, "ay2", 1500000).add_route(ALL_OUTPUTS, "speaker", 0.5);
MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(cntsteer_state::zerotrgt)
diff --git a/src/mame/drivers/coco12.cpp b/src/mame/drivers/coco12.cpp
index 78b5dcd5c23..1a195c299e1 100644
--- a/src/mame/drivers/coco12.cpp
+++ b/src/mame/drivers/coco12.cpp
@@ -386,8 +386,10 @@ MACHINE_CONFIG_START(coco_state::coco_sound)
// 6-bit D/A: R10-15 = 10K, 20K, 40.2K, 80.6K, 162K, 324K (according to parts list); output also controls joysticks
MCFG_DEVICE_ADD("dac", DAC_6BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.125)
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MCFG_SOUND_ROUTE(0, "sbs", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "sbs", -1.0, DAC_VREF_NEG_INPUT)
// Single-bit sound: R22 = 10K
diff --git a/src/mame/drivers/coolpool.cpp b/src/mame/drivers/coolpool.cpp
index 7e14d030afb..cf53037393c 100644
--- a/src/mame/drivers/coolpool.cpp
+++ b/src/mame/drivers/coolpool.cpp
@@ -747,8 +747,10 @@ MACHINE_CONFIG_START(coolpool_state::amerdart)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", MP1210, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
- 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)
+ 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);
MACHINE_CONFIG_END
@@ -794,8 +796,10 @@ MACHINE_CONFIG_START(coolpool_state::coolpool)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", MP1210, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
- 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)
+ 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);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/cop01.cpp b/src/mame/drivers/cop01.cpp
index 31fe01d33ea..974c50dd341 100644
--- a/src/mame/drivers/cop01.cpp
+++ b/src/mame/drivers/cop01.cpp
@@ -520,8 +520,10 @@ MACHINE_CONFIG_START(mightguy_state::mightguy)
MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) // unknown DAC
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/dectalk.cpp b/src/mame/drivers/dectalk.cpp
index 90cdc6d3dea..56dbc431f37 100644
--- a/src/mame/drivers/dectalk.cpp
+++ b/src/mame/drivers/dectalk.cpp
@@ -906,8 +906,10 @@ MACHINE_CONFIG_START(dectalk_state::dectalk)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", AD7541, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.9) // ad7541.e107 (E88 10KHz OSC, handled by timer)
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
/* Y2 is a 3.579545 MHz xtal for the dtmf decoder chip */
diff --git a/src/mame/drivers/dvk_ksm.cpp b/src/mame/drivers/dvk_ksm.cpp
index d6810fd7d4d..cfae4df8c7a 100644
--- a/src/mame/drivers/dvk_ksm.cpp
+++ b/src/mame/drivers/dvk_ksm.cpp
@@ -424,13 +424,12 @@ MACHINE_CONFIG_START(ksm_state::ksm)
TIMER(config, "scantimer").configure_scanline(FUNC(ksm_state::scanline_callback), "screen", 0, 1);
- MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
- MCFG_SCREEN_UPDATE_DRIVER(ksm_state, screen_update)
- MCFG_SCREEN_RAW_PARAMS(XTAL(15'400'000), KSM_TOTAL_HORZ, KSM_HORZ_START,
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER, rgb_t::green());
+ m_screen->set_screen_update(FUNC(ksm_state::screen_update));
+ m_screen->set_raw(XTAL(15'400'000), KSM_TOTAL_HORZ, KSM_HORZ_START,
KSM_HORZ_START+KSM_DISP_HORZ, KSM_TOTAL_VERT, KSM_VERT_START,
KSM_VERT_START+KSM_DISP_VERT);
-
- MCFG_SCREEN_PALETTE("palette")
+ m_screen->set_palette("palette");
GFXDECODE(config, "gfxdecode", "palette", gfx_ksm);
PALETTE(config, "palette", palette_device::MONOCHROME);
diff --git a/src/mame/drivers/eurocom2.cpp b/src/mame/drivers/eurocom2.cpp
index dd878f65564..460eff286b9 100644
--- a/src/mame/drivers/eurocom2.cpp
+++ b/src/mame/drivers/eurocom2.cpp
@@ -438,14 +438,15 @@ static void eurocom_floppies(device_slot_interface &device)
device.option_add("8dsdd", FLOPPY_8_DSDD);
}
-MACHINE_CONFIG_START(eurocom2_state::eurocom2)
- MCFG_DEVICE_ADD("maincpu", MC6809, 10.7172_MHz_XTAL / 2) // EXTAL = CLK/2 = 5.3586 MHz; Q = E = 1.33965 MHz
- MCFG_DEVICE_PROGRAM_MAP(eurocom2_map)
+void eurocom2_state::eurocom2(machine_config &config)
+{
+ MC6809(config, m_maincpu, 10.7172_MHz_XTAL / 2); // EXTAL = CLK/2 = 5.3586 MHz; Q = E = 1.33965 MHz
+ m_maincpu->set_addrmap(AS_PROGRAM, &eurocom2_state::eurocom2_map);
- MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
- MCFG_SCREEN_RAW_PARAMS(10.7172_MHz_XTAL, VC_TOTAL_HORZ, 0, VC_DISP_HORZ, VC_TOTAL_VERT, 0, VC_DISP_VERT)
- MCFG_SCREEN_UPDATE_DRIVER(eurocom2_state, screen_update)
- MCFG_SCREEN_PALETTE("palette")
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER, rgb_t::green());
+ m_screen->set_raw(10.7172_MHz_XTAL, VC_TOTAL_HORZ, 0, VC_DISP_HORZ, VC_TOTAL_VERT, 0, VC_DISP_VERT);
+ m_screen->set_screen_update(FUNC(eurocom2_state::screen_update));
+ m_screen->set_palette("palette");
PALETTE(config, "palette", palette_device::MONOCHROME);
@@ -477,12 +478,12 @@ MACHINE_CONFIG_START(eurocom2_state::eurocom2)
// m_fdc->intrq_wr_callback().set_inputline(m_maincpu, M6809_IRQ_LINE);
FLOPPY_CONNECTOR(config, "fdc:0", eurocom_floppies, "525qd", eurocom2_state::floppy_formats);// enable_sound(true);
FLOPPY_CONNECTOR(config, "fdc:1", eurocom_floppies, "525qd", eurocom2_state::floppy_formats);// enable_sound(true);
-MACHINE_CONFIG_END
+}
-MACHINE_CONFIG_START(waveterm_state::waveterm)
+void waveterm_state::waveterm(machine_config &config)
+{
eurocom2(config);
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_PROGRAM_MAP(waveterm_map)
+ m_maincpu->set_addrmap(AS_PROGRAM, &waveterm_state::waveterm_map);
m_pia2->cb2_handler().set(FUNC(waveterm_state::waveterm_kbh_w));
m_pia2->writepb_handler().set(FUNC(waveterm_state::waveterm_kb_w));
@@ -499,10 +500,10 @@ MACHINE_CONFIG_START(waveterm_state::waveterm)
m_pia3->readcb1_handler().set_ioport("FP");
// m_pia3->cb2_handler().set(FUNC(waveterm_state::pia3_cb2_w));
- MCFG_DEVICE_ADD("ptm", PTM6840, 0)
+ PTM6840(config, m_ptm, 0);
SOFTWARE_LIST(config, "disk_list").set_original("waveterm");
-MACHINE_CONFIG_END
+}
void eurocom2_state::microtrol(machine_config &config)
{
diff --git a/src/mame/drivers/fantland.cpp b/src/mame/drivers/fantland.cpp
index 93452e4697e..d132fb49d83 100644
--- a/src/mame/drivers/fantland.cpp
+++ b/src/mame/drivers/fantland.cpp
@@ -843,8 +843,10 @@ MACHINE_CONFIG_START(fantland_state::fantland)
YM2151(config, "ymsnd", 3000000).add_route(0, "speaker", 0.35).add_route(1, "speaker", 0.35);
MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/finalizr.cpp b/src/mame/drivers/finalizr.cpp
index c1a6ae46271..e3da8829e4f 100644
--- a/src/mame/drivers/finalizr.cpp
+++ b/src/mame/drivers/finalizr.cpp
@@ -299,8 +299,10 @@ MACHINE_CONFIG_START(finalizr_state::finalizr)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.75)
MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.325) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/fk1.cpp b/src/mame/drivers/fk1.cpp
index c74e4e1edb8..7b19267bc5c 100644
--- a/src/mame/drivers/fk1.cpp
+++ b/src/mame/drivers/fk1.cpp
@@ -420,13 +420,13 @@ MACHINE_CONFIG_START(fk1_state::fk1)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(fk1_state,fk1_irq_callback)
/* video hardware */
- MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
- MCFG_SCREEN_REFRESH_RATE(50)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
- MCFG_SCREEN_UPDATE_DRIVER(fk1_state, screen_update)
- MCFG_SCREEN_SIZE(512, 256)
- MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1)
- MCFG_SCREEN_PALETTE("palette")
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_refresh_hz(50);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
+ screen.set_screen_update(FUNC(fk1_state::screen_update));
+ screen.set_size(512, 256);
+ screen.set_visarea(0, 512-1, 0, 256-1);
+ screen.set_palette("palette");
PALETTE(config, "palette", palette_device::MONOCHROME);
diff --git a/src/mame/drivers/galaxian.cpp b/src/mame/drivers/galaxian.cpp
index 5beb87af530..a42110bd60e 100644
--- a/src/mame/drivers/galaxian.cpp
+++ b/src/mame/drivers/galaxian.cpp
@@ -6360,8 +6360,10 @@ MACHINE_CONFIG_START(galaxian_state::kingball)
/* sound hardware */
MCFG_DEVICE_ADD("dac", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.53) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
@@ -6581,8 +6583,10 @@ MACHINE_CONFIG_START(galaxian_state::sfx)
/* DAC for the sample player */
MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) // 16-pin IC (not identified by schematics)
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/gamecom.cpp b/src/mame/drivers/gamecom.cpp
index 8c131d16dfd..ddfd03de7e6 100644
--- a/src/mame/drivers/gamecom.cpp
+++ b/src/mame/drivers/gamecom.cpp
@@ -285,8 +285,10 @@ MACHINE_CONFIG_START(gamecom_state::gamecom)
MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC (Digital audio)
MCFG_DEVICE_ADD("dac0", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.05) // unknown DAC (Frequency modulation)
MCFG_DEVICE_ADD("dac1", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.05) // unknown DAC (Frequency modulation)
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MCFG_SOUND_ROUTE(0, "dac0", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac0", -1.0, DAC_VREF_NEG_INPUT)
MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
diff --git a/src/mame/drivers/go2000.cpp b/src/mame/drivers/go2000.cpp
index 4d41829dfbd..93ec38c2a92 100644
--- a/src/mame/drivers/go2000.cpp
+++ b/src/mame/drivers/go2000.cpp
@@ -372,8 +372,10 @@ MACHINE_CONFIG_START(go2000_state::go2000)
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(0, "speaker", 0.25) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
ROM_START( go2000 )
diff --git a/src/mame/drivers/h19.cpp b/src/mame/drivers/h19.cpp
index 318014e1755..9571ef96780 100644
--- a/src/mame/drivers/h19.cpp
+++ b/src/mame/drivers/h19.cpp
@@ -528,13 +528,13 @@ MACHINE_CONFIG_START(h19_state::h19)
/* video hardware */
// TODO: make configurable, Heath offered 3 different CRTs - White, Green, Amber.
- MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
- MCFG_SCREEN_REFRESH_RATE(60) // TODO- this is adjustable by dipswitch.
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
- MCFG_SCREEN_UPDATE_DEVICE("crtc", mc6845_device, screen_update)
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_refresh_hz(60); // TODO- this is adjustable by dipswitch.
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
+ screen.set_screen_update("crtc", FUNC(mc6845_device::screen_update));
+ screen.set_size(640, 250);
+ screen.set_visarea(0, 640 - 1, 0, 250 - 1);
- MCFG_SCREEN_SIZE(640, 250)
- MCFG_SCREEN_VISIBLE_AREA(0, 640 - 1, 0, 250 - 1)
GFXDECODE(config, "gfxdecode", m_palette, gfx_h19);
PALETTE(config, "palette", palette_device::MONOCHROME);
diff --git a/src/mame/drivers/hankin.cpp b/src/mame/drivers/hankin.cpp
index dc7d8294cc8..fd69ae66296 100644
--- a/src/mame/drivers/hankin.cpp
+++ b/src/mame/drivers/hankin.cpp
@@ -490,8 +490,10 @@ MACHINE_CONFIG_START(hankin_state::hankin)
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
/* Devices */
PIA6821(config, m_ic10, 0);
diff --git a/src/mame/drivers/homelab.cpp b/src/mame/drivers/homelab.cpp
index 22afc22a2ee..52a511b0241 100644
--- a/src/mame/drivers/homelab.cpp
+++ b/src/mame/drivers/homelab.cpp
@@ -757,14 +757,15 @@ MACHINE_CONFIG_START(homelab_state::homelab)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", homelab_state, homelab_frame)
/* video hardware */
- MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
- MCFG_SCREEN_REFRESH_RATE(50)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500))
- MCFG_SCREEN_SIZE(40*8, 25*8)
- MCFG_SCREEN_VISIBLE_AREA(0, 40*8-1, 0, 25*8-1)
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_refresh_hz(50);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500));
+ screen.set_size(40*8, 25*8);
+ screen.set_visarea(0, 40*8-1, 0, 25*8-1);
+ screen.set_screen_update(FUNC(homelab_state::screen_update_homelab2));
+ screen.set_palette("palette");
+
MCFG_VIDEO_START_OVERRIDE(homelab_state,homelab2)
- MCFG_SCREEN_UPDATE_DRIVER(homelab_state, screen_update_homelab2)
- MCFG_SCREEN_PALETTE("palette")
GFXDECODE(config, "gfxdecode", "palette", gfx_homelab);
PALETTE(config, "palette", palette_device::MONOCHROME);
@@ -789,14 +790,15 @@ MACHINE_CONFIG_START(homelab_state::homelab3)
MCFG_MACHINE_RESET_OVERRIDE(homelab_state,homelab3)
/* video hardware */
- MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
- MCFG_SCREEN_REFRESH_RATE(50)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500))
- MCFG_SCREEN_SIZE(64*8, 32*8)
- MCFG_SCREEN_VISIBLE_AREA(0, 64*8-1, 0, 32*8-1)
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_refresh_hz(50);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500));
+ screen.set_size(64*8, 32*8);
+ screen.set_visarea(0, 64*8-1, 0, 32*8-1);
+ screen.set_screen_update(FUNC(homelab_state::screen_update_homelab3));
+ screen.set_palette("palette");
+
MCFG_VIDEO_START_OVERRIDE(homelab_state,homelab3)
- MCFG_SCREEN_UPDATE_DRIVER(homelab_state, screen_update_homelab3)
- MCFG_SCREEN_PALETTE("palette")
GFXDECODE(config, "gfxdecode", "palette", gfx_homelab);
PALETTE(config, "palette", palette_device::MONOCHROME);
@@ -821,14 +823,15 @@ MACHINE_CONFIG_START(homelab_state::brailab4)
MCFG_MACHINE_RESET_OVERRIDE(homelab_state,brailab4)
/* video hardware */
- MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
- MCFG_SCREEN_REFRESH_RATE(50)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500))
- MCFG_SCREEN_SIZE(64*8, 32*8)
- MCFG_SCREEN_VISIBLE_AREA(0, 64*8-1, 0, 32*8-1)
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_refresh_hz(50);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500));
+ screen.set_size(64*8, 32*8);
+ screen.set_visarea(0, 64*8-1, 0, 32*8-1);
+ screen.set_screen_update(FUNC(homelab_state::screen_update_homelab3));
+ screen.set_palette("palette");
+
MCFG_VIDEO_START_OVERRIDE(homelab_state,brailab4)
- MCFG_SCREEN_UPDATE_DRIVER(homelab_state, screen_update_homelab3)
- MCFG_SCREEN_PALETTE("palette")
GFXDECODE(config, "gfxdecode", "palette", gfx_homelab);
PALETTE(config, "palette", palette_device::MONOCHROME);
diff --git a/src/mame/drivers/hp2640.cpp b/src/mame/drivers/hp2640.cpp
index 8dd8de2d50a..816d403b9f6 100644
--- a/src/mame/drivers/hp2640.cpp
+++ b/src/mame/drivers/hp2640.cpp
@@ -975,14 +975,14 @@ MACHINE_CONFIG_START(hp2645_state::hp2645)
TIMER(config, m_timer_10ms).configure_generic(FUNC(hp2645_state::timer_10ms_exp));
TIMER(config, m_timer_cursor_blink_inh).configure_generic(FUNC(hp2645_state::timer_cursor_blink_inh));
- MCFG_SCREEN_ADD_MONOCHROME("screen" , RASTER , rgb_t::white())
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER, rgb_t::white());
// Actual pixel clock is half this value: 21.06 MHz
// We use the doubled value to be able to emulate the half-pixel shifting of the real hw
// Each real-world half pixel is a whole MAME pixel
- MCFG_SCREEN_RAW_PARAMS(VIDEO_DOT_CLOCK * 2 ,
+ m_screen->set_raw(VIDEO_DOT_CLOCK * 2 ,
VIDEO_TOT_COLS * VIDEO_CHAR_WIDTH * 2 , 0 , VIDEO_VIS_COLS * VIDEO_CHAR_WIDTH * 2 ,
- VIDEO_TOT_ROWS * VIDEO_CHAR_HEIGHT , 0 , VIDEO_VIS_ROWS * VIDEO_CHAR_HEIGHT)
- MCFG_SCREEN_UPDATE_DRIVER(hp2645_state , screen_update)
+ VIDEO_TOT_ROWS * VIDEO_CHAR_HEIGHT , 0 , VIDEO_VIS_ROWS * VIDEO_CHAR_HEIGHT);
+ m_screen->set_screen_update(FUNC(hp2645_state::screen_update));
TIMER(config, "scantimer").configure_scanline(FUNC(hp2645_state::scanline_timer), "screen", 0, 1);
PALETTE(config, m_palette, palette_device::MONOCHROME_HIGHLIGHT);
config.set_default_layout(layout_hp2640);
diff --git a/src/mame/drivers/hp95lx.cpp b/src/mame/drivers/hp95lx.cpp
index d9afea1c0fb..74f455217d4 100644
--- a/src/mame/drivers/hp95lx.cpp
+++ b/src/mame/drivers/hp95lx.cpp
@@ -747,10 +747,10 @@ MACHINE_CONFIG_START(hp95lx_state::hp95lx)
// XXX When the AC adapter is plugged in, the LCD refresh rate is 73.14 Hz.
// XXX When the AC adapter is not plugged in (ie, running off of batteries) the refresh rate is 56.8 Hz.
- MCFG_SCREEN_ADD_MONOCHROME("screen", LCD, rgb_t::white())
- MCFG_SCREEN_UPDATE_DRIVER(hp95lx_state, screen_update)
- MCFG_SCREEN_RAW_PARAMS(XTAL(5'370'000) / 2, 300, 0, 240, 180, 0, 128)
- MCFG_SCREEN_PALETTE("palette")
+ SCREEN(config, m_screen, SCREEN_TYPE_LCD, rgb_t::white());
+ m_screen->set_screen_update(FUNC(hp95lx_state::screen_update));
+ m_screen->set_raw(XTAL(5'370'000) / 2, 300, 0, 240, 180, 0, 128);
+ m_screen->set_palette("palette");
PALETTE(config, "palette", FUNC(hp95lx_state::hp95lx_palette), 2);
diff --git a/src/mame/drivers/hp9845.cpp b/src/mame/drivers/hp9845.cpp
index 2fc203ba8c9..cf8dd47754c 100644
--- a/src/mame/drivers/hp9845.cpp
+++ b/src/mame/drivers/hp9845.cpp
@@ -3646,7 +3646,7 @@ MACHINE_CONFIG_START(hp9845_base_state::hp9845_base)
m_io_sys->dmar().set(m_ppu , FUNC(hp_5061_3001_cpu_device::dmar_w));
// video hardware
- MCFG_SCREEN_ADD("screen", RASTER)
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
TIMER(config, m_gv_timer).configure_generic(FUNC(hp9845_base_state::gv_timer));
@@ -3711,23 +3711,22 @@ MACHINE_CONFIG_START(hp9845_base_state::hp9845_base)
prt.sts().set([this](int state) { m_io_sys->set_sts(PRINTER_PA , state); });
MACHINE_CONFIG_END
-MACHINE_CONFIG_START(hp9845b_state::hp9845b)
+void hp9845b_state::hp9845b(machine_config &config)
+{
hp9845_base(config);
// video hardware
- MCFG_SCREEN_MODIFY("screen")
- MCFG_SCREEN_UPDATE_DRIVER(hp9845b_state, screen_update)
- MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, hp9845b_state, vblank_w))
- MCFG_SCREEN_COLOR(rgb_t::green())
+ m_screen->set_screen_update(FUNC(hp9845b_state::screen_update));
+ m_screen->screen_vblank().set(FUNC(hp9845b_state::vblank_w));
+ m_screen->set_color(rgb_t::green());
// These parameters are for alpha video
- MCFG_SCREEN_RAW_PARAMS(VIDEO_PIXEL_CLOCK , VIDEO_HTOTAL , 0 , VIDEO_HBSTART , VIDEO_VTOTAL , 0 , VIDEO_ACTIVE_SCANLINES)
- MCFG_PALETTE_ADD("palette", 4)
+ m_screen->set_raw(VIDEO_PIXEL_CLOCK , VIDEO_HTOTAL , 0 , VIDEO_HBSTART , VIDEO_VTOTAL , 0 , VIDEO_ACTIVE_SCANLINES);
+ PALETTE(config, m_palette).set_entries(4);
TIMER(config, "scantimer").configure_scanline(FUNC(hp9845b_state::scanline_timer), "screen", 0, 1);
config.set_default_layout(layout_hp9845b);
SOFTWARE_LIST(config, "optrom_list").set_original("hp9845b_rom");
-
-MACHINE_CONFIG_END
+}
MACHINE_CONFIG_START(hp9845c_state::hp9845c)
hp9845_base(config);
@@ -3743,20 +3742,19 @@ MACHINE_CONFIG_START(hp9845c_state::hp9845c)
MACHINE_CONFIG_END
-MACHINE_CONFIG_START(hp9845t_state::hp9845t)
+void hp9845t_state::hp9845t(machine_config &config)
+{
hp9845_base(config);
// video hardware
- MCFG_SCREEN_MODIFY("screen")
- MCFG_SCREEN_UPDATE_DRIVER(hp9845t_state, screen_update)
- MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, hp9845t_state, vblank_w))
- MCFG_SCREEN_COLOR(rgb_t::green())
- MCFG_SCREEN_RAW_PARAMS(VIDEO_780_PIXEL_CLOCK , VIDEO_780_HTOTAL , VIDEO_780_HBEND , VIDEO_780_HBSTART , VIDEO_780_VTOTAL , VIDEO_780_VBEND , VIDEO_780_VBSTART)
- MCFG_PALETTE_ADD("palette", 5)
+ m_screen->set_screen_update(FUNC(hp9845t_state::screen_update));
+ m_screen->screen_vblank().set(FUNC(hp9845t_state::vblank_w));
+ m_screen->set_color(rgb_t::green());
+ m_screen->set_raw(VIDEO_780_PIXEL_CLOCK , VIDEO_780_HTOTAL , VIDEO_780_HBEND , VIDEO_780_HBSTART , VIDEO_780_VTOTAL , VIDEO_780_VBEND , VIDEO_780_VBSTART);
+ PALETTE(config, m_palette).set_entries(5);
TIMER(config, "scantimer").configure_scanline(FUNC(hp9845t_state::scanline_timer), "screen", 0, 1);
SOFTWARE_LIST(config, "optrom_list").set_original("hp9845b_rom");
-
-MACHINE_CONFIG_END
+}
ROM_START( hp9845a )
ROM_REGION( 0200000, "lpu", ROMREGION_16BIT | ROMREGION_BE )
diff --git a/src/mame/drivers/hyhoo.cpp b/src/mame/drivers/hyhoo.cpp
index 7e207e19d47..f39b367f8cd 100644
--- a/src/mame/drivers/hyhoo.cpp
+++ b/src/mame/drivers/hyhoo.cpp
@@ -255,8 +255,10 @@ MACHINE_CONFIG_START(hyhoo_state::hyhoo)
aysnd.add_route(ALL_OUTPUTS, "speaker", 0.35);
MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/instantm.cpp b/src/mame/drivers/instantm.cpp
index 2e2456f9aca..7044be5d585 100644
--- a/src/mame/drivers/instantm.cpp
+++ b/src/mame/drivers/instantm.cpp
@@ -141,8 +141,10 @@ MACHINE_CONFIG_START(instantm_state::instantm)
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/ipds.cpp b/src/mame/drivers/ipds.cpp
index 3eb42366556..e6e9663d9f0 100644
--- a/src/mame/drivers/ipds.cpp
+++ b/src/mame/drivers/ipds.cpp
@@ -134,19 +134,20 @@ void ipds_state::kbd_put(u8 data)
m_term_data = data;
}
-MACHINE_CONFIG_START(ipds_state::ipds)
+void ipds_state::ipds(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu",I8085A, XTAL(19'660'800) / 4)
- MCFG_DEVICE_PROGRAM_MAP(ipds_mem)
- MCFG_DEVICE_IO_MAP(ipds_io)
+ I8085A(config, m_maincpu, XTAL(19'660'800) / 4);
+ m_maincpu->set_addrmap(AS_PROGRAM, &ipds_state::ipds_mem);
+ m_maincpu->set_addrmap(AS_IO, &ipds_state::ipds_io);
/* video hardware */
- MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
- MCFG_SCREEN_UPDATE_DEVICE("i8275", i8275_device, screen_update)
- MCFG_SCREEN_REFRESH_RATE(50)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
- MCFG_SCREEN_SIZE(640, 480)
- MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_screen_update("i8275", FUNC(i8275_device::screen_update));
+ screen.set_refresh_hz(50);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
+ screen.set_size(640, 480);
+ screen.set_visarea(0, 640-1, 0, 480-1);
GFXDECODE(config, "gfxdecode", m_palette, gfx_ipds);
PALETTE(config, m_palette, palette_device::MONOCHROME);
@@ -156,7 +157,7 @@ MACHINE_CONFIG_START(ipds_state::ipds)
generic_keyboard_device &keyboard(GENERIC_KEYBOARD(config, "keyboard", 0));
keyboard.set_keyboard_callback(FUNC(ipds_state::kbd_put));
-MACHINE_CONFIG_END
+}
/* ROM definition */
ROM_START( ipds )
diff --git a/src/mame/drivers/iq151.cpp b/src/mame/drivers/iq151.cpp
index a98839239ac..da8a6eca3a1 100644
--- a/src/mame/drivers/iq151.cpp
+++ b/src/mame/drivers/iq151.cpp
@@ -388,7 +388,8 @@ static void iq151_cart(device_slot_interface &device)
device.option_add("amos3", IQ151_AMOS3); // AMOS cart 3
}
-MACHINE_CONFIG_START(iq151_state::iq151)
+void iq151_state::iq151(machine_config &config)
+{
/* basic machine hardware */
I8080(config, m_maincpu, XTAL(2'000'000));
m_maincpu->set_addrmap(AS_PROGRAM, &iq151_state::iq151_mem);
@@ -397,20 +398,19 @@ MACHINE_CONFIG_START(iq151_state::iq151)
m_maincpu->set_irq_acknowledge_callback("pic8259", FUNC(pic8259_device::inta_cb));
/* video hardware */
- MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
- MCFG_SCREEN_REFRESH_RATE(50)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
- MCFG_SCREEN_UPDATE_DRIVER(iq151_state, screen_update)
- MCFG_SCREEN_SIZE(64*8, 32*8)
- MCFG_SCREEN_VISIBLE_AREA(0, 32*8-1, 0, 32*8-1)
- MCFG_SCREEN_PALETTE("palette")
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_refresh_hz(50);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
+ screen.set_screen_update(FUNC(iq151_state::screen_update));
+ screen.set_size(64*8, 32*8);
+ screen.set_visarea(0, 32*8-1, 0, 32*8-1);
+ screen.set_palette("palette");
PALETTE(config, "palette", palette_device::MONOCHROME);
/* sound hardware */
SPEAKER(config, "mono").front_center();
- MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
+ SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.50);
PIC8259(config, m_pic, 0);
m_pic->out_int_callback().set_inputline(m_maincpu, 0);
@@ -467,7 +467,7 @@ MACHINE_CONFIG_START(iq151_state::iq151)
/* Software lists */
SOFTWARE_LIST(config, "cart_list").set_original("iq151_cart");
SOFTWARE_LIST(config, "flop_list").set_original("iq151_flop");
-MACHINE_CONFIG_END
+}
/* ROM definition */
ROM_START( iq151 )
diff --git a/src/mame/drivers/jankenmn.cpp b/src/mame/drivers/jankenmn.cpp
index 9f836a121d0..736bfecedd7 100644
--- a/src/mame/drivers/jankenmn.cpp
+++ b/src/mame/drivers/jankenmn.cpp
@@ -411,8 +411,10 @@ MACHINE_CONFIG_START(jankenmn_state::jankenmn)
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", AD7523, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/juicebox.cpp b/src/mame/drivers/juicebox.cpp
index 5e0c0b54af4..4a35b415480 100644
--- a/src/mame/drivers/juicebox.cpp
+++ b/src/mame/drivers/juicebox.cpp
@@ -324,8 +324,10 @@ MACHINE_CONFIG_START(juicebox_state::juicebox)
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
S3C44B0(config, m_s3c44b0, 10000000);
m_s3c44b0->set_cpu("maincpu");
diff --git a/src/mame/drivers/junofrst.cpp b/src/mame/drivers/junofrst.cpp
index a86811791c8..400ca45846f 100644
--- a/src/mame/drivers/junofrst.cpp
+++ b/src/mame/drivers/junofrst.cpp
@@ -453,8 +453,10 @@ MACHINE_CONFIG_START(junofrst_state::junofrst)
aysnd.add_route(2, "filter.0.2", 0.30);
MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // 100K (R56-63)/200K (R64-71) ladder network
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MCFG_DEVICE_ADD("filter.0.0", FILTER_RC)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
diff --git a/src/mame/drivers/k8915.cpp b/src/mame/drivers/k8915.cpp
index e316bd9ccc9..43c1056d1a5 100644
--- a/src/mame/drivers/k8915.cpp
+++ b/src/mame/drivers/k8915.cpp
@@ -134,20 +134,21 @@ uint32_t k8915_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap,
}
-MACHINE_CONFIG_START(k8915_state::k8915)
+void k8915_state::k8915(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", Z80, XTAL(4'915'200) / 2)
- MCFG_DEVICE_PROGRAM_MAP(mem_map)
- MCFG_DEVICE_IO_MAP(io_map)
+ Z80(config, m_maincpu, XTAL(4'915'200) / 2);
+ m_maincpu->set_addrmap(AS_PROGRAM, &k8915_state::mem_map);
+ m_maincpu->set_addrmap(AS_IO, &k8915_state::io_map);
/* video hardware */
- MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
- MCFG_SCREEN_UPDATE_DRIVER(k8915_state, screen_update)
- MCFG_SCREEN_SIZE(640, 250)
- MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 249)
- MCFG_SCREEN_PALETTE("palette")
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_refresh_hz(60);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
+ screen.set_screen_update(FUNC(k8915_state::screen_update));
+ screen.set_size(640, 250);
+ screen.set_visarea(0, 639, 0, 249);
+ screen.set_palette("palette");
PALETTE(config, "palette", palette_device::MONOCHROME);
diff --git a/src/mame/drivers/kaypro.cpp b/src/mame/drivers/kaypro.cpp
index f545adb3097..fe1d2ff8e11 100644
--- a/src/mame/drivers/kaypro.cpp
+++ b/src/mame/drivers/kaypro.cpp
@@ -206,22 +206,22 @@ MACHINE_CONFIG_START(kaypro_state::kayproii)
MCFG_MACHINE_RESET_OVERRIDE(kaypro_state, kaypro )
/* video hardware */
- MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
- MCFG_SCREEN_SIZE(80*7, 24*10)
- MCFG_SCREEN_VISIBLE_AREA(0,80*7-1,0,24*10-1)
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER, rgb_t::green());
+ m_screen->set_refresh_hz(60);
+ m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
+ m_screen->set_size(80*7, 24*10);
+ m_screen->set_visarea(0, 80*7-1, 0, 24*10-1);
+ m_screen->set_screen_update(FUNC(kaypro_state::screen_update_kayproii));
+ m_screen->set_palette(m_palette);
+
MCFG_VIDEO_START_OVERRIDE(kaypro_state, kaypro )
- MCFG_SCREEN_UPDATE_DRIVER(kaypro_state, screen_update_kayproii)
- MCFG_SCREEN_PALETTE(m_palette)
GFXDECODE(config, "gfxdecode", m_palette, gfx_kayproii);
PALETTE(config, m_palette, palette_device::MONOCHROME);
/* sound hardware */
SPEAKER(config, "mono").front_center();
- MCFG_DEVICE_ADD("beeper", BEEP, 950) /* piezo-device needs to be measured */
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
+ BEEP(config, m_beep, 950).add_route(ALL_OUTPUTS, "mono", 1.00); /* piezo-device needs to be measured */
/* devices */
MCFG_QUICKLOAD_ADD("quickload", kaypro_state, kaypro, "com,cpm", attotime::from_seconds(3))
diff --git a/src/mame/drivers/kingobox.cpp b/src/mame/drivers/kingobox.cpp
index 73eb076bd69..e5dde38b39a 100644
--- a/src/mame/drivers/kingobox.cpp
+++ b/src/mame/drivers/kingobox.cpp
@@ -512,8 +512,10 @@ MACHINE_CONFIG_START(kingofb_state::kingofb)
aysnd.add_route(ALL_OUTPUTS, "speaker", 0.25);
MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.125) // 100K (R30-44 even)/200K (R31-45 odd) ladder network
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
@@ -568,8 +570,10 @@ MACHINE_CONFIG_START(kingofb_state::ringking)
aysnd.add_route(ALL_OUTPUTS, "speaker", 0.25);
MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.125) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/kron.cpp b/src/mame/drivers/kron.cpp
index 7fa942dfdec..df55b3a0b46 100644
--- a/src/mame/drivers/kron.cpp
+++ b/src/mame/drivers/kron.cpp
@@ -307,13 +307,12 @@ MACHINE_CONFIG_START(kron180_state::kron180)
MCFG_DEVICE_IO_MAP(kron180_iomap)
/* video hardware */
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_COLOR(rgb_t::green())
- MCFG_SCREEN_REFRESH_RATE(50)
- MCFG_SCREEN_UPDATE_DRIVER(kron180_state, screen_update)
- MCFG_SCREEN_SIZE(80 * 10, 24 * 10)
- MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 199) // TODO: This need to be fixed once the real char table is used...
- MCFG_SCREEN_PALETTE("palette")
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_refresh_hz(50);
+ screen.set_screen_update(FUNC(kron180_state::screen_update));
+ screen.set_size(80 * 10, 24 * 10);
+ screen.set_visarea(0, 639, 0, 199); // TODO: This need to be fixed once the real char table is used...
+ screen.set_palette("palette");
PALETTE(config, "palette", palette_device::MONOCHROME);
diff --git a/src/mame/drivers/ksayakyu.cpp b/src/mame/drivers/ksayakyu.cpp
index d2d2374f86f..d2114f23859 100644
--- a/src/mame/drivers/ksayakyu.cpp
+++ b/src/mame/drivers/ksayakyu.cpp
@@ -300,8 +300,10 @@ MACHINE_CONFIG_START(ksayakyu_state::ksayakyu)
ay2.add_route(ALL_OUTPUTS, "speaker", 0.25);
MCFG_DEVICE_ADD("dac", DAC_6BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
ROM_START( ksayakyu )
diff --git a/src/mame/drivers/lasso.cpp b/src/mame/drivers/lasso.cpp
index 53053abc7ca..0a67562300f 100644
--- a/src/mame/drivers/lasso.cpp
+++ b/src/mame/drivers/lasso.cpp
@@ -574,8 +574,10 @@ MACHINE_CONFIG_START(lasso_state::wwjgtin)
/* sound hardware */
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)
+ 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);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(lasso_state::pinbo)
diff --git a/src/mame/drivers/luckybal.cpp b/src/mame/drivers/luckybal.cpp
index 2f198250492..d9e8c9879c9 100644
--- a/src/mame/drivers/luckybal.cpp
+++ b/src/mame/drivers/luckybal.cpp
@@ -597,8 +597,10 @@ MACHINE_CONFIG_START(luckybal_state::luckybal)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", DAC08, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/m3.cpp b/src/mame/drivers/m3.cpp
index d43f755a91e..f875c49b9c2 100644
--- a/src/mame/drivers/m3.cpp
+++ b/src/mame/drivers/m3.cpp
@@ -115,18 +115,19 @@ void m3_state::machine_reset()
m_maincpu->set_pc(0xf000);
}
-MACHINE_CONFIG_START(m3_state::m3)
- MCFG_DEVICE_ADD("maincpu", Z80, 2'000'000) // no idea of clock.
- MCFG_DEVICE_PROGRAM_MAP(mem_map)
- MCFG_DEVICE_IO_MAP(io_map)
+void m3_state::m3(machine_config &config)
+{
+ Z80(config, m_maincpu, 2'000'000); // no idea of clock.
+ m_maincpu->set_addrmap(AS_PROGRAM, &m3_state::mem_map);
+ m_maincpu->set_addrmap(AS_IO, &m3_state::io_map);
/* video hardware */
- MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) // not correct
- MCFG_SCREEN_UPDATE_DEVICE("crtc", mc6845_device, screen_update)
- MCFG_SCREEN_SIZE(640, 480)
- MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 479)
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_refresh_hz(60);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); // not correct
+ screen.set_screen_update("crtc", FUNC(mc6845_device::screen_update));
+ screen.set_size(640, 480);
+ screen.set_visarea(0, 639, 0, 479);
GFXDECODE(config, "gfxdecode", m_palette, gfx_f4disp);
PALETTE(config, m_palette, palette_device::MONOCHROME);
@@ -136,7 +137,7 @@ MACHINE_CONFIG_START(m3_state::m3)
crtc.set_show_border_area(false);
crtc.set_char_width(7);
crtc.set_update_row_callback(FUNC(m3_state::crtc_update_row), this);
-MACHINE_CONFIG_END
+}
ROM_START( m3 )
ROM_REGION( 0x3000, "roms", 0 )
diff --git a/src/mame/drivers/megazone.cpp b/src/mame/drivers/megazone.cpp
index 05b24f91698..ab139434c89 100644
--- a/src/mame/drivers/megazone.cpp
+++ b/src/mame/drivers/megazone.cpp
@@ -345,8 +345,10 @@ MACHINE_CONFIG_START(megazone_state::megazone)
aysnd.add_route(2, "filter.0.2", 0.30);
MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MCFG_DEVICE_ADD("filter.0.0", FILTER_RC)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
diff --git a/src/mame/drivers/mephistp.cpp b/src/mame/drivers/mephistp.cpp
index aedff4d87b3..b19d54df7a7 100644
--- a/src/mame/drivers/mephistp.cpp
+++ b/src/mame/drivers/mephistp.cpp
@@ -197,8 +197,10 @@ MACHINE_CONFIG_START(mephisto_pinball_state::mephisto)
MCFG_DEVICE_ADD("dac", DAC08, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/meyc8080.cpp b/src/mame/drivers/meyc8080.cpp
index eef08d8ddbf..b8188021728 100644
--- a/src/mame/drivers/meyc8080.cpp
+++ b/src/mame/drivers/meyc8080.cpp
@@ -607,8 +607,10 @@ MACHINE_CONFIG_START(meyc8080_state::meyc8080)
/* audio hardware */
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", DAC_2BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.66) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/micral.cpp b/src/mame/drivers/micral.cpp
index 762fd2067f5..650d763e135 100644
--- a/src/mame/drivers/micral.cpp
+++ b/src/mame/drivers/micral.cpp
@@ -390,13 +390,13 @@ MACHINE_CONFIG_START(micral_state::micral)
MCFG_MACHINE_RESET_OVERRIDE(micral_state, micral)
// video hardware
- MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(250))
- MCFG_SCREEN_UPDATE_DRIVER(micral_state, screen_update)
- MCFG_SCREEN_SIZE(640, 240)
- MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 239)
- MCFG_SCREEN_PALETTE("palette")
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_refresh_hz(60);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(250));
+ screen.set_screen_update(FUNC(micral_state::screen_update));
+ screen.set_size(640, 240);
+ screen.set_visarea(0, 639, 0, 239);
+ screen.set_palette("palette");
PALETTE(config, "palette", palette_device::MONOCHROME);
//GFXDECODE(config, "gfxdecode", "palette", gfx_micral);
diff --git a/src/mame/drivers/microvsn.cpp b/src/mame/drivers/microvsn.cpp
index 07c5c58a791..59e9f7bc6b9 100644
--- a/src/mame/drivers/microvsn.cpp
+++ b/src/mame/drivers/microvsn.cpp
@@ -663,8 +663,10 @@ MACHINE_CONFIG_START(microvision_state::microvision)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", DAC_2BIT_BINARY_WEIGHTED_ONES_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "microvision_cart")
MCFG_GENERIC_MANDATORY
diff --git a/src/mame/drivers/mjsister.cpp b/src/mame/drivers/mjsister.cpp
index c150358cc9a..c7b75ce3d11 100644
--- a/src/mame/drivers/mjsister.cpp
+++ b/src/mame/drivers/mjsister.cpp
@@ -537,8 +537,10 @@ MACHINE_CONFIG_START(mjsister_state::mjsister)
aysnd.add_route(ALL_OUTPUTS, "speaker", 0.15);
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)
+ 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);
MACHINE_CONFIG_END
/*************************************
diff --git a/src/mame/drivers/modellot.cpp b/src/mame/drivers/modellot.cpp
index 075adc6d962..2521ae49cdb 100644
--- a/src/mame/drivers/modellot.cpp
+++ b/src/mame/drivers/modellot.cpp
@@ -178,20 +178,21 @@ uint32_t modellot_state::screen_update_modellot(screen_device &screen, bitmap_in
return 0;
}
-MACHINE_CONFIG_START(modellot_state::modellot)
+void modellot_state::modellot(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu",Z80, XTAL(4'000'000))
- MCFG_DEVICE_PROGRAM_MAP(mem_map)
- MCFG_DEVICE_IO_MAP(io_map)
+ Z80(config, m_maincpu, XTAL(4'000'000));
+ m_maincpu->set_addrmap(AS_PROGRAM, &modellot_state::mem_map);
+ m_maincpu->set_addrmap(AS_IO, &modellot_state::io_map);
/* video hardware */
- MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
- MCFG_SCREEN_REFRESH_RATE(50)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
- MCFG_SCREEN_SIZE(64*8, 16*16)
- MCFG_SCREEN_VISIBLE_AREA(0, 64*8-1, 0, 16*16-1)
- MCFG_SCREEN_UPDATE_DRIVER(modellot_state, screen_update_modellot)
- MCFG_SCREEN_PALETTE("palette")
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_refresh_hz(50);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
+ screen.set_size(64*8, 16*16);
+ screen.set_visarea(0, 64*8-1, 0, 16*16-1);
+ screen.set_screen_update(FUNC(modellot_state::screen_update_modellot));
+ screen.set_palette("palette");
GFXDECODE(config, "gfxdecode", "palette", gfx_modellot);
PALETTE(config, "palette", palette_device::MONOCHROME);
@@ -199,7 +200,7 @@ MACHINE_CONFIG_START(modellot_state::modellot)
/* Devices */
generic_keyboard_device &keyboard(GENERIC_KEYBOARD(config, "keyboard", 0));
keyboard.set_keyboard_callback(FUNC(modellot_state::kbd_put));
-MACHINE_CONFIG_END
+}
/* ROM definition */
ROM_START( modellot )
diff --git a/src/mame/drivers/murogmbl.cpp b/src/mame/drivers/murogmbl.cpp
index 18d51977af9..98951bc0073 100644
--- a/src/mame/drivers/murogmbl.cpp
+++ b/src/mame/drivers/murogmbl.cpp
@@ -368,8 +368,10 @@ MACHINE_CONFIG_START(murogmbl_state::murogmbl)
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)
+ 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);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(slotunbl_state::slotunbl)
@@ -392,8 +394,10 @@ MACHINE_CONFIG_START(slotunbl_state::slotunbl)
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)
+ 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);
MACHINE_CONFIG_END
ROM_START(murogmbl)
diff --git a/src/mame/drivers/mx2178.cpp b/src/mame/drivers/mx2178.cpp
index 96d0874aab8..18b06fb7f92 100644
--- a/src/mame/drivers/mx2178.cpp
+++ b/src/mame/drivers/mx2178.cpp
@@ -131,19 +131,20 @@ void mx2178_state::machine_reset()
{
}
-MACHINE_CONFIG_START(mx2178_state::mx2178)
+void mx2178_state::mx2178(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD(m_maincpu, Z80, XTAL(18'869'600) / 5) // guess
- MCFG_DEVICE_PROGRAM_MAP(mx2178_mem)
- MCFG_DEVICE_IO_MAP(mx2178_io)
+ Z80(config, m_maincpu, XTAL(18'869'600) / 5); // guess
+ m_maincpu->set_addrmap(AS_PROGRAM, &mx2178_state::mx2178_mem);
+ m_maincpu->set_addrmap(AS_IO, &mx2178_state::mx2178_io);
/* video hardware */
- MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) // not correct
- MCFG_SCREEN_UPDATE_DEVICE("crtc", mc6845_device, screen_update)
- MCFG_SCREEN_SIZE(32*8, 32*8)
- MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_refresh_hz(60);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); // not correct
+ screen.set_screen_update("crtc", FUNC(mc6845_device::screen_update));
+ screen.set_size(32*8, 32*8);
+ screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
GFXDECODE(config, "gfxdecode", m_palette, gfx_mx2178);
PALETTE(config, m_palette, palette_device::MONOCHROME);
@@ -178,7 +179,7 @@ MACHINE_CONFIG_START(mx2178_state::mx2178)
rs232_port_device &rs232b(RS232_PORT(config, "rs232b", default_rs232_devices, "keyboard"));
rs232b.rxd_handler().set("acia2", FUNC(acia6850_device::write_rxd));
rs232b.cts_handler().set("acia2", FUNC(acia6850_device::write_cts));
-MACHINE_CONFIG_END
+}
/* ROM definition */
ROM_START( mx2178 )
diff --git a/src/mame/drivers/nbmj8688.cpp b/src/mame/drivers/nbmj8688.cpp
index 27e903fcd6d..a09871adde2 100644
--- a/src/mame/drivers/nbmj8688.cpp
+++ b/src/mame/drivers/nbmj8688.cpp
@@ -2484,8 +2484,10 @@ MACHINE_CONFIG_START(nbmj8688_state::NBMJDRV_4096)
psg.add_route(ALL_OUTPUTS, "speaker", 0.35);
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)
+ 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);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8688_state::NBMJDRV_256)
@@ -2671,8 +2673,10 @@ MACHINE_CONFIG_START(nbmj8688_state::mbmj_p16bit_LCD)
psg.add_route(ALL_OUTPUTS, "speaker", 0.35);
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)
+ 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);
MACHINE_CONFIG_END
void nbmj8688_state::bijokkoy(machine_config &config)
diff --git a/src/mame/drivers/nbmj8891.cpp b/src/mame/drivers/nbmj8891.cpp
index 233225b3b3e..fdb07694965 100644
--- a/src/mame/drivers/nbmj8891.cpp
+++ b/src/mame/drivers/nbmj8891.cpp
@@ -2217,8 +2217,10 @@ MACHINE_CONFIG_START(nbmj8891_state::gionbana)
YM3812(config, "fmsnd", 2500000).add_route(ALL_OUTPUTS, "speaker", 0.5);
MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.37) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8891_state::mgion)
diff --git a/src/mame/drivers/nbmj8900.cpp b/src/mame/drivers/nbmj8900.cpp
index 1280f139ddc..07d38f14892 100644
--- a/src/mame/drivers/nbmj8900.cpp
+++ b/src/mame/drivers/nbmj8900.cpp
@@ -333,8 +333,10 @@ MACHINE_CONFIG_START(nbmj8900_state::ohpaipee)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.7)
MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.42) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8900_state::togenkyo)
diff --git a/src/mame/drivers/nbmj8991.cpp b/src/mame/drivers/nbmj8991.cpp
index 5e0a6d0f0e2..4567274c79c 100644
--- a/src/mame/drivers/nbmj8991.cpp
+++ b/src/mame/drivers/nbmj8991.cpp
@@ -1353,8 +1353,10 @@ MACHINE_CONFIG_START(nbmj8991_state::nbmjdrv1) // galkoku
YM3812(config, "fmsnd", 25000000/10).add_route(ALL_OUTPUTS, "speaker", 0.7);
MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/nightgal.cpp b/src/mame/drivers/nightgal.cpp
index efe2d4af8c7..3a5e3ca6e3d 100644
--- a/src/mame/drivers/nightgal.cpp
+++ b/src/mame/drivers/nightgal.cpp
@@ -839,8 +839,10 @@ MACHINE_CONFIG_START(nightgal_state::sexygal)
sampleclk.signal_handler().set_inputline(m_audiocpu, INPUT_LINE_NMI);
MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
config.device_remove("aysnd");
diff --git a/src/mame/drivers/nokia_3310.cpp b/src/mame/drivers/nokia_3310.cpp
index 92f5b474371..ea7919f0682 100644
--- a/src/mame/drivers/nokia_3310.cpp
+++ b/src/mame/drivers/nokia_3310.cpp
@@ -700,20 +700,20 @@ static INPUT_PORTS_START( noki3310 )
INPUT_PORTS_END
-MACHINE_CONFIG_START(noki3310_state::noki3310)
-
+void noki3310_state::noki3310(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", ARM7_BE, 26000000 / 2) // MAD2WD1 13 MHz, clock internally supplied to ARM core can be divided by 2, in sleep mode a 32768 Hz clock is used
- MCFG_DEVICE_PROGRAM_MAP(noki3310_map)
+ ARM7_BE(config, m_maincpu, 26000000 / 2); // MAD2WD1 13 MHz, clock internally supplied to ARM core can be divided by 2, in sleep mode a 32768 Hz clock is used
+ m_maincpu->set_addrmap(AS_PROGRAM, &noki3310_state::noki3310_map);
/* video hardware */
- MCFG_SCREEN_ADD_MONOCHROME("screen", LCD, rgb_t::white())
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
- MCFG_SCREEN_SIZE(84, 48)
- MCFG_SCREEN_VISIBLE_AREA(0, 84-1, 0, 48-1)
- MCFG_SCREEN_UPDATE_DEVICE("pcd8544", pcd8544_device, screen_update)
- MCFG_SCREEN_PALETTE("palette")
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD, rgb_t::white()));
+ screen.set_refresh_hz(60);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
+ screen.set_size(84, 48);
+ screen.set_visarea(0, 84-1, 0, 48-1);
+ screen.set_screen_update("pcd8544", FUNC(pcd8544_device::screen_update));
+ screen.set_palette("palette");
PALETTE(config, "palette", palette_device::MONOCHROME_INVERTED);
@@ -721,39 +721,35 @@ MACHINE_CONFIG_START(noki3310_state::noki3310)
m_pcd8544->set_screen_update_cb(FUNC(noki3310_state::pcd8544_screen_update), this);
INTEL_TE28F160(config, "flash");
+}
-MACHINE_CONFIG_END
-
-MACHINE_CONFIG_START(noki3310_state::noki3330)
+void noki3310_state::noki3330(machine_config &config)
+{
noki3310(config);
INTEL_TE28F320(config.replace(), "flash");
+}
-MACHINE_CONFIG_END
-
-MACHINE_CONFIG_START(noki3310_state::noki3410)
+void noki3310_state::noki3410(machine_config &config)
+{
noki3330(config);
- MCFG_SCREEN_MODIFY("screen")
- MCFG_SCREEN_SIZE(96, 65) // Philips OM6206
-
-MACHINE_CONFIG_END
+ subdevice<screen_device>("screen")->set_size(96, 65); // Philips OM6206
+}
-MACHINE_CONFIG_START(noki3310_state::noki7110)
+void noki3310_state::noki7110(machine_config &config)
+{
noki3330(config);
- MCFG_SCREEN_MODIFY("screen")
- MCFG_SCREEN_SIZE(96, 65) // Epson SED1565
-
-MACHINE_CONFIG_END
+ subdevice<screen_device>("screen")->set_size(96, 65); // Epson SED1565
+}
-MACHINE_CONFIG_START(noki3310_state::noki6210)
+void noki3310_state::noki6210(machine_config &config)
+{
noki3330(config);
- MCFG_SCREEN_MODIFY("screen")
- MCFG_SCREEN_SIZE(96, 60)
-
-MACHINE_CONFIG_END
+ subdevice<screen_device>("screen")->set_size(96, 60);
+}
// MAD2 internal ROMS
diff --git a/src/mame/drivers/notetaker.cpp b/src/mame/drivers/notetaker.cpp
index 31f10ad4638..af1f2232205 100644
--- a/src/mame/drivers/notetaker.cpp
+++ b/src/mame/drivers/notetaker.cpp
@@ -870,8 +870,10 @@ MACHINE_CONFIG_START(notetaker_state::notetakr)
SPEAKER(config, "rspeaker").front_right();
// TODO: hook DAC up to two HA2425 (sample and hold) chips and hook those up to the speakers
MCFG_DEVICE_ADD("dac", DAC1200, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
void notetaker_state::init_notetakr()
diff --git a/src/mame/drivers/nyny.cpp b/src/mame/drivers/nyny.cpp
index c8f9650be34..0aaa12b423b 100644
--- a/src/mame/drivers/nyny.cpp
+++ b/src/mame/drivers/nyny.cpp
@@ -669,8 +669,10 @@ MACHINE_CONFIG_START(nyny_state::nyny)
AY8910(config, "ay3", AUDIO_CPU_2_CLOCK).add_route(ALL_OUTPUTS, "speaker", 0.03);
MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/pandoras.cpp b/src/mame/drivers/pandoras.cpp
index 9813ce0f170..c3de81d56d0 100644
--- a/src/mame/drivers/pandoras.cpp
+++ b/src/mame/drivers/pandoras.cpp
@@ -361,8 +361,10 @@ MACHINE_CONFIG_START(pandoras_state::pandoras)
aysnd.add_route(ALL_OUTPUTS, "speaker", 0.4);
MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.12) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/pastelg.cpp b/src/mame/drivers/pastelg.cpp
index 84d48465236..fd226c221ec 100644
--- a/src/mame/drivers/pastelg.cpp
+++ b/src/mame/drivers/pastelg.cpp
@@ -429,8 +429,10 @@ MACHINE_CONFIG_START(pastelg_state::pastelg)
aysnd.add_route(ALL_OUTPUTS, "speaker", 0.35);
MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
/*
@@ -487,8 +489,10 @@ MACHINE_CONFIG_START(pastelg_state::threeds)
aysnd.add_route(ALL_OUTPUTS, "speaker", 0.35);
MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/peoplepc.cpp b/src/mame/drivers/peoplepc.cpp
index 4f320b286f6..fbea7ab999b 100644
--- a/src/mame/drivers/peoplepc.cpp
+++ b/src/mame/drivers/peoplepc.cpp
@@ -243,7 +243,8 @@ static DEVICE_INPUT_DEFAULTS_START(keyboard)
DEVICE_INPUT_DEFAULTS( "RS232_STOPBITS", 0xff, RS232_STOPBITS_1 )
DEVICE_INPUT_DEFAULTS_END
-MACHINE_CONFIG_START(peoplepc_state::olypeopl)
+void peoplepc_state::olypeopl(machine_config &config)
+{
/* basic machine hardware */
I8086(config, m_maincpu, XTAL(14'745'600)/3);
m_maincpu->set_addrmap(AS_PROGRAM, &peoplepc_state::peoplepc_map);
@@ -269,9 +270,9 @@ MACHINE_CONFIG_START(peoplepc_state::olypeopl)
I8255(config, "ppi8255");
- MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
- MCFG_SCREEN_RAW_PARAMS(XTAL(22'000'000),640,0,640,475,0,475)
- MCFG_SCREEN_UPDATE_DEVICE( "h46505", mc6845_device, screen_update )
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_raw(XTAL(22'000'000), 640, 0, 640, 475, 0, 475);
+ screen.set_screen_update("h46505", FUNC(mc6845_device::screen_update));
GFXDECODE(config, m_gfxdecode, m_palette, gfxdecode_device::empty);
PALETTE(config, m_palette, palette_device::MONOCHROME);
@@ -305,7 +306,7 @@ MACHINE_CONFIG_START(peoplepc_state::olypeopl)
kbd.set_option_device_input_defaults("keyboard", DEVICE_INPUT_DEFAULTS_NAME(keyboard));
I8251(config, m_8251ser, 0);
-MACHINE_CONFIG_END
+}
ROM_START( olypeopl )
ROM_REGION(0x2000,"maincpu", 0)
diff --git a/src/mame/drivers/plan80.cpp b/src/mame/drivers/plan80.cpp
index 7b0dcd634ed..65adfc6b469 100644
--- a/src/mame/drivers/plan80.cpp
+++ b/src/mame/drivers/plan80.cpp
@@ -233,24 +233,25 @@ static GFXDECODE_START( gfx_plan80 )
GFXDECODE_END
-MACHINE_CONFIG_START(plan80_state::plan80)
+void plan80_state::plan80(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu",I8080, 2048000)
- MCFG_DEVICE_PROGRAM_MAP(plan80_mem)
- MCFG_DEVICE_IO_MAP(plan80_io)
+ I8080(config, m_maincpu, 2048000);
+ m_maincpu->set_addrmap(AS_PROGRAM, &plan80_state::plan80_mem);
+ m_maincpu->set_addrmap(AS_IO, &plan80_state::plan80_io);
/* video hardware */
- MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
- MCFG_SCREEN_REFRESH_RATE(50)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
- MCFG_SCREEN_UPDATE_DRIVER(plan80_state, screen_update)
- MCFG_SCREEN_SIZE(48*6, 32*8)
- MCFG_SCREEN_VISIBLE_AREA(0, 48*6-1, 0, 32*8-1)
- MCFG_SCREEN_PALETTE("palette")
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_refresh_hz(50);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
+ screen.set_screen_update(FUNC(plan80_state::screen_update));
+ screen.set_size(48*6, 32*8);
+ screen.set_visarea(0, 48*6-1, 0, 32*8-1);
+ screen.set_palette("palette");
GFXDECODE(config, "gfxdecode", "palette", gfx_plan80);
PALETTE(config, "palette", palette_device::MONOCHROME);
-MACHINE_CONFIG_END
+}
/* ROM definition */
ROM_START( plan80 )
diff --git a/src/mame/drivers/pockstat.cpp b/src/mame/drivers/pockstat.cpp
index 869cfc9bc0e..8aa5e074d04 100644
--- a/src/mame/drivers/pockstat.cpp
+++ b/src/mame/drivers/pockstat.cpp
@@ -996,8 +996,10 @@ MACHINE_CONFIG_START(pockstat_state::pockstat)
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
/* cartridge */
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "pockstat_cart")
diff --git a/src/mame/drivers/pong.cpp b/src/mame/drivers/pong.cpp
index fbd9e04442c..c32e3180651 100644
--- a/src/mame/drivers/pong.cpp
+++ b/src/mame/drivers/pong.cpp
@@ -407,8 +407,10 @@ MACHINE_CONFIG_START(pong_state::pong)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(breakout_state::breakout)
@@ -461,8 +463,10 @@ MACHINE_CONFIG_START(breakout_state::breakout)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(pong_state::pongf)
@@ -507,8 +511,10 @@ MACHINE_CONFIG_START(pong_state::pongd)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
/***************************************************************************
diff --git a/src/mame/drivers/ppmast93.cpp b/src/mame/drivers/ppmast93.cpp
index a6cac4043bf..0f854a6e485 100644
--- a/src/mame/drivers/ppmast93.cpp
+++ b/src/mame/drivers/ppmast93.cpp
@@ -407,8 +407,10 @@ MACHINE_CONFIG_START(ppmast93_state::ppmast93)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.3) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
ROM_START( ppmast93 )
diff --git a/src/mame/drivers/pyl601.cpp b/src/mame/drivers/pyl601.cpp
index 51f2a1b8519..553c0a4e600 100644
--- a/src/mame/drivers/pyl601.cpp
+++ b/src/mame/drivers/pyl601.cpp
@@ -544,19 +544,20 @@ static GFXDECODE_START( gfx_pyl601a )
GFXDECODE_ENTRY( "chargen", 0x0000, pyl601a_charlayout, 0, 1 )
GFXDECODE_END
-MACHINE_CONFIG_START(pyl601_state::pyl601)
+void pyl601_state::pyl601(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD(m_maincpu, M6800, 1_MHz_XTAL)
- MCFG_DEVICE_PROGRAM_MAP(pyl601_mem)
- MCFG_DEVICE_VBLANK_INT_DRIVER("screen", pyl601_state, pyl601_interrupt)
+ M6800(config, m_maincpu, 1_MHz_XTAL);
+ m_maincpu->set_addrmap(AS_PROGRAM, &pyl601_state::pyl601_mem);
+ m_maincpu->set_vblank_int("screen", FUNC(pyl601_state::pyl601_interrupt));
/* video hardware */
- MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
- MCFG_SCREEN_REFRESH_RATE(50)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
- MCFG_SCREEN_SIZE(640, 200)
- MCFG_SCREEN_VISIBLE_AREA(0, 640 - 1, 0, 200 - 1)
- MCFG_SCREEN_UPDATE_DEVICE("crtc", mc6845_device, screen_update)
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_refresh_hz(50);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
+ screen.set_size(640, 200);
+ screen.set_visarea(0, 640 - 1, 0, 200 - 1);
+ screen.set_screen_update("crtc", FUNC(mc6845_device::screen_update));
GFXDECODE(config, "gfxdecode", m_palette, gfx_pyl601);
PALETTE(config, m_palette, palette_device::MONOCHROME);
diff --git a/src/mame/drivers/rd100.cpp b/src/mame/drivers/rd100.cpp
index eaf58c8fe2b..ef6a9076d93 100644
--- a/src/mame/drivers/rd100.cpp
+++ b/src/mame/drivers/rd100.cpp
@@ -101,27 +101,28 @@ MACHINE_RESET_MEMBER( rd100_state, rd100 )
{
}
-MACHINE_CONFIG_START(rd100_state::rd100)
+void rd100_state::rd100(machine_config &config)
+{
// basic machine hardware
- MCFG_DEVICE_ADD("maincpu", MC6809, XTAL(4'000'000)) // MC6809P???
- MCFG_DEVICE_PROGRAM_MAP(mem_map)
+ MC6809(config, m_maincpu, XTAL(4'000'000)); // MC6809P???
+ m_maincpu->set_addrmap(AS_PROGRAM, &rd100_state::mem_map);
MCFG_MACHINE_RESET_OVERRIDE(rd100_state, rd100)
- MCFG_DEVICE_ADD("pia1", PIA6821, 0)
+ PIA6821(config, "pia1", 0);
- MCFG_DEVICE_ADD("pia2", PIA6821, 0)
+ PIA6821(config, "pia2", 0);
// video hardware
- MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(250))
- MCFG_SCREEN_UPDATE_DRIVER(rd100_state, screen_update)
- MCFG_SCREEN_SIZE(64*6, 32*8)
- MCFG_SCREEN_VISIBLE_AREA(0, 64*6-1, 0, 32*8-1)
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_refresh_hz(60);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(250));
+ screen.set_screen_update(FUNC(rd100_state::screen_update));
+ screen.set_size(64*6, 32*8);
+ screen.set_visarea(0, 64*6-1, 0, 32*8-1);
PALETTE(config, "palette", palette_device::MONOCHROME);
//GFXDECODE(config, "gfxdecode", "palette", gfx_rd100);
-MACHINE_CONFIG_END
+}
ROM_START( rd100 )
ROM_REGION( 0x8000, "roms", 0 )
diff --git a/src/mame/drivers/rowamet.cpp b/src/mame/drivers/rowamet.cpp
index ffabaf12ac0..dd7fd72fff5 100644
--- a/src/mame/drivers/rowamet.cpp
+++ b/src/mame/drivers/rowamet.cpp
@@ -237,8 +237,10 @@ MACHINE_CONFIG_START(rowamet_state::rowamet)
/* Sound */
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
/*-------------------------------------------------------------------
diff --git a/src/mame/drivers/royalmah.cpp b/src/mame/drivers/royalmah.cpp
index c8f71683e66..80866ea2747 100644
--- a/src/mame/drivers/royalmah.cpp
+++ b/src/mame/drivers/royalmah.cpp
@@ -3590,8 +3590,10 @@ MACHINE_CONFIG_START(royalmah_state::jansou)
GENERIC_LATCH_8(config, m_soundlatch);
MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(royalmah_state::dondenmj)
diff --git a/src/mame/drivers/s11.cpp b/src/mame/drivers/s11.cpp
index e3e55a08f20..483dc5e6a31 100644
--- a/src/mame/drivers/s11.cpp
+++ b/src/mame/drivers/s11.cpp
@@ -448,8 +448,10 @@ MACHINE_CONFIG_START(s11_state::s11)
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
SPEAKER(config, "speech").front_center();
diff --git a/src/mame/drivers/s11a.cpp b/src/mame/drivers/s11a.cpp
index ddfc4d8fe4f..f9a0956d7d6 100644
--- a/src/mame/drivers/s11a.cpp
+++ b/src/mame/drivers/s11a.cpp
@@ -240,8 +240,10 @@ MACHINE_CONFIG_START(s11a_state::s11a)
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
SPEAKER(config, "speech").front_center();
diff --git a/src/mame/drivers/s11b.cpp b/src/mame/drivers/s11b.cpp
index dd60259533a..f927c14814e 100644
--- a/src/mame/drivers/s11b.cpp
+++ b/src/mame/drivers/s11b.cpp
@@ -316,8 +316,10 @@ MACHINE_CONFIG_START(s11b_state::s11b)
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
SPEAKER(config, "speech").front_center();
diff --git a/src/mame/drivers/s3.cpp b/src/mame/drivers/s3.cpp
index f3bf86966f1..7ba9f279b27 100644
--- a/src/mame/drivers/s3.cpp
+++ b/src/mame/drivers/s3.cpp
@@ -497,8 +497,10 @@ MACHINE_CONFIG_START(s3_state::s3a)
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
PIA6821(config, m_pias, 0);
m_pias->readpb_handler().set(FUNC(s3_state::sound_r));
diff --git a/src/mame/drivers/s4.cpp b/src/mame/drivers/s4.cpp
index ba1f296c4c9..7c75868a195 100644
--- a/src/mame/drivers/s4.cpp
+++ b/src/mame/drivers/s4.cpp
@@ -491,8 +491,10 @@ MACHINE_CONFIG_START(s4_state::s4a)
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
PIA6821(config, m_pias, 0);
m_pias->readpb_handler().set(FUNC(s4_state::sound_r));
diff --git a/src/mame/drivers/s6.cpp b/src/mame/drivers/s6.cpp
index 56160bc2d06..4f89d43330e 100644
--- a/src/mame/drivers/s6.cpp
+++ b/src/mame/drivers/s6.cpp
@@ -463,8 +463,10 @@ MACHINE_CONFIG_START(s6_state::s6)
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
SPEAKER(config, "speech").front_center();
MCFG_DEVICE_ADD("hc55516", HC55516, 0)
diff --git a/src/mame/drivers/s6a.cpp b/src/mame/drivers/s6a.cpp
index a8a20e9ecc7..141c7c09e15 100644
--- a/src/mame/drivers/s6a.cpp
+++ b/src/mame/drivers/s6a.cpp
@@ -446,8 +446,10 @@ MACHINE_CONFIG_START(s6a_state::s6a)
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
SPEAKER(config, "speech").front_center();
MCFG_DEVICE_ADD("hc55516", HC55516, 0)
diff --git a/src/mame/drivers/s7.cpp b/src/mame/drivers/s7.cpp
index 14c856744a2..3fdd8777e22 100644
--- a/src/mame/drivers/s7.cpp
+++ b/src/mame/drivers/s7.cpp
@@ -498,8 +498,10 @@ MACHINE_CONFIG_START(s7_state::s7)
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
SPEAKER(config, "speech").front_center();
MCFG_DEVICE_ADD("hc55516", HC55516, 0)
diff --git a/src/mame/drivers/s8.cpp b/src/mame/drivers/s8.cpp
index a8a567c99e3..8957d56dd13 100644
--- a/src/mame/drivers/s8.cpp
+++ b/src/mame/drivers/s8.cpp
@@ -369,8 +369,10 @@ MACHINE_CONFIG_START(s8_state::s8)
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
PIA6821(config, m_pias, 0);
m_pias->readpa_handler().set(FUNC(s8_state::sound_r));
diff --git a/src/mame/drivers/s8a.cpp b/src/mame/drivers/s8a.cpp
index 9eb3ff69f20..75316f551a7 100644
--- a/src/mame/drivers/s8a.cpp
+++ b/src/mame/drivers/s8a.cpp
@@ -341,8 +341,10 @@ MACHINE_CONFIG_START(s8a_state::s8a)
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
PIA6821(config, m_pias, 0);
m_pias->readpa_handler().set(FUNC(s8a_state::sound_r));
diff --git a/src/mame/drivers/s9.cpp b/src/mame/drivers/s9.cpp
index 75639234967..8768bf0a070 100644
--- a/src/mame/drivers/s9.cpp
+++ b/src/mame/drivers/s9.cpp
@@ -375,8 +375,10 @@ MACHINE_CONFIG_START(s9_state::s9)
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
SPEAKER(config, "speech").front_center();
MCFG_DEVICE_ADD("hc55516", HC55516, 0)
diff --git a/src/mame/drivers/sbasketb.cpp b/src/mame/drivers/sbasketb.cpp
index 149426546b1..67466747cf4 100644
--- a/src/mame/drivers/sbasketb.cpp
+++ b/src/mame/drivers/sbasketb.cpp
@@ -233,8 +233,10 @@ MACHINE_CONFIG_START(sbasketb_state::sbasketb)
MCFG_DEVICE_ADD(m_soundbrd, TRACKFLD_AUDIO, 0, m_audiocpu, m_vlm)
MCFG_DEVICE_ADD(m_dac, DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MCFG_DEVICE_ADD(m_sn, SN76489, XTAL(14'318'181) / 8)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
diff --git a/src/mame/drivers/seicross.cpp b/src/mame/drivers/seicross.cpp
index 8f528f730f8..46dcb2b48a6 100644
--- a/src/mame/drivers/seicross.cpp
+++ b/src/mame/drivers/seicross.cpp
@@ -432,8 +432,10 @@ MACHINE_CONFIG_START(seicross_state::no_nvram)
aysnd.add_route(ALL_OUTPUTS, "speaker", 0.25);
MCFG_DEVICE_ADD("dac", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.12) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/senjyo.cpp b/src/mame/drivers/senjyo.cpp
index fd7f171019a..a5e3cd7dc91 100644
--- a/src/mame/drivers/senjyo.cpp
+++ b/src/mame/drivers/senjyo.cpp
@@ -595,8 +595,10 @@ MACHINE_CONFIG_START(senjyo_state::senjyo)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
MCFG_DEVICE_ADD("dac", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.05) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/shangkid.cpp b/src/mame/drivers/shangkid.cpp
index 72bafe4d2ad..d1b017aeff1 100644
--- a/src/mame/drivers/shangkid.cpp
+++ b/src/mame/drivers/shangkid.cpp
@@ -421,8 +421,10 @@ MACHINE_CONFIG_START(shangkid_state::chinhero)
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
AY8910(config, m_aysnd, XTAL(18'432'000)/12); /* verified on pcb */
m_aysnd->port_a_write_callback().set(FUNC(shangkid_state::chinhero_ay8910_porta_w));
diff --git a/src/mame/drivers/shisen.cpp b/src/mame/drivers/shisen.cpp
index 3723a682912..05a5fbd5ac2 100644
--- a/src/mame/drivers/shisen.cpp
+++ b/src/mame/drivers/shisen.cpp
@@ -258,8 +258,10 @@ MACHINE_CONFIG_START(shisen_state::shisen)
ymsnd.add_route(1, "rspeaker", 0.5);
MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.25) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.25) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/ssozumo.cpp b/src/mame/drivers/ssozumo.cpp
index efab2602a00..d6455b6c985 100644
--- a/src/mame/drivers/ssozumo.cpp
+++ b/src/mame/drivers/ssozumo.cpp
@@ -228,8 +228,10 @@ MACHINE_CONFIG_START(ssozumo_state::ssozumo)
YM2149(config, "ay2", 1500000).add_route(ALL_OUTPUTS, "speaker", 0.3);
MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.3) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/sys9002.cpp b/src/mame/drivers/sys9002.cpp
index 4e1413fd225..8015eb12407 100644
--- a/src/mame/drivers/sys9002.cpp
+++ b/src/mame/drivers/sys9002.cpp
@@ -121,19 +121,20 @@ static DEVICE_INPUT_DEFAULTS_START( uart2 )
DEVICE_INPUT_DEFAULTS( "RS232_STOPBITS", 0xff, RS232_STOPBITS_1 )
DEVICE_INPUT_DEFAULTS_END
-MACHINE_CONFIG_START(sys9002_state::sys9002)
+void sys9002_state::sys9002(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu",I8085A, XTAL(2'000'000)) // XTAL not visible on images
- MCFG_DEVICE_PROGRAM_MAP(sys9002_mem)
- MCFG_DEVICE_IO_MAP(sys9002_io)
+ I8085A(config, m_maincpu, XTAL(2'000'000)); // XTAL not visible on images
+ m_maincpu->set_addrmap(AS_PROGRAM, &sys9002_state::sys9002_mem);
+ m_maincpu->set_addrmap(AS_IO, &sys9002_state::sys9002_io);
/* video hardware */
- MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) // not correct
- MCFG_SCREEN_UPDATE_DEVICE("crtc", mc6845_device, screen_update)
- MCFG_SCREEN_SIZE(32*8, 32*8)
- MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_refresh_hz(60);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); // not correct
+ screen.set_screen_update("crtc", FUNC(mc6845_device::screen_update));
+ screen.set_size(32*8, 32*8);
+ screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
//GFXDECODE(config, "gfxdecode", m_palette, gfx_mx2178);
PALETTE(config, m_palette, palette_device::MONOCHROME);
@@ -172,7 +173,7 @@ MACHINE_CONFIG_START(sys9002_state::sys9002)
rs232b.dsr_handler().set("uart2", FUNC(i8251_device::write_dsr));
rs232b.cts_handler().set("uart2", FUNC(i8251_device::write_cts));
rs232b.set_option_device_input_defaults("terminal", DEVICE_INPUT_DEFAULTS_NAME(uart2));
-MACHINE_CONFIG_END
+}
/* ROM definition */
ROM_START( sys9002 )
diff --git a/src/mame/drivers/tagteam.cpp b/src/mame/drivers/tagteam.cpp
index 185e8590854..bfe9e31078d 100644
--- a/src/mame/drivers/tagteam.cpp
+++ b/src/mame/drivers/tagteam.cpp
@@ -242,8 +242,10 @@ MACHINE_CONFIG_START(tagteam_state::tagteam)
AY8910(config, "ay2", XTAL(12'000'000)/8).add_route(ALL_OUTPUTS, "speaker", 0.25);
MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/taito.cpp b/src/mame/drivers/taito.cpp
index 451e141ca5b..466cb0926b0 100644
--- a/src/mame/drivers/taito.cpp
+++ b/src/mame/drivers/taito.cpp
@@ -366,8 +366,10 @@ MACHINE_CONFIG_START(taito_state::taito)
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.475) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
PIA6821(config, m_pia);
//m_pia->readpa_handler().set(FUNC(taito_state::pia_pa_r));
diff --git a/src/mame/drivers/tdv2324.cpp b/src/mame/drivers/tdv2324.cpp
index a370e364103..a183d2dc99b 100644
--- a/src/mame/drivers/tdv2324.cpp
+++ b/src/mame/drivers/tdv2324.cpp
@@ -278,11 +278,11 @@ MACHINE_CONFIG_START(tdv2324_state::tdv2324)
MCFG_DEVICE_PROGRAM_MAP(tdv2324_fdc_mem)
// video hardware
- MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::green())
- MCFG_SCREEN_REFRESH_RATE(50)
- MCFG_SCREEN_UPDATE_DRIVER(tdv2324_state, screen_update)
- MCFG_SCREEN_SIZE(800, 400)
- MCFG_SCREEN_VISIBLE_AREA(0, 800-1, 0, 400-1)
+ screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_refresh_hz(50);
+ screen.set_screen_update(FUNC(tdv2324_state::screen_update));
+ screen.set_size(800, 400);
+ screen.set_visarea(0, 800-1, 0, 400-1);
PALETTE(config, "palette", palette_device::MONOCHROME);
diff --git a/src/mame/drivers/trs80m2.cpp b/src/mame/drivers/trs80m2.cpp
index ba20c64bce1..72f863a2dc1 100644
--- a/src/mame/drivers/trs80m2.cpp
+++ b/src/mame/drivers/trs80m2.cpp
@@ -707,7 +707,8 @@ void trs80m2_state::machine_reset()
// MACHINE_CONFIG( trs80m2 )
//-------------------------------------------------
-MACHINE_CONFIG_START(trs80m2_state::trs80m2)
+void trs80m2_state::trs80m2(machine_config &config)
+{
// basic machine hardware
Z80(config, m_maincpu, 8_MHz_XTAL / 2);
m_maincpu->set_daisy_config(trs80m2_daisy_chain);
@@ -715,12 +716,12 @@ MACHINE_CONFIG_START(trs80m2_state::trs80m2)
m_maincpu->set_addrmap(AS_IO, &trs80m2_state::z80_io);
// video hardware
- MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::green())
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
- MCFG_SCREEN_UPDATE_DRIVER(trs80m2_state, screen_update)
- MCFG_SCREEN_SIZE(640, 480)
- MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 479)
+ screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_refresh_hz(60);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
+ screen.set_screen_update(FUNC(trs80m2_state::screen_update));
+ screen.set_size(640, 480);
+ screen.set_visarea(0, 639, 0, 479);
PALETTE(config, m_palette, palette_device::MONOCHROME);
@@ -786,14 +787,15 @@ MACHINE_CONFIG_START(trs80m2_state::trs80m2)
// software list
SOFTWARE_LIST(config, "flop_list").set_original("trs80m2");
-MACHINE_CONFIG_END
+}
//-------------------------------------------------
// MACHINE_CONFIG( trs80m16 )
//-------------------------------------------------
-MACHINE_CONFIG_START(trs80m16_state::trs80m16)
+void trs80m16_state::trs80m16(machine_config &config)
+{
// basic machine hardware
Z80(config, m_maincpu, 8_MHz_XTAL / 2);
m_maincpu->set_daisy_config(trs80m2_daisy_chain);
@@ -801,17 +803,17 @@ MACHINE_CONFIG_START(trs80m16_state::trs80m16)
m_maincpu->set_addrmap(AS_IO, &trs80m16_state::m16_z80_io);
m_maincpu->set_irq_acknowledge_callback(AM9519A_TAG, FUNC(am9519_device::iack_cb));
- MCFG_DEVICE_ADD(M68000_TAG, M68000, 24_MHz_XTAL / 4)
- MCFG_DEVICE_PROGRAM_MAP(m68000_mem)
- MCFG_DEVICE_DISABLE()
+ M68000(config, m_subcpu, 24_MHz_XTAL / 4);
+ m_subcpu->set_addrmap(AS_PROGRAM, &trs80m16_state::m68000_mem);
+ m_subcpu->set_disable();
// video hardware
- MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::green())
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
- MCFG_SCREEN_UPDATE_DRIVER(trs80m2_state, screen_update)
- MCFG_SCREEN_SIZE(640, 480)
- MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 479)
+ screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_refresh_hz(60);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
+ screen.set_screen_update(FUNC(trs80m2_state::screen_update));
+ screen.set_size(640, 480);
+ screen.set_visarea(0, 639, 0, 479);
PALETTE(config, m_palette, palette_device::MONOCHROME);
@@ -859,7 +861,7 @@ MACHINE_CONFIG_START(trs80m16_state::trs80m16)
sio.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
AM9519(config, m_uic, 0);
- m_uic->out_int_callback().set_inputline(M68000_TAG, M68K_IRQ_5);
+ m_uic->out_int_callback().set_inputline(m_subcpu, M68K_IRQ_5);
CENTRONICS(config, m_centronics, centronics_devices, "printer");
m_centronics->ack_handler().set(m_pio, FUNC(z80pio_device::strobe_b));
@@ -880,7 +882,7 @@ MACHINE_CONFIG_START(trs80m16_state::trs80m16)
// software list
SOFTWARE_LIST(config, "flop_list").set_original("trs80m2");
-MACHINE_CONFIG_END
+}
diff --git a/src/mame/drivers/trucocl.cpp b/src/mame/drivers/trucocl.cpp
index 8a3b0dcb8a3..f6b24acf2f4 100644
--- a/src/mame/drivers/trucocl.cpp
+++ b/src/mame/drivers/trucocl.cpp
@@ -205,8 +205,10 @@ MACHINE_CONFIG_START(trucocl_state::trucocl)
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)
+ 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);
MACHINE_CONFIG_END
/***************************************************************************
diff --git a/src/mame/drivers/ts803.cpp b/src/mame/drivers/ts803.cpp
index 78c94cc2121..af40eda32b6 100644
--- a/src/mame/drivers/ts803.cpp
+++ b/src/mame/drivers/ts803.cpp
@@ -422,18 +422,19 @@ static const z80_daisy_config daisy_chain[] =
{ nullptr }
};
-MACHINE_CONFIG_START(ts803_state::ts803)
+void ts803_state::ts803(machine_config &config)
+{
Z80(config, m_maincpu, 16_MHz_XTAL / 4);
m_maincpu->set_addrmap(AS_PROGRAM, &ts803_state::ts803_mem);
m_maincpu->set_addrmap(AS_IO, &ts803_state::ts803_io);
m_maincpu->set_daisy_config(daisy_chain);
/* video hardware */
- MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_SIZE(640,240)
- MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 240-1)
- MCFG_SCREEN_UPDATE_DEVICE("crtc", sy6545_1_device, screen_update)
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_refresh_hz(60);
+ screen.set_size(640,240);
+ screen.set_visarea(0, 640-1, 0, 240-1);
+ screen.set_screen_update("crtc", FUNC(sy6545_1_device::screen_update));
PALETTE(config, m_palette, palette_device::MONOCHROME);
/* crtc */
@@ -468,7 +469,7 @@ MACHINE_CONFIG_START(ts803_state::ts803)
m_fdc->intrq_wr_callback().set("sti", FUNC(z80sti_device::i7_w));
FLOPPY_CONNECTOR(config, "fdc:0", ts803_floppies, "525dd", floppy_image_device::default_floppy_formats).enable_sound(true);
FLOPPY_CONNECTOR(config, "fdc:1", ts803_floppies, "525dd", floppy_image_device::default_floppy_formats).enable_sound(true);
-MACHINE_CONFIG_END
+}
/* ROM definition */
ROM_START( ts803h )
diff --git a/src/mame/drivers/tsamurai.cpp b/src/mame/drivers/tsamurai.cpp
index 13a3dd1d30b..1d8d5cf0d89 100644
--- a/src/mame/drivers/tsamurai.cpp
+++ b/src/mame/drivers/tsamurai.cpp
@@ -808,8 +808,10 @@ MACHINE_CONFIG_START(tsamurai_state::vsgongf)
AY8910(config,"aysnd", XTAL(24'000'000)/8).add_route(ALL_OUTPUTS, "speaker", 0.1);
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)
+ 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);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/tsispch.cpp b/src/mame/drivers/tsispch.cpp
index 106e6782950..df3dbf5aaa4 100644
--- a/src/mame/drivers/tsispch.cpp
+++ b/src/mame/drivers/tsispch.cpp
@@ -406,8 +406,10 @@ MACHINE_CONFIG_START(tsispch_state::prose2k)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", DAC_12BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) // unknown DAC (TODO: correctly figure out how the DAC works; apparently it is connected to the serial output of the upd7720, which will be "fun" to connect up)
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, "terminal"));
rs232.rxd_handler().set("i8251a_u15", FUNC(i8251_device::write_rxd));
diff --git a/src/mame/drivers/univac.cpp b/src/mame/drivers/univac.cpp
index a01ac42885d..a0b33aabd68 100644
--- a/src/mame/drivers/univac.cpp
+++ b/src/mame/drivers/univac.cpp
@@ -562,7 +562,8 @@ static const z80_daisy_config daisy_chain[] =
};
// All frequencies confirmed
-MACHINE_CONFIG_START(univac_state::uts20)
+void univac_state::uts20(machine_config &config)
+{
/* basic machine hardware */
Z80(config, m_maincpu, 18.432_MHz_XTAL / 6); // 3.072 MHz
m_maincpu->set_addrmap(AS_PROGRAM, &univac_state::mem_map);
@@ -585,9 +586,9 @@ MACHINE_CONFIG_START(univac_state::uts20)
latch_e0.q_out_cb<6>().set(FUNC(univac_state::porte6_w));
/* video hardware */
- MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
- MCFG_SCREEN_UPDATE_DRIVER(univac_state, screen_update)
- MCFG_SCREEN_PALETTE("palette")
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER, rgb_t::green());
+ m_screen->set_screen_update(FUNC(univac_state::screen_update));
+ m_screen->set_palette("palette");
PALETTE(config, "palette", palette_device::MONOCHROME);
GFXDECODE(config, "gfxdecode", "palette", gfx_uts);
@@ -627,13 +628,13 @@ MACHINE_CONFIG_START(univac_state::uts20)
RS232_PORT(config, m_printer, default_rs232_devices, nullptr);
m_printer->dcd_handler().set(FUNC(univac_state::aux_dsr_w));
-MACHINE_CONFIG_END
+}
-MACHINE_CONFIG_START(univac_state::uts10)
+void univac_state::uts10(machine_config &config)
+{
uts20(config);
- MCFG_DEVICE_MODIFY( "maincpu" )
- MCFG_DEVICE_PROGRAM_MAP(uts10_map)
- MCFG_DEVICE_IO_MAP(uts10_io_map)
+ m_maincpu->set_addrmap(AS_PROGRAM, &univac_state::uts10_map);
+ m_maincpu->set_addrmap(AS_IO, &univac_state::uts10_io_map);
config.device_remove("keybclk");
m_ctc->zc_callback<2>().set(m_sio, FUNC(z80sio_device::rxtxcb_w));
@@ -644,7 +645,7 @@ MACHINE_CONFIG_START(univac_state::uts10)
UTS_KEYBOARD(config.replace(), m_keyboard, uts10_keyboards, "extw");
m_keyboard->rxd_callback().set(FUNC(univac_state::aux_rxd_w));
-MACHINE_CONFIG_END
+}
/* ROM definition */
diff --git a/src/mame/drivers/vcombat.cpp b/src/mame/drivers/vcombat.cpp
index 15906c31337..3fdbd97bea0 100644
--- a/src/mame/drivers/vcombat.cpp
+++ b/src/mame/drivers/vcombat.cpp
@@ -604,8 +604,10 @@ MACHINE_CONFIG_START(vcombat_state::vcombat)
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", DAC_10BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
@@ -639,8 +641,10 @@ MACHINE_CONFIG_START(vcombat_state::shadfgtr)
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", DAC_10BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/vidbrain.cpp b/src/mame/drivers/vidbrain.cpp
index e9128222dd0..3a1f5664052 100644
--- a/src/mame/drivers/vidbrain.cpp
+++ b/src/mame/drivers/vidbrain.cpp
@@ -417,8 +417,10 @@ MACHINE_CONFIG_START(vidbrain_state::vidbrain)
// sound hardware
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", DAC_2BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.167) // 74ls74.u16 + 120k + 56k
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
// devices
F3853(config, m_smi, XTAL(4'000'000)/2);
diff --git a/src/mame/drivers/videopkr.cpp b/src/mame/drivers/videopkr.cpp
index 16b8bcf1381..c5288e78308 100644
--- a/src/mame/drivers/videopkr.cpp
+++ b/src/mame/drivers/videopkr.cpp
@@ -1260,8 +1260,10 @@ MACHINE_CONFIG_START(videopkr_state::videopkr)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.275)
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/vt100.cpp b/src/mame/drivers/vt100.cpp
index 6b23e1d5787..e3ce3b9daf7 100644
--- a/src/mame/drivers/vt100.cpp
+++ b/src/mame/drivers/vt100.cpp
@@ -319,11 +319,11 @@ MACHINE_CONFIG_START(vt100_state::vt100)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("rstbuf", rst_pos_buffer_device, inta_cb)
/* video hardware */
- MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
- MCFG_SCREEN_RAW_PARAMS(XTAL(24'073'400)*2/3, 102*10, 0, 80*10, 262, 0, 25*10)
- //MCFG_SCREEN_RAW_PARAMS(XTAL(24'073'400), 170*9, 0, 132*9, 262, 0, 25*10)
- MCFG_SCREEN_UPDATE_DRIVER(vt100_state, screen_update_vt100)
- MCFG_SCREEN_PALETTE("vt100_video:palette")
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_raw(XTAL(24'073'400)*2/3, 102*10, 0, 80*10, 262, 0, 25*10);
+ //screen.set_raw(XTAL(24'073'400), 170*9, 0, 132*9, 262, 0, 25*10);
+ screen.set_screen_update(FUNC(vt100_state::screen_update_vt100));
+ screen.set_palette("vt100_video:palette");
GFXDECODE(config, "gfxdecode", "vt100_video:palette", gfx_vt100);
// MCFG_PALETTE_ADD_MONOCHROME("palette")
diff --git a/src/mame/drivers/wildpkr.cpp b/src/mame/drivers/wildpkr.cpp
index 3779bba3157..871a9fb1dad 100644
--- a/src/mame/drivers/wildpkr.cpp
+++ b/src/mame/drivers/wildpkr.cpp
@@ -533,8 +533,10 @@ MACHINE_CONFIG_START(wildpkr_state::tabpkr)
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("dac", AD557, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/williams.cpp b/src/mame/drivers/williams.cpp
index 73c659ed1f2..bc01cd3c2fa 100644
--- a/src/mame/drivers/williams.cpp
+++ b/src/mame/drivers/williams.cpp
@@ -1515,8 +1515,10 @@ MACHINE_CONFIG_START(williams_state::williams)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // mc1408.ic6
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
/* pia */
INPUT_MERGER_ANY_HIGH(config, "mainirq").output_handler().set_inputline(m_maincpu, M6809_IRQ_LINE);
@@ -1771,8 +1773,10 @@ MACHINE_CONFIG_START(williams2_state::williams2)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
/* pia */
INPUT_MERGER_ANY_HIGH(config, "mainirq").output_handler().set_inputline(m_maincpu, M6809_IRQ_LINE);
diff --git a/src/mame/drivers/wmg.cpp b/src/mame/drivers/wmg.cpp
index e16fbcef082..64bfe67b7a5 100644
--- a/src/mame/drivers/wmg.cpp
+++ b/src/mame/drivers/wmg.cpp
@@ -550,8 +550,10 @@ MACHINE_CONFIG_START(wmg_state::wmg)
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
/* pia */
INPUT_MERGER_ANY_HIGH(config, "mainirq").output_handler().set_inputline(m_maincpu, M6809_IRQ_LINE);
diff --git a/src/mame/drivers/xtheball.cpp b/src/mame/drivers/xtheball.cpp
index f32cd5b36e9..7c3845d26f0 100644
--- a/src/mame/drivers/xtheball.cpp
+++ b/src/mame/drivers/xtheball.cpp
@@ -332,8 +332,10 @@ MACHINE_CONFIG_START(xtheball_state::xtheball)
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", ZN428E, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ 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);
MACHINE_CONFIG_END
diff --git a/src/mame/video/abc1600.cpp b/src/mame/video/abc1600.cpp
index 5fa0fa95a9f..d40c864ad74 100644
--- a/src/mame/video/abc1600.cpp
+++ b/src/mame/video/abc1600.cpp
@@ -199,12 +199,13 @@ MC6845_ON_UPDATE_ADDR_CHANGED( abc1600_mover_device::crtc_update )
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(abc1600_mover_device::device_add_mconfig)
+void abc1600_mover_device::device_add_mconfig(machine_config &config)
+{
config.set_default_layout(layout_abc1600);
- MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::green())
- MCFG_SCREEN_UPDATE_DRIVER(abc1600_mover_device, screen_update)
- MCFG_SCREEN_RAW_PARAMS(XTAL(64'000'000), 0x3e0, 0, 0x300, 0x433, 0, 0x400)
+ screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_screen_update(FUNC(abc1600_mover_device::screen_update));
+ screen.set_raw(XTAL(64'000'000), 0x3e0, 0, 0x300, 0x433, 0, 0x400);
PALETTE(config, m_palette, palette_device::MONOCHROME);
@@ -214,7 +215,7 @@ MACHINE_CONFIG_START(abc1600_mover_device::device_add_mconfig)
m_crtc->set_char_width(32);
m_crtc->set_update_row_callback(FUNC(abc1600_mover_device::crtc_update_row), this);
m_crtc->set_on_update_addr_change_callback(FUNC(abc1600_mover_device::crtc_update), this);
-MACHINE_CONFIG_END
+}
//**************************************************************************
diff --git a/src/mame/video/abc800.cpp b/src/mame/video/abc800.cpp
index aa90892636f..a8fdc99771b 100644
--- a/src/mame/video/abc800.cpp
+++ b/src/mame/video/abc800.cpp
@@ -276,7 +276,8 @@ uint32_t abc800m_state::screen_update(screen_device &screen, bitmap_rgb32 &bitma
// MACHINE_CONFIG_START( abc800m_video )
//-------------------------------------------------
-MACHINE_CONFIG_START(abc800m_state::abc800m_video)
+void abc800m_state::abc800m_video(machine_config &config)
+{
mc6845_device &mc6845(MC6845(config, MC6845_TAG, ABC800_CCLK));
mc6845.set_screen(SCREEN_TAG);
mc6845.set_show_border_area(true);
@@ -284,9 +285,9 @@ MACHINE_CONFIG_START(abc800m_state::abc800m_video)
mc6845.set_update_row_callback(FUNC(abc800m_state::abc800m_update_row), this);
mc6845.out_vsync_callback().set(m_dart, FUNC(z80dart_device::rib_w)).invert();
- MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t(0xff, 0xff, 0x00))
- MCFG_SCREEN_UPDATE_DRIVER(abc800m_state, screen_update)
- MCFG_SCREEN_RAW_PARAMS(XTAL(12'000'000), 0x300, 0, 0x1e0, 0x13a, 0, 0xf0)
+ screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t(0xff, 0xff, 0x00)));
+ screen.set_screen_update(FUNC(abc800m_state::screen_update));
+ screen.set_raw(XTAL(12'000'000), 0x300, 0, 0x1e0, 0x13a, 0, 0xf0);
PALETTE(config, m_palette, palette_device::MONOCHROME);
-MACHINE_CONFIG_END
+}
diff --git a/src/mame/video/abc802.cpp b/src/mame/video/abc802.cpp
index 70f088fb0fb..cdf044c6679 100644
--- a/src/mame/video/abc802.cpp
+++ b/src/mame/video/abc802.cpp
@@ -178,7 +178,8 @@ WRITE_LINE_MEMBER( abc802_state::vs_w )
// MACHINE_CONFIG_START( abc802_video )
//-------------------------------------------------
-MACHINE_CONFIG_START(abc802_state::abc802_video)
+void abc802_state::abc802_video(machine_config &config)
+{
mc6845_device &mc6845(MC6845(config, MC6845_TAG, ABC800_CCLK));
mc6845.set_screen(SCREEN_TAG);
mc6845.set_show_border_area(true);
@@ -187,9 +188,9 @@ MACHINE_CONFIG_START(abc802_state::abc802_video)
mc6845.out_vsync_callback().set(FUNC(abc802_state::vs_w));
mc6845.out_vsync_callback().append(m_dart, FUNC(z80dart_device::rib_w)).invert();
- MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::amber())
- MCFG_SCREEN_UPDATE_DEVICE(MC6845_TAG, mc6845_device, screen_update)
- MCFG_SCREEN_RAW_PARAMS(XTAL(12'000'000), 0x300, 0, 0x1e0, 0x13a, 0, 0xf0)
+ screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::amber()));
+ screen.set_screen_update(MC6845_TAG, FUNC(mc6845_device::screen_update));
+ screen.set_raw(XTAL(12'000'000), 0x300, 0, 0x1e0, 0x13a, 0, 0xf0);
PALETTE(config, m_palette, palette_device::MONOCHROME);
-MACHINE_CONFIG_END
+}
diff --git a/src/mame/video/newbrain.cpp b/src/mame/video/newbrain.cpp
index 06ff23234e6..4e49210aeaa 100644
--- a/src/mame/video/newbrain.cpp
+++ b/src/mame/video/newbrain.cpp
@@ -186,14 +186,15 @@ GFXDECODE_END
/* Machine Drivers */
-MACHINE_CONFIG_START(newbrain_state::newbrain_video)
- MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::green())
- MCFG_SCREEN_UPDATE_DRIVER(newbrain_state, screen_update)
- MCFG_SCREEN_REFRESH_RATE(50)
- MCFG_SCREEN_SIZE(640, 250)
- MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 249)
+void newbrain_state::newbrain_video(machine_config &config)
+{
+ screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_screen_update(FUNC(newbrain_state::screen_update));
+ screen.set_refresh_hz(50);
+ screen.set_size(640, 250);
+ screen.set_visarea(0, 639, 0, 249);
PALETTE(config, m_palette, palette_device::MONOCHROME);
GFXDECODE(config, "gfxdecode", m_palette, gfx_newbrain);
-MACHINE_CONFIG_END
+}
diff --git a/src/mame/video/v1050.cpp b/src/mame/video/v1050.cpp
index fe13a93ea24..d8bd838ef3c 100644
--- a/src/mame/video/v1050.cpp
+++ b/src/mame/video/v1050.cpp
@@ -109,7 +109,8 @@ void v1050_state::video_start()
/* Machine Drivers */
-MACHINE_CONFIG_START(v1050_state::v1050_video)
+void v1050_state::v1050_video(machine_config &config)
+{
H46505(config, m_crtc, 15.36_MHz_XTAL/8);
m_crtc->set_screen(SCREEN_TAG);
m_crtc->set_show_border_area(true);
@@ -117,12 +118,12 @@ MACHINE_CONFIG_START(v1050_state::v1050_video)
m_crtc->set_update_row_callback(FUNC(v1050_state::crtc_update_row), this);
m_crtc->out_vsync_callback().set(FUNC(v1050_state::crtc_vs_w));
- MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::green())
- MCFG_SCREEN_UPDATE_DEVICE(H46505_TAG, h46505_device, screen_update)
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500))
- MCFG_SCREEN_SIZE(640, 400)
- MCFG_SCREEN_VISIBLE_AREA(0,640-1, 0, 400-1)
+ screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::green()));
+ screen.set_screen_update(H46505_TAG, FUNC(h46505_device::screen_update));
+ screen.set_refresh_hz(60);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500));
+ screen.set_size(640, 400);
+ screen.set_visarea(0,640-1, 0, 400-1);
PALETTE(config, m_palette, palette_device::MONOCHROME_HIGHLIGHT);
-MACHINE_CONFIG_END
+}