summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatarGravatar Ivan Vangelista <mesgnet@yahoo.it>2019-01-30 17:51:36 +0100
committerGravatarGravatar Ivan Vangelista <mesgnet@yahoo.it>2019-01-30 17:51:36 +0100
commitb166ec2cff2566d0ae2a2bce04c298e89966c81a (patch) (github)
treed486d4b17080e7b3f68ada755748a6dda1b66407
parent7fd14ecc7d787c2851e109164a0886448cb48666 (diff)
downloadmame-b166ec2cff2566d0ae2a2bce04c298e89966c81a.tar.bz2
mame-b166ec2cff2566d0ae2a2bce04c298e89966c81a.zip
emu\softlist_dev: removed MCFG macros (nw)
also removed MCFG_DEVICE_REMOVE, MCFG_QUANTUM_TIME and MCFG_QUANTUM_PERFECT_CPU (nw)
-rw-r--r--src/devices/bus/a2bus/a2cffa.cpp2
-rw-r--r--src/devices/bus/a2bus/a2eauxslot.h3
-rw-r--r--src/devices/bus/bml3/bml3bus.h2
-rw-r--r--src/devices/bus/cgenie/expansion/floppy.cpp4
-rw-r--r--src/devices/bus/coco/cococart.h3
-rw-r--r--src/devices/bus/macpds/macpds.h5
-rw-r--r--src/devices/bus/msx_cart/disk.cpp36
-rw-r--r--src/devices/bus/nubus/nubus.h2
-rw-r--r--src/devices/bus/sega8/mgear.cpp2
-rw-r--r--src/devices/bus/sg1000_exp/sk1100.cpp11
-rw-r--r--src/devices/bus/svi3x8/expander/sv603.cpp2
-rw-r--r--src/devices/bus/vme/vme.h3
-rw-r--r--src/devices/machine/appldriv.h4
-rw-r--r--src/devices/machine/pdc.cpp2
-rw-r--r--src/emu/mconfig.h8
-rw-r--r--src/emu/softlist_dev.h31
-rw-r--r--src/mame/audio/bwidow.cpp2
-rw-r--r--src/mame/audio/s11c_bg.cpp2
-rw-r--r--src/mame/audio/wpcsnd.cpp2
-rw-r--r--src/mame/drivers/abc1600.cpp2
-rw-r--r--src/mame/drivers/abc80.cpp4
-rw-r--r--src/mame/drivers/abc80x.cpp6
-rw-r--r--src/mame/drivers/adam.cpp2
-rw-r--r--src/mame/drivers/aim65.cpp2
-rw-r--r--src/mame/drivers/airbustr.cpp2
-rw-r--r--src/mame/drivers/airraid.cpp2
-rw-r--r--src/mame/drivers/alphatpx.cpp4
-rw-r--r--src/mame/drivers/alphatro.cpp6
-rw-r--r--src/mame/drivers/altos5.cpp2
-rw-r--r--src/mame/drivers/amiga.cpp32
-rw-r--r--src/mame/drivers/amspdwy.cpp2
-rw-r--r--src/mame/drivers/amstrad.cpp33
-rw-r--r--src/mame/drivers/apc.cpp2
-rw-r--r--src/mame/drivers/apf.cpp4
-rw-r--r--src/mame/drivers/apollo.cpp8
-rw-r--r--src/mame/drivers/apple1.cpp2
-rw-r--r--src/mame/drivers/apple2.cpp9
-rw-r--r--src/mame/drivers/apple2e.cpp2
-rw-r--r--src/mame/drivers/aquarius.cpp2
-rw-r--r--src/mame/drivers/arkanoid.cpp2
-rw-r--r--src/mame/drivers/artmagic.cpp2
-rw-r--r--src/mame/drivers/atarist.cpp2
-rw-r--r--src/mame/drivers/atom.cpp21
-rw-r--r--src/mame/drivers/attache.cpp10
-rw-r--r--src/mame/drivers/avigo.cpp2
-rw-r--r--src/mame/drivers/b2m.cpp2
-rw-r--r--src/mame/drivers/badlandsbl.cpp2
-rw-r--r--src/mame/drivers/bbcbc.cpp9
-rw-r--r--src/mame/drivers/bfm_sc2.cpp4
-rw-r--r--src/mame/drivers/bking.cpp2
-rw-r--r--src/mame/drivers/bladestl.cpp2
-rw-r--r--src/mame/drivers/blueprnt.cpp2
-rw-r--r--src/mame/drivers/bnstars.cpp2
-rw-r--r--src/mame/drivers/bullet.cpp9
-rw-r--r--src/mame/drivers/bw12.cpp14
-rw-r--r--src/mame/drivers/bw2.cpp2
-rw-r--r--src/mame/drivers/bwing.cpp2
-rw-r--r--src/mame/drivers/c65.cpp2
-rw-r--r--src/mame/drivers/candela.cpp2
-rw-r--r--src/mame/drivers/casloopy.cpp2
-rw-r--r--src/mame/drivers/cc40.cpp2
-rw-r--r--src/mame/drivers/cdi.cpp9
-rw-r--r--src/mame/drivers/cedar_magnet.cpp2
-rw-r--r--src/mame/drivers/cgenie.cpp2
-rw-r--r--src/mame/drivers/chaknpop.cpp2
-rw-r--r--src/mame/drivers/champbas.cpp8
-rw-r--r--src/mame/drivers/channelf.cpp10
-rw-r--r--src/mame/drivers/chessmst.cpp2
-rw-r--r--src/mame/drivers/cischeat.cpp4
-rw-r--r--src/mame/drivers/cmi.cpp4
-rw-r--r--src/mame/drivers/cntsteer.cpp6
-rw-r--r--src/mame/drivers/coco12.cpp8
-rw-r--r--src/mame/drivers/coco3.cpp6
-rw-r--r--src/mame/drivers/compc.cpp2
-rw-r--r--src/mame/drivers/compucolor.cpp2
-rw-r--r--src/mame/drivers/contra.cpp2
-rw-r--r--src/mame/drivers/ct486.cpp6
-rw-r--r--src/mame/drivers/cybertnk.cpp2
-rw-r--r--src/mame/drivers/dai.cpp4
-rw-r--r--src/mame/drivers/dassault.cpp4
-rw-r--r--src/mame/drivers/dblewing.cpp2
-rw-r--r--src/mame/drivers/dccons.cpp2
-rw-r--r--src/mame/drivers/ddayjlc.cpp2
-rw-r--r--src/mame/drivers/ddribble.cpp2
-rw-r--r--src/mame/drivers/deco_ld.cpp2
-rw-r--r--src/mame/drivers/decocass.cpp2
-rw-r--r--src/mame/drivers/dectalk.cpp4
-rw-r--r--src/mame/drivers/dgn_beta.cpp2
-rw-r--r--src/mame/drivers/digel804.cpp2
-rw-r--r--src/mame/drivers/dim68k.cpp2
-rw-r--r--src/mame/drivers/divebomb.cpp2
-rw-r--r--src/mame/drivers/djboy.cpp2
-rw-r--r--src/mame/drivers/dmndrby.cpp2
-rw-r--r--src/mame/drivers/dmv.cpp4
-rw-r--r--src/mame/drivers/dogfgt.cpp2
-rw-r--r--src/mame/drivers/dps1.cpp15
-rw-r--r--src/mame/drivers/dragon.cpp28
-rw-r--r--src/mame/drivers/ec184x.cpp4
-rw-r--r--src/mame/drivers/einstein.cpp2
-rw-r--r--src/mame/drivers/eolith.cpp4
-rw-r--r--src/mame/drivers/eprom.cpp6
-rw-r--r--src/mame/drivers/eurocom2.cpp7
-rw-r--r--src/mame/drivers/europc.cpp2
-rw-r--r--src/mame/drivers/exidy.cpp4
-rw-r--r--src/mame/drivers/exzisus.cpp2
-rw-r--r--src/mame/drivers/fantland.cpp2
-rw-r--r--src/mame/drivers/fidel6502.cpp2
-rw-r--r--src/mame/drivers/fidel68k.cpp7
-rw-r--r--src/mame/drivers/firefox.cpp2
-rw-r--r--src/mame/drivers/flower.cpp2
-rw-r--r--src/mame/drivers/fm7.cpp30
-rw-r--r--src/mame/drivers/force68k.cpp2
-rw-r--r--src/mame/drivers/gaelco.cpp6
-rw-r--r--src/mame/drivers/gal3.cpp2
-rw-r--r--src/mame/drivers/galaga.cpp8
-rw-r--r--src/mame/drivers/galaxy.cpp4
-rw-r--r--src/mame/drivers/galpani2.cpp2
-rw-r--r--src/mame/drivers/gamate.cpp2
-rw-r--r--src/mame/drivers/gamecom.cpp4
-rw-r--r--src/mame/drivers/gameking.cpp16
-rw-r--r--src/mame/drivers/gamepock.cpp9
-rw-r--r--src/mame/drivers/gba.cpp2
-rw-r--r--src/mame/drivers/geniusiq.cpp2
-rw-r--r--src/mame/drivers/genpc.cpp2
-rw-r--r--src/mame/drivers/gimix.cpp11
-rw-r--r--src/mame/drivers/gmaster.cpp2
-rw-r--r--src/mame/drivers/gp32.cpp2
-rw-r--r--src/mame/drivers/grchamp.cpp2
-rw-r--r--src/mame/drivers/gyruss.cpp2
-rw-r--r--src/mame/drivers/harddriv.cpp4
-rw-r--r--src/mame/drivers/hazeltin.cpp2
-rw-r--r--src/mame/drivers/horizon.cpp2
-rw-r--r--src/mame/drivers/hp80.cpp2
-rw-r--r--src/mame/drivers/hp9825.cpp2
-rw-r--r--src/mame/drivers/hp9845.cpp10
-rw-r--r--src/mame/drivers/hp9k_3xx.cpp7
-rw-r--r--src/mame/drivers/hp_ipc.cpp2
-rw-r--r--src/mame/drivers/hvyunit.cpp2
-rw-r--r--src/mame/drivers/hx20.cpp13
-rw-r--r--src/mame/drivers/hyperscan.cpp2
-rw-r--r--src/mame/drivers/i7000.cpp2
-rw-r--r--src/mame/drivers/ibm6580.cpp2
-rw-r--r--src/mame/drivers/ibmpc.cpp14
-rw-r--r--src/mame/drivers/ibmpcjr.cpp6
-rw-r--r--src/mame/drivers/ikki.cpp2
-rw-r--r--src/mame/drivers/imds2.cpp2
-rw-r--r--src/mame/drivers/imolagp.cpp2
-rw-r--r--src/mame/drivers/interact.cpp2
-rw-r--r--src/mame/drivers/intv.cpp13
-rw-r--r--src/mame/drivers/iq151.cpp4
-rw-r--r--src/mame/drivers/jackal.cpp2
-rw-r--r--src/mame/drivers/jedi.cpp12
-rw-r--r--src/mame/drivers/jpmimpct.cpp4
-rw-r--r--src/mame/drivers/juicebox.cpp2
-rw-r--r--src/mame/drivers/junior.cpp12
-rw-r--r--src/mame/drivers/jupace.cpp4
-rw-r--r--src/mame/drivers/kaypro.cpp2
-rw-r--r--src/mame/drivers/kc.cpp16
-rw-r--r--src/mame/drivers/kdt6.cpp2
-rw-r--r--src/mame/drivers/kim1.cpp14
-rw-r--r--src/mame/drivers/kingdrby.cpp2
-rw-r--r--src/mame/drivers/kingobox.cpp4
-rw-r--r--src/mame/drivers/ksayakyu.cpp2
-rw-r--r--src/mame/drivers/kyugo.cpp2
-rw-r--r--src/mame/drivers/lasso.cpp2
-rw-r--r--src/mame/drivers/lastbank.cpp2
-rw-r--r--src/mame/drivers/leapster.cpp2
-rw-r--r--src/mame/drivers/liberate.cpp6
-rw-r--r--src/mame/drivers/lockon.cpp2
-rw-r--r--src/mame/drivers/lsasquad.cpp4
-rw-r--r--src/mame/drivers/lviv.cpp4
-rw-r--r--src/mame/drivers/lynx.cpp4
-rw-r--r--src/mame/drivers/m20.cpp2
-rw-r--r--src/mame/drivers/m5.cpp14
-rw-r--r--src/mame/drivers/magmax.cpp2
-rw-r--r--src/mame/drivers/mappy.cpp6
-rw-r--r--src/mame/drivers/markham.cpp2
-rw-r--r--src/mame/drivers/mbc200.cpp2
-rw-r--r--src/mame/drivers/mbc55x.cpp7
-rw-r--r--src/mame/drivers/mc10.cpp15
-rw-r--r--src/mame/drivers/mc1000.cpp2
-rw-r--r--src/mame/drivers/mc1502.cpp4
-rw-r--r--src/mame/drivers/megadriv.cpp40
-rw-r--r--src/mame/drivers/megaplay.cpp2
-rw-r--r--src/mame/drivers/megatech.cpp2
-rw-r--r--src/mame/drivers/megazone.cpp2
-rw-r--r--src/mame/drivers/mephisto_montec.cpp2
-rw-r--r--src/mame/drivers/micro3d.cpp2
-rw-r--r--src/mame/drivers/microvsn.cpp4
-rw-r--r--src/mame/drivers/mikro80.cpp2
-rw-r--r--src/mame/drivers/mikrosha.cpp4
-rw-r--r--src/mame/drivers/mk1.cpp2
-rw-r--r--src/mame/drivers/mk2.cpp14
-rw-r--r--src/mame/drivers/monon_color.cpp2
-rw-r--r--src/mame/drivers/mpz80.cpp2
-rw-r--r--src/mame/drivers/mrflea.cpp2
-rw-r--r--src/mame/drivers/ms32.cpp2
-rw-r--r--src/mame/drivers/msx.cpp72
-rw-r--r--src/mame/drivers/mtx.cpp6
-rw-r--r--src/mame/drivers/myvision.cpp2
-rw-r--r--src/mame/drivers/mz2000.cpp4
-rw-r--r--src/mame/drivers/mz2500.cpp2
-rw-r--r--src/mame/drivers/mz3500.cpp2
-rw-r--r--src/mame/drivers/mz700.cpp4
-rw-r--r--src/mame/drivers/namcond1.cpp2
-rw-r--r--src/mame/drivers/namcos2.cpp38
-rw-r--r--src/mame/drivers/namcos21.cpp2
-rw-r--r--src/mame/drivers/namcos21_c67.cpp2
-rw-r--r--src/mame/drivers/namcos21_de.cpp2
-rw-r--r--src/mame/drivers/namcos22.cpp2
-rw-r--r--src/mame/drivers/nc.cpp2
-rw-r--r--src/mame/drivers/next.cpp7
-rw-r--r--src/mame/drivers/ngp.cpp8
-rw-r--r--src/mame/drivers/nightgal.cpp2
-rw-r--r--src/mame/drivers/ninjaw.cpp2
-rw-r--r--src/mame/drivers/nmk16.cpp2
-rw-r--r--src/mame/drivers/nova2001.cpp4
-rw-r--r--src/mame/drivers/nss.cpp2
-rw-r--r--src/mame/drivers/octopus.cpp2
-rw-r--r--src/mame/drivers/odyssey2.cpp20
-rw-r--r--src/mame/drivers/olibochu.cpp2
-rw-r--r--src/mame/drivers/ondra.cpp2
-rw-r--r--src/mame/drivers/orao.cpp2
-rw-r--r--src/mame/drivers/osbexec.cpp10
-rw-r--r--src/mame/drivers/p2000t.cpp2
-rw-r--r--src/mame/drivers/palm.cpp2
-rw-r--r--src/mame/drivers/pandoras.cpp2
-rw-r--r--src/mame/drivers/paranoia.cpp2
-rw-r--r--src/mame/drivers/pasogo.cpp2
-rw-r--r--src/mame/drivers/pc.cpp6
-rw-r--r--src/mame/drivers/pc1512.cpp8
-rw-r--r--src/mame/drivers/pc8801.cpp8
-rw-r--r--src/mame/drivers/pc88va.cpp4
-rw-r--r--src/mame/drivers/pce.cpp16
-rw-r--r--src/mame/drivers/pcfx.cpp2
-rw-r--r--src/mame/drivers/pcw.cpp2
-rw-r--r--src/mame/drivers/pcw16.cpp4
-rw-r--r--src/mame/drivers/pegasus.cpp2
-rw-r--r--src/mame/drivers/pencil2.cpp2
-rw-r--r--src/mame/drivers/pentagon.cpp2
-rw-r--r--src/mame/drivers/phc25.cpp13
-rw-r--r--src/mame/drivers/picno.cpp2
-rw-r--r--src/mame/drivers/pk8020.cpp2
-rw-r--r--src/mame/drivers/pockchal.cpp2
-rw-r--r--src/mame/drivers/pofo.cpp2
-rw-r--r--src/mame/drivers/poisk1.cpp4
-rw-r--r--src/mame/drivers/poly.cpp7
-rw-r--r--src/mame/drivers/popper.cpp2
-rw-r--r--src/mame/drivers/prestige.cpp65
-rw-r--r--src/mame/drivers/prof180x.cpp2
-rw-r--r--src/mame/drivers/prof80.cpp2
-rw-r--r--src/mame/drivers/progolf.cpp2
-rw-r--r--src/mame/drivers/proteus.cpp3
-rw-r--r--src/mame/drivers/psion.cpp5
-rw-r--r--src/mame/drivers/pt68k4.cpp4
-rw-r--r--src/mame/drivers/pv1000.cpp2
-rw-r--r--src/mame/drivers/pv2000.cpp2
-rw-r--r--src/mame/drivers/px4.cpp4
-rw-r--r--src/mame/drivers/px8.cpp4
-rw-r--r--src/mame/drivers/pyl601.cpp2
-rw-r--r--src/mame/drivers/ql.cpp6
-rw-r--r--src/mame/drivers/qx10.cpp2
-rw-r--r--src/mame/drivers/r9751.cpp13
-rw-r--r--src/mame/drivers/radio86.cpp15
-rw-r--r--src/mame/drivers/rainbow.cpp2
-rw-r--r--src/mame/drivers/rbisland.cpp4
-rw-r--r--src/mame/drivers/retofinv.cpp2
-rw-r--r--src/mame/drivers/rollext.cpp2
-rw-r--r--src/mame/drivers/rx78.cpp2
-rw-r--r--src/mame/drivers/s11b.cpp2
-rw-r--r--src/mame/drivers/sage2.cpp2
-rw-r--r--src/mame/drivers/saturn.cpp15
-rw-r--r--src/mame/drivers/scv.cpp2
-rw-r--r--src/mame/drivers/sega_sawatte.cpp7
-rw-r--r--src/mame/drivers/segaxbd.cpp2
-rw-r--r--src/mame/drivers/seicross.cpp2
-rw-r--r--src/mame/drivers/sfcbox.cpp2
-rw-r--r--src/mame/drivers/sg1000.cpp6
-rw-r--r--src/mame/drivers/shanghai.cpp2
-rw-r--r--src/mame/drivers/shangkid.cpp2
-rw-r--r--src/mame/drivers/shougi.cpp2
-rw-r--r--src/mame/drivers/simple_st0016.cpp2
-rw-r--r--src/mame/drivers/slapfght.cpp6
-rw-r--r--src/mame/drivers/smc777.cpp2
-rw-r--r--src/mame/drivers/sms.cpp20
-rw-r--r--src/mame/drivers/sms_bootleg.cpp2
-rw-r--r--src/mame/drivers/smsmcorp.cpp2
-rw-r--r--src/mame/drivers/snes.cpp10
-rw-r--r--src/mame/drivers/snesb.cpp2
-rw-r--r--src/mame/drivers/socrates.cpp6
-rw-r--r--src/mame/drivers/softbox.cpp2
-rw-r--r--src/mame/drivers/sorcerer.cpp6
-rw-r--r--src/mame/drivers/spacefb.cpp2
-rw-r--r--src/mame/drivers/spc1000.cpp2
-rw-r--r--src/mame/drivers/spc1500.cpp2
-rw-r--r--src/mame/drivers/spec128.cpp2
-rw-r--r--src/mame/drivers/special.cpp4
-rw-r--r--src/mame/drivers/specpls3.cpp2
-rw-r--r--src/mame/drivers/speglsht.cpp2
-rw-r--r--src/mame/drivers/sprcros2.cpp2
-rw-r--r--src/mame/drivers/squale.cpp4
-rw-r--r--src/mame/drivers/srmp5.cpp2
-rw-r--r--src/mame/drivers/studio2.cpp4
-rw-r--r--src/mame/drivers/superchs.cpp2
-rw-r--r--src/mame/drivers/supracan.cpp6
-rw-r--r--src/mame/drivers/sv8000.cpp2
-rw-r--r--src/mame/drivers/svi318.cpp4
-rw-r--r--src/mame/drivers/svision.cpp2
-rw-r--r--src/mame/drivers/system1.cpp2
-rw-r--r--src/mame/drivers/taito_b.cpp2
-rw-r--r--src/mame/drivers/taito_z.cpp2
-rw-r--r--src/mame/drivers/taitosj.cpp2
-rw-r--r--src/mame/drivers/tandy1t.cpp4
-rw-r--r--src/mame/drivers/tankbust.cpp2
-rw-r--r--src/mame/drivers/tatsumi.cpp6
-rw-r--r--src/mame/drivers/taxidriv.cpp2
-rw-r--r--src/mame/drivers/tdv2324.cpp2
-rw-r--r--src/mame/drivers/tecmo16.cpp2
-rw-r--r--src/mame/drivers/tek405x.cpp2
-rw-r--r--src/mame/drivers/tempest.cpp2
-rw-r--r--src/mame/drivers/thomson.cpp90
-rw-r--r--src/mame/drivers/thunderj.cpp2
-rw-r--r--src/mame/drivers/ti74.cpp4
-rw-r--r--src/mame/drivers/tiki100.cpp2
-rw-r--r--src/mame/drivers/timelimt.cpp2
-rw-r--r--src/mame/drivers/timex.cpp4
-rw-r--r--src/mame/drivers/tispellb.cpp8
-rw-r--r--src/mame/drivers/tk2000.cpp2
-rw-r--r--src/mame/drivers/toaplan2.cpp18
-rw-r--r--src/mame/drivers/tomcat.cpp2
-rw-r--r--src/mame/drivers/tosh1000.cpp2
-rw-r--r--src/mame/drivers/tourvis.cpp4
-rw-r--r--src/mame/drivers/tp84.cpp2
-rw-r--r--src/mame/drivers/triforce.cpp2
-rw-r--r--src/mame/drivers/trs80m2.cpp4
-rw-r--r--src/mame/drivers/turbo.cpp2
-rw-r--r--src/mame/drivers/tvc.cpp6
-rw-r--r--src/mame/drivers/tvcapcom.cpp2
-rw-r--r--src/mame/drivers/uapce.cpp2
-rw-r--r--src/mame/drivers/ultraman.cpp2
-rw-r--r--src/mame/drivers/undrfire.cpp2
-rw-r--r--src/mame/drivers/ut88.cpp4
-rw-r--r--src/mame/drivers/v1050.cpp8
-rw-r--r--src/mame/drivers/vboy.cpp2
-rw-r--r--src/mame/drivers/vcombat.cpp4
-rw-r--r--src/mame/drivers/vg5k.cpp2
-rw-r--r--src/mame/drivers/vgmplay.cpp2
-rw-r--r--src/mame/drivers/vicdual.cpp2
-rw-r--r--src/mame/drivers/vidbrain.cpp2
-rw-r--r--src/mame/drivers/vip.cpp2
-rw-r--r--src/mame/drivers/vixen.cpp2
-rw-r--r--src/mame/drivers/volfied.cpp2
-rw-r--r--src/mame/drivers/vtech2.cpp2
-rw-r--r--src/mame/drivers/wangpc.cpp4
-rw-r--r--src/mame/drivers/wheelfir.cpp2
-rw-r--r--src/mame/drivers/witch.cpp2
-rw-r--r--src/mame/drivers/wswan.cpp21
-rw-r--r--src/mame/drivers/wyvernf0.cpp4
-rw-r--r--src/mame/drivers/x07.cpp4
-rw-r--r--src/mame/drivers/x1.cpp4
-rw-r--r--src/mame/drivers/x1twin.cpp4
-rw-r--r--src/mame/drivers/x68k.cpp2
-rw-r--r--src/mame/drivers/xain.cpp2
-rw-r--r--src/mame/drivers/xerox820.cpp4
-rw-r--r--src/mame/drivers/xxmissio.cpp2
-rw-r--r--src/mame/drivers/z80ne.cpp10
-rw-r--r--src/mame/drivers/z88.cpp2
-rw-r--r--src/mame/drivers/zaccaria.cpp2
-rw-r--r--src/mame/machine/apollo.cpp2
-rw-r--r--src/mame/machine/at.cpp11
-rw-r--r--src/mame/machine/gaelco_ds5002fp.cpp13
-rw-r--r--src/mame/machine/gaelco_ds5002fp.h13
-rw-r--r--src/mame/machine/megacd.cpp2
-rw-r--r--src/mame/machine/xbox.cpp2
-rw-r--r--src/mame/video/decodmd1.cpp2
375 files changed, 962 insertions, 996 deletions
diff --git a/src/devices/bus/a2bus/a2cffa.cpp b/src/devices/bus/a2bus/a2cffa.cpp
index 4eb5c7d2d98..41c5a1603f6 100644
--- a/src/devices/bus/a2bus/a2cffa.cpp
+++ b/src/devices/bus/a2bus/a2cffa.cpp
@@ -56,7 +56,7 @@ void a2bus_cffa2000_device::device_add_mconfig(machine_config &config)
ATA_INTERFACE(config, m_ata).options(ata_devices, "hdd", nullptr, false);
// not yet, the core explodes
-// MCFG_SOFTWARE_LIST_ADD("hdd_list", "apple2gs_hdd")
+// SOFTWARE_LIST(config, "hdd_list").set_original("apple2gs_hdd");
}
//-------------------------------------------------
diff --git a/src/devices/bus/a2bus/a2eauxslot.h b/src/devices/bus/a2bus/a2eauxslot.h
index 1da89b18d7a..782ff3dfb2d 100644
--- a/src/devices/bus/a2bus/a2eauxslot.h
+++ b/src/devices/bus/a2bus/a2eauxslot.h
@@ -32,8 +32,7 @@
MCFG_DEVICE_ADD(_tag, A2EAUXSLOT_SLOT, 0) \
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) \
downcast<a2eauxslot_slot_device &>(*device).set_a2eauxslot_slot(_nbtag, _tag);
-#define MCFG_A2EAUXSLOT_SLOT_REMOVE(_tag) \
- MCFG_DEVICE_REMOVE(_tag)
+
//**************************************************************************
// TYPE DEFINITIONS
diff --git a/src/devices/bus/bml3/bml3bus.h b/src/devices/bus/bml3/bml3bus.h
index c82a9c71c63..e608eabf3af 100644
--- a/src/devices/bus/bml3/bml3bus.h
+++ b/src/devices/bus/bml3/bml3bus.h
@@ -24,8 +24,6 @@
MCFG_DEVICE_ADD(_tag, BML3BUS_SLOT, 0) \
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) \
downcast<bml3bus_slot_device &>(*device).set_bml3bus_slot(_nbtag, _tag);
-#define MCFG_BML3BUS_SLOT_REMOVE(_tag) \
- MCFG_DEVICE_REMOVE(_tag)
#define MCFG_BML3BUS_ONBOARD_ADD(_nbtag, _tag, _dev_type) \
MCFG_DEVICE_ADD(_tag, _dev_type, 0) \
diff --git a/src/devices/bus/cgenie/expansion/floppy.cpp b/src/devices/bus/cgenie/expansion/floppy.cpp
index de7e0d1e9ed..e7a036080bc 100644
--- a/src/devices/bus/cgenie/expansion/floppy.cpp
+++ b/src/devices/bus/cgenie/expansion/floppy.cpp
@@ -82,13 +82,13 @@ MACHINE_CONFIG_START(cgenie_fdc_device::device_add_mconfig)
FLOPPY_CONNECTOR(config, "fd1793:2", cgenie_floppies, nullptr, cgenie_fdc_device::floppy_formats);
FLOPPY_CONNECTOR(config, "fd1793:3", cgenie_floppies, nullptr, cgenie_fdc_device::floppy_formats);
-// MCFG_SOFTWARE_LIST_ADD("floppy_list", "cgenie_flop")
+// SOFTWARE_LIST(config, "floppy_list").set_original("cgenie_flop");
MCFG_GENERIC_SOCKET_ADD("socket", generic_plain_slot, "cgenie_flop_rom")
MCFG_GENERIC_EXTENSIONS("bin,rom")
MCFG_GENERIC_LOAD(cgenie_fdc_device, socket_load)
- MCFG_SOFTWARE_LIST_ADD("rom_list", "cgenie_flop_rom")
+ SOFTWARE_LIST(config, "rom_list").set_original("cgenie_flop_rom");
MACHINE_CONFIG_END
diff --git a/src/devices/bus/coco/cococart.h b/src/devices/bus/coco/cococart.h
index 2d5d37fd443..46f5ca7f146 100644
--- a/src/devices/bus/coco/cococart.h
+++ b/src/devices/bus/coco/cococart.h
@@ -225,7 +225,4 @@ private:
MCFG_DEVICE_ADD(_tag, COCOCART_SLOT, DERIVED_CLOCK(1, 1)) \
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
-#define MCFG_COCO_CARTRIDGE_REMOVE(_tag) \
- MCFG_DEVICE_REMOVE(_tag)
-
#endif // MAME_BUS_COCO_COCOCART_H
diff --git a/src/devices/bus/macpds/macpds.h b/src/devices/bus/macpds/macpds.h
index d37a393a78a..a12b2a0bcb0 100644
--- a/src/devices/bus/macpds/macpds.h
+++ b/src/devices/bus/macpds/macpds.h
@@ -19,16 +19,11 @@
// INTERFACE CONFIGURATION MACROS
//**************************************************************************
-#define MCFG_MACPDS_SLOT_REMOVE(_tag) \
- MCFG_DEVICE_REMOVE(_tag)
-
#define MCFG_MACPDS_ONBOARD_ADD(_nbtag, _tag, _dev_type, _def_inp) \
MCFG_DEVICE_ADD(_tag, _dev_type, 0) \
MCFG_DEVICE_INPUT_DEFAULTS(_def_inp) \
downcast<device_macpds_card_interface &>(*device).set_macpds_tag(_nbtag, _tag);
-#define MCFG_MACPDS_BUS_REMOVE(_tag) \
- MCFG_DEVICE_REMOVE(_tag)
//**************************************************************************
// TYPE DEFINITIONS
diff --git a/src/devices/bus/msx_cart/disk.cpp b/src/devices/bus/msx_cart/disk.cpp
index 4b941465e1e..d3bea70d494 100644
--- a/src/devices/bus/msx_cart/disk.cpp
+++ b/src/devices/bus/msx_cart/disk.cpp
@@ -197,7 +197,8 @@ void msx_cart_disk_device::initialize_cartridge()
}
-MACHINE_CONFIG_START(msx_cart_vy0010_device::device_add_mconfig)
+void msx_cart_vy0010_device::device_add_mconfig(machine_config &config)
+{
// From VY-0010 schematic:
// HLT pulled high
// SSO/-ENMF + -DDEN + ENP + -5/8 - pulled low
@@ -212,11 +213,12 @@ MACHINE_CONFIG_START(msx_cart_vy0010_device::device_add_mconfig)
// We do not know in what kind of machine the user has inserted the floppy interface
// so we list all msx floppy software lists.
//
- MCFG_SOFTWARE_LIST_ADD("flop_list","msx2_flop")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx1_flop_list","msx1_flop")
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config, "flop_list").set_original("msx2_flop");
+ SOFTWARE_LIST(config, "msx1_flop_list").set_compatible("msx1_flop");
+}
-MACHINE_CONFIG_START(msx_cart_fsfd1_device::device_add_mconfig)
+void msx_cart_fsfd1_device::device_add_mconfig(machine_config &config)
+{
WD2793(config, m_fdc, 4_MHz_XTAL / 4);
// Double sided 3.5" floppy drive
@@ -226,12 +228,13 @@ MACHINE_CONFIG_START(msx_cart_fsfd1_device::device_add_mconfig)
// We do not know in what kind of machine the user has inserted the floppy interface
// so we list all msx floppy software lists.
//
- MCFG_SOFTWARE_LIST_ADD("flop_list","msx2_flop")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx1_flop_list","msx1_flop")
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config, "flop_list").set_original("msx2_flop");
+ SOFTWARE_LIST(config, "msx1_flop_list").set_compatible("msx1_flop");
+}
-MACHINE_CONFIG_START(msx_cart_fsfd1a_device::device_add_mconfig)
+void msx_cart_fsfd1a_device::device_add_mconfig(machine_config &config)
+{
TC8566AF(config, m_fdc, 16'000'000);
// Double sided 3.5" floppy drive
@@ -241,12 +244,13 @@ MACHINE_CONFIG_START(msx_cart_fsfd1a_device::device_add_mconfig)
// We do not know in what kind of machine the user has inserted the floppy interface
// so we list all msx floppy software lists.
//
- MCFG_SOFTWARE_LIST_ADD("flop_list","msx2_flop")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx1_flop_list","msx1_flop")
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config, "flop_list").set_original("msx2_flop");
+ SOFTWARE_LIST(config, "msx1_flop_list").set_compatible("msx1_flop");
+}
-MACHINE_CONFIG_START(msx_cart_fscf351_device::device_add_mconfig)
+void msx_cart_fscf351_device::device_add_mconfig(machine_config &config)
+{
MB8877(config, m_fdc, 4_MHz_XTAL / 4);
m_fdc->set_force_ready(true);
@@ -257,9 +261,9 @@ MACHINE_CONFIG_START(msx_cart_fscf351_device::device_add_mconfig)
// We do not know in what kind of machine the user has inserted the floppy interface
// so we list all msx floppy software lists.
//
- MCFG_SOFTWARE_LIST_ADD("flop_list","msx2_flop")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx1_flop_list","msx1_flop")
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config, "flop_list").set_original("msx2_flop");
+ SOFTWARE_LIST(config, "msx1_flop_list").set_compatible("msx1_flop");
+}
void msx_cart_disk_type1_device::device_start()
diff --git a/src/devices/bus/nubus/nubus.h b/src/devices/bus/nubus/nubus.h
index 919f989ebfb..da7c784a6a7 100644
--- a/src/devices/bus/nubus/nubus.h
+++ b/src/devices/bus/nubus/nubus.h
@@ -44,8 +44,6 @@
MCFG_DEVICE_ADD(_tag, NUBUS_SLOT, 0) \
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) \
downcast<nubus_slot_device &>(*device).set_nubus_slot(_nbtag, _tag);
-#define MCFG_NUBUS_SLOT_REMOVE(_tag) \
- MCFG_DEVICE_REMOVE(_tag)
#define MCFG_NUBUS_ONBOARD_ADD(_nbtag, _tag, _dev_type, _def_inp) \
MCFG_DEVICE_ADD(_tag, _dev_type, 0) \
diff --git a/src/devices/bus/sega8/mgear.cpp b/src/devices/bus/sega8/mgear.cpp
index 977ea1f18e7..e1f292013f1 100644
--- a/src/devices/bus/sega8/mgear.cpp
+++ b/src/devices/bus/sega8/mgear.cpp
@@ -40,5 +40,5 @@ void sega8_mgear_device::device_reset()
MACHINE_CONFIG_START(sega8_mgear_device::device_add_mconfig)
MCFG_SMS_CARTRIDGE_ADD("subslot", sms_cart, nullptr)
- MCFG_SOFTWARE_LIST_ADD("cart_list","sms")
+ SOFTWARE_LIST(config, "cart_list").set_original("sms");
MACHINE_CONFIG_END
diff --git a/src/devices/bus/sg1000_exp/sk1100.cpp b/src/devices/bus/sg1000_exp/sk1100.cpp
index 5e9660e1547..3ce616afded 100644
--- a/src/devices/bus/sg1000_exp/sk1100.cpp
+++ b/src/devices/bus/sg1000_exp/sk1100.cpp
@@ -154,14 +154,15 @@ ioport_constructor sega_sk1100_device::device_input_ports() const
}
-MACHINE_CONFIG_START(sega_sk1100_device::device_add_mconfig)
+void sega_sk1100_device::device_add_mconfig(machine_config &config)
+{
/* devices */
I8255(config, m_ppi);
m_ppi->in_pa_callback().set(FUNC(sega_sk1100_device::ppi_pa_r));
m_ppi->in_pb_callback().set(FUNC(sega_sk1100_device::ppi_pb_r));
m_ppi->out_pc_callback().set(FUNC(sega_sk1100_device::ppi_pc_w));
-// MCFG_PRINTER_ADD("sp400") /* serial printer */
+// PRINTER(config, "sp400", 0); /* serial printer */
CASSETTE(config, m_cassette);
m_cassette->set_formats(sc3000_cassette_formats);
@@ -169,9 +170,9 @@ MACHINE_CONFIG_START(sega_sk1100_device::device_add_mconfig)
m_cassette->set_interface("sc3000_cass");
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("sc3k_cart_list","sc3000_cart")
- MCFG_SOFTWARE_LIST_ADD("cass_list","sc3000_cass")
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config, "sc3k_cart_list").set_original("sc3000_cart");
+ SOFTWARE_LIST(config, "cass_list").set_original("sc3000_cass");
+}
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/svi3x8/expander/sv603.cpp b/src/devices/bus/svi3x8/expander/sv603.cpp
index a35b46e3f84..89c8eb610ac 100644
--- a/src/devices/bus/svi3x8/expander/sv603.cpp
+++ b/src/devices/bus/svi3x8/expander/sv603.cpp
@@ -46,7 +46,7 @@ MACHINE_CONFIG_START(sv603_device::device_add_mconfig)
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "coleco_cart")
MCFG_GENERIC_EXTENSIONS("bin,rom,col")
MCFG_GENERIC_LOAD(sv603_device, cartridge)
- MCFG_SOFTWARE_LIST_ADD("cart_list", "coleco")
+ SOFTWARE_LIST(config, "cart_list").set_original("coleco");
MACHINE_CONFIG_END
diff --git a/src/devices/bus/vme/vme.h b/src/devices/bus/vme/vme.h
index a2b2ab944eb..7af8d0961c0 100644
--- a/src/devices/bus/vme/vme.h
+++ b/src/devices/bus/vme/vme.h
@@ -249,7 +249,4 @@ private:
downcast<vme_slot_device &>(*device).update_vme_chains(_slotnbr); \
}
-#define MCFG_VME_SLOT_REMOVE(_tag) \
- MCFG_DEVICE_REMOVE(_tag)
-
#endif // MAME_BUS_VME_VME_H
diff --git a/src/devices/machine/appldriv.h b/src/devices/machine/appldriv.h
index 1a396990167..ad951f6d0fa 100644
--- a/src/devices/machine/appldriv.h
+++ b/src/devices/machine/appldriv.h
@@ -88,8 +88,4 @@ DECLARE_DEVICE_TYPE(FLOPPY_APPLE, apple525_floppy_image_device)
MCFG_LEGACY_FLOPPY_CONFIG(_config) \
MCFG_LEGACY_FLOPPY_APPLE_PARAMS(_dividend,_divisor)
-#define MCFG_LEGACY_FLOPPY_APPLE_2_DRIVES_REMOVE() \
- MCFG_DEVICE_REMOVE(FLOPPY_0) \
- MCFG_DEVICE_REMOVE(FLOPPY_1)
-
#endif // MAME_MACHINE_APPLDRIV_H
diff --git a/src/devices/machine/pdc.cpp b/src/devices/machine/pdc.cpp
index 8437cc4fdad..20b0c627dc5 100644
--- a/src/devices/machine/pdc.cpp
+++ b/src/devices/machine/pdc.cpp
@@ -261,7 +261,7 @@ void pdc_device::device_add_mconfig(machine_config &config)
Z80(config, m_pdccpu, XTAL(10'000'000) / 2);
m_pdccpu->set_addrmap(AS_PROGRAM, &pdc_device::pdc_mem);
m_pdccpu->set_addrmap(AS_IO, &pdc_device::pdc_io);
- //MCFG_QUANTUM_PERFECT_CPU(M6502_TAG)
+ //config.m_perfect_cpu_quantum = subtag(M6502_TAG);
/* Floppy Disk Controller - uPD765a - NEC D765AC-2 */
UPD765A(config, m_fdc, 4'000'000, true, true);
diff --git a/src/emu/mconfig.h b/src/emu/mconfig.h
index 787c2411fc7..16f431a9eb8 100644
--- a/src/emu/mconfig.h
+++ b/src/emu/mconfig.h
@@ -245,19 +245,11 @@ Ends a machine_config.
/** @name Core machine config options */
//*************************************************************************/
-// scheduling parameters
-#define MCFG_QUANTUM_TIME(_time) \
- config.m_minimum_quantum = _time;
-#define MCFG_QUANTUM_PERFECT_CPU(_cputag) \
- config.m_perfect_cpu_quantum = subtag(_cputag);
-
// add/remove devices
#define MCFG_DEVICE_ADD(_tag, ...) \
device = emu::detail::device_add_impl(config, _tag, __VA_ARGS__);
#define MCFG_DEVICE_REPLACE(_tag, ...) \
device = emu::detail::device_replace_impl(config, _tag, __VA_ARGS__);
-#define MCFG_DEVICE_REMOVE(_tag) \
- device = config.device_remove(_tag);
#define MCFG_DEVICE_MODIFY(_tag) \
device = config.device_find(this, _tag);
diff --git a/src/emu/softlist_dev.h b/src/emu/softlist_dev.h
index 50cd2e01753..4370ec8a20d 100644
--- a/src/emu/softlist_dev.h
+++ b/src/emu/softlist_dev.h
@@ -40,37 +40,6 @@ enum software_compatibility
//**************************************************************************
-// MACROS
-//**************************************************************************
-
-#define MCFG_SOFTWARE_LIST_CONFIG(_list,_list_type) \
- downcast<software_list_device &>(*device).set_type(_list, _list_type);
-
-#define MCFG_SOFTWARE_LIST_ADD( _tag, _list ) \
- MCFG_DEVICE_ADD( _tag, SOFTWARE_LIST ) \
- MCFG_SOFTWARE_LIST_CONFIG(_list, SOFTWARE_LIST_ORIGINAL_SYSTEM)
-
-#define MCFG_SOFTWARE_LIST_COMPATIBLE_ADD( _tag, _list ) \
- MCFG_DEVICE_ADD( _tag, SOFTWARE_LIST ) \
- MCFG_SOFTWARE_LIST_CONFIG(_list, SOFTWARE_LIST_COMPATIBLE_SYSTEM)
-
-#define MCFG_SOFTWARE_LIST_MODIFY( _tag, _list ) \
- MCFG_DEVICE_MODIFY( _tag ) \
- MCFG_SOFTWARE_LIST_CONFIG(_list, SOFTWARE_LIST_ORIGINAL_SYSTEM)
-
-#define MCFG_SOFTWARE_LIST_COMPATIBLE_MODIFY( _tag, _list ) \
- MCFG_DEVICE_MODIFY( _tag ) \
- MCFG_SOFTWARE_LIST_CONFIG(_list, SOFTWARE_LIST_COMPATIBLE_SYSTEM)
-
-#define MCFG_SOFTWARE_LIST_FILTER( _tag, _filter ) \
- MCFG_DEVICE_MODIFY( _tag ) \
- downcast<software_list_device &>(*device).set_filter(_filter);
-
-#define MCFG_SOFTWARE_LIST_REMOVE( _tag ) \
- MCFG_DEVICE_REMOVE( _tag )
-
-
-//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
diff --git a/src/mame/audio/bwidow.cpp b/src/mame/audio/bwidow.cpp
index 0384035ff91..e2d2d6c6b2c 100644
--- a/src/mame/audio/bwidow.cpp
+++ b/src/mame/audio/bwidow.cpp
@@ -165,7 +165,7 @@ void bwidow_state::bwidow_audio(machine_config &config)
DISCRETE(config, "discrete", bwidow_discrete).add_route(ALL_OUTPUTS, "mono", 1.0);
- //MCFG_QUANTUM_PERFECT_CPU("pokey1")
+ //config.m_perfect_cpu_quantum = subtag("pokey1");
}
void bwidow_state::gravitar_audio(machine_config &config)
diff --git a/src/mame/audio/s11c_bg.cpp b/src/mame/audio/s11c_bg.cpp
index 7ababf96d48..941a5d16e80 100644
--- a/src/mame/audio/s11c_bg.cpp
+++ b/src/mame/audio/s11c_bg.cpp
@@ -61,7 +61,7 @@ void s11c_bg_device::data_w(uint8_t data)
MACHINE_CONFIG_START(s11c_bg_device::device_add_mconfig)
MCFG_DEVICE_ADD("bgcpu", MC6809E, XTAL(8'000'000) / 4) // MC68B09E
MCFG_DEVICE_PROGRAM_MAP(s11c_bg_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(50))
+ config.m_minimum_quantum = attotime::from_hz(50);
YM2151(config, m_ym2151, XTAL(3'579'545)); // "3.58 MHz" on schematics and parts list
m_ym2151->irq_handler().set(FUNC(s11c_bg_device::ym2151_irq_w));
diff --git a/src/mame/audio/wpcsnd.cpp b/src/mame/audio/wpcsnd.cpp
index bb34e560a8d..e49b3b89be6 100644
--- a/src/mame/audio/wpcsnd.cpp
+++ b/src/mame/audio/wpcsnd.cpp
@@ -72,7 +72,7 @@ uint8_t wpcsnd_device::data_r()
MACHINE_CONFIG_START(wpcsnd_device::device_add_mconfig)
MCFG_DEVICE_ADD("bgcpu", MC6809E, XTAL(8'000'000) / 4) // MC68B09E
MCFG_DEVICE_PROGRAM_MAP(wpcsnd_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(50))
+ config.m_minimum_quantum = attotime::from_hz(50);
YM2151(config, m_ym2151, 3580000);
m_ym2151->irq_handler().set(FUNC(wpcsnd_device::ym2151_irq_w));
diff --git a/src/mame/drivers/abc1600.cpp b/src/mame/drivers/abc1600.cpp
index 305abf1935f..f27130b8005 100644
--- a/src/mame/drivers/abc1600.cpp
+++ b/src/mame/drivers/abc1600.cpp
@@ -973,7 +973,7 @@ MACHINE_CONFIG_START(abc1600_state::abc1600)
RAM(config, RAM_TAG).set_default_size("1M");
// software list
- MCFG_SOFTWARE_LIST_ADD("flop_list", "abc1600")
+ SOFTWARE_LIST(config, "flop_list").set_original("abc1600");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/abc80.cpp b/src/mame/drivers/abc80.cpp
index 32863da241f..b31b6520681 100644
--- a/src/mame/drivers/abc80.cpp
+++ b/src/mame/drivers/abc80.cpp
@@ -537,8 +537,8 @@ MACHINE_CONFIG_START(abc80_state::abc80)
RAM(config, RAM_TAG).set_default_size("16K");
// software list
- MCFG_SOFTWARE_LIST_ADD("cass_list", "abc80_cass")
- MCFG_SOFTWARE_LIST_ADD("flop_list", "abc80_flop")
+ SOFTWARE_LIST(config, "cass_list").set_original("abc80_cass");
+ SOFTWARE_LIST(config, "flop_list").set_original("abc80_flop");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/abc80x.cpp b/src/mame/drivers/abc80x.cpp
index 8315caa431a..a04e402315a 100644
--- a/src/mame/drivers/abc80x.cpp
+++ b/src/mame/drivers/abc80x.cpp
@@ -1110,8 +1110,8 @@ MACHINE_CONFIG_START(abc800_state::common)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
// software list
- MCFG_SOFTWARE_LIST_ADD("flop_list", "abc800")
- MCFG_SOFTWARE_LIST_ADD("hdd_list", "abc800_hdd")
+ SOFTWARE_LIST(config, "flop_list").set_original("abc800");
+ SOFTWARE_LIST(config, "hdd_list").set_original("abc800_hdd");
// quickload
MCFG_QUICKLOAD_ADD("quickload", abc800_state, bac, "bac", 2)
@@ -1230,7 +1230,7 @@ MACHINE_CONFIG_START(abc806_state::abc806)
RAM(config, RAM_TAG).set_default_size("160K").set_extra_options("544K");
// software list
- MCFG_SOFTWARE_LIST_ADD("flop_list2", "abc806")
+ SOFTWARE_LIST(config, "flop_list2").set_original("abc806");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/adam.cpp b/src/mame/drivers/adam.cpp
index 6d1a69c2db5..a18013fb1dc 100644
--- a/src/mame/drivers/adam.cpp
+++ b/src/mame/drivers/adam.cpp
@@ -1042,7 +1042,7 @@ void adam_state::adam(machine_config &config)
m_netcpu->out_p3_cb().set(FUNC(adam_state::m6801_p3_w));
m_netcpu->out_p4_cb().set(FUNC(adam_state::m6801_p4_w));
m_netcpu->out_sc2_cb().set(FUNC(adam_state::os3_w));
- MCFG_QUANTUM_PERFECT_CPU(M6801_TAG)
+ config.m_perfect_cpu_quantum = subtag(M6801_TAG);
// video hardware
TMS9928A(config, m_vdc, XTAL(10'738'635)).set_screen("screen");
diff --git a/src/mame/drivers/aim65.cpp b/src/mame/drivers/aim65.cpp
index 1237921e201..0aa75c8b772 100644
--- a/src/mame/drivers/aim65.cpp
+++ b/src/mame/drivers/aim65.cpp
@@ -272,7 +272,7 @@ MACHINE_CONFIG_START(aim65_state::aim65)
RAM(config, RAM_TAG).set_default_size("4K").set_extra_options("1K,2K,3K");
/* Software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list","aim65_cart")
+ SOFTWARE_LIST(config, "cart_list").set_original("aim65_cart");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/airbustr.cpp b/src/mame/drivers/airbustr.cpp
index 0114ab2e3e6..9c83c3eff46 100644
--- a/src/mame/drivers/airbustr.cpp
+++ b/src/mame/drivers/airbustr.cpp
@@ -580,7 +580,7 @@ MACHINE_CONFIG_START(airbustr_state::airbustr)
MCFG_DEVICE_IO_MAP(sound_io_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", airbustr_state, irq0_line_hold) // nmi are caused by sub cpu writing a sound command
- MCFG_QUANTUM_TIME(attotime::from_hz(6000)) // Palette RAM is filled by sub cpu with data supplied by main cpu
+ config.m_minimum_quantum = attotime::from_hz(6000); // Palette RAM is filled by sub cpu with data supplied by main cpu
// Maybe a high value is safer in order to avoid glitches
WATCHDOG_TIMER(config, m_watchdog).set_time(attotime::from_seconds(3)); /* a guess, and certainly wrong */
diff --git a/src/mame/drivers/airraid.cpp b/src/mame/drivers/airraid.cpp
index efcd04d37c0..02e407a0f8c 100644
--- a/src/mame/drivers/airraid.cpp
+++ b/src/mame/drivers/airraid.cpp
@@ -401,7 +401,7 @@ MACHINE_CONFIG_START(airraid_state::airraid)
MCFG_DEVICE_OPCODES_MAP(airraid_sound_decrypted_opcodes_map)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("seibu_sound", seibu_sound_device, im0_vector_cb)
- MCFG_QUANTUM_PERFECT_CPU("maincpu")
+ config.m_perfect_cpu_quantum = subtag("maincpu");
PALETTE(config, m_palette).set_format(palette_device::xBGR_444, 0x100);
diff --git a/src/mame/drivers/alphatpx.cpp b/src/mame/drivers/alphatpx.cpp
index 3afe18785d1..4f6c6a9578c 100644
--- a/src/mame/drivers/alphatpx.cpp
+++ b/src/mame/drivers/alphatpx.cpp
@@ -1209,7 +1209,7 @@ MACHINE_CONFIG_START(alphatp_12_state::alphatp2)
MCFG_DEVICE_PROGRAM_MAP(alphatp2_mem)
MCFG_DEVICE_IO_MAP(alphatp2_io)
- MCFG_QUANTUM_PERFECT_CPU("maincpu")
+ config.m_perfect_cpu_quantum = subtag("maincpu");
I8041(config, m_kbdmcu, 12.8544_MHz_XTAL / 2);
m_kbdmcu->t0_in_cb().set(FUNC(alphatp_12_state::kbd_matrix_r));
@@ -1287,7 +1287,7 @@ MACHINE_CONFIG_START(alphatp_34_state::alphatp3)
MCFG_DEVICE_PROGRAM_MAP(alphatp3_mem)
MCFG_DEVICE_IO_MAP(alphatp3_io)
- MCFG_QUANTUM_PERFECT_CPU("maincpu")
+ config.m_perfect_cpu_quantum = subtag("maincpu");
I8041(config, m_kbdmcu, 12.8544_MHz_XTAL /2);
m_kbdmcu->t0_in_cb().set(FUNC(alphatp_34_state::kbd_matrix_r));
diff --git a/src/mame/drivers/alphatro.cpp b/src/mame/drivers/alphatro.cpp
index c091fddb153..8650dac5ddd 100644
--- a/src/mame/drivers/alphatro.cpp
+++ b/src/mame/drivers/alphatro.cpp
@@ -757,7 +757,7 @@ MACHINE_CONFIG_START(alphatro_state::alphatro)
m_fdc->drq_wr_callback().set(m_dmac, FUNC(i8257_device::dreq2_w));
FLOPPY_CONNECTOR(config, "fdc:0", alphatro_floppies, "525dd", alphatro_state::floppy_formats);
FLOPPY_CONNECTOR(config, "fdc:1", alphatro_floppies, "525dd", alphatro_state::floppy_formats);
- MCFG_SOFTWARE_LIST_ADD("flop_list", "alphatro_flop")
+ SOFTWARE_LIST(config, "flop_list").set_original("alphatro_flop");
I8257(config, m_dmac, 16_MHz_XTAL / 4);
m_dmac->out_hrq_cb().set(FUNC(alphatro_state::hrq_w));
@@ -783,7 +783,7 @@ MACHINE_CONFIG_START(alphatro_state::alphatro)
CASSETTE(config, m_cass);
m_cass->set_default_state(CASSETTE_PLAY | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
m_cass->set_interface("alphatro_cass");
- MCFG_SOFTWARE_LIST_ADD("cass_list","alphatro_cass")
+ SOFTWARE_LIST(config, "cass_list").set_original("alphatro_cass");
TIMER(config, "timer_c").configure_periodic(FUNC(alphatro_state::timer_c), attotime::from_hz(4800));
TIMER(config, "timer_p").configure_periodic(FUNC(alphatro_state::timer_p), attotime::from_hz(40000));
@@ -794,7 +794,7 @@ MACHINE_CONFIG_START(alphatro_state::alphatro)
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "alphatro_cart")
MCFG_GENERIC_EXTENSIONS("bin")
MCFG_GENERIC_LOAD(alphatro_state, cart_load)
- MCFG_SOFTWARE_LIST_ADD("cart_list","alphatro_cart")
+ SOFTWARE_LIST(config, "cart_list").set_original("alphatro_cart");
/* 0000 banking */
ADDRESS_MAP_BANK(config, "lowbank").set_map(&alphatro_state::rombank_map).set_options(ENDIANNESS_BIG, 8, 32, 0x6000);
diff --git a/src/mame/drivers/altos5.cpp b/src/mame/drivers/altos5.cpp
index 0041abad370..665461025bc 100644
--- a/src/mame/drivers/altos5.cpp
+++ b/src/mame/drivers/altos5.cpp
@@ -473,7 +473,7 @@ MACHINE_CONFIG_START(altos5_state::altos5)
FLOPPY_CONNECTOR(config, "fdc:0", altos5_floppies, "525qd", floppy_image_device::default_floppy_formats).enable_sound(true);
FLOPPY_CONNECTOR(config, "fdc:1", altos5_floppies, "525qd", floppy_image_device::default_floppy_formats).enable_sound(true);
- MCFG_SOFTWARE_LIST_ADD("flop_list", "altos5")
+ SOFTWARE_LIST(config, "flop_list").set_original("altos5");
MCFG_QUICKLOAD_ADD("quickload", altos5_state, altos5, "com,cpm", 3)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/amiga.cpp b/src/mame/drivers/amiga.cpp
index 0e6e599926e..32d834613da 100644
--- a/src/mame/drivers/amiga.cpp
+++ b/src/mame/drivers/amiga.cpp
@@ -1621,11 +1621,11 @@ MACHINE_CONFIG_START(amiga_state::amiga_base)
m_centronics->set_output_latch(cent_data_out);
// software
- MCFG_SOFTWARE_LIST_ADD("wb_list", "amiga_workbench")
- MCFG_SOFTWARE_LIST_ADD("hardware_list", "amiga_hardware")
- MCFG_SOFTWARE_LIST_ADD("apps_list", "amiga_apps")
- MCFG_SOFTWARE_LIST_ADD("flop_list", "amiga_flop")
- MCFG_SOFTWARE_LIST_ADD("ocs_list", "amigaocs_flop")
+ SOFTWARE_LIST(config, "wb_list").set_original("amiga_workbench");
+ SOFTWARE_LIST(config, "hardware_list").set_original("amiga_hardware");
+ SOFTWARE_LIST(config, "apps_list").set_original("amiga_apps");
+ SOFTWARE_LIST(config, "flop_list").set_original("amiga_flop");
+ SOFTWARE_LIST(config, "ocs_list").set_original("amigaocs_flop");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(a1000_state::a1000)
@@ -1647,7 +1647,7 @@ MACHINE_CONFIG_START(a1000_state::a1000)
ADDRESS_MAP_BANK(config, "overlay").set_map(&a1000_state::a1000_overlay_map).set_options(ENDIANNESS_BIG, 16, 22, 0x200000);
ADDRESS_MAP_BANK(config, "bootrom").set_map(&a1000_state::a1000_bootrom_map).set_options(ENDIANNESS_BIG, 16, 19, 0x40000);
- MCFG_SOFTWARE_LIST_ADD("a1000_list", "amiga_a1000")
+ SOFTWARE_LIST(config, "a1000_list").set_original("amiga_a1000");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(a1000_state::a1000n)
@@ -1810,7 +1810,7 @@ MACHINE_CONFIG_START(cdtv_state::cdtv)
m_cdrom->dten_handler().set("u36", FUNC(amiga_dmac_device::xdreq_w));
// software
- MCFG_SOFTWARE_LIST_ADD("cd_list", "cdtv")
+ SOFTWARE_LIST(config, "cd_list").set_original("cdtv");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(cdtv_state::cdtvn)
@@ -1849,8 +1849,8 @@ MACHINE_CONFIG_START(a3000_state::a3000)
// todo: zorro3 slots, super dmac, scsi
// software
- MCFG_SOFTWARE_LIST_ADD("a3000_list", "amiga_a3000")
- MCFG_SOFTWARE_LIST_ADD("ecs_list", "amigaecs_flop")
+ SOFTWARE_LIST(config, "a3000_list").set_original("amiga_a3000");
+ SOFTWARE_LIST(config, "ecs_list").set_original("amigaecs_flop");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(a3000_state::a3000n)
@@ -1885,7 +1885,7 @@ MACHINE_CONFIG_START(a500p_state::a500p)
MCFG_EXPANSION_SLOT_ADD("maincpu", a500_expansion_cards, nullptr)
// software
- MCFG_SOFTWARE_LIST_ADD("ecs_list", "amigaecs_flop")
+ SOFTWARE_LIST(config, "ecs_list").set_original("amigaecs_flop");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(a500p_state::a500pn)
@@ -1931,7 +1931,7 @@ MACHINE_CONFIG_START(a600_state::a600)
// todo: pcmcia
// software
- MCFG_SOFTWARE_LIST_ADD("ecs_list", "amigaecs_flop")
+ SOFTWARE_LIST(config, "ecs_list").set_original("amigaecs_flop");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(a600_state::a600n)
@@ -1993,8 +1993,8 @@ MACHINE_CONFIG_START(a1200_state::a1200)
// todo: pcmcia
// software
- MCFG_SOFTWARE_LIST_ADD("aga_list", "amigaaga_flop")
- MCFG_SOFTWARE_LIST_ADD("ecs_list", "amigaecs_flop")
+ SOFTWARE_LIST(config, "aga_list").set_original("amigaaga_flop");
+ SOFTWARE_LIST(config, "ecs_list").set_original("amigaecs_flop");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(a1200_state::a1200n)
@@ -2048,8 +2048,8 @@ MACHINE_CONFIG_START(a4000_state::a4000)
// todo: zorro3
// software
- MCFG_SOFTWARE_LIST_ADD("aga_list", "amigaaga_flop")
- MCFG_SOFTWARE_LIST_ADD("ecs_list", "amigaecs_flop")
+ SOFTWARE_LIST(config, "aga_list").set_original("amigaaga_flop");
+ SOFTWARE_LIST(config, "ecs_list").set_original("amigaecs_flop");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(a4000_state::a4000n)
@@ -2128,7 +2128,7 @@ MACHINE_CONFIG_START(cd32_state::cd32)
m_cia_0->sp_wr_callback().set_nop();
CDROM(config, "cdrom").set_interface("cd32_cdrom");
- MCFG_SOFTWARE_LIST_ADD("cd_list", "cd32")
+ SOFTWARE_LIST(config, "cd_list").set_original("cd32");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(cd32_state::cd32n)
diff --git a/src/mame/drivers/amspdwy.cpp b/src/mame/drivers/amspdwy.cpp
index 6e5d3fd4e4c..afb0e8e3561 100644
--- a/src/mame/drivers/amspdwy.cpp
+++ b/src/mame/drivers/amspdwy.cpp
@@ -258,7 +258,7 @@ MACHINE_CONFIG_START(amspdwy_state::amspdwy)
MCFG_DEVICE_ADD("audiocpu", Z80, 3000000)
MCFG_DEVICE_PROGRAM_MAP(amspdwy_sound_map)
- MCFG_QUANTUM_PERFECT_CPU("maincpu")
+ config.m_perfect_cpu_quantum = subtag("maincpu");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/amstrad.cpp b/src/mame/drivers/amstrad.cpp
index d4f2155dc09..c91e1246b88 100644
--- a/src/mame/drivers/amstrad.cpp
+++ b/src/mame/drivers/amstrad.cpp
@@ -813,7 +813,7 @@ MACHINE_CONFIG_START(amstrad_state::cpcplus_cartslot)
MCFG_GENERIC_MANDATORY
MCFG_GENERIC_LOAD(amstrad_state, amstrad_plus_cartridge)
- MCFG_SOFTWARE_LIST_ADD("cart_list", "gx4000")
+ SOFTWARE_LIST(config, "cart_list").set_original("gx4000");
MACHINE_CONFIG_END
void cpc464_exp_cards(device_slot_interface &device)
@@ -910,7 +910,7 @@ MACHINE_CONFIG_START(amstrad_state::amstrad_base)
MCFG_DEVICE_IO_MAP(amstrad_io)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(amstrad_state,amstrad_cpu_acknowledge_int)
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
MCFG_MACHINE_START_OVERRIDE(amstrad_state, amstrad )
MCFG_MACHINE_RESET_OVERRIDE(amstrad_state, amstrad )
@@ -961,7 +961,7 @@ MACHINE_CONFIG_START(amstrad_state::amstrad_base)
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED);
m_cassette->set_interface("cpc_cass");
- MCFG_SOFTWARE_LIST_ADD("cass_list","cpc_cass")
+ SOFTWARE_LIST(config, "cass_list").set_original("cpc_cass");
MACHINE_CONFIG_END
@@ -979,12 +979,13 @@ MACHINE_CONFIG_START(amstrad_state::cpc464)
RAM(config, m_ram).set_default_size("64K").set_extra_options("128K,320K,576K");
MACHINE_CONFIG_END
-MACHINE_CONFIG_START(amstrad_state::cpc664)
+void amstrad_state::cpc664(machine_config &config)
+{
amstrad_base(config);
UPD765A(config, m_fdc, 16_MHz_XTAL / 4, true, true);
FLOPPY_CONNECTOR(config, "upd765:0", amstrad_floppies, "3ssdd", floppy_image_device::default_floppy_formats);
FLOPPY_CONNECTOR(config, "upd765:1", amstrad_floppies, "35ssdd", floppy_image_device::default_floppy_formats);
- MCFG_SOFTWARE_LIST_ADD("flop_list","cpc_flop")
+ SOFTWARE_LIST(config, "flop_list").set_original("cpc_flop");
cpc_expansion_slot_device &exp(CPC_EXPANSION_SLOT(config, "exp", 16_MHz_XTAL / 4, cpc_exp_cards, nullptr));
exp.set_cpu_tag(m_maincpu);
@@ -995,14 +996,15 @@ MACHINE_CONFIG_START(amstrad_state::cpc664)
/* internal ram */
RAM(config, m_ram).set_default_size("64K").set_extra_options("128K,320K,576K");
-MACHINE_CONFIG_END
+}
-MACHINE_CONFIG_START(amstrad_state::cpc6128)
+void amstrad_state::cpc6128(machine_config &config)
+{
amstrad_base(config);
UPD765A(config, m_fdc, 16_MHz_XTAL / 4, true, true);
FLOPPY_CONNECTOR(config, "upd765:0", amstrad_floppies, "3ssdd", floppy_image_device::default_floppy_formats);
FLOPPY_CONNECTOR(config, "upd765:1", amstrad_floppies, "35ssdd", floppy_image_device::default_floppy_formats);
- MCFG_SOFTWARE_LIST_ADD("flop_list","cpc_flop")
+ SOFTWARE_LIST(config, "flop_list").set_original("cpc_flop");
cpc_expansion_slot_device &exp(CPC_EXPANSION_SLOT(config, "exp", 16_MHz_XTAL / 4, cpc_exp_cards, nullptr));
exp.set_cpu_tag(m_maincpu);
@@ -1013,7 +1015,7 @@ MACHINE_CONFIG_START(amstrad_state::cpc6128)
/* internal ram */
RAM(config, m_ram).set_default_size("128K").set_extra_options("320K,576K");
-MACHINE_CONFIG_END
+}
MACHINE_CONFIG_START(amstrad_state::kccomp)
@@ -1032,7 +1034,7 @@ MACHINE_CONFIG_START(amstrad_state::cpcplus)
MCFG_DEVICE_IO_MAP(amstrad_io)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(amstrad_state,amstrad_cpu_acknowledge_int)
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
MCFG_MACHINE_START_OVERRIDE(amstrad_state, plus )
MCFG_MACHINE_RESET_OVERRIDE(amstrad_state, plus )
@@ -1081,7 +1083,7 @@ MACHINE_CONFIG_START(amstrad_state::cpcplus)
m_cassette->set_formats(cdt_cassette_formats);
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED);
m_cassette->set_interface("cpc_cass");
- MCFG_SOFTWARE_LIST_ADD("cass_list","cpc_cass")
+ SOFTWARE_LIST(config, "cass_list").set_original("cpc_cass");
UPD765A(config, m_fdc, 40_MHz_XTAL / 10, true, true);
@@ -1089,7 +1091,7 @@ MACHINE_CONFIG_START(amstrad_state::cpcplus)
FLOPPY_CONNECTOR(config, "upd765:0", amstrad_floppies, "3ssdd", floppy_image_device::default_floppy_formats);
FLOPPY_CONNECTOR(config, "upd765:1", amstrad_floppies, "35ssdd", floppy_image_device::default_floppy_formats);
- MCFG_SOFTWARE_LIST_ADD("flop_list","cpc_flop")
+ SOFTWARE_LIST(config, "flop_list").set_original("cpc_flop");
cpc_expansion_slot_device &exp(CPC_EXPANSION_SLOT(config, "exp", 40_MHz_XTAL / 10, cpcplus_exp_cards, nullptr));
exp.set_cpu_tag(m_maincpu);
@@ -1110,7 +1112,7 @@ MACHINE_CONFIG_START(amstrad_state::gx4000)
MCFG_DEVICE_IO_MAP(amstrad_io)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(amstrad_state,amstrad_cpu_acknowledge_int)
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
MCFG_MACHINE_START_OVERRIDE(amstrad_state, gx4000 )
MCFG_MACHINE_RESET_OVERRIDE(amstrad_state, gx4000 )
@@ -1180,9 +1182,8 @@ MACHINE_CONFIG_START(amstrad_state::aleste)
FLOPPY_CONNECTOR(config, "upd765:0", aleste_floppies, "35dd", amstrad_state::aleste_floppy_formats);
FLOPPY_CONNECTOR(config, "upd765:1", aleste_floppies, "35dd", amstrad_state::aleste_floppy_formats);
- config.device_remove("flop_list");
- MCFG_SOFTWARE_LIST_ADD("flop_list", "aleste")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("cpc_list", "cpc_flop")
+ SOFTWARE_LIST(config.replace(), "flop_list").set_original("aleste");
+ SOFTWARE_LIST(config, "cpc_list").set_compatible("cpc_flop");
/* internal ram */
m_ram->set_default_size("2M");
diff --git a/src/mame/drivers/apc.cpp b/src/mame/drivers/apc.cpp
index e5e1c488a99..00c186b681b 100644
--- a/src/mame/drivers/apc.cpp
+++ b/src/mame/drivers/apc.cpp
@@ -979,7 +979,7 @@ MACHINE_CONFIG_START(apc_state::apc)
m_fdc->drq_wr_callback().set(m_dmac, FUNC(am9517a_device::dreq1_w));
FLOPPY_CONNECTOR(config, m_fdc_connector[0], apc_floppies, "8", apc_floppy_formats);
FLOPPY_CONNECTOR(config, m_fdc_connector[1], apc_floppies, "8", apc_floppy_formats);
- MCFG_SOFTWARE_LIST_ADD("disk_list","apc")
+ SOFTWARE_LIST(config, "disk_list").set_original("apc");
/* video hardware */
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
diff --git a/src/mame/drivers/apf.cpp b/src/mame/drivers/apf.cpp
index 380e51c928c..6626854ae95 100644
--- a/src/mame/drivers/apf.cpp
+++ b/src/mame/drivers/apf.cpp
@@ -553,7 +553,7 @@ MACHINE_CONFIG_START(apf_state::apfm1000)
MCFG_APF_CARTRIDGE_ADD("cartslot", apf_cart, nullptr)
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list", "apfm1000")
+ SOFTWARE_LIST(config, "cart_list").set_original("apfm1000");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(apf_state::apfimag)
@@ -580,7 +580,7 @@ MACHINE_CONFIG_START(apf_state::apfimag)
FLOPPY_CONNECTOR(config, "fdc:0", apf_floppies, "525dd", floppy_image_device::default_floppy_formats).enable_sound(true);
FLOPPY_CONNECTOR(config, "fdc:1", apf_floppies, "525dd", floppy_image_device::default_floppy_formats).enable_sound(true);
- MCFG_SOFTWARE_LIST_ADD("cass_list", "apfimag_cass")
+ SOFTWARE_LIST(config, "cass_list").set_original("apfimag_cass");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/apollo.cpp b/src/mame/drivers/apollo.cpp
index 1102f3cde86..0a1a3d6cc54 100644
--- a/src/mame/drivers/apollo.cpp
+++ b/src/mame/drivers/apollo.cpp
@@ -1050,7 +1050,7 @@ MACHINE_CONFIG_START(apollo_state::dn3500)
MCFG_DEVICE_PROGRAM_MAP(dn3500_map)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(apollo_state,apollo_irq_acknowledge)
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
apollo(config);
@@ -1072,7 +1072,7 @@ MACHINE_CONFIG_START(apollo_state::dsp3500)
MCFG_DEVICE_ADD(MAINCPU, M68030, 25000000) /* 25 MHz 68030 */
MCFG_DEVICE_PROGRAM_MAP(dsp3500_map)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(apollo_state,apollo_irq_acknowledge)
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
apollo_terminal(config);
@@ -1124,7 +1124,7 @@ MACHINE_CONFIG_START(apollo_state::dsp3000)
MCFG_DEVICE_ADD(MAINCPU, M68020PMMU, 12000000) /* 12 MHz */
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(apollo_state,apollo_irq_acknowledge)
MCFG_DEVICE_PROGRAM_MAP(dsp3000_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
apollo_terminal(config);
@@ -1172,7 +1172,7 @@ MACHINE_CONFIG_START(apollo_state::dsp5500)
MCFG_DEVICE_ADD(MAINCPU, M68040, 25000000) /* 25 MHz */
MCFG_DEVICE_PROGRAM_MAP(dsp5500_map)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(apollo_state,apollo_irq_acknowledge)
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
apollo_terminal(config);
diff --git a/src/mame/drivers/apple1.cpp b/src/mame/drivers/apple1.cpp
index 258c0b5465d..a47e4cfa0e3 100644
--- a/src/mame/drivers/apple1.cpp
+++ b/src/mame/drivers/apple1.cpp
@@ -617,7 +617,7 @@ MACHINE_CONFIG_START(apple1_state::apple1)
MCFG_SNAPSHOT_ADD("snapshot", apple1_state, apple1, "snp", 0)
- MCFG_SOFTWARE_LIST_ADD("cass_list", "apple1")
+ SOFTWARE_LIST(config, "cass_list").set_original("apple1");
RAM(config, RAM_TAG).set_default_size("48K").set_extra_options("4K,8K,12K,16K,20K,24K,28K,32K,36K,40K,44K");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/apple2.cpp b/src/mame/drivers/apple2.cpp
index ee91323df9b..d39baa66a61 100644
--- a/src/mame/drivers/apple2.cpp
+++ b/src/mame/drivers/apple2.cpp
@@ -1369,7 +1369,8 @@ static void apple2_cards(device_slot_interface &device)
// device.option_add("magicmusician", A2BUS_MAGICMUSICIAN); /* Magic Musician Card */
}
-MACHINE_CONFIG_START(apple2_state::apple2_common)
+void apple2_state::apple2_common(machine_config &config)
+{
/* basic machine hardware */
M6502(config, m_maincpu, 1021800);
m_maincpu->set_addrmap(AS_PROGRAM, &apple2_state::apple2_map);
@@ -1438,14 +1439,14 @@ MACHINE_CONFIG_START(apple2_state::apple2_common)
A2BUS_SLOT(config, "sl6", m_a2bus, apple2_cards, "diskiing");
A2BUS_SLOT(config, "sl7", m_a2bus, apple2_cards, nullptr);
- MCFG_SOFTWARE_LIST_ADD("flop525_list","apple2")
+ SOFTWARE_LIST(config, "flop525_list").set_original("apple2");
SOFTWARE_LIST(config, "flop525_orig").set_compatible("apple2_flop_orig").set_filter("A2");
- MCFG_SOFTWARE_LIST_ADD("cass_list", "apple2_cass")
+ SOFTWARE_LIST(config, "cass_list").set_original("apple2_cass");
CASSETTE(config, m_cassette);
m_cassette->set_default_state(CASSETTE_STOPPED);
m_cassette->set_interface("apple2_cass");
-MACHINE_CONFIG_END
+}
void apple2_state::apple2(machine_config &config)
{
diff --git a/src/mame/drivers/apple2e.cpp b/src/mame/drivers/apple2e.cpp
index 716d23b2690..5cd5db267c6 100644
--- a/src/mame/drivers/apple2e.cpp
+++ b/src/mame/drivers/apple2e.cpp
@@ -4058,7 +4058,7 @@ MACHINE_CONFIG_START(apple2e_state::apple2e)
MCFG_A2EAUXSLOT_OUT_NMI_CB(WRITELINE(*this, apple2e_state, a2bus_nmi_w))
MCFG_A2EAUXSLOT_SLOT_ADD(A2_AUXSLOT_TAG, "aux", apple2eaux_cards, "ext80") // default to an extended 80-column card
- MCFG_SOFTWARE_LIST_ADD("flop525_list","apple2")
+ SOFTWARE_LIST(config, "flop525_list").set_original("apple2");
CASSETTE(config, m_cassette);
m_cassette->set_default_state(CASSETTE_STOPPED);
diff --git a/src/mame/drivers/aquarius.cpp b/src/mame/drivers/aquarius.cpp
index 02d0e9e6a8a..1cd44fe168c 100644
--- a/src/mame/drivers/aquarius.cpp
+++ b/src/mame/drivers/aquarius.cpp
@@ -389,7 +389,7 @@ MACHINE_CONFIG_START(aquarius_state::aquarius)
RAM(config, RAM_TAG).set_default_size("4K").set_extra_options("8K,20K,36K");
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list","aquarius")
+ SOFTWARE_LIST(config, "cart_list").set_original("aquarius");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/arkanoid.cpp b/src/mame/drivers/arkanoid.cpp
index 0c30290981a..c10b1ff3b35 100644
--- a/src/mame/drivers/arkanoid.cpp
+++ b/src/mame/drivers/arkanoid.cpp
@@ -1356,7 +1356,7 @@ MACHINE_CONFIG_START(arkanoid_state::arkanoid)
ARKANOID_68705P5(config, m_mcuintf, 12_MHz_XTAL / 4); // verified on PCB
m_mcuintf->portb_r_cb().set_ioport("MUX");
- MCFG_QUANTUM_TIME(attotime::from_hz(6000)) // 100 CPU slices per second to synchronize between the MCU and the main CPU
+ config.m_minimum_quantum = attotime::from_hz(6000); // 100 CPU slices per second to synchronize between the MCU and the main CPU
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/artmagic.cpp b/src/mame/drivers/artmagic.cpp
index a93e40f84a8..646062c6818 100644
--- a/src/mame/drivers/artmagic.cpp
+++ b/src/mame/drivers/artmagic.cpp
@@ -822,7 +822,7 @@ MACHINE_CONFIG_START(artmagic_state::artmagic)
m_tms->set_shiftreg_in_callback(FUNC(artmagic_state::to_shiftreg));
m_tms->set_shiftreg_out_callback(FUNC(artmagic_state::from_shiftreg));
- MCFG_QUANTUM_TIME(attotime::from_hz(6000))
+ config.m_minimum_quantum = attotime::from_hz(6000);
EEPROM_2816(config, "eeprom").write_time(attotime::from_usec(1)); // FIXME: false-readback polling should make this unnecessary
diff --git a/src/mame/drivers/atarist.cpp b/src/mame/drivers/atarist.cpp
index c50ddb578ff..0bba504a984 100644
--- a/src/mame/drivers/atarist.cpp
+++ b/src/mame/drivers/atarist.cpp
@@ -2171,7 +2171,7 @@ void ste_state::ste(machine_config &config)
LMC1992(config, LMC1992_TAG);
// cartridge
-// MCFG_SOFTWARE_LIST_ADD("cart_list", "ste_cart")
+// SOFTWARE_LIST(config, "cart_list").set_original("ste_cart");
// internal ram
RAM(config, m_ram);
diff --git a/src/mame/drivers/atom.cpp b/src/mame/drivers/atom.cpp
index 0e766b2248d..3d88f6c5a4b 100644
--- a/src/mame/drivers/atom.cpp
+++ b/src/mame/drivers/atom.cpp
@@ -768,9 +768,9 @@ MACHINE_CONFIG_START(atom_state::atom)
RAM(config, RAM_TAG).set_default_size("32K").set_extra_options("2K,4K,6K,8K,10K,12K").set_default_value(0x00);
/* Software lists */
- MCFG_SOFTWARE_LIST_ADD("rom_list","atom_rom")
- MCFG_SOFTWARE_LIST_ADD("cass_list","atom_cass")
- MCFG_SOFTWARE_LIST_ADD("flop_list","atom_flop")
+ SOFTWARE_LIST(config, "rom_list").set_original("atom_rom");
+ SOFTWARE_LIST(config, "cass_list").set_original("atom_cass");
+ SOFTWARE_LIST(config, "flop_list").set_original("atom_flop");
MACHINE_CONFIG_END
/*-------------------------------------------------
@@ -882,8 +882,8 @@ void atom_state::atombb(machine_config &config)
// MCFG_RAM_DEFAULT_SIZE("32K")
// /* Software lists */
-// MCFG_SOFTWARE_LIST_REMOVE("rom_list")
-// MCFG_SOFTWARE_LIST_REMOVE("flop_list")
+// config.device_remove("rom_list");
+// config.device_remove("flop_list");
//MACHINE_CONFIG_END
/*-------------------------------------------------
@@ -901,19 +901,20 @@ void atom_state::atombb(machine_config &config)
// MCFG_RAM_DEFAULT_SIZE("32K")
// /* Software lists */
-// MCFG_SOFTWARE_LIST_REMOVE("rom_list")
+// config.device_remove("rom_list");
//MACHINE_CONFIG_END
/*-------------------------------------------------
MACHINE_DRIVER( atommc )
-------------------------------------------------*/
-//static MACHINE_CONFIG_START( atommc )
+//void atom_state::atommc(machine_config &config)
+//{
// atom(config);
// /* Software lists */
-// MCFG_SOFTWARE_LIST_ADD("mmc_list","atom_mmc")
-// MCFG_SOFTWARE_LIST_REMOVE("flop_list")
-//MACHINE_CONFIG_END
+// SOFTWARE_LIST(config, "mmc_list").set_original("atom_mmc");
+// config.device_remove("flop_list");
+//}
/***************************************************************************
ROMS
diff --git a/src/mame/drivers/attache.cpp b/src/mame/drivers/attache.cpp
index 027b4f252a9..5546bdf5d1a 100644
--- a/src/mame/drivers/attache.cpp
+++ b/src/mame/drivers/attache.cpp
@@ -1127,7 +1127,7 @@ MACHINE_CONFIG_START(attache_state::attache)
m_maincpu->set_addrmap(AS_IO, &attache_state::attache_io);
m_maincpu->set_daisy_config(attache_daisy_chain);
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ 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)
@@ -1194,7 +1194,7 @@ MACHINE_CONFIG_START(attache_state::attache)
RAM(config, RAM_TAG).set_default_size("64K");
- MCFG_SOFTWARE_LIST_ADD("disk_list","attache")
+ SOFTWARE_LIST(config, "disk_list").set_original("attache");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(attache816_state::attache816)
@@ -1203,12 +1203,12 @@ MACHINE_CONFIG_START(attache816_state::attache816)
m_maincpu->set_addrmap(AS_IO, &attache816_state::attache_io);
m_maincpu->set_daisy_config(attache_daisy_chain);
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ 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)
- MCFG_QUANTUM_PERFECT_CPU("extcpu")
+ 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)
@@ -1282,7 +1282,7 @@ MACHINE_CONFIG_START(attache816_state::attache816)
RAM(config, RAM_TAG).set_default_size("64K");
- MCFG_SOFTWARE_LIST_ADD("disk_list","attache")
+ SOFTWARE_LIST(config, "disk_list").set_original("attache");
MACHINE_CONFIG_END
ROM_START( attache )
diff --git a/src/mame/drivers/avigo.cpp b/src/mame/drivers/avigo.cpp
index 4fc83c27684..9f958fa98c5 100644
--- a/src/mame/drivers/avigo.cpp
+++ b/src/mame/drivers/avigo.cpp
@@ -754,7 +754,7 @@ MACHINE_CONFIG_START(avigo_state::avigo)
MCFG_DEVICE_ADD("maincpu", Z80, 4000000)
MCFG_DEVICE_PROGRAM_MAP(avigo_mem)
MCFG_DEVICE_IO_MAP(avigo_io)
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
NS16550(config, m_uart, XTAL(1'843'200));
m_uart->out_tx_callback().set(m_serport, FUNC(rs232_port_device::write_txd));
diff --git a/src/mame/drivers/b2m.cpp b/src/mame/drivers/b2m.cpp
index c0e4a88fcd3..6aebb124f2c 100644
--- a/src/mame/drivers/b2m.cpp
+++ b/src/mame/drivers/b2m.cpp
@@ -244,7 +244,7 @@ MACHINE_CONFIG_START(b2m_state::b2m)
FLOPPY_CONNECTOR(config, "fd0", b2m_floppies, "525qd", b2m_state::b2m_floppy_formats);
FLOPPY_CONNECTOR(config, "fd1", b2m_floppies, "525qd", b2m_state::b2m_floppy_formats);
- MCFG_SOFTWARE_LIST_ADD("flop_list","b2m")
+ SOFTWARE_LIST(config, "flop_list").set_original("b2m");
/* internal ram */
RAM(config, RAM_TAG).set_default_size("128K").set_default_value(0x00);
diff --git a/src/mame/drivers/badlandsbl.cpp b/src/mame/drivers/badlandsbl.cpp
index 25b6f39e547..257501e388b 100644
--- a/src/mame/drivers/badlandsbl.cpp
+++ b/src/mame/drivers/badlandsbl.cpp
@@ -229,7 +229,7 @@ MACHINE_CONFIG_START(badlandsbl_state::badlandsb)
MCFG_DEVICE_PROGRAM_MAP(bootleg_audio_map)
TIMER(config, "scantimer").configure_scanline(FUNC(badlandsbl_state::bootleg_sound_scanline), "screen", 0, 1);
-// MCFG_QUANTUM_PERFECT_CPU("maincpu")
+// config.m_perfect_cpu_quantum = subtag("maincpu");
MCFG_MACHINE_START_OVERRIDE(badlands_state,badlands)
diff --git a/src/mame/drivers/bbcbc.cpp b/src/mame/drivers/bbcbc.cpp
index 005ac12cd9b..7895c73ea33 100644
--- a/src/mame/drivers/bbcbc.cpp
+++ b/src/mame/drivers/bbcbc.cpp
@@ -118,7 +118,8 @@ static const z80_daisy_config bbcbc_daisy_chain[] =
};
-MACHINE_CONFIG_START(bbcbc_state::bbcbc)
+void bbcbc_state::bbcbc(machine_config &config)
+{
Z80(config, m_maincpu, 10.6875_MHz_XTAL / 3);
m_maincpu->set_addrmap(AS_PROGRAM, &bbcbc_state::mem_map);
m_maincpu->set_addrmap(AS_IO, &bbcbc_state::io_map);
@@ -136,9 +137,9 @@ MACHINE_CONFIG_START(bbcbc_state::bbcbc)
SCREEN(config, "screen", SCREEN_TYPE_RASTER);
// Software on ROM cartridges
- MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "bbcbc_cart")
- MCFG_SOFTWARE_LIST_ADD("cart_list","bbcbc")
-MACHINE_CONFIG_END
+ GENERIC_CARTSLOT(config, "cartslot", generic_plain_slot, "bbcbc_cart");
+ SOFTWARE_LIST(config, "cart_list").set_original("bbcbc");
+}
void bbcbc_state::machine_start()
diff --git a/src/mame/drivers/bfm_sc2.cpp b/src/mame/drivers/bfm_sc2.cpp
index 9031721b472..9e8d5303a15 100644
--- a/src/mame/drivers/bfm_sc2.cpp
+++ b/src/mame/drivers/bfm_sc2.cpp
@@ -2281,7 +2281,7 @@ MACHINE_CONFIG_START(bfm_sc2_vid_state::scorpion2_vid)
MCFG_DEVICE_ADD("maincpu", M6809, MASTER_CLOCK/4 ) // 6809 CPU at 2 Mhz
MCFG_DEVICE_PROGRAM_MAP(memmap_vid) // setup scorpion2 board memorymap
MCFG_DEVICE_PERIODIC_INT_DRIVER(bfm_sc2_vid_state, timer_irq, 1000) // generate 1000 IRQ's per second
- MCFG_QUANTUM_TIME(attotime::from_hz(960)) // needed for serial communication !!
+ config.m_minimum_quantum = attotime::from_hz(960); // needed for serial communication !!
WATCHDOG_TIMER(config, "watchdog").set_time(PERIOD_OF_555_MONOSTABLE(120000,100e-9));
@@ -3808,7 +3808,7 @@ void bfm_sc2_awp_state::scorpion3(machine_config &config)
/* machine driver for scorpion2 board + matrix board */
MACHINE_CONFIG_START(bfm_sc2_dmd_state::scorpion2_dm01)
- MCFG_QUANTUM_TIME(attotime::from_hz(960)) // needed for serial communication !!
+ config.m_minimum_quantum = attotime::from_hz(960); // needed for serial communication !!
MCFG_DEVICE_ADD("maincpu", M6809, MASTER_CLOCK/4 )
MCFG_DEVICE_PROGRAM_MAP(memmap_no_vid)
MCFG_DEVICE_PERIODIC_INT_DRIVER(bfm_sc2_dmd_state, timer_irq, 1000)
diff --git a/src/mame/drivers/bking.cpp b/src/mame/drivers/bking.cpp
index d9344ee4259..4ce84744870 100644
--- a/src/mame/drivers/bking.cpp
+++ b/src/mame/drivers/bking.cpp
@@ -451,7 +451,7 @@ MACHINE_CONFIG_START(bking_state::bking3)
MCFG_MACHINE_START_OVERRIDE(bking_state,bking3)
MCFG_MACHINE_RESET_OVERRIDE(bking_state,bking3)
- MCFG_QUANTUM_TIME(attotime::from_hz(6000))
+ config.m_minimum_quantum = attotime::from_hz(6000);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/bladestl.cpp b/src/mame/drivers/bladestl.cpp
index 449d74bd02a..9642568b377 100644
--- a/src/mame/drivers/bladestl.cpp
+++ b/src/mame/drivers/bladestl.cpp
@@ -313,7 +313,7 @@ MACHINE_CONFIG_START(bladestl_state::bladestl)
MCFG_DEVICE_ADD(m_audiocpu, MC6809E, XTAL(24'000'000) / 16)
MCFG_DEVICE_PROGRAM_MAP(sound_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(600))
+ config.m_minimum_quantum = attotime::from_hz(600);
WATCHDOG_TIMER(config, "watchdog");
diff --git a/src/mame/drivers/blueprnt.cpp b/src/mame/drivers/blueprnt.cpp
index f501af0d40d..466ff49d3a2 100644
--- a/src/mame/drivers/blueprnt.cpp
+++ b/src/mame/drivers/blueprnt.cpp
@@ -359,7 +359,7 @@ MACHINE_CONFIG_START(blueprnt_state::blueprnt)
MCFG_DEVICE_PERIODIC_INT_DRIVER(blueprnt_state, irq0_line_hold, 4*60) // IRQs connected to 32V
// NMIs are caused by the main CPU
- MCFG_QUANTUM_PERFECT_CPU("maincpu")
+ config.m_perfect_cpu_quantum = subtag("maincpu");
WATCHDOG_TIMER(config, "watchdog");
diff --git a/src/mame/drivers/bnstars.cpp b/src/mame/drivers/bnstars.cpp
index 2da7d1868b3..3dde3fd2a43 100644
--- a/src/mame/drivers/bnstars.cpp
+++ b/src/mame/drivers/bnstars.cpp
@@ -821,7 +821,7 @@ MACHINE_CONFIG_START(bnstars_state::bnstars)
MCFG_DEVICE_ADD("audiocpu", Z80, 4000000) // Unverified; it's possibly higher than 4MHz
MCFG_DEVICE_PROGRAM_MAP(bnstars_sound_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(60000))
+ config.m_minimum_quantum = attotime::from_hz(60000);
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_bnstars)
diff --git a/src/mame/drivers/bullet.cpp b/src/mame/drivers/bullet.cpp
index 8d8db491761..db92c535abf 100644
--- a/src/mame/drivers/bullet.cpp
+++ b/src/mame/drivers/bullet.cpp
@@ -1106,7 +1106,8 @@ void bulletf_state::machine_reset()
// MACHINE_CONFIG( bullet )
//-------------------------------------------------
-MACHINE_CONFIG_START(bullet_state::bullet)
+void bullet_state::bullet(machine_config &config)
+{
// basic machine hardware
Z80(config, m_maincpu, 16_MHz_XTAL / 4);
m_maincpu->set_addrmap(AS_PROGRAM, &bullet_state::bullet_mem);
@@ -1175,11 +1176,11 @@ MACHINE_CONFIG_START(bullet_state::bullet)
rs232b.rxd_handler().set(m_dart, FUNC(z80dart_device::rxb_w));
// software lists
- MCFG_SOFTWARE_LIST_ADD("flop_list", "wmbullet")
+ SOFTWARE_LIST(config, "flop_list").set_original("wmbullet");
// internal ram
RAM(config, RAM_TAG).set_default_size("128K");
-MACHINE_CONFIG_END
+}
//-------------------------------------------------
@@ -1271,7 +1272,7 @@ MACHINE_CONFIG_START(bulletf_state::bulletf)
MCFG_SCSIDEV_ADD(SCSIBUS_TAG ":" SCSI_PORT_DEVICE1, "harddisk", SCSIHD, SCSI_ID_0)
// software lists
- MCFG_SOFTWARE_LIST_ADD("flop_list", "wmbullet")
+ SOFTWARE_LIST(config, "flop_list").set_original("wmbullet");
// internal ram
RAM(config, RAM_TAG).set_default_size("128K");
diff --git a/src/mame/drivers/bw12.cpp b/src/mame/drivers/bw12.cpp
index 865d2a47b6e..8d7410041b0 100644
--- a/src/mame/drivers/bw12.cpp
+++ b/src/mame/drivers/bw12.cpp
@@ -642,31 +642,33 @@ MACHINE_CONFIG_START(bw12_state::common)
m_centronics->set_output_latch(cent_data_out);
MACHINE_CONFIG_END
-MACHINE_CONFIG_START(bw12_state::bw12)
+void bw12_state::bw12(machine_config &config)
+{
common(config);
/* floppy drives */
FLOPPY_CONNECTOR(config, UPD765_TAG ":1", bw12_floppies, "525dd", bw12_state::bw12_floppy_formats);
FLOPPY_CONNECTOR(config, UPD765_TAG ":2", bw12_floppies, "525dd", bw12_state::bw12_floppy_formats);
// software lists
- MCFG_SOFTWARE_LIST_ADD("flop_list", "bw12")
+ SOFTWARE_LIST(config, "flop_list").set_original("bw12");
/* internal ram */
RAM(config, RAM_TAG).set_default_size("64K");
-MACHINE_CONFIG_END
+}
-MACHINE_CONFIG_START(bw12_state::bw14)
+void bw12_state::bw14(machine_config &config)
+{
common(config);
/* floppy drives */
FLOPPY_CONNECTOR(config, UPD765_TAG ":1", bw14_floppies, "525dd", bw12_state::bw14_floppy_formats);
FLOPPY_CONNECTOR(config, UPD765_TAG ":2", bw14_floppies, "525dd", bw12_state::bw14_floppy_formats);
// software lists
- MCFG_SOFTWARE_LIST_ADD("flop_list", "bw14")
+ SOFTWARE_LIST(config, "flop_list").set_original("bw14");
/* internal ram */
RAM(config, RAM_TAG).set_default_size("128K");
-MACHINE_CONFIG_END
+ }
/* ROMs */
diff --git a/src/mame/drivers/bw2.cpp b/src/mame/drivers/bw2.cpp
index 5521ec767f8..573e573d442 100644
--- a/src/mame/drivers/bw2.cpp
+++ b/src/mame/drivers/bw2.cpp
@@ -601,7 +601,7 @@ MACHINE_CONFIG_START(bw2_state::bw2)
MCFG_BW2_EXPANSION_SLOT_ADD(BW2_EXPANSION_SLOT_TAG, 16_MHz_XTAL, bw2_expansion_cards, nullptr)
// software list
- MCFG_SOFTWARE_LIST_ADD("flop_list","bw2")
+ SOFTWARE_LIST(config, "flop_list").set_original("bw2");
// internal ram
RAM(config, RAM_TAG).set_default_size("64K").set_extra_options("96K,128K,160K,192K,224K");
diff --git a/src/mame/drivers/bwing.cpp b/src/mame/drivers/bwing.cpp
index 3ef91ecac5c..434cb86120e 100644
--- a/src/mame/drivers/bwing.cpp
+++ b/src/mame/drivers/bwing.cpp
@@ -377,7 +377,7 @@ MACHINE_CONFIG_START(bwing_state::bwing)
MCFG_DEVICE_IO_MAP(bwp3_io_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(bwing_state, bwp3_interrupt, 1000)
- MCFG_QUANTUM_TIME(attotime::from_hz(18000)) // high enough?
+ config.m_minimum_quantum = attotime::from_hz(18000); // high enough?
ADDRESS_MAP_BANK(config, "vrambank").set_map(&bwing_state::bank_map).set_options(ENDIANNESS_BIG, 8, 15, 0x2000);
diff --git a/src/mame/drivers/c65.cpp b/src/mame/drivers/c65.cpp
index e3b476d49df..9d92adfcf48 100644
--- a/src/mame/drivers/c65.cpp
+++ b/src/mame/drivers/c65.cpp
@@ -726,7 +726,7 @@ MACHINE_CONFIG_START(c65_state::c65)
// 2x 8580 SID
// software list
- MCFG_SOFTWARE_LIST_ADD("flop_list", "c65_flop")
+ SOFTWARE_LIST(config, "flop_list").set_original("c65_flop");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/candela.cpp b/src/mame/drivers/candela.cpp
index 3d5eab76c91..3c4286905c7 100644
--- a/src/mame/drivers/candela.cpp
+++ b/src/mame/drivers/candela.cpp
@@ -763,7 +763,7 @@ MACHINE_CONFIG_START(can09_state::can09)
WD1770(config, "wd1770", 8_MHz_XTAL); // TODO: Verify 8MHz UKI crystal assumed to be used
#if 0
FLOPPY_CONNECTOR(config, "wd1770:0", candela_floppies, "3dd", floppy_image_device::default_floppy_formats);
- MCFG_SOFTWARE_LIST_ADD("flop3_list", "candela")
+ SOFTWARE_LIST(config, "flop3_list").set_original("candela");
#endif
/* --PIA inits----------------------- */
diff --git a/src/mame/drivers/casloopy.cpp b/src/mame/drivers/casloopy.cpp
index 060dfdd4a95..ccf36161170 100644
--- a/src/mame/drivers/casloopy.cpp
+++ b/src/mame/drivers/casloopy.cpp
@@ -549,7 +549,7 @@ MACHINE_CONFIG_START(casloopy_state::casloopy)
MCFG_GENERIC_LOAD(casloopy_state, loopy_cart)
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list","casloopy")
+ SOFTWARE_LIST(config, "cart_list").set_original("casloopy");
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/cc40.cpp b/src/mame/drivers/cc40.cpp
index 9742bd4996d..7d88f1f7e1b 100644
--- a/src/mame/drivers/cc40.cpp
+++ b/src/mame/drivers/cc40.cpp
@@ -624,7 +624,7 @@ MACHINE_CONFIG_START(cc40_state::cc40)
MCFG_GENERIC_EXTENSIONS("bin,rom,256")
MCFG_GENERIC_LOAD(cc40_state, cc40_cartridge)
- MCFG_SOFTWARE_LIST_ADD("cart_list", "cc40_cart")
+ SOFTWARE_LIST(config, "cart_list").set_original("cc40_cart");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/cdi.cpp b/src/mame/drivers/cdi.cpp
index 528af8dc7bc..2230ba8a0cc 100644
--- a/src/mame/drivers/cdi.cpp
+++ b/src/mame/drivers/cdi.cpp
@@ -830,8 +830,7 @@ MACHINE_CONFIG_START(cdi_state::cdimono2)
MCFG_DEVICE_PROGRAM_MAP(cdimono2_slave_mem)
CDROM(config, "cdrom").set_interface("cdi_cdrom");
- MCFG_SOFTWARE_LIST_ADD("cd_list","cdi")
- MCFG_SOFTWARE_LIST_FILTER("cd_list","!DVC")
+ SOFTWARE_LIST(config, "cd_list").set_original("cdi").set_filter("!DVC");
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -884,8 +883,7 @@ MACHINE_CONFIG_START(cdi_state::cdi910)
MCFG_DEVICE_PROGRAM_MAP(cdimono2_slave_mem)
CDROM(config, "cdrom").set_interface("cdi_cdrom");
- MCFG_SOFTWARE_LIST_ADD("cd_list","cdi")
- MCFG_SOFTWARE_LIST_FILTER("cd_list","!DVC")
+ SOFTWARE_LIST(config, "cd_list").set_original("cdi").set_filter("!DVC");
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -910,8 +908,7 @@ MACHINE_CONFIG_START(cdi_state::cdimono1)
MCFG_MACHINE_RESET_OVERRIDE(cdi_state, cdimono1)
CDROM(config, "cdrom").set_interface("cdi_cdrom");
- MCFG_SOFTWARE_LIST_ADD("cd_list","cdi")
- MCFG_SOFTWARE_LIST_FILTER("cd_list","!DVC")
+ SOFTWARE_LIST(config, "cd_list").set_original("cdi").set_filter("!DVC");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(cdi_state::quizard)
diff --git a/src/mame/drivers/cedar_magnet.cpp b/src/mame/drivers/cedar_magnet.cpp
index 53636801ed9..219e83956f3 100644
--- a/src/mame/drivers/cedar_magnet.cpp
+++ b/src/mame/drivers/cedar_magnet.cpp
@@ -811,7 +811,7 @@ MACHINE_CONFIG_START(cedar_magnet_state::cedar_magnet)
CEDAR_MAGNET_FLOP(config, "flop", 0);
- MCFG_QUANTUM_PERFECT_CPU("maincpu")
+ config.m_perfect_cpu_quantum = subtag("maincpu");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/cgenie.cpp b/src/mame/drivers/cgenie.cpp
index bbbefcb2007..e34a1fe8bfc 100644
--- a/src/mame/drivers/cgenie.cpp
+++ b/src/mame/drivers/cgenie.cpp
@@ -470,7 +470,7 @@ MACHINE_CONFIG_START(cgenie_state::cgenie)
m_cassette->set_default_state(CASSETTE_STOPPED);
m_cassette->set_interface("cgenie_cass");
- MCFG_SOFTWARE_LIST_ADD("cass_list", "cgenie_cass")
+ SOFTWARE_LIST(config, "cass_list").set_original("cgenie_cass");
// serial port
rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, nullptr));
diff --git a/src/mame/drivers/chaknpop.cpp b/src/mame/drivers/chaknpop.cpp
index 9da44e2bae3..0bbc792177f 100644
--- a/src/mame/drivers/chaknpop.cpp
+++ b/src/mame/drivers/chaknpop.cpp
@@ -370,7 +370,7 @@ MACHINE_CONFIG_START(chaknpop_state::chaknpop)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", chaknpop_state, irq0_line_hold)
MCFG_DEVICE_ADD("bmcu", TAITO68705_MCU, XTAL(18'000'000) / 6) // Verified on PCB
- MCFG_QUANTUM_TIME(attotime::from_hz(6000)) // 100 CPU slices per frame - a high value to ensure proper synchronization of the CPUs
+ config.m_minimum_quantum = attotime::from_hz(6000); // 100 CPU slices per frame - a high value to ensure proper synchronization of the CPUs
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/champbas.cpp b/src/mame/drivers/champbas.cpp
index a880df6149f..53484f6ca0b 100644
--- a/src/mame/drivers/champbas.cpp
+++ b/src/mame/drivers/champbas.cpp
@@ -544,7 +544,7 @@ MACHINE_CONFIG_START(champbas_state::talbot)
m_mainlatch->q_out_cb<7>().set(FUNC(champbas_state::mcu_switch_w));
MCFG_DEVICE_ADD("alpha_8201", ALPHA_8201, XTAL(18'432'000)/6/8)
- MCFG_QUANTUM_PERFECT_CPU("alpha_8201:mcu")
+ config.m_perfect_cpu_quantum = subtag("alpha_8201:mcu");
WATCHDOG_TIMER(config, m_watchdog).set_vblank_count("screen", 0x10);
@@ -624,7 +624,7 @@ MACHINE_CONFIG_START(champbas_state::champbasj)
m_mainlatch->q_out_cb<7>().set(FUNC(champbas_state::mcu_switch_w));
MCFG_DEVICE_ADD("alpha_8201", ALPHA_8201, XTAL(18'432'000)/6/8) // note: 8302 rom on champbb2 (same device!)
- MCFG_QUANTUM_PERFECT_CPU("alpha_8201:mcu")
+ config.m_perfect_cpu_quantum = subtag("alpha_8201:mcu");
MACHINE_CONFIG_END
@@ -696,7 +696,7 @@ MACHINE_CONFIG_START(exctsccr_state::exctsccr)
exc_snd_irq.set_start_delay(attotime::from_hz(75));
MCFG_DEVICE_ADD("alpha_8201", ALPHA_8201, XTAL(18'432'000)/6/8) // note: 8302 rom, or 8303 on exctscc2 (same device!)
- MCFG_QUANTUM_PERFECT_CPU("alpha_8201:mcu")
+ config.m_perfect_cpu_quantum = subtag("alpha_8201:mcu");
WATCHDOG_TIMER(config, m_watchdog).set_vblank_count("screen", 0x10);
@@ -754,7 +754,7 @@ MACHINE_CONFIG_START(exctsccr_state::exctsccrb)
MCFG_DEVICE_PROGRAM_MAP(champbas_sound_map)
MCFG_DEVICE_ADD("alpha_8201", ALPHA_8201, XTAL(18'432'000)/6/8) // champbasj 8201 on pcb, though unused
- MCFG_QUANTUM_PERFECT_CPU("alpha_8201:mcu")
+ config.m_perfect_cpu_quantum = subtag("alpha_8201:mcu");
WATCHDOG_TIMER(config, m_watchdog).set_vblank_count("screen", 0x10);
diff --git a/src/mame/drivers/channelf.cpp b/src/mame/drivers/channelf.cpp
index 848dae8d73c..a5bccc2b725 100644
--- a/src/mame/drivers/channelf.cpp
+++ b/src/mame/drivers/channelf.cpp
@@ -202,7 +202,7 @@ MACHINE_CONFIG_START(channelf_state::channelf_cart)
MCFG_CHANNELF_CARTRIDGE_ADD("cartslot", cf_cart, nullptr)
/* Software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list","channelf")
+ SOFTWARE_LIST(config, "cart_list").set_original("channelf");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(channelf_state::channelf)
@@ -210,7 +210,7 @@ MACHINE_CONFIG_START(channelf_state::channelf)
MCFG_DEVICE_ADD("maincpu", F8, 3579545/2) /* Colorburst/2 */
MCFG_DEVICE_PROGRAM_MAP(channelf_map)
MCFG_DEVICE_IO_MAP(channelf_io)
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -236,7 +236,7 @@ MACHINE_CONFIG_START(channelf_state::sabavdpl)
MCFG_DEVICE_ADD("maincpu", F8, MASTER_CLOCK_PAL) /* PAL speed */
MCFG_DEVICE_PROGRAM_MAP(channelf_map)
MCFG_DEVICE_IO_MAP(channelf_io)
- MCFG_QUANTUM_TIME(attotime::from_hz(50))
+ config.m_minimum_quantum = attotime::from_hz(50);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -263,7 +263,7 @@ MACHINE_CONFIG_START(channelf_state::channlf2)
MCFG_DEVICE_ADD("maincpu", F8, 3579545/2) /* Colorburst / 2 */
MCFG_DEVICE_PROGRAM_MAP(channelf_map)
MCFG_DEVICE_IO_MAP(channelf_io)
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -290,7 +290,7 @@ MACHINE_CONFIG_START(channelf_state::sabavpl2)
MCFG_DEVICE_ADD("maincpu", F8, MASTER_CLOCK_PAL) /* PAL speed */
MCFG_DEVICE_PROGRAM_MAP(channelf_map)
MCFG_DEVICE_IO_MAP(channelf_io)
- MCFG_QUANTUM_TIME(attotime::from_hz(50))
+ config.m_minimum_quantum = attotime::from_hz(50);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/chessmst.cpp b/src/mame/drivers/chessmst.cpp
index 4f2f5b257f0..d30aca4e953 100644
--- a/src/mame/drivers/chessmst.cpp
+++ b/src/mame/drivers/chessmst.cpp
@@ -457,7 +457,7 @@ MACHINE_CONFIG_START(chessmst_state::chessmstdm)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "chessmstdm_cart")
- MCFG_SOFTWARE_LIST_ADD("cart_list", "chessmstdm")
+ SOFTWARE_LIST(config, "cart_list").set_original("chessmstdm");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/cischeat.cpp b/src/mame/drivers/cischeat.cpp
index 8377781e5ba..d4392aaf2b9 100644
--- a/src/mame/drivers/cischeat.cpp
+++ b/src/mame/drivers/cischeat.cpp
@@ -1969,7 +1969,7 @@ MACHINE_CONFIG_START(cischeat_state::bigrun)
// timing set by the YM irqhandler
// MCFG_DEVICE_PERIODIC_INT_DRIVER(cischeat_state, irq4_line_hold, 16*30)
- MCFG_QUANTUM_TIME(attotime::from_hz(1200))
+ config.m_minimum_quantum = attotime::from_hz(1200);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2095,7 +2095,7 @@ MACHINE_CONFIG_START(cischeat_state::f1gpstr2)
MCFG_DEVICE_ADD("cpu5", M68000, 10000000)
MCFG_DEVICE_PROGRAM_MAP(f1gpstr2_io_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(12000))
+ config.m_minimum_quantum = attotime::from_hz(12000);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/cmi.cpp b/src/mame/drivers/cmi.cpp
index 99c4d0b6d79..537d9f884ae 100644
--- a/src/mame/drivers/cmi.cpp
+++ b/src/mame/drivers/cmi.cpp
@@ -2162,12 +2162,12 @@ MACHINE_CONFIG_START(cmi_state::cmi2x)
MCFG_DEVICE_ADD("maincpu1", MC6809E, Q209_CPU_CLOCK)
MCFG_DEVICE_PROGRAM_MAP(maincpu1_map)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(cmi_state, cpu1_interrupt_callback)
- MCFG_QUANTUM_PERFECT_CPU("maincpu1")
+ config.m_perfect_cpu_quantum = subtag("maincpu1");
MCFG_DEVICE_ADD("maincpu2", MC6809E, Q209_CPU_CLOCK)
MCFG_DEVICE_PROGRAM_MAP(maincpu2_map)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(cmi_state, cpu2_interrupt_callback)
- MCFG_QUANTUM_PERFECT_CPU("maincpu2")
+ config.m_perfect_cpu_quantum = subtag("maincpu2");
MCFG_DEVICE_ADD("muskeys", M6802, 4_MHz_XTAL)
MCFG_DEVICE_PROGRAM_MAP(muskeys_map)
diff --git a/src/mame/drivers/cntsteer.cpp b/src/mame/drivers/cntsteer.cpp
index 5e79d57521d..8f2f11db541 100644
--- a/src/mame/drivers/cntsteer.cpp
+++ b/src/mame/drivers/cntsteer.cpp
@@ -947,8 +947,8 @@ MACHINE_CONFIG_START(cntsteer_state::cntsteer)
screen.screen_vblank().set_inputline(m_maincpu, INPUT_LINE_NMI); // ?
screen.screen_vblank().append(FUNC(cntsteer_state::subcpu_vblank_irq)); // ?
- MCFG_QUANTUM_PERFECT_CPU("maincpu")
- MCFG_QUANTUM_PERFECT_CPU("subcpu")
+ config.m_perfect_cpu_quantum = subtag("maincpu");
+ config.m_perfect_cpu_quantum = subtag("subcpu");
GFXDECODE(config, m_gfxdecode, m_palette, gfx_cntsteer);
PALETTE(config, m_palette).set_entries(256);
@@ -985,7 +985,7 @@ MACHINE_CONFIG_START(cntsteer_state::zerotrgt)
MCFG_DEVICE_PROGRAM_MAP(sound_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(cntsteer_state, sound_interrupt, 480)
- MCFG_QUANTUM_TIME(attotime::from_hz(6000))
+ config.m_minimum_quantum = attotime::from_hz(6000);
MCFG_MACHINE_START_OVERRIDE(cntsteer_state,zerotrgt)
MCFG_MACHINE_RESET_OVERRIDE(cntsteer_state,zerotrgt)
diff --git a/src/mame/drivers/coco12.cpp b/src/mame/drivers/coco12.cpp
index f19ca3f3a70..78b5dcd5c23 100644
--- a/src/mame/drivers/coco12.cpp
+++ b/src/mame/drivers/coco12.cpp
@@ -495,11 +495,9 @@ MACHINE_CONFIG_START(coco12_state::coco)
coco_floating(config);
// software lists
- MCFG_SOFTWARE_LIST_ADD("coco_cart_list", "coco_cart")
- MCFG_SOFTWARE_LIST_FILTER("coco_cart_list", "COCO")
- MCFG_SOFTWARE_LIST_ADD("coco_flop_list", "coco_flop")
- MCFG_SOFTWARE_LIST_FILTER("coco_flop_list", "COCO")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("dragon_cart_list", "dragon_cart")
+ SOFTWARE_LIST(config, "coco_cart_list").set_original("coco_cart").set_filter("COCO");
+ SOFTWARE_LIST(config, "coco_flop_list").set_original("coco_flop").set_filter("COCO");
+ SOFTWARE_LIST(config, "dragon_cart_list").set_compatible("dragon_cart");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(coco12_state::cocoh)
diff --git a/src/mame/drivers/coco3.cpp b/src/mame/drivers/coco3.cpp
index 23b2c0aedd4..be945c8ba89 100644
--- a/src/mame/drivers/coco3.cpp
+++ b/src/mame/drivers/coco3.cpp
@@ -326,11 +326,9 @@ MACHINE_CONFIG_START(coco3_state::coco3)
coco_floating(config);
// software lists
- MCFG_SOFTWARE_LIST_ADD("cart_list","coco_cart")
- MCFG_SOFTWARE_LIST_FILTER("cart_list","COCO3")
+ SOFTWARE_LIST(config, "cart_list").set_original("coco_cart").set_filter("COCO3");
- MCFG_SOFTWARE_LIST_ADD("flop_list","coco_flop")
- MCFG_SOFTWARE_LIST_FILTER("flop_list","COCO3")
+ SOFTWARE_LIST(config, "flop_list").set_original("coco_flop").set_filter("COCO3");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(coco3_state::coco3p)
diff --git a/src/mame/drivers/compc.cpp b/src/mame/drivers/compc.cpp
index f8c86024682..17debf68727 100644
--- a/src/mame/drivers/compc.cpp
+++ b/src/mame/drivers/compc.cpp
@@ -248,7 +248,7 @@ MACHINE_CONFIG_START(compc_state::compc)
RAM(config, RAM_TAG).set_default_size("256K").set_extra_options("512K, 640K");
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("disk_list", "ibm5150")
+ SOFTWARE_LIST(config, "disk_list").set_original("ibm5150");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(compc_state::pc10iii)
diff --git a/src/mame/drivers/compucolor.cpp b/src/mame/drivers/compucolor.cpp
index 487298f071c..fea08626904 100644
--- a/src/mame/drivers/compucolor.cpp
+++ b/src/mame/drivers/compucolor.cpp
@@ -438,7 +438,7 @@ MACHINE_CONFIG_START(compucolor2_state::compucolor2)
RAM(config, RAM_TAG).set_default_size("32K").set_extra_options("8K,16K");
// software list
- MCFG_SOFTWARE_LIST_ADD("flop_list", "compclr2_flop")
+ SOFTWARE_LIST(config, "flop_list").set_original("compclr2_flop");
MACHINE_CONFIG_END
ROM_START( compclr2 )
diff --git a/src/mame/drivers/contra.cpp b/src/mame/drivers/contra.cpp
index 56f86ed6c26..5501a2e8367 100644
--- a/src/mame/drivers/contra.cpp
+++ b/src/mame/drivers/contra.cpp
@@ -216,7 +216,7 @@ MACHINE_CONFIG_START(contra_state::contra)
MCFG_DEVICE_ADD("audiocpu", MC6809E, XTAL(24'000'000)/8) /* 3000000? (HD68B09EP) */
MCFG_DEVICE_PROGRAM_MAP(sound_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* enough for the sound CPU to read all commands */
+ config.m_minimum_quantum = attotime::from_hz(6000); /* enough for the sound CPU to read all commands */
/* video hardware */
diff --git a/src/mame/drivers/ct486.cpp b/src/mame/drivers/ct486.cpp
index ab7c1d5db2a..7dc9a8471d1 100644
--- a/src/mame/drivers/ct486.cpp
+++ b/src/mame/drivers/ct486.cpp
@@ -185,9 +185,9 @@ MACHINE_CONFIG_START(ct486_state::ct486)
MCFG_PALETTE_ADD("palette", 256) // todo: really needed?
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("pc_disk_list","ibm5150")
- MCFG_SOFTWARE_LIST_ADD("at_disk_list","ibm5170")
- MCFG_SOFTWARE_LIST_ADD("at_cdrom_list","ibm5170_cdrom")
+ SOFTWARE_LIST(config, "pc_disk_list").set_original("ibm5150");
+ SOFTWARE_LIST(config, "at_disk_list").set_original("ibm5170");
+ SOFTWARE_LIST(config, "at_cdrom_list").set_original("ibm5170_cdrom");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/cybertnk.cpp b/src/mame/drivers/cybertnk.cpp
index 1a590d59513..bbdc9169587 100644
--- a/src/mame/drivers/cybertnk.cpp
+++ b/src/mame/drivers/cybertnk.cpp
@@ -831,7 +831,7 @@ MACHINE_CONFIG_START(cybertnk_state::cybertnk)
MCFG_DEVICE_ADD("audiocpu", Z80,XTAL(3'579'545))
MCFG_DEVICE_PROGRAM_MAP(sound_mem)
- MCFG_QUANTUM_TIME(attotime::from_hz(60000))//arbitrary value,needed to get the communication to work
+ config.m_minimum_quantum = attotime::from_hz(60000); //arbitrary value, needed to get the communication to work
/* video hardware */
config.set_default_layout(layout_dualhsxs);
diff --git a/src/mame/drivers/dai.cpp b/src/mame/drivers/dai.cpp
index eeb335aadd3..70468505a09 100644
--- a/src/mame/drivers/dai.cpp
+++ b/src/mame/drivers/dai.cpp
@@ -193,7 +193,7 @@ MACHINE_CONFIG_START(dai_state::dai)
MCFG_DEVICE_PROGRAM_MAP(dai_mem)
MCFG_DEVICE_IO_MAP(dai_io)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(dai_state,int_ack)
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
PIT8253(config, m_pit, 0);
m_pit->set_clk<0>(2000000);
@@ -240,7 +240,7 @@ MACHINE_CONFIG_START(dai_state::dai)
RAM(config, RAM_TAG).set_default_size("48K");
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("cass_list", "dai_cass")
+ SOFTWARE_LIST(config, "cass_list").set_original("dai_cass");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/dassault.cpp b/src/mame/drivers/dassault.cpp
index f69aba9b005..87e2f2597c6 100644
--- a/src/mame/drivers/dassault.cpp
+++ b/src/mame/drivers/dassault.cpp
@@ -538,8 +538,8 @@ MACHINE_CONFIG_START(dassault_state::dassault)
m_audiocpu->add_route(ALL_OUTPUTS, "lspeaker", 0); // internal sound unused
m_audiocpu->add_route(ALL_OUTPUTS, "rspeaker", 0);
-// MCFG_QUANTUM_TIME(attotime::from_hz(8400)) /* 140 CPU slices per frame */
- MCFG_QUANTUM_PERFECT_CPU("maincpu") // I was seeing random lockups.. let's see if this helps
+// config.m_minimum_quantum = attotime::from_hz(8400); /* 140 CPU slices per frame */
+ config.m_perfect_cpu_quantum = subtag("maincpu"); // I was seeing random lockups.. let's see if this helps
mb8421_mb8431_16_device &sharedram(MB8421_MB8431_16BIT(config, "sharedram"));
sharedram.intl_callback().set_inputline("maincpu", M68K_IRQ_5);
diff --git a/src/mame/drivers/dblewing.cpp b/src/mame/drivers/dblewing.cpp
index 08305d4428d..0998eb13958 100644
--- a/src/mame/drivers/dblewing.cpp
+++ b/src/mame/drivers/dblewing.cpp
@@ -366,7 +366,7 @@ MACHINE_CONFIG_START(dblewing_state::dblewing)
INPUT_MERGER_ANY_HIGH(config, "soundirq").output_handler().set_inputline(m_audiocpu, 0);
- MCFG_QUANTUM_TIME(attotime::from_hz(6000))
+ config.m_minimum_quantum = attotime::from_hz(6000);
/* video hardware */
diff --git a/src/mame/drivers/dccons.cpp b/src/mame/drivers/dccons.cpp
index fe60a5b681a..e36ea12a934 100644
--- a/src/mame/drivers/dccons.cpp
+++ b/src/mame/drivers/dccons.cpp
@@ -685,7 +685,7 @@ MACHINE_CONFIG_START(dc_cons_state::dc)
MCFG_SLOT_OPTION_MACHINE_CONFIG("gdrom", gdrom_config)
MCFG_SLOT_DEFAULT_OPTION("gdrom")
- MCFG_SOFTWARE_LIST_ADD("cd_list","dc")
+ SOFTWARE_LIST(config, "cd_list").set_original("dc");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/ddayjlc.cpp b/src/mame/drivers/ddayjlc.cpp
index 1e4c1f1e2ea..1326f7e5b6d 100644
--- a/src/mame/drivers/ddayjlc.cpp
+++ b/src/mame/drivers/ddayjlc.cpp
@@ -608,7 +608,7 @@ MACHINE_CONFIG_START(ddayjlc_state::ddayjlc)
MCFG_DEVICE_ADD("audiocpu", Z80, 12000000/4)
MCFG_DEVICE_PROGRAM_MAP(sound_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(6000))
+ config.m_minimum_quantum = attotime::from_hz(6000);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/ddribble.cpp b/src/mame/drivers/ddribble.cpp
index 83cf4e806d0..c5b4a7a09b7 100644
--- a/src/mame/drivers/ddribble.cpp
+++ b/src/mame/drivers/ddribble.cpp
@@ -269,7 +269,7 @@ MACHINE_CONFIG_START(ddribble_state::ddribble)
MCFG_DEVICE_ADD("cpu2", MC6809E, XTAL(18'432'000)/12) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(cpu2_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* we need heavy synch */
+ config.m_minimum_quantum = attotime::from_hz(6000); /* we need heavy synch */
WATCHDOG_TIMER(config, "watchdog");
diff --git a/src/mame/drivers/deco_ld.cpp b/src/mame/drivers/deco_ld.cpp
index bde3b0fcdc2..5491dca4557 100644
--- a/src/mame/drivers/deco_ld.cpp
+++ b/src/mame/drivers/deco_ld.cpp
@@ -473,7 +473,7 @@ MACHINE_CONFIG_START(deco_ld_state::rblaster)
MCFG_DEVICE_PROGRAM_MAP(rblaster_sound_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(deco_ld_state, sound_interrupt, 640)
-// MCFG_QUANTUM_TIME(attotime::from_hz(6000))
+// config.m_minimum_quantum = attotime::from_hz(6000);
MCFG_LASERDISC_LDP1000_ADD("laserdisc")
MCFG_LASERDISC_OVERLAY_DRIVER(256, 256, deco_ld_state, screen_update_rblaster)
diff --git a/src/mame/drivers/decocass.cpp b/src/mame/drivers/decocass.cpp
index 743f4601c19..7f243a57b7b 100644
--- a/src/mame/drivers/decocass.cpp
+++ b/src/mame/drivers/decocass.cpp
@@ -966,7 +966,7 @@ MACHINE_CONFIG_START(decocass_state::decocass)
m_mcu->p2_in_cb().set(FUNC(decocass_state::i8041_p2_r));
m_mcu->p2_out_cb().set(FUNC(decocass_state::i8041_p2_w));
- MCFG_QUANTUM_TIME(attotime::from_hz(4200)) /* interleave CPUs */
+ config.m_minimum_quantum = attotime::from_hz(4200); /* interleave CPUs */
WATCHDOG_TIMER(config, m_watchdog);
diff --git a/src/mame/drivers/dectalk.cpp b/src/mame/drivers/dectalk.cpp
index 71d371ef932..90cdc6d3dea 100644
--- a/src/mame/drivers/dectalk.cpp
+++ b/src/mame/drivers/dectalk.cpp
@@ -894,9 +894,9 @@ MACHINE_CONFIG_START(dectalk_state::dectalk)
m_dsp->bio().set(FUNC(dectalk_state::spc_semaphore_r)); //read infifo-has-data-in-it fifo readable status
#ifdef USE_LOOSE_TIMING
- MCFG_QUANTUM_TIME(attotime::from_hz(100))
+ config.m_minimum_quantum = attotime::from_hz(100);
#else
- MCFG_QUANTUM_PERFECT_CPU("dsp")
+ config.m_perfect_cpu_quantum = subtag("dsp");
#endif
X2212(config, "x2212");
diff --git a/src/mame/drivers/dgn_beta.cpp b/src/mame/drivers/dgn_beta.cpp
index f459438d08c..1fd84d547f9 100644
--- a/src/mame/drivers/dgn_beta.cpp
+++ b/src/mame/drivers/dgn_beta.cpp
@@ -394,7 +394,7 @@ MACHINE_CONFIG_START(dgn_beta_state::dgnbeta)
/* in blocks of 128K up to this maximum. */
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("flop_list", "dgnbeta_flop")
+ SOFTWARE_LIST(config, "flop_list").set_original("dgnbeta_flop");
MACHINE_CONFIG_END
ROM_START(dgnbeta)
diff --git a/src/mame/drivers/digel804.cpp b/src/mame/drivers/digel804.cpp
index 425d0372b00..895e56a7a95 100644
--- a/src/mame/drivers/digel804.cpp
+++ b/src/mame/drivers/digel804.cpp
@@ -636,7 +636,7 @@ MACHINE_CONFIG_START(digel804_state::digel804)
MCFG_DEVICE_ADD(m_maincpu, Z80, 3.6864_MHz_XTAL/2) /* Z80A, X1(aka E0 on schematics): 3.6864Mhz */
MCFG_DEVICE_PROGRAM_MAP(z80_mem_804_1_4)
MCFG_DEVICE_IO_MAP(z80_io_1_4)
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
ROC10937(config, m_vfd); // RIGHT_TO_LEFT
diff --git a/src/mame/drivers/dim68k.cpp b/src/mame/drivers/dim68k.cpp
index 598141ddf81..d7c0eb6fff4 100644
--- a/src/mame/drivers/dim68k.cpp
+++ b/src/mame/drivers/dim68k.cpp
@@ -346,7 +346,7 @@ MACHINE_CONFIG_START(dim68k_state::dim68k)
keyboard.set_keyboard_callback(FUNC(dim68k_state::kbd_put));
// software lists
- MCFG_SOFTWARE_LIST_ADD("flop_list", "dim68k")
+ SOFTWARE_LIST(config, "flop_list").set_original("dim68k");
MACHINE_CONFIG_END
/*
diff --git a/src/mame/drivers/divebomb.cpp b/src/mame/drivers/divebomb.cpp
index 018a963a6bf..63d305cfd08 100644
--- a/src/mame/drivers/divebomb.cpp
+++ b/src/mame/drivers/divebomb.cpp
@@ -400,7 +400,7 @@ MACHINE_CONFIG_START(divebomb_state::divebomb)
MCFG_DEVICE_PROGRAM_MAP(divebomb_rozcpu_map)
MCFG_DEVICE_IO_MAP(divebomb_rozcpu_iomap)
- MCFG_QUANTUM_PERFECT_CPU("fgcpu")
+ config.m_perfect_cpu_quantum = subtag("fgcpu");
INPUT_MERGER_ANY_HIGH(config, m_fgcpu_irq).output_handler().set_inputline(m_fgcpu, INPUT_LINE_IRQ0);
diff --git a/src/mame/drivers/djboy.cpp b/src/mame/drivers/djboy.cpp
index c0e47b908f2..2a11612501c 100644
--- a/src/mame/drivers/djboy.cpp
+++ b/src/mame/drivers/djboy.cpp
@@ -505,7 +505,7 @@ MACHINE_CONFIG_START(djboy_state::djboy)
m_beast->port_in_cb<3>().set(FUNC(djboy_state::beast_p3_r));
m_beast->port_out_cb<3>().set(FUNC(djboy_state::beast_p3_w));
- MCFG_QUANTUM_TIME(attotime::from_hz(6000))
+ config.m_minimum_quantum = attotime::from_hz(6000);
GENERIC_LATCH_8(config, m_slavelatch);
diff --git a/src/mame/drivers/dmndrby.cpp b/src/mame/drivers/dmndrby.cpp
index 0055bfe608d..24daa0a89df 100644
--- a/src/mame/drivers/dmndrby.cpp
+++ b/src/mame/drivers/dmndrby.cpp
@@ -545,7 +545,7 @@ MACHINE_CONFIG_START(dmndrby_state::dderby)
MCFG_DEVICE_ADD("audiocpu", Z80, 4000000) /* verified on schematics */
MCFG_DEVICE_PROGRAM_MAP(dderby_sound_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(6000))
+ config.m_minimum_quantum = attotime::from_hz(6000);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
/* video hardware */
diff --git a/src/mame/drivers/dmv.cpp b/src/mame/drivers/dmv.cpp
index 9692bbe1c75..d2e95134727 100644
--- a/src/mame/drivers/dmv.cpp
+++ b/src/mame/drivers/dmv.cpp
@@ -786,7 +786,7 @@ MACHINE_CONFIG_START(dmv_state::dmv)
kbmcu.p1_out_cb().set(FUNC(dmv_state::kb_mcu_port1_w)); // bit 1 data to kb
kbmcu.p2_out_cb().set(FUNC(dmv_state::kb_mcu_port2_w));
- MCFG_QUANTUM_PERFECT_CPU("maincpu")
+ config.m_perfect_cpu_quantum = subtag("maincpu");
DMV_KEYBOARD(config, m_keyboard, 0);
@@ -879,7 +879,7 @@ MACHINE_CONFIG_START(dmv_state::dmv)
MCFG_DMVCART_SLOT_OUT_INT_CB(WRITELINE(*this, dmv_state, busint7a_w))
MCFG_DMVCART_SLOT_OUT_IRQ_CB(WRITELINE(*this, dmv_state, irq7a_w))
- MCFG_SOFTWARE_LIST_ADD("flop_list", "dmv")
+ SOFTWARE_LIST(config, "flop_list").set_original("dmv");
MCFG_QUICKLOAD_ADD("quickload", dmv_state, dmv, "com,cpm", 3)
diff --git a/src/mame/drivers/dogfgt.cpp b/src/mame/drivers/dogfgt.cpp
index c588d603b85..6cef22dccc3 100644
--- a/src/mame/drivers/dogfgt.cpp
+++ b/src/mame/drivers/dogfgt.cpp
@@ -237,7 +237,7 @@ MACHINE_CONFIG_START(dogfgt_state::dogfgt)
MCFG_DEVICE_ADD(m_subcpu, M6502, 1500000) /* 1.5 MHz ???? */
MCFG_DEVICE_PROGRAM_MAP(sub_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(6000))
+ config.m_minimum_quantum = attotime::from_hz(6000);
/* video hardware */
MCFG_SCREEN_ADD(m_screen, RASTER)
diff --git a/src/mame/drivers/dps1.cpp b/src/mame/drivers/dps1.cpp
index 26eabb98e40..455463155f7 100644
--- a/src/mame/drivers/dps1.cpp
+++ b/src/mame/drivers/dps1.cpp
@@ -38,6 +38,9 @@ public:
void init_dps1();
+protected:
+ virtual void machine_reset() override;
+
private:
DECLARE_WRITE8_MEMBER(portb2_w);
DECLARE_WRITE8_MEMBER(portb4_w);
@@ -49,7 +52,6 @@ private:
DECLARE_READ8_MEMBER(portff_r);
DECLARE_WRITE8_MEMBER(portff_w);
DECLARE_WRITE_LINE_MEMBER(fdc_drq_w);
- DECLARE_MACHINE_RESET(dps1);
void io_map(address_map &map);
void mem_map(address_map &map);
@@ -167,7 +169,7 @@ WRITE_LINE_MEMBER( dps1_state::fdc_drq_w )
// else take /dack high (unsupported)
}
-MACHINE_RESET_MEMBER( dps1_state, dps1 )
+void dps1_state::machine_reset()
{
membank("bankr0")->set_entry(1); // point at rom
membank("bankw0")->set_entry(0); // always write to ram
@@ -196,14 +198,13 @@ static void floppies(device_slot_interface &device)
device.option_add("floppy0", FLOPPY_8_DSDD);
}
-MACHINE_CONFIG_START(dps1_state::dps1)
+void dps1_state::dps1(machine_config &config)
+{
// basic machine hardware
Z80(config, m_maincpu, 4_MHz_XTAL);
m_maincpu->set_addrmap(AS_PROGRAM, &dps1_state::mem_map);
m_maincpu->set_addrmap(AS_IO, &dps1_state::io_map);
- MCFG_MACHINE_RESET_OVERRIDE(dps1_state, dps1)
-
/* video hardware */
mc2661_device &uart(MC2661(config, "uart", 5.0688_MHz_XTAL)); // Signetics 2651N
uart.txd_handler().set("rs232", FUNC(rs232_port_device::write_txd));
@@ -226,8 +227,8 @@ MACHINE_CONFIG_START(dps1_state::dps1)
//FLOPPY_CONNECTOR(config, "fdc:1", floppies, "floppy1", floppy_image_device::default_floppy_formats).enable_sound(true);
// software lists
- MCFG_SOFTWARE_LIST_ADD("flop_list", "dps1")
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config, "flop_list").set_original("dps1");
+}
ROM_START( dps1 )
ROM_REGION( 0x800, "maincpu", 0 )
diff --git a/src/mame/drivers/dragon.cpp b/src/mame/drivers/dragon.cpp
index 935b924726e..82ddfb2d936 100644
--- a/src/mame/drivers/dragon.cpp
+++ b/src/mame/drivers/dragon.cpp
@@ -239,10 +239,10 @@ MACHINE_CONFIG_START(dragon_state::dragon_base)
coco_floating(config);
// software lists
- MCFG_SOFTWARE_LIST_ADD("dragon_cart_list", "dragon_cart")
- MCFG_SOFTWARE_LIST_ADD("dragon_cass_list", "dragon_cass")
- MCFG_SOFTWARE_LIST_ADD("dragon_flop_list", "dragon_flop")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("coco_cart_list", "coco_cart")
+ SOFTWARE_LIST(config, "dragon_cart_list").set_original("dragon_cart");
+ SOFTWARE_LIST(config, "dragon_cass_list").set_original("dragon_cass");
+ SOFTWARE_LIST(config, "dragon_flop_list").set_original("dragon_flop");
+ SOFTWARE_LIST(config, "coco_cart_list").set_compatible("coco_cart");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(dragon_state::dragon32)
@@ -257,7 +257,8 @@ MACHINE_CONFIG_START(dragon_state::dragon32)
cartslot.halt_callback().set_inputline(m_maincpu, INPUT_LINE_HALT);
MACHINE_CONFIG_END
-MACHINE_CONFIG_START(dragon64_state::dragon64)
+void dragon64_state::dragon64(machine_config &config)
+{
dragon_base(config);
// internal ram
RAM(config, m_ram).set_default_size("64K");
@@ -273,9 +274,9 @@ MACHINE_CONFIG_START(dragon64_state::dragon64)
acia.set_xtal(1.8432_MHz_XTAL);
// software lists
- MCFG_SOFTWARE_LIST_ADD("dragon_flex_list", "dragon_flex")
- MCFG_SOFTWARE_LIST_ADD("dragon_os9_list", "dragon_os9")
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config, "dragon_flex_list").set_original("dragon_flex");
+ SOFTWARE_LIST(config, "dragon_os9_list").set_original("dragon_os9");
+}
MACHINE_CONFIG_START(dragon64_state::dragon64h)
dragon64(config);
@@ -311,7 +312,8 @@ MACHINE_CONFIG_START(d64plus_state::d64plus)
m_crtc->set_update_row_callback(FUNC(d64plus_state::crtc_update_row), this);
MACHINE_CONFIG_END
-MACHINE_CONFIG_START(dragon_alpha_state::dgnalpha)
+void dragon_alpha_state::dgnalpha(machine_config &config)
+{
dragon_base(config);
// internal ram
RAM(config, RAM_TAG).set_default_size("64K");
@@ -349,10 +351,10 @@ MACHINE_CONFIG_START(dragon_alpha_state::dgnalpha)
pia2.irqb_handler().set(FUNC(dragon_alpha_state::pia2_firq_b));
// software lists
- MCFG_SOFTWARE_LIST_ADD("dgnalpha_flop_list", "dgnalpha_flop")
- MCFG_SOFTWARE_LIST_ADD("dragon_flex_list", "dragon_flex")
- MCFG_SOFTWARE_LIST_ADD("dragon_os9_list", "dragon_os9")
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config, "dgnalpha_flop_list").set_original("dgnalpha_flop");
+ SOFTWARE_LIST(config, "dragon_flex_list").set_original("dragon_flex");
+ SOFTWARE_LIST(config, "dragon_os9_list").set_original("dragon_os9");
+}
MACHINE_CONFIG_START(dragon64_state::tanodr64)
dragon64(config);
diff --git a/src/mame/drivers/ec184x.cpp b/src/mame/drivers/ec184x.cpp
index b904b669fb9..a944c91a1ff 100644
--- a/src/mame/drivers/ec184x.cpp
+++ b/src/mame/drivers/ec184x.cpp
@@ -240,7 +240,7 @@ MACHINE_CONFIG_START(ec184x_state::ec1840)
MCFG_DEVICE_ADD("isa5", ISA8_SLOT, 0, "mb:isa", ec184x_isa8_cards, nullptr, false)
MCFG_DEVICE_ADD("isa6", ISA8_SLOT, 0, "mb:isa", ec184x_isa8_cards, nullptr, false)
- MCFG_SOFTWARE_LIST_ADD("flop_list","ec1841")
+ SOFTWARE_LIST(config, "flop_list").set_original("ec1841");
MCFG_PC_KBDC_SLOT_ADD("mb:pc_kbdc", "kbd", pc_xt_keyboards, STR_KBD_EC_1841)
@@ -265,7 +265,7 @@ MACHINE_CONFIG_START(ec184x_state::ec1841)
MCFG_DEVICE_ADD("isa5", ISA8_SLOT, 0, "mb:isa", ec184x_isa8_cards, nullptr, false)
MCFG_DEVICE_ADD("isa6", ISA8_SLOT, 0, "mb:isa", ec184x_isa8_cards, nullptr, false)
- MCFG_SOFTWARE_LIST_ADD("flop_list","ec1841")
+ SOFTWARE_LIST(config, "flop_list").set_original("ec1841");
MCFG_PC_KBDC_SLOT_ADD("mb:pc_kbdc", "kbd", pc_xt_keyboards, STR_KBD_EC_1841)
diff --git a/src/mame/drivers/einstein.cpp b/src/mame/drivers/einstein.cpp
index 2ed96fa6f01..7c7fad62101 100644
--- a/src/mame/drivers/einstein.cpp
+++ b/src/mame/drivers/einstein.cpp
@@ -665,7 +665,7 @@ MACHINE_CONFIG_START(einstein_state::einstein)
FLOPPY_CONNECTOR(config, IC_I042 ":3", einstein_floppies, "525qd", floppy_image_device::default_floppy_formats);
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("disk_list","einstein")
+ SOFTWARE_LIST(config, "disk_list").set_original("einstein");
/* RAM is provided by 8k DRAM ICs i009, i010, i011, i012, i013, i014, i015 and i016 */
/* internal ram */
diff --git a/src/mame/drivers/eolith.cpp b/src/mame/drivers/eolith.cpp
index 2f812b13f8d..7608da87cac 100644
--- a/src/mame/drivers/eolith.cpp
+++ b/src/mame/drivers/eolith.cpp
@@ -557,8 +557,8 @@ void eolith_state::eolith45(machine_config &config)
.write_time(attotime::from_usec(250));
// for testing sound sync
-// MCFG_QUANTUM_PERFECT_CPU("maincpu")
-// MCFG_QUANTUM_TIME(attotime::from_hz(6000))
+// config.m_perfect_cpu_quantum = subtag("maincpu");
+// config.m_minimum_quantum = attotime::from_hz(6000);
/* video hardware */
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
diff --git a/src/mame/drivers/eprom.cpp b/src/mame/drivers/eprom.cpp
index 4e12bfde4d1..e79e96bd01e 100644
--- a/src/mame/drivers/eprom.cpp
+++ b/src/mame/drivers/eprom.cpp
@@ -389,7 +389,7 @@ MACHINE_CONFIG_START(eprom_state::eprom)
MCFG_DEVICE_ADD("extra", M68000, ATARI_CLOCK_14MHz/2)
MCFG_DEVICE_PROGRAM_MAP(extra_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(6000))
+ config.m_minimum_quantum = attotime::from_hz(6000);
ADC0809(config, m_adc, ATARI_CLOCK_14MHz/16);
m_adc->in_callback<0>().set_ioport("ADC0");
@@ -439,7 +439,7 @@ MACHINE_CONFIG_START(eprom_state::klaxp)
MCFG_DEVICE_ADD("maincpu", M68000, ATARI_CLOCK_14MHz/2)
MCFG_DEVICE_PROGRAM_MAP(main_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(600))
+ config.m_minimum_quantum = attotime::from_hz(600);
EEPROM_2804(config, "eeprom").lock_after_write(true);
@@ -482,7 +482,7 @@ MACHINE_CONFIG_START(eprom_state::guts)
MCFG_DEVICE_ADD("maincpu", M68000, ATARI_CLOCK_14MHz/2)
MCFG_DEVICE_PROGRAM_MAP(guts_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(600))
+ config.m_minimum_quantum = attotime::from_hz(600);
ADC0809(config, m_adc, ATARI_CLOCK_14MHz/16);
m_adc->in_callback<0>().set_ioport("ADC0");
diff --git a/src/mame/drivers/eurocom2.cpp b/src/mame/drivers/eurocom2.cpp
index 2c422f6c3d7..dd878f65564 100644
--- a/src/mame/drivers/eurocom2.cpp
+++ b/src/mame/drivers/eurocom2.cpp
@@ -501,14 +501,15 @@ MACHINE_CONFIG_START(waveterm_state::waveterm)
MCFG_DEVICE_ADD("ptm", PTM6840, 0)
- MCFG_SOFTWARE_LIST_ADD("disk_list", "waveterm")
+ SOFTWARE_LIST(config, "disk_list").set_original("waveterm");
MACHINE_CONFIG_END
-MACHINE_CONFIG_START(eurocom2_state::microtrol)
+void eurocom2_state::microtrol(machine_config &config)
+{
eurocom2(config);
// TODO: Second board has WD2793A FDC and what looks like a RAM disk
-MACHINE_CONFIG_END
+}
ROM_START(eurocom2)
diff --git a/src/mame/drivers/europc.cpp b/src/mame/drivers/europc.cpp
index 2d5e24fb08b..e53178a8289 100644
--- a/src/mame/drivers/europc.cpp
+++ b/src/mame/drivers/europc.cpp
@@ -576,7 +576,7 @@ MACHINE_CONFIG_START(europc_pc_state::europc)
RAM(config, m_ram).set_default_size("512K").set_extra_options("256K, 640K");
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("disk_list", "ibm5150")
+ SOFTWARE_LIST(config, "disk_list").set_original("ibm5150");
MACHINE_CONFIG_END
//Euro PC II
diff --git a/src/mame/drivers/exidy.cpp b/src/mame/drivers/exidy.cpp
index de262b538c4..7fc7b7b7ace 100644
--- a/src/mame/drivers/exidy.cpp
+++ b/src/mame/drivers/exidy.cpp
@@ -909,7 +909,7 @@ MACHINE_CONFIG_START(exidy_state::venture)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(venture_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(600))
+ config.m_minimum_quantum = attotime::from_hz(600);
/* audio hardware */
pia6821_device &pia(PIA6821(config, "pia", 0));
@@ -945,7 +945,7 @@ MACHINE_CONFIG_START(exidy_state::mtrap)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(mtrap_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(1920))
+ config.m_minimum_quantum = attotime::from_hz(1920);
/* audio hardware */
pia6821_device &pia(PIA6821(config, "pia", 0));
diff --git a/src/mame/drivers/exzisus.cpp b/src/mame/drivers/exzisus.cpp
index af75f3addec..37dc657598f 100644
--- a/src/mame/drivers/exzisus.cpp
+++ b/src/mame/drivers/exzisus.cpp
@@ -247,7 +247,7 @@ MACHINE_CONFIG_START(exzisus_state::exzisus)
MCFG_DEVICE_ADD("audiocpu", Z80, 4000000)
MCFG_DEVICE_PROGRAM_MAP(sound_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* 10 CPU slices per frame - enough for the sound CPU to read all commands */
+ config.m_minimum_quantum = attotime::from_hz(600); /* 10 CPU slices per frame - enough for the sound CPU to read all commands */
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/fantland.cpp b/src/mame/drivers/fantland.cpp
index cea46babd46..93452e4697e 100644
--- a/src/mame/drivers/fantland.cpp
+++ b/src/mame/drivers/fantland.cpp
@@ -820,7 +820,7 @@ MACHINE_CONFIG_START(fantland_state::fantland)
MCFG_DEVICE_PERIODIC_INT_DRIVER(fantland_state, fantland_sound_irq, 8000)
// NMI when soundlatch is written
- MCFG_QUANTUM_TIME(attotime::from_hz(8000)) // sound irq must feed the DAC at 8kHz
+ config.m_minimum_quantum = attotime::from_hz(8000); // sound irq must feed the DAC at 8kHz
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/fidel6502.cpp b/src/mame/drivers/fidel6502.cpp
index efec0bb9bb6..c74d1f8345f 100644
--- a/src/mame/drivers/fidel6502.cpp
+++ b/src/mame/drivers/fidel6502.cpp
@@ -534,7 +534,7 @@ private:
// common
TIMER_DEVICE_CALLBACK_MEMBER(irq_on) { m_maincpu->set_input_line(M6502_IRQ_LINE, ASSERT_LINE); }
TIMER_DEVICE_CALLBACK_MEMBER(irq_off) { m_maincpu->set_input_line(M6502_IRQ_LINE, CLEAR_LINE); }
- TIMER_DEVICE_CALLBACK_MEMBER(dummy) { ; } // MCFG_QUANTUM_PERFECT_CPU("maincpu") didn't work
+ TIMER_DEVICE_CALLBACK_MEMBER(dummy) { ; } // config.m_perfect_cpu_quantum = subtag("maincpu"); didn't work
void div_trampoline_w(offs_t offset, u8 data);
u8 div_trampoline_r(offs_t offset);
diff --git a/src/mame/drivers/fidel68k.cpp b/src/mame/drivers/fidel68k.cpp
index 6f4ffd359d8..b6e7545e7b4 100644
--- a/src/mame/drivers/fidel68k.cpp
+++ b/src/mame/drivers/fidel68k.cpp
@@ -654,13 +654,14 @@ MACHINE_CONFIG_START(fidel68k_state::eag_base)
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "fidel_scc")
MCFG_GENERIC_EXTENSIONS("bin,dat")
MCFG_GENERIC_LOAD(fidelbase_state, scc_cartridge)
- MCFG_SOFTWARE_LIST_ADD("cart_list", "fidel_scc")
+ SOFTWARE_LIST(config, "cart_list").set_original("fidel_scc");
MACHINE_CONFIG_END
-MACHINE_CONFIG_START(fidel68k_state::eag)
+void fidel68k_state::eag(machine_config &config)
+{
eag_base(config);
RAM(config, "ram").set_default_size("1M").set_extra_options("128K, 512K, 1M");
-MACHINE_CONFIG_END
+}
MACHINE_CONFIG_START(fidel68k_state::eagv7)
eag_base(config);
diff --git a/src/mame/drivers/firefox.cpp b/src/mame/drivers/firefox.cpp
index c93b3e18a6b..5aeb95cee7e 100644
--- a/src/mame/drivers/firefox.cpp
+++ b/src/mame/drivers/firefox.cpp
@@ -658,7 +658,7 @@ MACHINE_CONFIG_START(firefox_state::firefox)
MCFG_DEVICE_ADD("audiocpu", M6502, MASTER_XTAL/8)
MCFG_DEVICE_PROGRAM_MAP(audio_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(60000))
+ config.m_minimum_quantum = attotime::from_hz(60000);
adc0809_device &adc(ADC0809(config, "adc", MASTER_XTAL/16)); // nominally 900 kHz
adc.in_callback<0>().set_ioport("PITCH");
diff --git a/src/mame/drivers/flower.cpp b/src/mame/drivers/flower.cpp
index e6b0f672a05..8e55c01dc42 100644
--- a/src/mame/drivers/flower.cpp
+++ b/src/mame/drivers/flower.cpp
@@ -507,7 +507,7 @@ MACHINE_CONFIG_START(flower_state::flower)
MCFG_DEVICE_PROGRAM_MAP(audio_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(flower_state, irq0_line_hold, 90)
- MCFG_QUANTUM_PERFECT_CPU("mastercpu")
+ config.m_perfect_cpu_quantum = subtag("mastercpu");
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_UPDATE_DRIVER(flower_state, screen_update)
diff --git a/src/mame/drivers/fm7.cpp b/src/mame/drivers/fm7.cpp
index 44387ccf388..3c5f153cafa 100644
--- a/src/mame/drivers/fm7.cpp
+++ b/src/mame/drivers/fm7.cpp
@@ -2038,12 +2038,12 @@ MACHINE_CONFIG_START(fm7_state::fm7)
MCFG_DEVICE_ADD("maincpu", MC6809, 16.128_MHz_XTAL / 2)
MCFG_DEVICE_PROGRAM_MAP(fm7_mem)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(fm7_state,fm7_irq_ack)
- MCFG_QUANTUM_PERFECT_CPU("maincpu")
+ config.m_perfect_cpu_quantum = subtag("maincpu");
MCFG_DEVICE_ADD("sub", MC6809, 16.128_MHz_XTAL / 2)
MCFG_DEVICE_PROGRAM_MAP(fm7_sub_mem)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(fm7_state,fm7_sub_irq_ack)
- MCFG_QUANTUM_PERFECT_CPU("sub")
+ config.m_perfect_cpu_quantum = subtag("sub");
SPEAKER(config, "mono").front_center();
AY8910(config, m_psg, 4.9152_MHz_XTAL / 4).add_route(ALL_OUTPUTS,"mono", 1.00);
@@ -2064,7 +2064,7 @@ MACHINE_CONFIG_START(fm7_state::fm7)
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED);
m_cassette->set_interface("fm7_cass");
- MCFG_SOFTWARE_LIST_ADD("cass_list","fm7_cass")
+ SOFTWARE_LIST(config, "cass_list").set_original("fm7_cass");
MB8877(config, m_fdc, 8_MHz_XTAL / 8);
m_fdc->intrq_wr_callback().set(FUNC(fm7_state::fm7_fdc_intrq_w));
@@ -2073,7 +2073,7 @@ MACHINE_CONFIG_START(fm7_state::fm7)
FLOPPY_CONNECTOR(config, m_floppy0, fm7_floppies, "qd", floppy_image_device::default_floppy_formats);
FLOPPY_CONNECTOR(config, m_floppy1, fm7_floppies, "qd", floppy_image_device::default_floppy_formats);
- MCFG_SOFTWARE_LIST_ADD("flop_list","fm7_disk")
+ SOFTWARE_LIST(config, "flop_list").set_original("fm7_disk");
CENTRONICS(config, m_centronics, centronics_devices, "printer");
m_centronics->option_add("dsjoy", DEMPA_SHINBUNSHA_JOYSTICK);
@@ -2091,12 +2091,12 @@ MACHINE_CONFIG_START(fm7_state::fm8)
MCFG_DEVICE_ADD("maincpu", MC6809, 4.9152_MHz_XTAL) // 1.2MHz 68A09
MCFG_DEVICE_PROGRAM_MAP(fm8_mem)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(fm7_state,fm7_irq_ack)
- MCFG_QUANTUM_PERFECT_CPU("maincpu")
+ config.m_perfect_cpu_quantum = subtag("maincpu");
MCFG_DEVICE_ADD("sub", MC6809, 16.128_MHz_XTAL / 2)
MCFG_DEVICE_PROGRAM_MAP(fm7_sub_mem)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(fm7_state,fm7_sub_irq_ack)
- MCFG_QUANTUM_PERFECT_CPU("sub")
+ config.m_perfect_cpu_quantum = subtag("sub");
SPEAKER(config, "mono").front_center();
BEEP(config, m_beeper, 1200).add_route(ALL_OUTPUTS, "mono", 0.50);
@@ -2138,12 +2138,12 @@ MACHINE_CONFIG_START(fm7_state::fm77av)
MCFG_DEVICE_ADD("maincpu", MC6809E, 16.128_MHz_XTAL / 8)
MCFG_DEVICE_PROGRAM_MAP(fm77av_mem)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(fm7_state,fm7_irq_ack)
- MCFG_QUANTUM_PERFECT_CPU("maincpu")
+ config.m_perfect_cpu_quantum = subtag("maincpu");
MCFG_DEVICE_ADD("sub", MC6809E, 16.128_MHz_XTAL / 8)
MCFG_DEVICE_PROGRAM_MAP(fm77av_sub_mem)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(fm7_state,fm7_sub_irq_ack)
- MCFG_QUANTUM_PERFECT_CPU("sub")
+ config.m_perfect_cpu_quantum = subtag("sub");
SPEAKER(config, "mono").front_center();
YM2203(config, m_ym, 4.9152_MHz_XTAL / 4);
@@ -2174,7 +2174,7 @@ MACHINE_CONFIG_START(fm7_state::fm77av)
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED);
m_cassette->set_interface("fm7_cass");
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("cass_list", "fm7_cass")
+ SOFTWARE_LIST(config, "cass_list").set_compatible("fm7_cass");
MB8877(config, m_fdc, 8_MHz_XTAL / 8);
m_fdc->intrq_wr_callback().set(FUNC(fm7_state::fm7_fdc_intrq_w));
@@ -2183,8 +2183,8 @@ MACHINE_CONFIG_START(fm7_state::fm77av)
FLOPPY_CONNECTOR(config, m_floppy0, fm7_floppies, "qd", floppy_image_device::default_floppy_formats);
FLOPPY_CONNECTOR(config, m_floppy1, fm7_floppies, "qd", floppy_image_device::default_floppy_formats);
- MCFG_SOFTWARE_LIST_ADD("av_flop_list", "fm77av")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("flop_list", "fm7_disk")
+ SOFTWARE_LIST(config, "av_flop_list").set_original("fm77av");
+ SOFTWARE_LIST(config, "flop_list").set_compatible("fm7_disk");
CENTRONICS(config, m_centronics, centronics_devices, "printer");
m_centronics->busy_handler().set(FUNC(fm7_state::write_centronics_busy));
@@ -2201,12 +2201,12 @@ MACHINE_CONFIG_START(fm7_state::fm11)
MCFG_DEVICE_ADD("maincpu", MC6809E, 2000000) // 2MHz 68B09E
MCFG_DEVICE_PROGRAM_MAP(fm11_mem)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(fm7_state,fm7_irq_ack)
- MCFG_QUANTUM_PERFECT_CPU("maincpu")
+ config.m_perfect_cpu_quantum = subtag("maincpu");
MCFG_DEVICE_ADD("sub", MC6809, 8000000) // 2MHz 68B09
MCFG_DEVICE_PROGRAM_MAP(fm11_sub_mem)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(fm7_state,fm7_sub_irq_ack)
- MCFG_QUANTUM_PERFECT_CPU("sub")
+ config.m_perfect_cpu_quantum = subtag("sub");
MCFG_DEVICE_ADD("x86", I8088, 8000000) // 8MHz i8088
MCFG_DEVICE_PROGRAM_MAP(fm11_x86_mem)
@@ -2257,12 +2257,12 @@ MACHINE_CONFIG_START(fm7_state::fm16beta)
MCFG_DEVICE_ADD("maincpu", I8086, 8000000) // 8MHz i8086
MCFG_DEVICE_PROGRAM_MAP(fm16_mem)
MCFG_DEVICE_IO_MAP(fm16_io)
- MCFG_QUANTUM_PERFECT_CPU("maincpu")
+ config.m_perfect_cpu_quantum = subtag("maincpu");
MCFG_DEVICE_ADD("sub", MC6809, 8000000)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(fm7_state,fm7_sub_irq_ack)
MCFG_DEVICE_PROGRAM_MAP(fm16_sub_mem)
- MCFG_QUANTUM_PERFECT_CPU("sub")
+ config.m_perfect_cpu_quantum = subtag("sub");
SPEAKER(config, "mono").front_center();
BEEP(config, m_beeper, 1200).add_route(ALL_OUTPUTS, "mono", 0.50);
diff --git a/src/mame/drivers/force68k.cpp b/src/mame/drivers/force68k.cpp
index a447752fc12..974008b452d 100644
--- a/src/mame/drivers/force68k.cpp
+++ b/src/mame/drivers/force68k.cpp
@@ -510,7 +510,7 @@ MACHINE_CONFIG_START(force68k_state::fccpu1_eprom_sockets)
MCFG_GENERIC_WIDTH(GENERIC_ROM16_WIDTH)
MCFG_GENERIC_ENDIAN(ENDIANNESS_BIG)
MCFG_GENERIC_LOAD(force68k_state, exp1_load)
-// MCFG_SOFTWARE_LIST_ADD("cart_list", "fccpu1_cart")
+// SOFTWARE_LIST(config, "cart_list").set_original("fccpu1_cart");
MACHINE_CONFIG_END
/***************************
diff --git a/src/mame/drivers/gaelco.cpp b/src/mame/drivers/gaelco.cpp
index e7a2407fd3c..c3c984cce61 100644
--- a/src/mame/drivers/gaelco.cpp
+++ b/src/mame/drivers/gaelco.cpp
@@ -654,7 +654,7 @@ MACHINE_CONFIG_START(gaelco_state::bigkarnk)
MCFG_DEVICE_ADD("audiocpu", MC6809E, 8867000/4) /* 68B09EP, 2.21675 MHz? */
MCFG_DEVICE_PROGRAM_MAP(bigkarnk_snd_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(600))
+ config.m_minimum_quantum = attotime::from_hz(600);
LS259(config, m_outlatch);
m_outlatch->q_out_cb<0>().set(FUNC(gaelco_state::coin1_lockout_w)).invert();
@@ -725,7 +725,7 @@ MACHINE_CONFIG_START(gaelco_state::squash)
MCFG_DEVICE_PROGRAM_MAP(squash_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", gaelco_state, irq6_line_hold)
- MCFG_QUANTUM_TIME(attotime::from_hz(600))
+ config.m_minimum_quantum = attotime::from_hz(600);
LS259(config, m_outlatch); // B8
m_outlatch->q_out_cb<0>().set(FUNC(gaelco_state::coin1_lockout_w)).invert();
@@ -763,7 +763,7 @@ MACHINE_CONFIG_START(gaelco_state::thoop)
MCFG_DEVICE_PROGRAM_MAP(thoop_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", gaelco_state, irq6_line_hold)
- MCFG_QUANTUM_TIME(attotime::from_hz(600))
+ config.m_minimum_quantum = attotime::from_hz(600);
LS259(config, m_outlatch); // B8
m_outlatch->q_out_cb<0>().set(FUNC(gaelco_state::coin1_lockout_w)); // not inverted
diff --git a/src/mame/drivers/gal3.cpp b/src/mame/drivers/gal3.cpp
index 5843b92e73f..f3a72c5a12b 100644
--- a/src/mame/drivers/gal3.cpp
+++ b/src/mame/drivers/gal3.cpp
@@ -635,7 +635,7 @@ MACHINE_CONFIG_START(gal3_state::gal3)
MCFG_DEVICE_ADD("psn_b3_cpu", M68000, 12000000) // ??
MCFG_DEVICE_PROGRAM_MAP(psn_b1_cpu_map,0)
*/
- MCFG_QUANTUM_TIME(attotime::from_hz(60*8000)) /* 8000 CPU slices per frame */
+ config.m_minimum_quantum = attotime::from_hz(60*8000); /* 8000 CPU slices per frame */
NVRAM(config, "nvmem", nvram_device::DEFAULT_ALL_0);
diff --git a/src/mame/drivers/galaga.cpp b/src/mame/drivers/galaga.cpp
index bcad96fa4c7..649b386f8d1 100644
--- a/src/mame/drivers/galaga.cpp
+++ b/src/mame/drivers/galaga.cpp
@@ -1651,7 +1651,7 @@ void bosco_state::bosco(machine_config &config)
WATCHDOG_TIMER(config, "watchdog").set_vblank_count(m_screen, 8);
- config.m_minimum_quantum = attotime::from_hz(6000); /* 100 CPU slices per frame - an high value to ensure proper synchronization of the CPUs */
+ config.m_minimum_quantum = attotime::from_hz(6000); /* 100 CPU slices per frame - a high value to ensure proper synchronization of the CPUs */
/* video hardware */
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
@@ -1721,7 +1721,7 @@ void galaga_state::galaga(machine_config &config)
WATCHDOG_TIMER(config, "watchdog").set_vblank_count(m_screen, 8);
- config.m_minimum_quantum = attotime::from_hz(6000); /* 100 CPU slices per frame - an high value to ensure proper synchronization of the CPUs */
+ config.m_minimum_quantum = attotime::from_hz(6000); /* 100 CPU slices per frame - a high value to ensure proper synchronization of the CPUs */
/* video hardware */
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
@@ -1823,7 +1823,7 @@ void xevious_state::xevious(machine_config &config)
WATCHDOG_TIMER(config, "watchdog").set_vblank_count(m_screen, 8);
- config.m_minimum_quantum = attotime::from_hz(60000); /* 1000 CPU slices per frame - an high value to ensure proper synchronization of the CPUs */
+ config.m_minimum_quantum = attotime::from_hz(60000); /* 1000 CPU slices per frame - a high value to ensure proper synchronization of the CPUs */
/* video hardware */
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
@@ -1931,7 +1931,7 @@ void digdug_state::digdug(machine_config &config)
m_videolatch->q_out_cb<3>().set(FUNC(digdug_state::bg_disable_w));
m_videolatch->q_out_cb<7>().set(FUNC(digdug_state::flip_screen_w));
- config.m_minimum_quantum = attotime::from_hz(6000); /* 100 CPU slices per frame - an high value to ensure proper synchronization of the CPUs */
+ config.m_minimum_quantum = attotime::from_hz(6000); /* 100 CPU slices per frame - a high value to ensure proper synchronization of the CPUs */
ER2055(config, m_earom);
diff --git a/src/mame/drivers/galaxy.cpp b/src/mame/drivers/galaxy.cpp
index a1d447078ef..442483e895a 100644
--- a/src/mame/drivers/galaxy.cpp
+++ b/src/mame/drivers/galaxy.cpp
@@ -208,7 +208,7 @@ MACHINE_CONFIG_START(galaxy_state::galaxy)
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED);
m_cassette->set_interface("galaxy_cass");
- MCFG_SOFTWARE_LIST_ADD("cass_list","galaxy")
+ SOFTWARE_LIST(config, "cass_list").set_original("galaxy");
/* internal ram */
RAM(config, RAM_TAG).set_default_size("6K").set_extra_options("2K,22K,38K,54K");
@@ -249,7 +249,7 @@ MACHINE_CONFIG_START(galaxy_state::galaxyp)
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED);
m_cassette->set_interface("galaxy_cass");
- MCFG_SOFTWARE_LIST_ADD("cass_list","galaxy")
+ SOFTWARE_LIST(config, "cass_list").set_original("galaxy");
/* internal ram */
RAM(config, RAM_TAG).set_default_size("38K");
diff --git a/src/mame/drivers/galpani2.cpp b/src/mame/drivers/galpani2.cpp
index 327030760e5..daca8985720 100644
--- a/src/mame/drivers/galpani2.cpp
+++ b/src/mame/drivers/galpani2.cpp
@@ -628,7 +628,7 @@ MACHINE_CONFIG_START(galpani2_state::galpani2)
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(27'000'000)/2) /* Confirmed on galpani2i PCB */
MCFG_DEVICE_PROGRAM_MAP(galpani2_mem1)
TIMER(config, "m_scantimer").configure_scanline(FUNC(galpani2_state::galpani2_interrupt1), "screen", 0, 1);
- //MCFG_QUANTUM_PERFECT_CPU("maincpu")
+ //config.m_perfect_cpu_quantum = subtag("maincpu");
MCFG_DEVICE_ADD("sub", M68000, XTAL(27'000'000)/2) /* Confirmed on galpani2i PCB */
MCFG_DEVICE_PROGRAM_MAP(galpani2_mem2)
diff --git a/src/mame/drivers/gamate.cpp b/src/mame/drivers/gamate.cpp
index b94b5160c3d..f6cf3c229af 100644
--- a/src/mame/drivers/gamate.cpp
+++ b/src/mame/drivers/gamate.cpp
@@ -193,7 +193,7 @@ MACHINE_CONFIG_START(gamate_state::gamate)
MCFG_GAMATE_CARTRIDGE_ADD("cartslot", gamate_cart, nullptr)
- MCFG_SOFTWARE_LIST_ADD("cart_list","gamate")
+ SOFTWARE_LIST(config, "cart_list").set_original("gamate");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/gamecom.cpp b/src/mame/drivers/gamecom.cpp
index e0747c767d4..8c131d16dfd 100644
--- a/src/mame/drivers/gamecom.cpp
+++ b/src/mame/drivers/gamecom.cpp
@@ -263,7 +263,7 @@ MACHINE_CONFIG_START(gamecom_state::gamecom)
m_maincpu->timer_cb().set(FUNC(gamecom_state::gamecom_update_timers));
m_maincpu->set_vblank_int("screen", FUNC(gamecom_state::gamecom_interrupt));
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
//NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
@@ -299,7 +299,7 @@ MACHINE_CONFIG_START(gamecom_state::gamecom)
MCFG_GENERIC_EXTENSIONS("bin,tgc")
MCFG_GENERIC_LOAD(gamecom_state, gamecom_cart2)
- MCFG_SOFTWARE_LIST_ADD("cart_list","gamecom")
+ SOFTWARE_LIST(config, "cart_list").set_original("gamecom");
MACHINE_CONFIG_END
ROM_START( gamecom )
diff --git a/src/mame/drivers/gameking.cpp b/src/mame/drivers/gameking.cpp
index 5870b1130ff..bc432185035 100644
--- a/src/mame/drivers/gameking.cpp
+++ b/src/mame/drivers/gameking.cpp
@@ -308,16 +308,18 @@ MACHINE_CONFIG_START(gameking_state::gameking)
MCFG_GENERIC_LOAD(gameking_state, gameking_cart)
MACHINE_CONFIG_END
-MACHINE_CONFIG_START(gameking_state::gameking1)
+void gameking_state::gameking1(machine_config &config)
+{
gameking(config);
- MCFG_SOFTWARE_LIST_ADD("cart_list", "gameking")
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config, "cart_list").set_original("gameking");
+}
-MACHINE_CONFIG_START(gameking_state::gameking3)
+void gameking_state::gameking3(machine_config &config)
+{
gameking(config);
- MCFG_SOFTWARE_LIST_ADD("cart_list", "gameking")
- MCFG_SOFTWARE_LIST_ADD("cart_list_3", "gameking3")
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config, "cart_list").set_original("gameking");
+ SOFTWARE_LIST(config, "cart_list_3").set_original("gameking3");
+}
ROM_START(gameking)
diff --git a/src/mame/drivers/gamepock.cpp b/src/mame/drivers/gamepock.cpp
index 098b1bb1f98..1b31660c55d 100644
--- a/src/mame/drivers/gamepock.cpp
+++ b/src/mame/drivers/gamepock.cpp
@@ -42,7 +42,8 @@ static INPUT_PORTS_START( gamepock )
INPUT_PORTS_END
-MACHINE_CONFIG_START(gamepock_state::gamepock)
+void gamepock_state::gamepock(machine_config &config)
+{
upd78c06_device &upd(UPD78C06(config, m_maincpu, 6_MHz_XTAL)); // uPD78C06AG
upd.set_addrmap(AS_PROGRAM, &gamepock_state::gamepock_mem);
upd.pa_out_cb().set(FUNC(gamepock_state::port_a_w));
@@ -65,11 +66,11 @@ MACHINE_CONFIG_START(gamepock_state::gamepock)
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.50);
/* cartridge */
- MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "gamepock_cart")
+ GENERIC_CARTSLOT(config, m_cart, generic_plain_slot, "gamepock_cart");
/* Software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list","gamepock")
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config, "cart_list").set_original("gamepock");
+}
ROM_START( gamepock )
diff --git a/src/mame/drivers/gba.cpp b/src/mame/drivers/gba.cpp
index 26a549efcd5..fd6c9d326ae 100644
--- a/src/mame/drivers/gba.cpp
+++ b/src/mame/drivers/gba.cpp
@@ -1459,7 +1459,7 @@ MACHINE_CONFIG_START(gba_state::gbadv)
MCFG_SOUND_ROUTE(0, "rdacb", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdacb", -1.0, DAC_VREF_NEG_INPUT)
MCFG_GBA_CARTRIDGE_ADD("cartslot", gba_cart, nullptr)
- MCFG_SOFTWARE_LIST_ADD("cart_list","gba")
+ SOFTWARE_LIST(config, "cart_list").set_original("gba");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/geniusiq.cpp b/src/mame/drivers/geniusiq.cpp
index fc916f4daf7..8ba69defe57 100644
--- a/src/mame/drivers/geniusiq.cpp
+++ b/src/mame/drivers/geniusiq.cpp
@@ -724,7 +724,7 @@ MACHINE_CONFIG_START(geniusiq_state::iq128)
MCFG_GENERIC_UNLOAD(geniusiq_state, iq128_cart)
/* Software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list", "iq128")
+ SOFTWARE_LIST(config, "cart_list").set_original("iq128");
MACHINE_CONFIG_END
void geniusiq_state::iqtv512(machine_config &config)
diff --git a/src/mame/drivers/genpc.cpp b/src/mame/drivers/genpc.cpp
index da2fd0cecfa..316235cc1f0 100644
--- a/src/mame/drivers/genpc.cpp
+++ b/src/mame/drivers/genpc.cpp
@@ -77,7 +77,7 @@ MACHINE_CONFIG_START(genpc_state::pcmda)
RAM(config, RAM_TAG).set_default_size("640K").set_extra_options("64K, 128K, 256K, 512K");
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("disk_list","ibm5150")
+ SOFTWARE_LIST(config, "disk_list").set_original("ibm5150");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/gimix.cpp b/src/mame/drivers/gimix.cpp
index 3e4feb6c8fc..172067f6c6a 100644
--- a/src/mame/drivers/gimix.cpp
+++ b/src/mame/drivers/gimix.cpp
@@ -481,10 +481,11 @@ static void gimix_floppies(device_slot_interface &device)
device.option_add("8dd", FLOPPY_8_DSDD);
}
-MACHINE_CONFIG_START(gimix_state::gimix)
+void gimix_state::gimix(machine_config &config)
+{
// basic machine hardware
- MCFG_DEVICE_ADD("maincpu", MC6809, 8_MHz_XTAL)
- MCFG_DEVICE_PROGRAM_MAP(gimix_mem)
+ MC6809(config, m_maincpu, 8_MHz_XTAL);
+ m_maincpu->set_addrmap(AS_PROGRAM, &gimix_state::gimix_mem);
/* rtc */
mm58167_device &rtc(MM58167(config, "rtc", 32.768_kHz_XTAL));
@@ -559,12 +560,12 @@ MACHINE_CONFIG_START(gimix_state::gimix)
/* internal ram */
RAM(config, RAM_TAG).set_default_size("128K").set_extra_options("56K,256K,512K");
- MCFG_SOFTWARE_LIST_ADD("flop_list","gimix")
+ SOFTWARE_LIST(config, "flop_list").set_original("gimix");
// uncomment this timer to use a hack that generates a regular IRQ, this will get OS-9 to boot
// for some unknown reason, OS-9 does not touch the 6840, and only clears/disables IRQs on the RTC
//TIMER(config, "test_timer").configure_periodic(FUNC(gimix_state::test_timer_w), attotime::from_msec(100));
-MACHINE_CONFIG_END
+}
ROM_START( gimix )
ROM_REGION( 0x10000, "roms", 0)
diff --git a/src/mame/drivers/gmaster.cpp b/src/mame/drivers/gmaster.cpp
index 9c9104b9b8c..b9d30e78a13 100644
--- a/src/mame/drivers/gmaster.cpp
+++ b/src/mame/drivers/gmaster.cpp
@@ -356,7 +356,7 @@ MACHINE_CONFIG_START(gmaster_state::gmaster)
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_linear_slot, "gmaster_cart")
MCFG_GENERIC_MANDATORY
- MCFG_SOFTWARE_LIST_ADD("cart_list","gmaster")
+ SOFTWARE_LIST(config, "cart_list").set_original("gmaster");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/gp32.cpp b/src/mame/drivers/gp32.cpp
index 37cd654af55..86e3130165e 100644
--- a/src/mame/drivers/gp32.cpp
+++ b/src/mame/drivers/gp32.cpp
@@ -1698,7 +1698,7 @@ MACHINE_CONFIG_START(gp32_state::gp32)
SMARTMEDIA(config, m_smartmedia, 0);
- MCFG_SOFTWARE_LIST_ADD("memc_list","gp32")
+ SOFTWARE_LIST(config, "memc_list").set_original("gp32");
MACHINE_CONFIG_END
ROM_START( gp32 )
diff --git a/src/mame/drivers/grchamp.cpp b/src/mame/drivers/grchamp.cpp
index 76df4032055..038cab85759 100644
--- a/src/mame/drivers/grchamp.cpp
+++ b/src/mame/drivers/grchamp.cpp
@@ -756,7 +756,7 @@ MACHINE_CONFIG_START(grchamp_state::grchamp)
MCFG_DEVICE_PERIODIC_INT_DRIVER(grchamp_state, irq0_line_hold, (double)SOUND_CLOCK/4/16/16/10/16)
WATCHDOG_TIMER(config, m_watchdog).set_vblank_count(m_screen, 8);
- MCFG_QUANTUM_TIME(attotime::from_hz(6000))
+ config.m_minimum_quantum = attotime::from_hz(6000);
/* video hardware */
GFXDECODE(config, m_gfxdecode, m_palette, gfx_grchamp);
diff --git a/src/mame/drivers/gyruss.cpp b/src/mame/drivers/gyruss.cpp
index e597b5ae677..217087db2cc 100644
--- a/src/mame/drivers/gyruss.cpp
+++ b/src/mame/drivers/gyruss.cpp
@@ -492,7 +492,7 @@ MACHINE_CONFIG_START(gyruss_state::gyruss)
m_audiocpu_2->p1_out_cb().set(FUNC(gyruss_state::gyruss_dac_w));
m_audiocpu_2->p2_out_cb().set(FUNC(gyruss_state::gyruss_irq_clear_w));
- MCFG_QUANTUM_TIME(attotime::from_hz(6000))
+ config.m_minimum_quantum = attotime::from_hz(6000);
ls259_device &mainlatch(LS259(config, "mainlatch")); // 3C
mainlatch.q_out_cb<0>().set(FUNC(gyruss_state::master_nmi_mask_w));
diff --git a/src/mame/drivers/harddriv.cpp b/src/mame/drivers/harddriv.cpp
index 15fcf4bb041..1af64a14b10 100644
--- a/src/mame/drivers/harddriv.cpp
+++ b/src/mame/drivers/harddriv.cpp
@@ -2093,14 +2093,14 @@ void harddriv_new_state::racedriv_panorama_machine(machine_config &config)
RACEDRIVC_PANORAMA_SIDE_BOARD(config, "leftpcb", 0);
RACEDRIVC_PANORAMA_SIDE_BOARD(config, "rightpcb", 0);
-// MCFG_QUANTUM_TIME(attotime::from_hz(100000))
+// config.m_minimum_quantum = attotime::from_hz(100000);
subdevice<mc68681_device>("mainpcb:duartn68681")->a_tx_cb().set(FUNC(harddriv_new_state::tx_a));
// boots with 'PROGRAM OK' when using standard Hard Drivin' board type (needs 137412-115 slapstic)
subdevice<atari_slapstic_device>("mainpcb:slapstic")->set_chipnum(115);
TIMER(config, "hack_timer").configure_periodic(FUNC(harddriv_new_state::hack_timer), attotime::from_hz(60));
-// MCFG_QUANTUM_TIME(attotime::from_hz(60000))
+// config.m_minimum_quantum = attotime::from_hz(60000);
}
// this is an ugly hack, otherwise MAME's core can't seem to handle partial updates if you have multiple screens with different update frequencies.
diff --git a/src/mame/drivers/hazeltin.cpp b/src/mame/drivers/hazeltin.cpp
index 32970e9c271..7bfa7b88a54 100644
--- a/src/mame/drivers/hazeltin.cpp
+++ b/src/mame/drivers/hazeltin.cpp
@@ -698,7 +698,7 @@ MACHINE_CONFIG_START(hazl1500_state::hazl1500)
MCFG_DEVICE_ADD(CPU_TAG, I8080, XTAL(18'000'000)/9) // 18MHz crystal on schematics, using an i8224 clock gen/driver IC
MCFG_DEVICE_PROGRAM_MAP(hazl1500_mem)
MCFG_DEVICE_IO_MAP(hazl1500_io)
- MCFG_QUANTUM_PERFECT_CPU(CPU_TAG)
+ config.m_perfect_cpu_quantum = subtag(CPU_TAG);
INPUT_MERGER_ANY_HIGH(config, "mainint").output_handler().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
diff --git a/src/mame/drivers/horizon.cpp b/src/mame/drivers/horizon.cpp
index 80dd8fd3967..cd8eaeb8100 100644
--- a/src/mame/drivers/horizon.cpp
+++ b/src/mame/drivers/horizon.cpp
@@ -222,7 +222,7 @@ MACHINE_CONFIG_START(horizon_state::horizon)
MCFG_S100_SLOT_ADD("s100:12", horizon_s100_cards, nullptr)
// software list
- MCFG_SOFTWARE_LIST_ADD("flop_list", "horizon")
+ SOFTWARE_LIST(config, "flop_list").set_original("horizon");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(horizon_state::horizon2mhz)
diff --git a/src/mame/drivers/hp80.cpp b/src/mame/drivers/hp80.cpp
index 87a311a4b8c..5870120b805 100644
--- a/src/mame/drivers/hp80.cpp
+++ b/src/mame/drivers/hp80.cpp
@@ -1398,7 +1398,7 @@ MACHINE_CONFIG_START(hp85_state::hp85)
BITBANGER(config, m_prt_graph_out, 0);
BITBANGER(config, m_prt_alpha_out, 0);
- MCFG_SOFTWARE_LIST_ADD("optrom_list" , "hp85_rom")
+ SOFTWARE_LIST(config, "optrom_list").set_original("hp85_rom");
MACHINE_CONFIG_END
ROM_START(hp85)
diff --git a/src/mame/drivers/hp9825.cpp b/src/mame/drivers/hp9825.cpp
index 6cad2fd45c7..ee1aaaade3e 100644
--- a/src/mame/drivers/hp9825.cpp
+++ b/src/mame/drivers/hp9825.cpp
@@ -631,7 +631,7 @@ MACHINE_CONFIG_START(hp9825_state::hp9825b)
m_cpu->pa_changed_cb().set(m_io_sys , FUNC(hp98x5_io_sys_device::pa_w));
// Needed when 98035 RTC module is connected or time advances at about 1/4 the correct speed (NP misses a lot of 1kHz interrupts)
- MCFG_QUANTUM_TIME(attotime::from_hz(5000));
+ config.m_minimum_quantum = attotime::from_hz(5000);
HP98X5_IO_SYS(config , m_io_sys , 0);
m_io_sys->irl().set_inputline(m_cpu, HPHYBRID_IRL);
diff --git a/src/mame/drivers/hp9845.cpp b/src/mame/drivers/hp9845.cpp
index 0bb56a8377f..2fc203ba8c9 100644
--- a/src/mame/drivers/hp9845.cpp
+++ b/src/mame/drivers/hp9845.cpp
@@ -3544,7 +3544,7 @@ MACHINE_CONFIG_START(hp9845_state::hp9845a)
MCFG_SCREEN_SIZE(560, 455)
MCFG_SCREEN_VISIBLE_AREA(0, 560-1, 0, 455-1)
- MCFG_SOFTWARE_LIST_ADD("optrom_list", "hp9845a_rom")
+ SOFTWARE_LIST(config, "optrom_list").set_original("hp9845a_rom");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(hp9845_state::hp9835a)
@@ -3559,7 +3559,7 @@ MACHINE_CONFIG_START(hp9845_state::hp9835a)
MCFG_SCREEN_SIZE(560, 455)
MCFG_SCREEN_VISIBLE_AREA(0, 560-1, 0, 455-1)
- MCFG_SOFTWARE_LIST_ADD("optrom_list", "hp9835a_rom")
+ SOFTWARE_LIST(config, "optrom_list").set_original("hp9835a_rom");
MACHINE_CONFIG_END
/*
@@ -3725,7 +3725,7 @@ MACHINE_CONFIG_START(hp9845b_state::hp9845b)
config.set_default_layout(layout_hp9845b);
- MCFG_SOFTWARE_LIST_ADD("optrom_list", "hp9845b_rom")
+ SOFTWARE_LIST(config, "optrom_list").set_original("hp9845b_rom");
MACHINE_CONFIG_END
@@ -3739,7 +3739,7 @@ MACHINE_CONFIG_START(hp9845c_state::hp9845c)
MCFG_PALETTE_ADD("palette", 24)
TIMER(config, "scantimer").configure_scanline(FUNC(hp9845c_state::scanline_timer), "screen", 0, 1);
- MCFG_SOFTWARE_LIST_ADD("optrom_list", "hp9845b_rom")
+ SOFTWARE_LIST(config, "optrom_list").set_original("hp9845b_rom");
MACHINE_CONFIG_END
@@ -3754,7 +3754,7 @@ MACHINE_CONFIG_START(hp9845t_state::hp9845t)
MCFG_PALETTE_ADD("palette", 5)
TIMER(config, "scantimer").configure_scanline(FUNC(hp9845t_state::scanline_timer), "screen", 0, 1);
- MCFG_SOFTWARE_LIST_ADD("optrom_list", "hp9845b_rom")
+ SOFTWARE_LIST(config, "optrom_list").set_original("hp9845b_rom");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/hp9k_3xx.cpp b/src/mame/drivers/hp9k_3xx.cpp
index 056817f7e36..2cbfe04ac4f 100644
--- a/src/mame/drivers/hp9k_3xx.cpp
+++ b/src/mame/drivers/hp9k_3xx.cpp
@@ -323,15 +323,16 @@ WRITE32_MEMBER(hp9k3xx_state::buserror_w)
set_bus_error(offset << 2, false, mem_mask);
}
-MACHINE_CONFIG_START(hp9k3xx_state::hp9k300)
+void hp9k3xx_state::hp9k300(machine_config &config)
+{
ptm6840_device &ptm(PTM6840(config, PTM6840_TAG, 250000)); // from oscillator module next to the 6840
ptm.set_external_clocks(250000.0f, 0.0f, 250000.0f);
ptm.o3_callback().set(PTM6840_TAG, FUNC(ptm6840_device::set_c2));
ptm.irq_callback().set_inputline("maincpu", M68K_IRQ_6);
- MCFG_SOFTWARE_LIST_ADD("flop_list", "hp9k3xx_flop")
+ SOFTWARE_LIST(config, "flop_list").set_original("hp9k3xx_flop");
config.set_default_layout(layout_hp9k_3xx);
-MACHINE_CONFIG_END
+}
MACHINE_CONFIG_START(hp9k3xx_state::hp9k310)
diff --git a/src/mame/drivers/hp_ipc.cpp b/src/mame/drivers/hp_ipc.cpp
index b340089b522..11ed4d2b7b0 100644
--- a/src/mame/drivers/hp_ipc.cpp
+++ b/src/mame/drivers/hp_ipc.cpp
@@ -749,7 +749,7 @@ MACHINE_CONFIG_START(hp_ipc_state::hp_ipc_base)
m_fdc->intrq_wr_callback().set(FUNC(hp_ipc_state::irq_5));
FLOPPY_CONNECTOR(config, "fdc:0", hp_ipc_floppies, "35dd", hp_ipc_state::floppy_formats);
- MCFG_SOFTWARE_LIST_ADD("flop_list","hp_ipc")
+ SOFTWARE_LIST(config, "flop_list").set_original("hp_ipc");
mm58167_device &rtc(MM58167(config, "rtc", 32.768_kHz_XTAL));
rtc.irq().set(FUNC(hp_ipc_state::irq_1));
diff --git a/src/mame/drivers/hvyunit.cpp b/src/mame/drivers/hvyunit.cpp
index 24db9fdd943..5ec161435b1 100644
--- a/src/mame/drivers/hvyunit.cpp
+++ b/src/mame/drivers/hvyunit.cpp
@@ -650,7 +650,7 @@ MACHINE_CONFIG_START(hvyunit_state::hvyunit)
GENERIC_LATCH_8(config, m_slavelatch);
- MCFG_QUANTUM_TIME(attotime::from_hz(6000))
+ config.m_minimum_quantum = attotime::from_hz(6000);
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(58)
diff --git a/src/mame/drivers/hx20.cpp b/src/mame/drivers/hx20.cpp
index 18d4c1a9b9b..65e81988055 100644
--- a/src/mame/drivers/hx20.cpp
+++ b/src/mame/drivers/hx20.cpp
@@ -896,8 +896,8 @@ MACHINE_CONFIG_START(hx20_state::hx20)
MCFG_GENERIC_LOAD(hx20_state, optrom_load)
// software lists
- MCFG_SOFTWARE_LIST_ADD("hx20_opt_list", "hx20_rom")
- MCFG_SOFTWARE_LIST_ADD("epson_cpm_list", "epson_cpm")
+ SOFTWARE_LIST(config, "hx20_opt_list").set_original("hx20_rom");
+ SOFTWARE_LIST(config, "epson_cpm_list").set_original("epson_cpm");
MACHINE_CONFIG_END
@@ -905,7 +905,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( hx20 )
//-------------------------------------------------
-MACHINE_CONFIG_START(hx20_state::cm6000)
+void hx20_state::cm6000(machine_config &config)
+{
hx20(config);
// basic machine hardware
m_maincpu->set_addrmap(AS_PROGRAM, &hx20_state::cm6000_mem);
@@ -914,9 +915,9 @@ MACHINE_CONFIG_START(hx20_state::cm6000)
config.device_remove("optrom");
// software lists
- MCFG_SOFTWARE_LIST_REMOVE("epson_cpm_list")
- MCFG_SOFTWARE_LIST_REMOVE("hx20_opt_list")
-MACHINE_CONFIG_END
+ config.device_remove("epson_cpm_list");
+ config.device_remove("hx20_opt_list");
+}
//**************************************************************************
diff --git a/src/mame/drivers/hyperscan.cpp b/src/mame/drivers/hyperscan.cpp
index 926c1d1ed55..a4b07977096 100644
--- a/src/mame/drivers/hyperscan.cpp
+++ b/src/mame/drivers/hyperscan.cpp
@@ -626,7 +626,7 @@ MACHINE_CONFIG_START(hyperscan_state::hyperscan)
MCFG_DEVICE_ADD("maincpu", SCORE7, XTAL(27'000'000) * 4) // 108MHz S+core 7
MCFG_DEVICE_PROGRAM_MAP(spg290_mem)
- MCFG_SOFTWARE_LIST_ADD("cd_list","hyperscan")
+ SOFTWARE_LIST(config, "cd_list").set_original("hyperscan");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/i7000.cpp b/src/mame/drivers/i7000.cpp
index 916505868d4..8b3ff54c1d0 100644
--- a/src/mame/drivers/i7000.cpp
+++ b/src/mame/drivers/i7000.cpp
@@ -392,7 +392,7 @@ MACHINE_CONFIG_START(i7000_state::i7000)
MCFG_GENERIC_LOAD(i7000_state, i7000_card)
/* Software lists */
- MCFG_SOFTWARE_LIST_ADD("card_list", "i7000_card")
+ SOFTWARE_LIST(config, "card_list").set_original("i7000_card");
MACHINE_CONFIG_END
ROM_START( i7000 )
diff --git a/src/mame/drivers/ibm6580.cpp b/src/mame/drivers/ibm6580.cpp
index 88d714c11f5..282eba01b14 100644
--- a/src/mame/drivers/ibm6580.cpp
+++ b/src/mame/drivers/ibm6580.cpp
@@ -954,7 +954,7 @@ MACHINE_CONFIG_START(ibm6580_state::ibm6580)
rs232b.dsr_handler().set("upd8251b", FUNC(i8251_device::write_dsr));
rs232b.cts_handler().set("upd8251b", FUNC(i8251_device::write_cts));
- MCFG_SOFTWARE_LIST_ADD("flop_list", "ibm6580")
+ SOFTWARE_LIST(config, "flop_list").set_original("ibm6580");
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mame/drivers/ibmpc.cpp b/src/mame/drivers/ibmpc.cpp
index f078351a8c0..ebf10b813c3 100644
--- a/src/mame/drivers/ibmpc.cpp
+++ b/src/mame/drivers/ibmpc.cpp
@@ -319,17 +319,17 @@ MACHINE_CONFIG_START(ibmpc_state::ibm5150)
RAM(config, RAM_TAG).set_default_size("640K").set_extra_options("64K, 128K, 256K, 512K");
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("disk_list","ibm5150")
- MCFG_SOFTWARE_LIST_ADD("cass_list","ibm5150_cass")
+ SOFTWARE_LIST(config, "disk_list").set_original("ibm5150");
+ SOFTWARE_LIST(config, "cass_list").set_original("ibm5150_cass");
MACHINE_CONFIG_END
-MACHINE_CONFIG_START(ibmpc_state::ibm5140)
+void ibmpc_state::ibm5140(machine_config &config)
+{
ibm5150(config);
/* software lists */
- config.device_remove( "disk_list" );
- MCFG_SOFTWARE_LIST_ADD("disk_list","ibm5140")
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config.replace(), "disk_list").set_original("ibm5140");
+}
MACHINE_CONFIG_START(ibmpc_state::ibm5160)
@@ -359,7 +359,7 @@ MACHINE_CONFIG_START(ibmpc_state::ibm5160)
RAM(config, RAM_TAG).set_default_size("640K").set_extra_options("64K, 128K, 256K, 512K");
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("pc_disk_list","ibm5150")
+ SOFTWARE_LIST(config, "pc_disk_list").set_original("ibm5150");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/ibmpcjr.cpp b/src/mame/drivers/ibmpcjr.cpp
index c4cdb3012cd..7d43557de3a 100644
--- a/src/mame/drivers/ibmpcjr.cpp
+++ b/src/mame/drivers/ibmpcjr.cpp
@@ -679,9 +679,9 @@ MACHINE_CONFIG_START(pcjr_state::ibmpcjr)
RAM(config, m_ram).set_default_size("640K").set_extra_options("128K, 256K, 512K");
/* Software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list","ibmpcjr_cart")
- MCFG_SOFTWARE_LIST_ADD("flop_list","ibmpcjr_flop")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("pc_list","ibm5150")
+ SOFTWARE_LIST(config, "cart_list").set_original("ibmpcjr_cart");
+ SOFTWARE_LIST(config, "flop_list").set_original("ibmpcjr_flop");
+ SOFTWARE_LIST(config, "pc_list").set_compatible("ibm5150");
MACHINE_CONFIG_END
static GFXDECODE_START( gfx_ibmpcjx )
diff --git a/src/mame/drivers/ikki.cpp b/src/mame/drivers/ikki.cpp
index a4c00f29472..86720d5fbea 100644
--- a/src/mame/drivers/ikki.cpp
+++ b/src/mame/drivers/ikki.cpp
@@ -264,7 +264,7 @@ MACHINE_CONFIG_START(ikki_state::ikki)
MCFG_DEVICE_PROGRAM_MAP(ikki_cpu2)
MCFG_DEVICE_PERIODIC_INT_DRIVER(ikki_state, irq0_line_hold, 2*(PIXEL_CLOCK/HTOTAL/VTOTAL))
- MCFG_QUANTUM_PERFECT_CPU("maincpu")
+ config.m_perfect_cpu_quantum = subtag("maincpu");
/* video hardware */
diff --git a/src/mame/drivers/imds2.cpp b/src/mame/drivers/imds2.cpp
index f4ca5570f46..e56387de96c 100644
--- a/src/mame/drivers/imds2.cpp
+++ b/src/mame/drivers/imds2.cpp
@@ -253,7 +253,7 @@ void imds2_state::imds2(machine_config &config)
m_ipccpu->set_addrmap(AS_PROGRAM, &imds2_state::ipc_mem_map);
m_ipccpu->set_addrmap(AS_IO, &imds2_state::ipc_io_map);
m_ipccpu->set_irq_acknowledge_callback("ipcsyspic", FUNC(pic8259_device::inta_cb));
- //MCFG_QUANTUM_TIME(attotime::from_hz(100))
+ //config.m_minimum_quantum = attotime::from_hz(100);
PIC8259(config, m_ipcsyspic, 0);
m_ipcsyspic->out_int_callback().set(FUNC(imds2_state::ipc_intr_w));
diff --git a/src/mame/drivers/imolagp.cpp b/src/mame/drivers/imolagp.cpp
index 99eb1230e90..8e48681dfd9 100644
--- a/src/mame/drivers/imolagp.cpp
+++ b/src/mame/drivers/imolagp.cpp
@@ -524,7 +524,7 @@ MACHINE_CONFIG_START(imolagp_state::imolagp)
MCFG_DEVICE_PROGRAM_MAP(imolagp_slave_map)
MCFG_DEVICE_IO_MAP(imolagp_slave_io)
- MCFG_QUANTUM_PERFECT_CPU("maincpu")
+ config.m_perfect_cpu_quantum = subtag("maincpu");
i8255_device &ppi(I8255A(config, "ppi8255", 0));
// mode $91 - ports A & C-lower as input, ports B & C-upper as output
diff --git a/src/mame/drivers/interact.cpp b/src/mame/drivers/interact.cpp
index d898cab6522..b3bce75da83 100644
--- a/src/mame/drivers/interact.cpp
+++ b/src/mame/drivers/interact.cpp
@@ -157,7 +157,7 @@ MACHINE_CONFIG_START(interact_state::interact)
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MASK_SPEAKER);
m_cassette->set_interface("interact_cass");
- MCFG_SOFTWARE_LIST_ADD("cass_list","interact")
+ SOFTWARE_LIST(config, "cass_list").set_original("interact");
/* printer */
PRINTER(config, m_printer, 0);
diff --git a/src/mame/drivers/intv.cpp b/src/mame/drivers/intv.cpp
index 51bc760ca21..6d17d99ea16 100644
--- a/src/mame/drivers/intv.cpp
+++ b/src/mame/drivers/intv.cpp
@@ -462,7 +462,7 @@ MACHINE_CONFIG_START(intv_state::intv)
MCFG_DEVICE_ADD("maincpu", CP1610, XTAL(3'579'545)/4) /* Colorburst/4 */
MCFG_DEVICE_PROGRAM_MAP(intv_mem)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", intv_state, intv_interrupt)
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
/* video hardware */
MCFG_DEVICE_ADD("stic", STIC, XTAL(3'579'545))
@@ -492,8 +492,8 @@ MACHINE_CONFIG_START(intv_state::intv)
MCFG_INTV_CARTRIDGE_ADD("cartslot", intv_cart, nullptr)
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list", "intv")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("ecs_list", "intvecs")
+ SOFTWARE_LIST(config, "cart_list").set_original("intv");
+ SOFTWARE_LIST(config, "ecs_list").set_compatible("intvecs");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(intv_state::intv2)
@@ -527,10 +527,9 @@ MACHINE_CONFIG_START(intv_state::intvecs)
//CASSETTE(config, "cassette");
/* software lists */
- config.device_remove("cart_list");
config.device_remove("ecs_list");
- MCFG_SOFTWARE_LIST_ADD("cart_list", "intvecs")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("intv_list", "intv")
+ SOFTWARE_LIST(config.replace(), "cart_list").set_original("intvecs");
+ SOFTWARE_LIST(config, "intv_list").set_compatible("intv");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(intv_state::intvkbd)
@@ -542,7 +541,7 @@ MACHINE_CONFIG_START(intv_state::intvkbd)
MCFG_DEVICE_PROGRAM_MAP(intvkbd2_mem)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", intv_state, intv_interrupt2)
- MCFG_QUANTUM_TIME(attotime::from_hz(6000))
+ config.m_minimum_quantum = attotime::from_hz(6000);
/* video hardware */
MCFG_DEVICE_ADD(m_gfxdecode, GFXDECODE, m_palette, gfx_intvkbd)
diff --git a/src/mame/drivers/iq151.cpp b/src/mame/drivers/iq151.cpp
index 11c44925207..6c20b4ef5a2 100644
--- a/src/mame/drivers/iq151.cpp
+++ b/src/mame/drivers/iq151.cpp
@@ -470,8 +470,8 @@ MACHINE_CONFIG_START(iq151_state::iq151)
MCFG_IQ151CART_SLOT_OUT_IRQ4_CB(WRITELINE(m_pic, pic8259_device, ir4_w))
/* Software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list", "iq151_cart")
- MCFG_SOFTWARE_LIST_ADD("flop_list", "iq151_flop")
+ SOFTWARE_LIST(config, "cart_list").set_original("iq151_cart");
+ SOFTWARE_LIST(config, "flop_list").set_original("iq151_flop");
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mame/drivers/jackal.cpp b/src/mame/drivers/jackal.cpp
index 0e8b8480cbc..5adb580f073 100644
--- a/src/mame/drivers/jackal.cpp
+++ b/src/mame/drivers/jackal.cpp
@@ -366,7 +366,7 @@ MACHINE_CONFIG_START(jackal_state::jackal)
MCFG_DEVICE_ADD("slave", MC6809E, MASTER_CLOCK/12) // verified on pcb
MCFG_DEVICE_PROGRAM_MAP(slave_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(6000))
+ config.m_minimum_quantum = attotime::from_hz(6000);
WATCHDOG_TIMER(config, "watchdog");
diff --git a/src/mame/drivers/jedi.cpp b/src/mame/drivers/jedi.cpp
index 1d3d4875afe..ab52077903d 100644
--- a/src/mame/drivers/jedi.cpp
+++ b/src/mame/drivers/jedi.cpp
@@ -328,13 +328,13 @@ INPUT_PORTS_END
*
*************************************/
-MACHINE_CONFIG_START(jedi_state::jedi)
-
+void jedi_state::jedi(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", M6502, JEDI_MAIN_CPU_CLOCK)
- MCFG_DEVICE_PROGRAM_MAP(main_map)
+ M6502(config, m_maincpu, JEDI_MAIN_CPU_CLOCK);
+ m_maincpu->set_addrmap(AS_PROGRAM, &jedi_state::main_map);
- MCFG_QUANTUM_TIME(attotime::from_hz(240))
+ config.m_minimum_quantum = attotime::from_hz(240);
X2212(config, "novram12b");
X2212(config, "novram12c");
@@ -361,7 +361,7 @@ MACHINE_CONFIG_START(jedi_state::jedi)
/* audio hardware */
jedi_audio(config);
-MACHINE_CONFIG_END
+}
diff --git a/src/mame/drivers/jpmimpct.cpp b/src/mame/drivers/jpmimpct.cpp
index 84ba4e11d69..042e98974da 100644
--- a/src/mame/drivers/jpmimpct.cpp
+++ b/src/mame/drivers/jpmimpct.cpp
@@ -853,7 +853,7 @@ MACHINE_CONFIG_START(jpmimpct_state::jpmimpct)
m_dsp->set_shiftreg_in_callback(FUNC(jpmimpct_state::to_shiftreg));
m_dsp->set_shiftreg_out_callback(FUNC(jpmimpct_state::from_shiftreg));
- MCFG_QUANTUM_TIME(attotime::from_hz(30000))
+ config.m_minimum_quantum = attotime::from_hz(30000);
MCFG_MACHINE_START_OVERRIDE(jpmimpct_state,jpmimpct)
MCFG_MACHINE_RESET_OVERRIDE(jpmimpct_state,jpmimpct)
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
@@ -1314,7 +1314,7 @@ MACHINE_CONFIG_START(jpmimpct_state::impctawp)
MCFG_DEVICE_ADD("maincpu",M68000, 8000000)
MCFG_DEVICE_PROGRAM_MAP(awp68k_program_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(30000))
+ config.m_minimum_quantum = attotime::from_hz(30000);
S16LF01(config, m_vfd);
MCFG_MACHINE_START_OVERRIDE(jpmimpct_state,impctawp)
diff --git a/src/mame/drivers/juicebox.cpp b/src/mame/drivers/juicebox.cpp
index ce141025821..5e0c0b54af4 100644
--- a/src/mame/drivers/juicebox.cpp
+++ b/src/mame/drivers/juicebox.cpp
@@ -336,7 +336,7 @@ MACHINE_CONFIG_START(juicebox_state::juicebox)
SMARTMEDIA(config, m_smartmedia, 0);
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list","juicebox")
+ SOFTWARE_LIST(config, "cart_list").set_original("juicebox");
MACHINE_CONFIG_END
static INPUT_PORTS_START( juicebox )
diff --git a/src/mame/drivers/junior.cpp b/src/mame/drivers/junior.cpp
index 771bca1c347..d571bb4a543 100644
--- a/src/mame/drivers/junior.cpp
+++ b/src/mame/drivers/junior.cpp
@@ -225,11 +225,12 @@ void junior_state::machine_reset()
}
-MACHINE_CONFIG_START(junior_state::junior)
+void junior_state::junior(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu",M6502, 1_MHz_XTAL)
- MCFG_DEVICE_PROGRAM_MAP(junior_mem)
- MCFG_QUANTUM_TIME(attotime::from_hz(50))
+ M6502(config, m_maincpu, 1_MHz_XTAL);
+ m_maincpu->set_addrmap(AS_PROGRAM, &junior_state::junior_mem);
+ config.m_minimum_quantum = attotime::from_hz(50);
/* video hardware */
config.set_default_layout(layout_junior);
@@ -242,9 +243,8 @@ MACHINE_CONFIG_START(junior_state::junior)
m_riot->pb_wr_callback().set(FUNC(junior_state::junior_riot_b_w));
m_riot->irq_wr_callback().set_inputline(m_maincpu, M6502_IRQ_LINE);
-
TIMER(config, "led_timer").configure_periodic(FUNC(junior_state::junior_update_leds), attotime::from_hz(50));
-MACHINE_CONFIG_END
+}
/* ROM definition */
diff --git a/src/mame/drivers/jupace.cpp b/src/mame/drivers/jupace.cpp
index fdfdb10486a..8529b217420 100644
--- a/src/mame/drivers/jupace.cpp
+++ b/src/mame/drivers/jupace.cpp
@@ -759,7 +759,7 @@ MACHINE_CONFIG_START(ace_state::ace)
MCFG_DEVICE_ADD(Z80_TAG, Z80, XTAL(6'500'000)/2)
MCFG_DEVICE_PROGRAM_MAP(ace_mem)
MCFG_DEVICE_IO_MAP(ace_io)
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
// video hardware
MCFG_SCREEN_ADD(SCREEN_TAG, RASTER)
@@ -810,7 +810,7 @@ MACHINE_CONFIG_START(ace_state::ace)
// internal ram
RAM(config, RAM_TAG).set_default_size("1K").set_extra_options("16K,32K,48K");
- MCFG_SOFTWARE_LIST_ADD("cass_list", "jupace_cass")
+ SOFTWARE_LIST(config, "cass_list").set_original("jupace_cass");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/kaypro.cpp b/src/mame/drivers/kaypro.cpp
index 82c5e7edd95..9907ea7920e 100644
--- a/src/mame/drivers/kaypro.cpp
+++ b/src/mame/drivers/kaypro.cpp
@@ -269,7 +269,7 @@ MACHINE_CONFIG_START(kaypro_state::kayproii)
m_fdc->set_force_ready(true);
FLOPPY_CONNECTOR(config, "fdc:0", kaypro_floppies, "525ssdd", floppy_image_device::default_floppy_formats).enable_sound(true);
FLOPPY_CONNECTOR(config, "fdc:1", kaypro_floppies, "525ssdd", floppy_image_device::default_floppy_formats).enable_sound(true);
- MCFG_SOFTWARE_LIST_ADD("flop_list","kayproii")
+ SOFTWARE_LIST(config, "flop_list").set_original("kayproii");
MACHINE_CONFIG_END
void kaypro_state::kayproiv(machine_config &config)
diff --git a/src/mame/drivers/kc.cpp b/src/mame/drivers/kc.cpp
index 296c607349a..ca2328b74eb 100644
--- a/src/mame/drivers/kc.cpp
+++ b/src/mame/drivers/kc.cpp
@@ -103,7 +103,7 @@ MACHINE_CONFIG_START(kc_state::kc85_3)
m_maincpu->set_addrmap(AS_IO, &kc_state::kc85_3_io);
m_maincpu->set_daisy_config(kc85_daisy_chain);
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
Z80PIO(config, m_z80pio, KC85_3_CLOCK);
m_z80pio->out_int_callback().set_inputline(m_maincpu, 0);
@@ -168,9 +168,9 @@ MACHINE_CONFIG_START(kc_state::kc85_3)
MCFG_KCEXP_SLOT_OUT_HALT_CB(INPUTLINE("maincpu", INPUT_LINE_HALT))
/* Software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list", "kc_cart")
- MCFG_SOFTWARE_LIST_ADD("flop_list", "kc_flop")
- MCFG_SOFTWARE_LIST_ADD("cass_list", "kc_cass")
+ SOFTWARE_LIST(config, "cart_list").set_original("kc_cart");
+ SOFTWARE_LIST(config, "flop_list").set_original("kc_flop");
+ SOFTWARE_LIST(config, "cass_list").set_original("kc_cass");
/* internal ram */
RAM(config, m_ram).set_default_size("16K");
@@ -183,7 +183,7 @@ MACHINE_CONFIG_START(kc85_4_state::kc85_4)
m_maincpu->set_addrmap(AS_PROGRAM, &kc85_4_state::kc85_4_mem);
m_maincpu->set_addrmap(AS_IO, &kc85_4_state::kc85_4_io);
m_maincpu->set_daisy_config(kc85_daisy_chain);
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
Z80PIO(config, m_z80pio, KC85_4_CLOCK);
m_z80pio->out_int_callback().set_inputline(m_maincpu, 0);
@@ -248,9 +248,9 @@ MACHINE_CONFIG_START(kc85_4_state::kc85_4)
MCFG_KCEXP_SLOT_OUT_HALT_CB(INPUTLINE("maincpu", INPUT_LINE_HALT))
/* Software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list", "kc_cart")
- MCFG_SOFTWARE_LIST_ADD("flop_list", "kc_flop")
- MCFG_SOFTWARE_LIST_ADD("cass_list", "kc_cass")
+ SOFTWARE_LIST(config, "cart_list").set_original("kc_cart");
+ SOFTWARE_LIST(config, "flop_list").set_original("kc_flop");
+ SOFTWARE_LIST(config, "cass_list").set_original("kc_cass");
/* internal ram */
RAM(config, m_ram).set_default_size("64K");
diff --git a/src/mame/drivers/kdt6.cpp b/src/mame/drivers/kdt6.cpp
index a76c875f6bc..4bd47a3d7f6 100644
--- a/src/mame/drivers/kdt6.cpp
+++ b/src/mame/drivers/kdt6.cpp
@@ -716,7 +716,7 @@ MACHINE_CONFIG_START(kdt6_state::psi98)
FLOPPY_CONNECTOR(config, "fdc:0", kdt6_floppies, "fd55f", floppy_image_device::default_floppy_formats);
FLOPPY_CONNECTOR(config, "fdc:1", kdt6_floppies, "fd55f", floppy_image_device::default_floppy_formats);
- MCFG_SOFTWARE_LIST_ADD("floppy_list", "psi98")
+ SOFTWARE_LIST(config, "floppy_list").set_original("psi98");
MCFG_PSI_KEYBOARD_INTERFACE_ADD("kbd", "hle")
MCFG_PSI_KEYBOARD_RX_HANDLER(WRITELINE(*this, kdt6_state, keyboard_rx_w))
diff --git a/src/mame/drivers/kim1.cpp b/src/mame/drivers/kim1.cpp
index bdc71f298b4..2fc01cbef0c 100644
--- a/src/mame/drivers/kim1.cpp
+++ b/src/mame/drivers/kim1.cpp
@@ -240,11 +240,12 @@ void kim1_state::machine_reset()
// MACHINE DRIVERS
//**************************************************************************
-MACHINE_CONFIG_START(kim1_state::kim1)
+void kim1_state::kim1(machine_config &config)
+{
// basic machine hardware
- MCFG_DEVICE_ADD("maincpu", M6502, 1000000) /* 1 MHz */
- MCFG_DEVICE_PROGRAM_MAP(kim1_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ M6502(config, m_maincpu, 1000000); /* 1 MHz */
+ m_maincpu->set_addrmap(AS_PROGRAM, &kim1_state::kim1_map);
+ config.m_minimum_quantum = attotime::from_hz(60);
// video hardware
config.set_default_layout(layout_kim1);
@@ -267,9 +268,8 @@ MACHINE_CONFIG_START(kim1_state::kim1)
TIMER(config, "cassette_timer").configure_periodic(FUNC(kim1_state::kim1_cassette_input), attotime::from_hz(44100));
// software list
- MCFG_SOFTWARE_LIST_ADD ("cass_list", "kim1_cass")
-
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config, "cass_list").set_original("kim1_cass");
+}
//**************************************************************************
// ROM DEFINITIONS
diff --git a/src/mame/drivers/kingdrby.cpp b/src/mame/drivers/kingdrby.cpp
index b0e32ecf479..d88e8a89274 100644
--- a/src/mame/drivers/kingdrby.cpp
+++ b/src/mame/drivers/kingdrby.cpp
@@ -980,7 +980,7 @@ MACHINE_CONFIG_START(kingdrby_state::kingdrby)
MCFG_DEVICE_IO_MAP(sound_io_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(kingdrby_state, irq0_line_hold, 1000) /* guess, controls ay8910 tempo.*/
- MCFG_QUANTUM_PERFECT_CPU("master")
+ config.m_perfect_cpu_quantum = subtag("master");
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
diff --git a/src/mame/drivers/kingobox.cpp b/src/mame/drivers/kingobox.cpp
index cb3f3d8d78a..3a16c84541d 100644
--- a/src/mame/drivers/kingobox.cpp
+++ b/src/mame/drivers/kingobox.cpp
@@ -485,7 +485,7 @@ MACHINE_CONFIG_START(kingofb_state::kingofb)
CLOCK(config, "soundnmi", 6000).signal_handler().set_inputline(m_audiocpu, INPUT_LINE_NMI);
- MCFG_QUANTUM_TIME(attotime::from_hz(6000)) // We really need heavy synching among the processors
+ config.m_minimum_quantum = attotime::from_hz(6000); // We really need heavy synching among the processors
/* video hardware */
@@ -541,7 +541,7 @@ MACHINE_CONFIG_START(kingofb_state::ringking)
CLOCK(config, "soundnmi", 6000).signal_handler().set_inputline(m_audiocpu, INPUT_LINE_NMI);
- MCFG_QUANTUM_TIME(attotime::from_hz(6000)) // We really need heavy synching among the processors
+ config.m_minimum_quantum = attotime::from_hz(6000); // We really need heavy synching among the processors
/* video hardware */
diff --git a/src/mame/drivers/ksayakyu.cpp b/src/mame/drivers/ksayakyu.cpp
index c4c1ced6ec8..d2d2374f86f 100644
--- a/src/mame/drivers/ksayakyu.cpp
+++ b/src/mame/drivers/ksayakyu.cpp
@@ -268,7 +268,7 @@ MACHINE_CONFIG_START(ksayakyu_state::ksayakyu)
MCFG_DEVICE_PROGRAM_MAP(soundcpu_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(ksayakyu_state, irq0_line_hold, 60) //guess, controls music tempo
- MCFG_QUANTUM_TIME(attotime::from_hz(60000))
+ config.m_minimum_quantum = attotime::from_hz(60000);
/* video hardware */
diff --git a/src/mame/drivers/kyugo.cpp b/src/mame/drivers/kyugo.cpp
index f7f0de665d5..0d0848182b9 100644
--- a/src/mame/drivers/kyugo.cpp
+++ b/src/mame/drivers/kyugo.cpp
@@ -532,7 +532,7 @@ MACHINE_CONFIG_START(kyugo_state::kyugo_base)
MCFG_DEVICE_IO_MAP(gyrodine_sub_portmap)
MCFG_DEVICE_PERIODIC_INT_DRIVER(kyugo_state, irq0_line_hold, 4*60)
- MCFG_QUANTUM_TIME(attotime::from_hz(6000))
+ config.m_minimum_quantum = attotime::from_hz(6000);
ls259_device &mainlatch(LS259(config, "mainlatch"));
mainlatch.q_out_cb<0>().set(FUNC(kyugo_state::nmi_mask_w));
diff --git a/src/mame/drivers/lasso.cpp b/src/mame/drivers/lasso.cpp
index b24e35076f3..53053abc7ca 100644
--- a/src/mame/drivers/lasso.cpp
+++ b/src/mame/drivers/lasso.cpp
@@ -501,7 +501,7 @@ MACHINE_CONFIG_START(lasso_state::base)
MCFG_DEVICE_ADD("audiocpu", M6502, 600000)
MCFG_DEVICE_PROGRAM_MAP(lasso_audio_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(6000))
+ config.m_minimum_quantum = attotime::from_hz(6000);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/lastbank.cpp b/src/mame/drivers/lastbank.cpp
index 77ade1e9f19..ce9cd40396b 100644
--- a/src/mame/drivers/lastbank.cpp
+++ b/src/mame/drivers/lastbank.cpp
@@ -526,7 +526,7 @@ MACHINE_CONFIG_START(lastbank_state::lastbank)
MCFG_DEVICE_IO_MAP(lastbank_audio_io)
// yes, we have no interrupts
- MCFG_QUANTUM_PERFECT_CPU("maincpu")
+ config.m_perfect_cpu_quantum = subtag("maincpu");
//MCFG_MACHINE_START_OVERRIDE(lastbank_state,lastbank)
//MCFG_MACHINE_RESET_OVERRIDE(lastbank_state,lastbank)
diff --git a/src/mame/drivers/leapster.cpp b/src/mame/drivers/leapster.cpp
index c2136c110cf..8f57fdd007c 100644
--- a/src/mame/drivers/leapster.cpp
+++ b/src/mame/drivers/leapster.cpp
@@ -328,7 +328,7 @@ MACHINE_CONFIG_START(leapster_state::leapster)
MCFG_GENERIC_LOAD(leapster_state, leapster_cart)
/* Software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list", "leapster")
+ SOFTWARE_LIST(config, "cart_list").set_original("leapster");
MACHINE_CONFIG_END
#define ROM_LOAD_BIOS(bios,name,offset,length,hash) \
diff --git a/src/mame/drivers/liberate.cpp b/src/mame/drivers/liberate.cpp
index 2452718fcd0..0a072ebf7ec 100644
--- a/src/mame/drivers/liberate.cpp
+++ b/src/mame/drivers/liberate.cpp
@@ -752,7 +752,7 @@ MACHINE_CONFIG_START(liberate_state::liberate_base)
MCFG_DEVICE_PROGRAM_MAP(liberate_sound_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(liberate_state, nmi_line_pulse, 16*60) /* ??? */
- MCFG_QUANTUM_TIME(attotime::from_hz(12000))
+ config.m_minimum_quantum = attotime::from_hz(12000);
MCFG_MACHINE_START_OVERRIDE(liberate_state,liberate)
MCFG_MACHINE_RESET_OVERRIDE(liberate_state,liberate)
@@ -817,7 +817,7 @@ MACHINE_CONFIG_START(liberate_state::prosoccr)
MCFG_DEVICE_CLOCK(10000000/8) //xtal is 12 Mhz, divider is unknown
MCFG_DEVICE_PROGRAM_MAP(prosoccr_sound_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(12000))
+ config.m_minimum_quantum = attotime::from_hz(12000);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 0*8, 32*8-1)
@@ -839,7 +839,7 @@ MACHINE_CONFIG_START(liberate_state::prosport)
MCFG_DEVICE_PROGRAM_MAP(liberate_sound_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(liberate_state, nmi_line_pulse, 16*60) /* ??? */
-// MCFG_QUANTUM_TIME(attotime::from_hz(12000))
+// config.m_minimum_quantum = attotime::from_hz(12000);
MCFG_MACHINE_START_OVERRIDE(liberate_state,liberate)
MCFG_MACHINE_RESET_OVERRIDE(liberate_state,liberate)
diff --git a/src/mame/drivers/lockon.cpp b/src/mame/drivers/lockon.cpp
index 9648e829649..0f5fb97040c 100644
--- a/src/mame/drivers/lockon.cpp
+++ b/src/mame/drivers/lockon.cpp
@@ -486,7 +486,7 @@ MACHINE_CONFIG_START(lockon_state::lockon)
MCFG_DEVICE_IO_MAP(sound_io)
WATCHDOG_TIMER(config, m_watchdog).set_time(PERIOD_OF_555_ASTABLE(10000, 4700, 10000e-12) * 4096);
- MCFG_QUANTUM_TIME(attotime::from_hz(600))
+ config.m_minimum_quantum = attotime::from_hz(600);
m58990_device &adc(M58990(config, "adc", 16_MHz_XTAL / 16));
adc.in_callback<0>().set_ioport("ADC_BANK");
diff --git a/src/mame/drivers/lsasquad.cpp b/src/mame/drivers/lsasquad.cpp
index 66964d34c0e..cd170439ef1 100644
--- a/src/mame/drivers/lsasquad.cpp
+++ b/src/mame/drivers/lsasquad.cpp
@@ -568,7 +568,7 @@ MACHINE_CONFIG_START(lsasquad_state::lsasquad)
MCFG_DEVICE_ADD("bmcu", TAITO68705_MCU, MASTER_CLOCK / 8)
- MCFG_QUANTUM_TIME(attotime::from_hz(30000)) /* 500 CPU slices per frame - an high value to ensure proper */
+ config.m_minimum_quantum = attotime::from_hz(30000); /* 500 CPU slices per frame - a high value to ensure proper */
/* synchronization of the CPUs */
/* main<->sound synchronization depends on this */
@@ -633,7 +633,7 @@ MACHINE_CONFIG_START(lsasquad_state::daikaiju)
MCFG_DEVICE_ADD("bmcu", TAITO68705_MCU, MASTER_CLOCK / 8)
- MCFG_QUANTUM_TIME(attotime::from_hz(30000)) /* 500 CPU slices per frame - an high value to ensure proper */
+ config.m_minimum_quantum = attotime::from_hz(30000); /* 500 CPU slices per frame - a high value to ensure proper */
/* synchronization of the CPUs */
/* main<->sound synchronization depends on this */
diff --git a/src/mame/drivers/lviv.cpp b/src/mame/drivers/lviv.cpp
index 3d633bfb65b..ac4f23058f4 100644
--- a/src/mame/drivers/lviv.cpp
+++ b/src/mame/drivers/lviv.cpp
@@ -426,7 +426,7 @@ MACHINE_CONFIG_START(lviv_state::lviv)
MCFG_DEVICE_ADD(m_maincpu, I8080, 2500000)
MCFG_DEVICE_PROGRAM_MAP(mem_map)
MCFG_DEVICE_IO_MAP(io_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
I8255(config, m_ppi[0]);
m_ppi[0]->in_pa_callback().set(FUNC(lviv_state::ppi_0_porta_r));
@@ -469,7 +469,7 @@ MACHINE_CONFIG_START(lviv_state::lviv)
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED);
m_cassette->set_interface("lviv_cass");
- MCFG_SOFTWARE_LIST_ADD("cass_list","lviv")
+ SOFTWARE_LIST(config, "cass_list").set_original("lviv");
/* internal ram */
RAM(config, RAM_TAG).set_default_size("64K");
diff --git a/src/mame/drivers/lynx.cpp b/src/mame/drivers/lynx.cpp
index 0bce8a5dd10..364c19c8f20 100644
--- a/src/mame/drivers/lynx.cpp
+++ b/src/mame/drivers/lynx.cpp
@@ -78,7 +78,7 @@ MACHINE_CONFIG_START(lynx_state::lynx)
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M65SC02, 4000000) /* vti core, integrated in vlsi, stz, but not bbr bbs */
MCFG_DEVICE_PROGRAM_MAP(lynx_mem)
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
ADDRESS_MAP_BANK(config, "bank_fc00").set_map(&lynx_state::lynx_fc00_mem).set_options(ENDIANNESS_LITTLE, 8, 9, 0x100);
ADDRESS_MAP_BANK(config, "bank_fd00").set_map(&lynx_state::lynx_fd00_mem).set_options(ENDIANNESS_LITTLE, 8, 9, 0x100);
@@ -109,7 +109,7 @@ MACHINE_CONFIG_START(lynx_state::lynx)
MCFG_GENERIC_LOAD(lynx_state, lynx_cart)
/* Software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list","lynx")
+ SOFTWARE_LIST(config, "cart_list").set_original("lynx");
MACHINE_CONFIG_END
#if 0
diff --git a/src/mame/drivers/m20.cpp b/src/mame/drivers/m20.cpp
index 13adacf2535..f566e401b1b 100644
--- a/src/mame/drivers/m20.cpp
+++ b/src/mame/drivers/m20.cpp
@@ -851,7 +851,7 @@ MACHINE_CONFIG_START(m20_state::m20)
MCFG_DEVICE_ADD("apb", M20_8086, "maincpu", m_i8259, RAM_TAG)
- MCFG_SOFTWARE_LIST_ADD("flop_list","m20")
+ SOFTWARE_LIST(config, "flop_list").set_original("m20");
MACHINE_CONFIG_END
ROM_START(m20)
diff --git a/src/mame/drivers/m5.cpp b/src/mame/drivers/m5.cpp
index 3dfab55f816..5d8b0ffffdd 100644
--- a/src/mame/drivers/m5.cpp
+++ b/src/mame/drivers/m5.cpp
@@ -1453,9 +1453,9 @@ MACHINE_CONFIG_START(m5_state::m5)
MCFG_M5_CARTRIDGE_ADD("cartslot2", m5_cart, nullptr)
// software lists
- MCFG_SOFTWARE_LIST_ADD("cart_list", "m5_cart")
- MCFG_SOFTWARE_LIST_ADD("cass_list", "m5_cass")
- //MCFG_SOFTWARE_LIST_ADD("flop_list", "m5_flop")
+ SOFTWARE_LIST(config, "cart_list").set_original("m5_cart");
+ SOFTWARE_LIST(config, "cass_list").set_original("m5_cass");
+ //SOFTWARE_LIST(config, "flop_list").set_original("m5_flop");
// internal ram
//68K is not possible, 'cos internal ram always overlays any expansion memory in that area
@@ -1499,7 +1499,8 @@ void m5_state::pal(machine_config &config)
//-------------------------------------------------
-MACHINE_CONFIG_START(brno_state::brno)
+void brno_state::brno(machine_config &config)
+{
m5(config);
// basic machine hardware
@@ -1529,9 +1530,8 @@ MACHINE_CONFIG_START(brno_state::brno)
//MCFG_SNAPSHOT_ADD("snapshot", brno_state, brno, "rmd", 0)
// software list
- MCFG_SOFTWARE_LIST_ADD("flop_list","m5_flop")
-
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config, "flop_list").set_original("m5_flop");
+}
//**************************************************************************
diff --git a/src/mame/drivers/magmax.cpp b/src/mame/drivers/magmax.cpp
index bce7832c872..274eecde31e 100644
--- a/src/mame/drivers/magmax.cpp
+++ b/src/mame/drivers/magmax.cpp
@@ -336,7 +336,7 @@ MACHINE_CONFIG_START(magmax_state::magmax)
MCFG_DEVICE_PROGRAM_MAP(sound_map)
MCFG_DEVICE_IO_MAP(sound_io_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(600))
+ config.m_minimum_quantum = attotime::from_hz(600);
/* video hardware */
diff --git a/src/mame/drivers/mappy.cpp b/src/mame/drivers/mappy.cpp
index 53e5e445c26..ee7d094cbb3 100644
--- a/src/mame/drivers/mappy.cpp
+++ b/src/mame/drivers/mappy.cpp
@@ -1334,7 +1334,7 @@ void mappy_state::superpac_common(machine_config &config)
WATCHDOG_TIMER(config, "watchdog").set_vblank_count("screen", 8);
- config.m_minimum_quantum = attotime::from_hz(6000); // 100 CPU slices per frame - an high value to ensure proper synchronization of the CPUs
+ config.m_minimum_quantum = attotime::from_hz(6000); // 100 CPU slices per frame - a high value to ensure proper synchronization of the CPUs
ls157_device &dipmux(LS157(config, "dipmux"));
dipmux.a_in_callback().set_ioport("DSW2");
@@ -1446,7 +1446,7 @@ void mappy_state::phozon(machine_config &config)
WATCHDOG_TIMER(config, "watchdog").set_vblank_count("screen", 8);
- config.m_minimum_quantum = attotime::from_hz(6000); // 100 CPU slices per frame - an high value to ensure proper synchronization of the CPUs
+ config.m_minimum_quantum = attotime::from_hz(6000); // 100 CPU slices per frame - a high value to ensure proper synchronization of the CPUs
NAMCO_58XX(config, m_namcoio[0], 0);
m_namcoio[0]->in_callback<0>().set_ioport("COINS");
@@ -1505,7 +1505,7 @@ void mappy_state::mappy_common(machine_config &config)
WATCHDOG_TIMER(config, "watchdog").set_vblank_count("screen", 8);
- config.m_minimum_quantum = attotime::from_hz(6000); // 100 CPU slices per frame - an high value to ensure proper synchronization of the CPUs
+ config.m_minimum_quantum = attotime::from_hz(6000); // 100 CPU slices per frame - a high value to ensure proper synchronization of the CPUs
ls157_device &dipmux(LS157(config, "dipmux"));
dipmux.a_in_callback().set_ioport("DSW2");
diff --git a/src/mame/drivers/markham.cpp b/src/mame/drivers/markham.cpp
index 4ea407f5fbe..bad9c21f7b1 100644
--- a/src/mame/drivers/markham.cpp
+++ b/src/mame/drivers/markham.cpp
@@ -554,7 +554,7 @@ MACHINE_CONFIG_START(markham_state::markham)
MCFG_DEVICE_PROGRAM_MAP(markham_slave_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", markham_state, irq0_line_hold)
- MCFG_QUANTUM_TIME(attotime::from_hz(6000))
+ config.m_minimum_quantum = attotime::from_hz(6000);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/mbc200.cpp b/src/mame/drivers/mbc200.cpp
index 16553d61451..ec28a100db7 100644
--- a/src/mame/drivers/mbc200.cpp
+++ b/src/mame/drivers/mbc200.cpp
@@ -355,7 +355,7 @@ MACHINE_CONFIG_START(mbc200_state::mbc200)
keyboard.set_keyboard_callback(FUNC(mbc200_state::kbd_put));
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("flop_list", "mbc200")
+ SOFTWARE_LIST(config, "flop_list").set_original("mbc200");
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mame/drivers/mbc55x.cpp b/src/mame/drivers/mbc55x.cpp
index 19f9a9d1019..73629a1945f 100644
--- a/src/mame/drivers/mbc55x.cpp
+++ b/src/mame/drivers/mbc55x.cpp
@@ -222,7 +222,8 @@ static void mbc55x_floppies(device_slot_interface &device)
}
-MACHINE_CONFIG_START(mbc55x_state::mbc55x)
+void mbc55x_state::mbc55x(machine_config &config)
+{
/* basic machine hardware */
I8088(config, m_maincpu, 14.318181_MHz_XTAL / 4);
m_maincpu->set_addrmap(AS_PROGRAM, &mbc55x_state::mbc55x_mem);
@@ -306,7 +307,7 @@ MACHINE_CONFIG_START(mbc55x_state::mbc55x)
FLOPPY_CONNECTOR(config, m_floppy[3], mbc55x_floppies, "", mbc55x_state::floppy_formats);
/* Software list */
- MCFG_SOFTWARE_LIST_ADD("disk_list","mbc55x")
+ SOFTWARE_LIST(config, "disk_list").set_original("mbc55x");
isa8_device &isa(ISA8(config, "isa", 14.318181_MHz_XTAL / 4));
isa.set_memspace(m_maincpu, AS_PROGRAM);
@@ -335,7 +336,7 @@ MACHINE_CONFIG_START(mbc55x_state::mbc55x)
m_printer->busy_handler().append(m_pic, FUNC(pic8259_device::ir4_w)).invert();
m_printer->perror_handler().set(FUNC(mbc55x_state::printer_paper_end_w));
m_printer->select_handler().set(FUNC(mbc55x_state::printer_select_w));
-MACHINE_CONFIG_END
+}
ROM_START( mbc55x )
diff --git a/src/mame/drivers/mc10.cpp b/src/mame/drivers/mc10.cpp
index 78264d034ec..b636ea44816 100644
--- a/src/mame/drivers/mc10.cpp
+++ b/src/mame/drivers/mc10.cpp
@@ -537,7 +537,7 @@ MACHINE_CONFIG_START(mc10_state::mc10)
RAM(config, m_ram).set_default_size("20K").set_extra_options("4K");
/* Software lists */
- MCFG_SOFTWARE_LIST_ADD("cass_list", "mc10")
+ SOFTWARE_LIST(config, "cass_list").set_original("mc10");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(mc10_state::alice32)
@@ -579,21 +579,22 @@ MACHINE_CONFIG_START(mc10_state::alice32)
RAM(config, m_ram).set_default_size("24K").set_extra_options("8K");
/* Software lists */
- MCFG_SOFTWARE_LIST_ADD("cass_list", "alice32")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("mc10_cass", "mc10")
+ SOFTWARE_LIST(config, "cass_list").set_original("alice32");
+ SOFTWARE_LIST(config, "mc10_cass").set_compatible("mc10");
MACHINE_CONFIG_END
-MACHINE_CONFIG_START(mc10_state::alice90)
+void mc10_state::alice90(machine_config &config)
+{
alice32(config);
m_maincpu->set_addrmap(AS_PROGRAM, &mc10_state::alice90_mem);
m_ram->set_default_size("32K");
/* Software lists */
- MCFG_SOFTWARE_LIST_MODIFY("cass_list", "alice90")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("alice32_cass", "alice32")
+ subdevice<software_list_device>("cass_list")->set_original("alice90");
+ SOFTWARE_LIST(config, "alice32_cass").set_compatible("alice32");
config.device_remove("mc10_cass");
-MACHINE_CONFIG_END
+}
}
diff --git a/src/mame/drivers/mc1000.cpp b/src/mame/drivers/mc1000.cpp
index 1558215b1fb..3c6b2c03058 100644
--- a/src/mame/drivers/mc1000.cpp
+++ b/src/mame/drivers/mc1000.cpp
@@ -582,7 +582,7 @@ MACHINE_CONFIG_START(mc1000_state::mc1000)
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
m_cassette->set_interface("mc1000_cass");
- MCFG_SOFTWARE_LIST_ADD("cass_list", "mc1000_cass")
+ SOFTWARE_LIST(config, "cass_list").set_original("mc1000_cass");
CENTRONICS(config, m_centronics, centronics_devices, "printer");
m_centronics->busy_handler().set(FUNC(mc1000_state::write_centronics_busy));
diff --git a/src/mame/drivers/mc1502.cpp b/src/mame/drivers/mc1502.cpp
index e98fa486f77..e7ae929465e 100644
--- a/src/mame/drivers/mc1502.cpp
+++ b/src/mame/drivers/mc1502.cpp
@@ -307,8 +307,8 @@ MACHINE_CONFIG_START(mc1502_state::mc1502)
CASSETTE(config, m_cassette);
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
- MCFG_SOFTWARE_LIST_ADD("flop_list","mc1502_flop")
-// MCFG_SOFTWARE_LIST_ADD("cass_list","mc1502_cass")
+ SOFTWARE_LIST(config, "flop_list").set_original("mc1502_flop");
+// SOFTWARE_LIST(config, "cass_list").set_original("mc1502_cass");
RAM(config, RAM_TAG).set_default_size("608K").set_extra_options("96K"); /* 96 base + 512 on expansion card */
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/megadriv.cpp b/src/mame/drivers/megadriv.cpp
index 0db98a050a0..f909f554efd 100644
--- a/src/mame/drivers/megadriv.cpp
+++ b/src/mame/drivers/megadriv.cpp
@@ -387,7 +387,7 @@ MACHINE_CONFIG_START(md_cons_state::ms_megadriv)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, md_cons_state, screen_vblank_console))
MCFG_MD_CARTRIDGE_ADD("mdslot", md_cart, nullptr)
- MCFG_SOFTWARE_LIST_ADD("cart_list","megadriv")
+ SOFTWARE_LIST(config, "cart_list").set_original("megadriv");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(md_cons_state::ms_megadpal)
@@ -400,13 +400,14 @@ MACHINE_CONFIG_START(md_cons_state::ms_megadpal)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, md_cons_state, screen_vblank_console))
MCFG_MD_CARTRIDGE_ADD("mdslot", md_cart, nullptr)
- MCFG_SOFTWARE_LIST_ADD("cart_list","megadriv")
+ SOFTWARE_LIST(config, "cart_list").set_original("megadriv");
MACHINE_CONFIG_END
-MACHINE_CONFIG_START(md_cons_state::genesis_tmss)
+void md_cons_state::genesis_tmss(machine_config &config)
+{
ms_megadriv(config);
- MCFG_SOFTWARE_LIST_FILTER("cart_list","TMSS")
-MACHINE_CONFIG_END
+ subdevice<software_list_device>("cart_list")->set_filter("TMSS");
+}
MACHINE_CONFIG_START(md_cons_state::dcat16_megadriv)
dcat16_megadriv_base(config);
@@ -419,7 +420,7 @@ MACHINE_CONFIG_START(md_cons_state::dcat16_megadriv)
// has SD card slot instead?
// MCFG_MD_CARTRIDGE_ADD("mdslot", md_cart, nullptr)
-// MCFG_SOFTWARE_LIST_ADD("cart_list","megadriv")
+// SOFTWARE_LIST(config, "cart_list").set_original("megadriv");
MACHINE_CONFIG_END
/*************************************
@@ -630,8 +631,7 @@ MACHINE_CONFIG_START(md_cons_state::genesis_32x)
MCFG_GENERIC_MANDATORY
MCFG_GENERIC_LOAD(md_cons_state, _32x_cart)
- MCFG_SOFTWARE_LIST_ADD("cart_list","32x")
- MCFG_SOFTWARE_LIST_FILTER("cart_list","NTSC-U")
+ SOFTWARE_LIST(config, "cart_list").set_original("32x").set_filter("NTSC-U");
MACHINE_CONFIG_END
@@ -667,8 +667,7 @@ MACHINE_CONFIG_START(md_cons_state::mdj_32x)
MCFG_GENERIC_MANDATORY
MCFG_GENERIC_LOAD(md_cons_state, _32x_cart)
- MCFG_SOFTWARE_LIST_ADD("cart_list","32x")
- MCFG_SOFTWARE_LIST_FILTER("cart_list","NTSC-J")
+ SOFTWARE_LIST(config, "cart_list").set_original("32x").set_filter("NTSC-J");
MACHINE_CONFIG_END
@@ -704,8 +703,7 @@ MACHINE_CONFIG_START(md_cons_state::md_32x)
MCFG_GENERIC_MANDATORY
MCFG_GENERIC_LOAD(md_cons_state, _32x_cart)
- MCFG_SOFTWARE_LIST_ADD("cart_list","32x")
- MCFG_SOFTWARE_LIST_FILTER("cart_list","PAL")
+ SOFTWARE_LIST(config, "cart_list").set_original("32x").set_filter("PAL");
MACHINE_CONFIG_END
@@ -755,7 +753,7 @@ MACHINE_CONFIG_START(md_cons_state::genesis_scd)
CDROM(config, "cdrom").set_interface("scd_cdrom");
- MCFG_SOFTWARE_LIST_ADD("cd_list","segacd")
+ SOFTWARE_LIST(config, "cd_list").set_original("segacd");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(md_cons_state::md_scd)
@@ -772,7 +770,7 @@ MACHINE_CONFIG_START(md_cons_state::md_scd)
CDROM(config, "cdrom").set_interface("scd_cdrom");
- MCFG_SOFTWARE_LIST_ADD("cd_list","megacd")
+ SOFTWARE_LIST(config, "cd_list").set_original("megacd");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(md_cons_state::mdj_scd)
@@ -789,7 +787,7 @@ MACHINE_CONFIG_START(md_cons_state::mdj_scd)
CDROM(config, "cdrom").set_interface("scd_cdrom");
- MCFG_SOFTWARE_LIST_ADD("cd_list","megacdj")
+ SOFTWARE_LIST(config, "cd_list").set_original("megacdj");
MACHINE_CONFIG_END
/******************SEGA CD + 32X****************************/
@@ -809,8 +807,8 @@ MACHINE_CONFIG_START(md_cons_state::genesis_32x_scd)
MCFG_GENERIC_EXTENSIONS("32x,bin")
MCFG_GENERIC_LOAD(md_cons_state, _32x_cart)
- //MCFG_QUANTUM_PERFECT_CPU("32x_master_sh2")
- MCFG_SOFTWARE_LIST_ADD("cd_list", "segacd")
+ //config.m_perfect_cpu_quantum = subtag("32x_master_sh2");
+ SOFTWARE_LIST(config, "cd_list").set_original("segacd");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(md_cons_state::md_32x_scd)
@@ -828,8 +826,8 @@ MACHINE_CONFIG_START(md_cons_state::md_32x_scd)
MCFG_GENERIC_EXTENSIONS("32x,bin")
MCFG_GENERIC_LOAD(md_cons_state, _32x_cart)
- //MCFG_QUANTUM_PERFECT_CPU("32x_master_sh2")
- MCFG_SOFTWARE_LIST_ADD("cd_list", "megacd")
+ //config.m_perfect_cpu_quantum = subtag("32x_master_sh2");
+ SOFTWARE_LIST(config, "cd_list").set_original("megacd");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(md_cons_state::mdj_32x_scd)
@@ -847,8 +845,8 @@ MACHINE_CONFIG_START(md_cons_state::mdj_32x_scd)
MCFG_GENERIC_EXTENSIONS("32x,bin")
MCFG_GENERIC_LOAD(md_cons_state, _32x_cart)
- //MCFG_QUANTUM_PERFECT_CPU("32x_master_sh2")
- MCFG_SOFTWARE_LIST_ADD("cd_list", "megacdj")
+ //config.m_perfect_cpu_quantum = subtag("32x_master_sh2");
+ SOFTWARE_LIST(config, "cd_list").set_original("megacdj");
MACHINE_CONFIG_END
/* We need proper names for most of these BIOS ROMs! */
diff --git a/src/mame/drivers/megaplay.cpp b/src/mame/drivers/megaplay.cpp
index 90569c1d9cb..75b49c8fef5 100644
--- a/src/mame/drivers/megaplay.cpp
+++ b/src/mame/drivers/megaplay.cpp
@@ -674,7 +674,7 @@ MACHINE_CONFIG_START(mplay_state::megaplay)
MCFG_DEVICE_PROGRAM_MAP(megaplay_bios_map)
MCFG_DEVICE_IO_MAP(megaplay_bios_io_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(6000))
+ config.m_minimum_quantum = attotime::from_hz(6000);
cxd1095_device &io1(CXD1095(config, "io1", 0));
io1.in_porta_cb().set_ioport("DSW0");
diff --git a/src/mame/drivers/megatech.cpp b/src/mame/drivers/megatech.cpp
index cda8e68ef8d..61ac18e40b1 100644
--- a/src/mame/drivers/megatech.cpp
+++ b/src/mame/drivers/megatech.cpp
@@ -796,7 +796,7 @@ MACHINE_CONFIG_START(mtech_state::megatech_multislot)
MCFG_MEGATECH_CARTSLOT_ADD("mt_slot7", mt_cart7)
MCFG_MEGATECH_CARTSLOT_ADD("mt_slot8", mt_cart8)
- MCFG_SOFTWARE_LIST_ADD("cart_list","megatech")
+ SOFTWARE_LIST(config, "cart_list").set_original("megatech");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/megazone.cpp b/src/mame/drivers/megazone.cpp
index 5c477f1cf9d..05b24f91698 100644
--- a/src/mame/drivers/megazone.cpp
+++ b/src/mame/drivers/megazone.cpp
@@ -309,7 +309,7 @@ MACHINE_CONFIG_START(megazone_state::megazone)
m_daccpu->p1_out_cb().set("dac", FUNC(dac_byte_interface::data_w));
m_daccpu->p2_out_cb().set(FUNC(megazone_state::i8039_irqen_and_status_w));
- MCFG_QUANTUM_TIME(attotime::from_hz(900))
+ config.m_minimum_quantum = attotime::from_hz(900);
ls259_device &mainlatch(LS259(config, "mainlatch")); // 13A
mainlatch.q_out_cb<0>().set(FUNC(megazone_state::coin_counter_2_w));
diff --git a/src/mame/drivers/mephisto_montec.cpp b/src/mame/drivers/mephisto_montec.cpp
index a23a3a492aa..66796a127f8 100644
--- a/src/mame/drivers/mephisto_montec.cpp
+++ b/src/mame/drivers/mephisto_montec.cpp
@@ -518,7 +518,7 @@ MACHINE_CONFIG_START(mephisto_montec_state::smondial2)
MCFG_DEVICE_PROGRAM_MAP(smondial2_mem)
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "smondial2_cart")
- MCFG_SOFTWARE_LIST_ADD("cart_list", "smondial2")
+ SOFTWARE_LIST(config, "cart_list").set_original("smondial2");
config.set_default_layout(layout_mephisto_smondial2);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/micro3d.cpp b/src/mame/drivers/micro3d.cpp
index 931f1e01ca8..fbe1376fa22 100644
--- a/src/mame/drivers/micro3d.cpp
+++ b/src/mame/drivers/micro3d.cpp
@@ -348,7 +348,7 @@ MACHINE_CONFIG_START(micro3d_state::micro3d)
mfp.out_tco_cb().set("mfp", FUNC(mc68901_device::tbi_w));
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
- MCFG_QUANTUM_TIME(attotime::from_hz(3000))
+ config.m_minimum_quantum = attotime::from_hz(3000);
PALETTE(config, m_palette).set_format(palette_device::BRGx_555, 4096);
diff --git a/src/mame/drivers/microvsn.cpp b/src/mame/drivers/microvsn.cpp
index 5763dd39e11..07c5c58a791 100644
--- a/src/mame/drivers/microvsn.cpp
+++ b/src/mame/drivers/microvsn.cpp
@@ -650,7 +650,7 @@ MACHINE_CONFIG_START(microvision_state::microvision)
MCFG_SCREEN_ADD("screen", LCD)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(0)
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
MCFG_SCREEN_UPDATE_DRIVER(microvision_state, screen_update)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, microvision_state, screen_vblank))
@@ -671,7 +671,7 @@ MACHINE_CONFIG_START(microvision_state::microvision)
MCFG_GENERIC_LOAD(microvision_state, microvsn_cart)
/* Software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list","microvision")
+ SOFTWARE_LIST(config, "cart_list").set_original("microvision");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/mikro80.cpp b/src/mame/drivers/mikro80.cpp
index cf093b9e9cf..687782aa24c 100644
--- a/src/mame/drivers/mikro80.cpp
+++ b/src/mame/drivers/mikro80.cpp
@@ -196,7 +196,7 @@ MACHINE_CONFIG_START(mikro80_state::mikro80)
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED);
m_cassette->set_interface("mikro80_cass");
- MCFG_SOFTWARE_LIST_ADD("cass_list", "mikro80")
+ SOFTWARE_LIST(config, "cass_list").set_original("mikro80");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(mikro80_state::radio99)
diff --git a/src/mame/drivers/mikrosha.cpp b/src/mame/drivers/mikrosha.cpp
index d029bdf94e7..dda94e96477 100644
--- a/src/mame/drivers/mikrosha.cpp
+++ b/src/mame/drivers/mikrosha.cpp
@@ -257,8 +257,8 @@ MACHINE_CONFIG_START(mikrosha_state::mikrosha)
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "mikrosha_cart")
MCFG_GENERIC_EXTENSIONS("bin,rom")
- MCFG_SOFTWARE_LIST_ADD("cass_list", "mikrosha_cass")
- MCFG_SOFTWARE_LIST_ADD("cart_list", "mikrosha_cart")
+ SOFTWARE_LIST(config, "cass_list").set_original("mikrosha_cass");
+ SOFTWARE_LIST(config, "cart_list").set_original("mikrosha_cart");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/mk1.cpp b/src/mame/drivers/mk1.cpp
index 556d55c5e59..c1ea4c3df31 100644
--- a/src/mame/drivers/mk1.cpp
+++ b/src/mame/drivers/mk1.cpp
@@ -190,7 +190,7 @@ MACHINE_CONFIG_START(mk1_state::mk1)
MCFG_DEVICE_PROGRAM_MAP(mk1_mem)
MCFG_DEVICE_IO_MAP(mk1_io)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("f3853", f3853_device, int_acknowledge)
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
f3853_device &f3853(F3853(config, "f3853", MAIN_CLOCK));
f3853.int_req_callback().set_inputline("maincpu", F8_INPUT_LINE_INT_REQ);
diff --git a/src/mame/drivers/mk2.cpp b/src/mame/drivers/mk2.cpp
index 1b961bd787f..7196be18f16 100644
--- a/src/mame/drivers/mk2.cpp
+++ b/src/mame/drivers/mk2.cpp
@@ -200,11 +200,12 @@ WRITE8_MEMBER( mk2_state::mk2_write_b )
}
-MACHINE_CONFIG_START(mk2_state::mk2)
+void mk2_state::mk2(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", M6504, 1000000)
- MCFG_DEVICE_PROGRAM_MAP(mk2_mem)
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ M6504(config, m_maincpu, 1000000);
+ m_maincpu->set_addrmap(AS_PROGRAM, &mk2_state::mk2_mem);
+ config.m_minimum_quantum = attotime::from_hz(60);
/* video hardware */
config.set_default_layout(layout_mk2);
@@ -217,11 +218,10 @@ MACHINE_CONFIG_START(mk2_state::mk2)
/* 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);
TIMER(config, "led_timer").configure_periodic(FUNC(mk2_state::update_leds), attotime::from_hz(60));
-MACHINE_CONFIG_END
+}
ROM_START(ccmk2)
diff --git a/src/mame/drivers/monon_color.cpp b/src/mame/drivers/monon_color.cpp
index f805d31d302..0cb170b6dbe 100644
--- a/src/mame/drivers/monon_color.cpp
+++ b/src/mame/drivers/monon_color.cpp
@@ -143,7 +143,7 @@ MACHINE_CONFIG_START(monon_color_state::monon_color)
MCFG_GENERIC_MANDATORY
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list","monon_color")
+ SOFTWARE_LIST(config, "cart_list").set_original("monon_color");
MACHINE_CONFIG_END
DEVICE_IMAGE_LOAD_MEMBER( monon_color_state, monon_color_cart )
diff --git a/src/mame/drivers/mpz80.cpp b/src/mame/drivers/mpz80.cpp
index 02a247b1ea4..a070de8fde9 100644
--- a/src/mame/drivers/mpz80.cpp
+++ b/src/mame/drivers/mpz80.cpp
@@ -742,7 +742,7 @@ MACHINE_CONFIG_START(mpz80_state::mpz80)
RAM(config, RAM_TAG).set_default_size("65K"); // 65K???
// software list
- MCFG_SOFTWARE_LIST_ADD("flop_list", "mpz80")
+ SOFTWARE_LIST(config, "flop_list").set_original("mpz80");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/mrflea.cpp b/src/mame/drivers/mrflea.cpp
index e14f2a15f37..2b30556c9f9 100644
--- a/src/mame/drivers/mrflea.cpp
+++ b/src/mame/drivers/mrflea.cpp
@@ -268,7 +268,7 @@ MACHINE_CONFIG_START(mrflea_state::mrflea)
MCFG_DEVICE_IO_MAP(mrflea_slave_io_map)
TIMER(config, "scantimer").configure_scanline(FUNC(mrflea_state::mrflea_slave_interrupt), "screen", 0, 1);
- MCFG_QUANTUM_TIME(attotime::from_hz(6000))
+ config.m_minimum_quantum = attotime::from_hz(6000);
i8255_device &mainppi(I8255(config, "mainppi", 0));
mainppi.in_pb_callback().set("subppi", FUNC(i8255_device::pb_r));
diff --git a/src/mame/drivers/ms32.cpp b/src/mame/drivers/ms32.cpp
index 09d690b76b8..006c3a52685 100644
--- a/src/mame/drivers/ms32.cpp
+++ b/src/mame/drivers/ms32.cpp
@@ -1712,7 +1712,7 @@ MACHINE_CONFIG_START(ms32_state::ms32)
MCFG_DEVICE_ADD("audiocpu", Z80, 8000000) // Z0840008PSC, Clock from notes
MCFG_DEVICE_PROGRAM_MAP(ms32_sound_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(60000))
+ config.m_minimum_quantum = attotime::from_hz(60000);
/* video hardware */
diff --git a/src/mame/drivers/msx.cpp b/src/mame/drivers/msx.cpp
index df3dbb07c44..6417aa77ec4 100644
--- a/src/mame/drivers/msx.cpp
+++ b/src/mame/drivers/msx.cpp
@@ -1238,36 +1238,42 @@ WRITE_LINE_MEMBER(msx2_state::turbo_w)
#define MSX_VISIBLE_YBORDER_PIXELS 24
-MACHINE_CONFIG_START(msx_state::msx1_cartlist)
- MCFG_SOFTWARE_LIST_ADD("cart_list", "msx1_cart")
-MACHINE_CONFIG_END
+void msx_state::msx1_cartlist(machine_config &config)
+{
+ SOFTWARE_LIST(config, "cart_list").set_original("msx1_cart");
+}
-MACHINE_CONFIG_START(msx_state::msx1_floplist)
- MCFG_SOFTWARE_LIST_ADD("flop_list", "msx1_flop")
-MACHINE_CONFIG_END
+void msx_state::msx1_floplist(machine_config &config)
+{
+ SOFTWARE_LIST(config, "flop_list").set_original("msx1_flop");
+}
-MACHINE_CONFIG_START(msx2_state::msx2_cartlist)
- MCFG_SOFTWARE_LIST_ADD("cart_list", "msx2_cart")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx1_crt_l", "msx1_cart")
-MACHINE_CONFIG_END
+void msx2_state::msx2_cartlist(machine_config &config)
+{
+ SOFTWARE_LIST(config, "cart_list").set_original("msx2_cart");
+ SOFTWARE_LIST(config, "msx1_crt_l").set_compatible("msx1_cart");
+}
-MACHINE_CONFIG_START(msx2_state::msx2_floplist)
- MCFG_SOFTWARE_LIST_ADD("flop_list", "msx2_flop")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx1_flp_l", "msx1_flop")
-MACHINE_CONFIG_END
+void msx2_state::msx2_floplist(machine_config &config)
+{
+ SOFTWARE_LIST(config, "flop_list").set_original("msx2_flop");
+ SOFTWARE_LIST(config, "msx1_flp_l").set_compatible("msx1_flop");
+}
-MACHINE_CONFIG_START(msx2_state::msx2p_floplist)
- MCFG_SOFTWARE_LIST_ADD("flop_list", "msx2p_flop")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx2_flp_l", "msx2_flop")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx1_flp_l", "msx1_flop") // maybe not?
-MACHINE_CONFIG_END
+void msx2_state::msx2p_floplist(machine_config &config)
+{
+ SOFTWARE_LIST(config, "flop_list").set_original("msx2p_flop");
+ SOFTWARE_LIST(config, "msx2_flp_l").set_compatible("msx2_flop");
+ SOFTWARE_LIST(config, "msx1_flp_l").set_compatible("msx1_flop"); // maybe not?
+}
-MACHINE_CONFIG_START(msx2_state::msxr_floplist)
- MCFG_SOFTWARE_LIST_ADD("flop_list", "msxr_flop")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx2p_flp_l", "msx2p_flop")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx2_flp_l", "msx2_flop") // maybe not?
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx1_flp_l", "msx1_flop") // maybe not?
-MACHINE_CONFIG_END
+void msx2_state::msxr_floplist(machine_config &config)
+{
+ SOFTWARE_LIST(config, "flop_list").set_original("msxr_flop");
+ SOFTWARE_LIST(config, "msx2p_flp_l").set_compatible("msx2p_flop");
+ SOFTWARE_LIST(config, "msx2_flp_l").set_compatible("msx2_flop"); // maybe not?
+ SOFTWARE_LIST(config, "msx1_flp_l").set_compatible("msx1_flop"); // maybe not?
+}
FLOPPY_FORMATS_MEMBER( msx_state::floppy_formats )
FLOPPY_MSX_FORMAT,
@@ -1352,7 +1358,7 @@ MACHINE_CONFIG_START(msx_state::msx)
MCFG_DEVICE_PROGRAM_MAP(msx_memory_map)
MCFG_DEVICE_IO_MAP(msx_io_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", msx_state, msx_interrupt) /* Needed for mouse updates */
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
INPUT_MERGER_ANY_HIGH(config, "mainirq").output_handler().set_inputline("maincpu", INPUT_LINE_IRQ0);
@@ -1394,7 +1400,7 @@ MACHINE_CONFIG_START(msx_state::msx)
m_cassette->set_interface("msx_cass");
/* Software lists */
- MCFG_SOFTWARE_LIST_ADD("cass_list","msx1_cass")
+ SOFTWARE_LIST(config, "cass_list").set_original("msx1_cass");
MACHINE_CONFIG_END
@@ -1416,7 +1422,7 @@ MACHINE_CONFIG_START(msx2_state::msx2)
MCFG_DEVICE_ADD("maincpu", Z80, 21.477272_MHz_XTAL / 6) /* 3.579545 MHz */
MCFG_DEVICE_PROGRAM_MAP(msx_memory_map)
MCFG_DEVICE_IO_MAP(msx2_io_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
INPUT_MERGER_ANY_HIGH(config, "mainirq").output_handler().set_inputline("maincpu", INPUT_LINE_IRQ0);
@@ -1468,8 +1474,8 @@ MACHINE_CONFIG_START(msx2_state::msx2)
RP5C01(config, m_rtc, 32.768_kHz_XTAL);
/* Software lists */
- MCFG_SOFTWARE_LIST_ADD("cass_list", "msx2_cass")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx1_cas_l", "msx1_cass")
+ SOFTWARE_LIST(config, "cass_list").set_original("msx2_cass");
+ SOFTWARE_LIST(config, "msx1_cas_l").set_compatible("msx1_cass");
MACHINE_CONFIG_END
@@ -1478,7 +1484,7 @@ MACHINE_CONFIG_START(msx2_state::msx2p)
MCFG_DEVICE_ADD("maincpu", Z80, 21.477272_MHz_XTAL / 6) /* 3.579545 MHz */
MCFG_DEVICE_PROGRAM_MAP(msx_memory_map)
MCFG_DEVICE_IO_MAP(msx2p_io_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
INPUT_MERGER_ANY_HIGH(config, "mainirq").output_handler().set_inputline("maincpu", INPUT_LINE_IRQ0);
@@ -1530,8 +1536,8 @@ MACHINE_CONFIG_START(msx2_state::msx2p)
RP5C01(config, m_rtc, 32.768_kHz_XTAL);
/* Software lists */
- MCFG_SOFTWARE_LIST_ADD("cass_list", "msx2_cass")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx1_cas_l", "msx1_cass")
+ SOFTWARE_LIST(config, "cass_list").set_original("msx2_cass");
+ SOFTWARE_LIST(config, "msx1_cas_l").set_compatible("msx1_cass");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/mtx.cpp b/src/mame/drivers/mtx.cpp
index 986709563f2..9dec61395dc 100644
--- a/src/mame/drivers/mtx.cpp
+++ b/src/mame/drivers/mtx.cpp
@@ -344,9 +344,9 @@ MACHINE_CONFIG_START(mtx_state::mtx512)
MCFG_GENERIC_LOAD(mtx_state, rompak_load)
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("cass_list", "mtx_cass")
- MCFG_SOFTWARE_LIST_ADD("cart_list", "mtx_cart")
- MCFG_SOFTWARE_LIST_ADD("rom_list", "mtx_rom")
+ SOFTWARE_LIST(config, "cass_list").set_original("mtx_cass");
+ SOFTWARE_LIST(config, "cart_list").set_original("mtx_cart");
+ SOFTWARE_LIST(config, "rom_list").set_original("mtx_rom");
MACHINE_CONFIG_END
void mtx_state::mtx500(machine_config &config)
diff --git a/src/mame/drivers/myvision.cpp b/src/mame/drivers/myvision.cpp
index 66d6788c6d4..397b949eb5e 100644
--- a/src/mame/drivers/myvision.cpp
+++ b/src/mame/drivers/myvision.cpp
@@ -242,7 +242,7 @@ MACHINE_CONFIG_START(myvision_state::myvision)
//MCFG_GENERIC_MANDATORY
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list","myvision")
+ SOFTWARE_LIST(config, "cart_list").set_original("myvision");
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mame/drivers/mz2000.cpp b/src/mame/drivers/mz2000.cpp
index 99c76781387..fb82681bd45 100644
--- a/src/mame/drivers/mz2000.cpp
+++ b/src/mame/drivers/mz2000.cpp
@@ -908,14 +908,14 @@ MACHINE_CONFIG_START(mz2000_state::mz2000)
FLOPPY_CONNECTOR(config, "mb8877a:2", mz2000_floppies, "dd", mz2000_state::floppy_formats);
FLOPPY_CONNECTOR(config, "mb8877a:3", mz2000_floppies, "dd", mz2000_state::floppy_formats);
- MCFG_SOFTWARE_LIST_ADD("flop_list", "mz2000_flop")
+ SOFTWARE_LIST(config, "flop_list").set_original("mz2000_flop");
CASSETTE(config, m_cass);
m_cass->set_formats(mz700_cassette_formats);
m_cass->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
m_cass->set_interface("mz_cass");
- MCFG_SOFTWARE_LIST_ADD("cass_list","mz2000_cass")
+ SOFTWARE_LIST(config, "cass_list").set_original("mz2000_cass");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/mz2500.cpp b/src/mame/drivers/mz2500.cpp
index 83c64432114..f86c1ba6beb 100644
--- a/src/mame/drivers/mz2500.cpp
+++ b/src/mame/drivers/mz2500.cpp
@@ -1833,7 +1833,7 @@ MACHINE_CONFIG_START(mz2500_state::mz2500)
FLOPPY_CONNECTOR(config, "mb8877a:2", mz2500_floppies, "dd", floppy_image_device::default_floppy_formats);
FLOPPY_CONNECTOR(config, "mb8877a:3", mz2500_floppies, "dd", floppy_image_device::default_floppy_formats);
- MCFG_SOFTWARE_LIST_ADD("flop_list", "mz2500")
+ SOFTWARE_LIST(config, "flop_list").set_original("mz2500");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/mz3500.cpp b/src/mame/drivers/mz3500.cpp
index e5b4df59860..35b57574329 100644
--- a/src/mame/drivers/mz3500.cpp
+++ b/src/mame/drivers/mz3500.cpp
@@ -820,7 +820,7 @@ MACHINE_CONFIG_START(mz3500_state::mz3500)
MCFG_DEVICE_PROGRAM_MAP(mz3500_slave_map)
MCFG_DEVICE_IO_MAP(mz3500_slave_io)
- MCFG_QUANTUM_PERFECT_CPU("master")
+ config.m_perfect_cpu_quantum = subtag("master");
i8255_device &ppi(I8255A(config, "i8255"));
ppi.out_pa_callback().set(FUNC(mz3500_state::mz3500_pa_w));
diff --git a/src/mame/drivers/mz700.cpp b/src/mame/drivers/mz700.cpp
index 25249470664..64432f2eb67 100644
--- a/src/mame/drivers/mz700.cpp
+++ b/src/mame/drivers/mz700.cpp
@@ -422,7 +422,7 @@ MACHINE_CONFIG_START(mz_state::mz700)
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
m_cassette->set_interface("mz_cass");
- MCFG_SOFTWARE_LIST_ADD("cass_list","mz700_cass")
+ SOFTWARE_LIST(config, "cass_list").set_original("mz700_cass");
/* internal ram */
RAM(config, RAM_TAG).set_default_size("64K");
@@ -450,7 +450,7 @@ MACHINE_CONFIG_START(mz_state::mz800)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
config.device_remove("cass_list");
- MCFG_SOFTWARE_LIST_ADD("cass_list","mz800_cass")
+ SOFTWARE_LIST(config, "cass_list").set_original("mz800_cass");
/* devices */
m_pit->set_clk<0>(XTAL(17'734'470)/16);
diff --git a/src/mame/drivers/namcond1.cpp b/src/mame/drivers/namcond1.cpp
index 531c3799644..d8bcb73e9b9 100644
--- a/src/mame/drivers/namcond1.cpp
+++ b/src/mame/drivers/namcond1.cpp
@@ -380,7 +380,7 @@ MACHINE_CONFIG_START(namcond1_state::namcond1)
MCFG_DEVICE_IO_MAP( nd1h8iomap)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", namcond1_state, mcu_interrupt)
- MCFG_QUANTUM_TIME(attotime::from_hz(6000))
+ config.m_minimum_quantum = attotime::from_hz(6000);
YGV608(config, m_ygv608, 0);
m_ygv608->set_palette("palette");
diff --git a/src/mame/drivers/namcos2.cpp b/src/mame/drivers/namcos2.cpp
index 9770d2f804c..9724cd04344 100644
--- a/src/mame/drivers/namcos2.cpp
+++ b/src/mame/drivers/namcos2.cpp
@@ -1790,7 +1790,7 @@ MACHINE_CONFIG_START(namcos2_state::base_noio)
MCFG_DEVICE_PERIODIC_INT_DRIVER(namcos2_state, irq0_line_hold, 2*60)
MCFG_DEVICE_PERIODIC_INT_DRIVER(namcos2_state, irq1_line_hold, 120)
- MCFG_QUANTUM_TIME(attotime::from_hz(12000)) /* CPU slices per frame */
+ config.m_minimum_quantum = attotime::from_hz(12000); /* CPU slices per frame */
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1);
@@ -1829,31 +1829,33 @@ MACHINE_CONFIG_START(namcos2_state::base_noio)
MACHINE_CONFIG_END
-MACHINE_CONFIG_START(namcos2_state::base)
+void namcos2_state::base(machine_config &config)
+{
base_noio(config);
configure_c65_standard(config);
-MACHINE_CONFIG_END
+}
-MACHINE_CONFIG_START(namcos2_state::base_c68)
+void namcos2_state::base_c68(machine_config &config)
+{
base_noio(config);
configure_c68_standard(config);
-MACHINE_CONFIG_END
+}
-/* adjusted machine driver start */
-MACHINE_CONFIG_START(namcos2_state::base2)
+void namcos2_state::base2(machine_config &config)
+{
base(config);
m_c140->reset_routes();
m_c140->add_route(0, "lspeaker", 1.0);
m_c140->add_route(1, "rspeaker", 1.0);
-MACHINE_CONFIG_END
-/* end */
+}
-MACHINE_CONFIG_START(namcos2_state::assaultp)
+void namcos2_state::assaultp(machine_config &config)
+{
base2(config);
- MCFG_QUANTUM_TIME(attotime::from_hz(12000*8)) /* CPU slices per frame - boosted (along with MCU speed) so that the Mode Select works */
-MACHINE_CONFIG_END
+ config.m_minimum_quantum = attotime::from_hz(12000*8); /* CPU slices per frame - boosted (along with MCU speed) so that the Mode Select works */
+}
void namcos2_state::base3(machine_config &config)
{
@@ -1881,7 +1883,7 @@ MACHINE_CONFIG_START(namcos2_state::gollygho)
configure_c65_standard(config);
- MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* CPU slices per frame */
+ config.m_minimum_quantum = attotime::from_hz(6000); /* CPU slices per frame */
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1);
@@ -1933,7 +1935,7 @@ MACHINE_CONFIG_START(namcos2_state::finallap_noio)
MCFG_DEVICE_PERIODIC_INT_DRIVER(namcos2_state, irq0_line_hold, 2*60)
MCFG_DEVICE_PERIODIC_INT_DRIVER(namcos2_state, irq1_line_hold, 120)
- MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* CPU slices per frame */
+ config.m_minimum_quantum = attotime::from_hz(6000); /* CPU slices per frame */
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1);
@@ -2009,7 +2011,7 @@ MACHINE_CONFIG_START(namcos2_state::sgunner)
configure_c65_standard(config);
- MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* CPU slices per frame */
+ config.m_minimum_quantum = attotime::from_hz(6000); /* CPU slices per frame */
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1);
@@ -2063,7 +2065,7 @@ MACHINE_CONFIG_START(namcos2_state::sgunner2)
configure_c68_standard(config);
- MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* CPU slices per frame */
+ config.m_minimum_quantum = attotime::from_hz(6000); /* CPU slices per frame */
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1);
@@ -2117,7 +2119,7 @@ MACHINE_CONFIG_START(namcos2_state::suzuka8h)
configure_c68_standard(config);
- MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* CPU slices per frame */
+ config.m_minimum_quantum = attotime::from_hz(6000); /* CPU slices per frame */
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1);
@@ -2192,7 +2194,7 @@ MACHINE_CONFIG_START(namcos2_state::metlhawk)
configure_c65_standard(config);
- MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* CPU slices per frame */
+ config.m_minimum_quantum = attotime::from_hz(6000); /* CPU slices per frame */
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1);
diff --git a/src/mame/drivers/namcos21.cpp b/src/mame/drivers/namcos21.cpp
index 0594bea5f3b..80711068c20 100644
--- a/src/mame/drivers/namcos21.cpp
+++ b/src/mame/drivers/namcos21.cpp
@@ -883,7 +883,7 @@ MACHINE_CONFIG_START(namcos21_state::winrun)
NAMCO_C148(config, m_gpu_intc, 0, "gpu", false);
NAMCO_C139(config, m_sci, 0);
- MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame */
+ config.m_minimum_quantum = attotime::from_hz(6000); /* 100 CPU slices per frame */
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1);
diff --git a/src/mame/drivers/namcos21_c67.cpp b/src/mame/drivers/namcos21_c67.cpp
index da0b1f3de38..e167e6ad66d 100644
--- a/src/mame/drivers/namcos21_c67.cpp
+++ b/src/mame/drivers/namcos21_c67.cpp
@@ -828,7 +828,7 @@ MACHINE_CONFIG_START(namcos21_c67_state::namcos21)
NAMCOS21_DSP_C67(config, m_namcos21_dsp_c67, 0);
m_namcos21_dsp_c67->set_renderer_tag("namcos21_3d");
- MCFG_QUANTUM_TIME(attotime::from_hz(12000))
+ config.m_minimum_quantum = attotime::from_hz(12000);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1);
diff --git a/src/mame/drivers/namcos21_de.cpp b/src/mame/drivers/namcos21_de.cpp
index be23f0fd203..2969f64b269 100644
--- a/src/mame/drivers/namcos21_de.cpp
+++ b/src/mame/drivers/namcos21_de.cpp
@@ -201,7 +201,7 @@ MACHINE_CONFIG_START(namco_de_pcbstack_device::device_add_mconfig)
NAMCOS21_DSP(config, m_namcos21_dsp, 0);
m_namcos21_dsp->set_renderer_tag("namcos21_3d");
- MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame */
+ config.m_minimum_quantum = attotime::from_hz(6000); /* 100 CPU slices per frame */
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1);
diff --git a/src/mame/drivers/namcos22.cpp b/src/mame/drivers/namcos22.cpp
index 065f4f172be..21eadb4b361 100644
--- a/src/mame/drivers/namcos22.cpp
+++ b/src/mame/drivers/namcos22.cpp
@@ -3959,7 +3959,7 @@ MACHINE_CONFIG_START(namcos22_state::namcos22s)
MCFG_DEVICE_PROGRAM_MAP(mcu_program)
MCFG_DEVICE_IO_MAP(mcu_io)
TIMER(config, "mcu_irq").configure_scanline(FUNC(namcos22_state::mcu_irq), "screen", 0, 240);
- MCFG_QUANTUM_TIME(attotime::from_hz(9000)) // erratic inputs otherwise, probably mcu vs maincpu shareram
+ config.m_minimum_quantum = attotime::from_hz(9000); // erratic inputs otherwise, probably mcu vs maincpu shareram
config.device_remove("iomcu");
diff --git a/src/mame/drivers/nc.cpp b/src/mame/drivers/nc.cpp
index f7d43c250f2..128b0dc2ecb 100644
--- a/src/mame/drivers/nc.cpp
+++ b/src/mame/drivers/nc.cpp
@@ -1380,7 +1380,7 @@ MACHINE_CONFIG_START(nc_state::nc_base)
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, /*6000000*/ 4606000) /* Russell Marks says this is more accurate */
MCFG_DEVICE_PROGRAM_MAP(nc_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
/* video hardware */
MCFG_SCREEN_ADD("screen", LCD)
diff --git a/src/mame/drivers/next.cpp b/src/mame/drivers/next.cpp
index d6db4505aef..e788878ddc2 100644
--- a/src/mame/drivers/next.cpp
+++ b/src/mame/drivers/next.cpp
@@ -1052,7 +1052,8 @@ MACHINE_CONFIG_START(next_state::next)
MCFG_DEVICE_PROGRAM_MAP(next_0b_m_nofdc_mem)
MACHINE_CONFIG_END
-MACHINE_CONFIG_START(next_state::next_fdc_base)
+void next_state::next_fdc_base(machine_config &config)
+{
next_base(config);
N82077AA(config, fdc, n82077aa_device::MODE_PS2);
fdc->intrq_wr_callback().set(FUNC(next_state::fdc_irq));
@@ -1060,8 +1061,8 @@ MACHINE_CONFIG_START(next_state::next_fdc_base)
FLOPPY_CONNECTOR(config, "fdc:0", next_floppies, "35ed", next_state::floppy_formats);
// software list
- MCFG_SOFTWARE_LIST_ADD("flop_list", "next")
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config, "flop_list").set_original("next");
+}
MACHINE_CONFIG_START(next_state::nexts)
next_fdc_base(config);
diff --git a/src/mame/drivers/ngp.cpp b/src/mame/drivers/ngp.cpp
index 2d383252057..a2e9cc79f4b 100644
--- a/src/mame/drivers/ngp.cpp
+++ b/src/mame/drivers/ngp.cpp
@@ -873,8 +873,8 @@ MACHINE_CONFIG_START(ngp_state::ngp)
MCFG_GENERIC_UNLOAD(ngp_state, ngp_cart)
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list","ngp")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("ngpc_list","ngpc")
+ SOFTWARE_LIST(config, "cart_list").set_original("ngp");
+ SOFTWARE_LIST(config, "ngpc_list").set_compatible("ngpc");
MACHINE_CONFIG_END
@@ -893,8 +893,8 @@ MACHINE_CONFIG_START(ngp_state::ngpc)
MCFG_GENERIC_UNLOAD(ngp_state, ngp_cart)
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list","ngpc")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("ngp_list","ngp")
+ SOFTWARE_LIST(config, "cart_list").set_original("ngpc");
+ SOFTWARE_LIST(config, "ngp_list").set_compatible("ngp");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/nightgal.cpp b/src/mame/drivers/nightgal.cpp
index 6e7572e468f..03f27f4a183 100644
--- a/src/mame/drivers/nightgal.cpp
+++ b/src/mame/drivers/nightgal.cpp
@@ -799,7 +799,7 @@ MACHINE_CONFIG_START(nightgal_state::royalqn)
MCFG_DEVICE_ADD("sub", NSC8105, MASTER_CLOCK / 8)
MCFG_DEVICE_PROGRAM_MAP(royalqn_nsc_map)
- MCFG_QUANTUM_PERFECT_CPU("maincpu")
+ config.m_perfect_cpu_quantum = subtag("maincpu");
JANGOU_BLITTER(config, m_blitter, MASTER_CLOCK/4);
diff --git a/src/mame/drivers/ninjaw.cpp b/src/mame/drivers/ninjaw.cpp
index c34b15683e1..c25bc3d0bd6 100644
--- a/src/mame/drivers/ninjaw.cpp
+++ b/src/mame/drivers/ninjaw.cpp
@@ -751,7 +751,7 @@ void ninjaw_state::ninjaw(machine_config &config)
// Let's use a better timer (was 6000 before) based off actual CPU timing.
// Might as well bump the divider in case the bug still occurs before resorting to perfect CPU.
config.m_minimum_quantum = attotime::from_hz(16000000/1024); /* CPU slices */
- //MCFG_QUANTUM_PERFECT_CPU("maincpu")
+ //config.m_perfect_cpu_quantum = subtag("maincpu");
tc0040ioc_device &tc0040ioc(TC0040IOC(config, "tc0040ioc", 0));
tc0040ioc.read_0_callback().set_ioport("DSWA");
diff --git a/src/mame/drivers/nmk16.cpp b/src/mame/drivers/nmk16.cpp
index c0e7a2a8a5c..a06f8200afa 100644
--- a/src/mame/drivers/nmk16.cpp
+++ b/src/mame/drivers/nmk16.cpp
@@ -41,7 +41,7 @@ Action is simply a hack of USSAF Mustang.
The NMK004 CPU is a Toshiba TMP90C840 with internal ROM.
The dumped internal ROM has a date string of 900315 in ROM and a version number of V-00
-The later games (from GunNail onwards) have an higher resolution (384x224 instead
+The later games (from GunNail onwards) have a higher resolution (384x224 instead
of 256x224) but the hardware is pretty much the same. It's obvious that the higher
res is an afterthought, because the tilemap layout is weird (the left 8 screen
columns have to be taken from the rightmost 8 columns of the tilemap), and the
diff --git a/src/mame/drivers/nova2001.cpp b/src/mame/drivers/nova2001.cpp
index 70cd70d8a2a..fe0b254431f 100644
--- a/src/mame/drivers/nova2001.cpp
+++ b/src/mame/drivers/nova2001.cpp
@@ -693,7 +693,7 @@ MACHINE_CONFIG_START(nova2001_state::ninjakun)
MCFG_DEVICE_PROGRAM_MAP(ninjakun_cpu2_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(nova2001_state, irq0_line_hold, 4*60) /* ? */
- MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame */
+ config.m_minimum_quantum = attotime::from_hz(6000); /* 100 CPU slices per frame */
MCFG_MACHINE_START_OVERRIDE(nova2001_state,ninjakun)
@@ -772,7 +772,7 @@ MACHINE_CONFIG_START(nova2001_state::raiders5)
MCFG_DEVICE_PROGRAM_MAP(raiders5_cpu2_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(nova2001_state, irq0_line_hold, 4*60) /* ? */
- MCFG_QUANTUM_TIME(attotime::from_hz(24000))
+ config.m_minimum_quantum = attotime::from_hz(24000);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/nss.cpp b/src/mame/drivers/nss.cpp
index 6ee7da0d2ba..812df518289 100644
--- a/src/mame/drivers/nss.cpp
+++ b/src/mame/drivers/nss.cpp
@@ -842,7 +842,7 @@ MACHINE_CONFIG_START(nss_state::nss)
MCFG_DEVICE_ADD("soundcpu", SPC700, XTAL(24'576'000) / 12)
MCFG_DEVICE_PROGRAM_MAP(spc_mem)
- MCFG_QUANTUM_PERFECT_CPU("maincpu")
+ config.m_perfect_cpu_quantum = subtag("maincpu");
/* nss hardware */
MCFG_DEVICE_ADD("bios", Z80, 4000000)
diff --git a/src/mame/drivers/octopus.cpp b/src/mame/drivers/octopus.cpp
index d4810acea5d..e1dc6ad37d6 100644
--- a/src/mame/drivers/octopus.cpp
+++ b/src/mame/drivers/octopus.cpp
@@ -978,7 +978,7 @@ MACHINE_CONFIG_START(octopus_state::octopus)
m_fdc->drq_wr_callback().set(m_dma2, FUNC(am9517a_device::dreq1_w));
FLOPPY_CONNECTOR(config, "fdc:0", octopus_floppies, "525dd", floppy_image_device::default_floppy_formats);
FLOPPY_CONNECTOR(config, "fdc:1", octopus_floppies, "525dd", floppy_image_device::default_floppy_formats);
- MCFG_SOFTWARE_LIST_ADD("fd_list","octopus")
+ SOFTWARE_LIST(config, "fd_list").set_original("octopus");
PIT8253(config, m_pit, 0);
m_pit->set_clk<0>(4.9152_MHz_XTAL / 2); // DART channel A
diff --git a/src/mame/drivers/odyssey2.cpp b/src/mame/drivers/odyssey2.cpp
index f25f508cb09..d2c8c1ba486 100644
--- a/src/mame/drivers/odyssey2.cpp
+++ b/src/mame/drivers/odyssey2.cpp
@@ -676,7 +676,7 @@ GFXDECODE_END
MACHINE_CONFIG_START(odyssey2_state::odyssey2_cartslot)
MCFG_O2_CARTRIDGE_ADD("cartslot", o2_cart, nullptr)
- MCFG_SOFTWARE_LIST_ADD("cart_list","odyssey2")
+ SOFTWARE_LIST(config, "cart_list").set_original("odyssey2");
MACHINE_CONFIG_END
@@ -694,7 +694,7 @@ MACHINE_CONFIG_START(odyssey2_state::odyssey2)
m_maincpu->t0_in_cb().set("cartslot", FUNC(o2_cart_slot_device::t0_read));
m_maincpu->t1_in_cb().set(FUNC(odyssey2_state::t1_read));
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -722,7 +722,7 @@ MACHINE_CONFIG_START(odyssey2_state::videopac)
m_maincpu->set_addrmap(AS_PROGRAM, &odyssey2_state::odyssey2_mem);
m_maincpu->set_addrmap(AS_IO, &odyssey2_state::odyssey2_io);
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -759,7 +759,7 @@ MACHINE_CONFIG_START(g7400_state::g7400)
m_maincpu->t1_in_cb().set(FUNC(g7400_state::t1_read));
m_maincpu->prog_out_cb().set(m_i8243, FUNC(i8243_device::prog_w));
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -785,9 +785,8 @@ MACHINE_CONFIG_START(g7400_state::g7400)
m_i8244->add_route(ALL_OUTPUTS, "mono", 0.40);
odyssey2_cartslot(config);
- config.device_remove("cart_list");
- MCFG_SOFTWARE_LIST_ADD("cart_list","g7400")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("ody2_list","odyssey2")
+ SOFTWARE_LIST(config.replace(), "cart_list").set_original("g7400");
+ SOFTWARE_LIST(config, "ody2_list").set_compatible("odyssey2");
MACHINE_CONFIG_END
@@ -806,7 +805,7 @@ MACHINE_CONFIG_START(g7400_state::odyssey3)
m_maincpu->t1_in_cb().set(FUNC(g7400_state::t1_read));
m_maincpu->prog_out_cb().set(m_i8243, FUNC(i8243_device::prog_w));
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -832,9 +831,8 @@ MACHINE_CONFIG_START(g7400_state::odyssey3)
m_i8244->add_route(ALL_OUTPUTS, "mono", 0.40);
odyssey2_cartslot(config);
- config.device_remove("cart_list");
- MCFG_SOFTWARE_LIST_ADD("cart_list","g7400")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("ody2_list","odyssey2")
+ SOFTWARE_LIST(config.replace(), "cart_list").set_original("g7400");
+ SOFTWARE_LIST(config, "ody2_list").set_compatible("odyssey2");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/olibochu.cpp b/src/mame/drivers/olibochu.cpp
index 4f5b5d6db11..5a94aa474e0 100644
--- a/src/mame/drivers/olibochu.cpp
+++ b/src/mame/drivers/olibochu.cpp
@@ -470,7 +470,7 @@ MACHINE_CONFIG_START(olibochu_state::olibochu)
MCFG_DEVICE_PROGRAM_MAP(olibochu_sound_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(olibochu_state, irq0_line_hold, 60) //???
-// MCFG_QUANTUM_PERFECT_CPU("maincpu")
+// config.m_perfect_cpu_quantum = subtag("maincpu");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/ondra.cpp b/src/mame/drivers/ondra.cpp
index 5f51b057465..f040ebd2f20 100644
--- a/src/mame/drivers/ondra.cpp
+++ b/src/mame/drivers/ondra.cpp
@@ -149,7 +149,7 @@ MACHINE_CONFIG_START(ondra_state::ondra)
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
m_cassette->set_interface("ondra_cass");
- MCFG_SOFTWARE_LIST_ADD("cass_list","ondra")
+ SOFTWARE_LIST(config, "cass_list").set_original("ondra");
/* internal ram */
RAM(config, RAM_TAG).set_default_size("64K").set_default_value(0x00);
diff --git a/src/mame/drivers/orao.cpp b/src/mame/drivers/orao.cpp
index 734033e5567..d703619eccb 100644
--- a/src/mame/drivers/orao.cpp
+++ b/src/mame/drivers/orao.cpp
@@ -198,7 +198,7 @@ MACHINE_CONFIG_START(orao_state::orao)
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED);
m_cassette->set_interface("orao_cass");
- MCFG_SOFTWARE_LIST_ADD("cass_list","orao")
+ SOFTWARE_LIST(config, "cass_list").set_original("orao");
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mame/drivers/osbexec.cpp b/src/mame/drivers/osbexec.cpp
index 274087ab016..09303009a4f 100644
--- a/src/mame/drivers/osbexec.cpp
+++ b/src/mame/drivers/osbexec.cpp
@@ -528,7 +528,8 @@ static const z80_daisy_config osbexec_daisy_config[] =
};
-MACHINE_CONFIG_START(osbexec_state::osbexec)
+void osbexec_state::osbexec(machine_config &config)
+{
Z80(config, m_maincpu, MAIN_CLOCK/6);
m_maincpu->set_addrmap(AS_PROGRAM, &osbexec_state::osbexec_mem);
m_maincpu->set_addrmap(AS_IO, &osbexec_state::osbexec_io);
@@ -545,8 +546,7 @@ MACHINE_CONFIG_START(osbexec_state::osbexec)
PALETTE(config, "palette", palette_device::MONOCHROME_HIGHLIGHT);
SPEAKER(config, "mono").front_center();
- MCFG_DEVICE_ADD(m_speaker, SPEAKER_SOUND)
- MCFG_SOUND_ROUTE( ALL_OUTPUTS, "mono", 1.00 )
+ SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 1.00);
PIA6821(config, m_pia[0], 0);
m_pia[0]->readpa_handler().set(FUNC(osbexec_state::osbexec_pia0_a_r));
@@ -608,8 +608,8 @@ MACHINE_CONFIG_START(osbexec_state::osbexec)
RAM(config, RAM_TAG).set_default_size("136K"); /* 128KB Main RAM + RAM in ROM bank (8) */
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("flop_list", "osborne2")
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config, "flop_list").set_original("osborne2");
+}
ROM_START( osbexec )
diff --git a/src/mame/drivers/p2000t.cpp b/src/mame/drivers/p2000t.cpp
index 47d73b1a52b..a226b2b8a14 100644
--- a/src/mame/drivers/p2000t.cpp
+++ b/src/mame/drivers/p2000t.cpp
@@ -254,7 +254,7 @@ MACHINE_CONFIG_START(p2000m_state::p2000m)
MCFG_DEVICE_PROGRAM_MAP(p2000m_mem)
MCFG_DEVICE_IO_MAP(p2000t_io)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", p2000m_state, p2000_interrupt)
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/palm.cpp b/src/mame/drivers/palm.cpp
index 21643b58ecd..a65716a300a 100644
--- a/src/mame/drivers/palm.cpp
+++ b/src/mame/drivers/palm.cpp
@@ -188,7 +188,7 @@ MACHINE_CONFIG_START(palm_state::palm)
MCFG_DEVICE_PROGRAM_MAP( palm_map)
MCFG_DEVICE_DISASSEMBLE_OVERRIDE(palm_state, palm_dasm_override)
- MCFG_QUANTUM_TIME( attotime::from_hz(60) )
+ config.m_minimum_quantum = attotime::from_hz(60);
MCFG_SCREEN_ADD( "screen", LCD )
MCFG_SCREEN_REFRESH_RATE( 60 )
diff --git a/src/mame/drivers/pandoras.cpp b/src/mame/drivers/pandoras.cpp
index a6ceb3c40f6..9813ce0f170 100644
--- a/src/mame/drivers/pandoras.cpp
+++ b/src/mame/drivers/pandoras.cpp
@@ -323,7 +323,7 @@ MACHINE_CONFIG_START(pandoras_state::pandoras)
m_mcu->p1_out_cb().set("dac", FUNC(dac_byte_interface::data_w));
m_mcu->p2_out_cb().set(FUNC(pandoras_state::i8039_irqen_and_status_w));
- MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame - needed for correct synchronization of the sound CPUs */
+ config.m_minimum_quantum = attotime::from_hz(6000); /* 100 CPU slices per frame - needed for correct synchronization of the sound CPUs */
ls259_device &mainlatch(LS259(config, "mainlatch")); // C3
mainlatch.q_out_cb<0>().set(FUNC(pandoras_state::cpua_irq_enable_w)); // ENA
diff --git a/src/mame/drivers/paranoia.cpp b/src/mame/drivers/paranoia.cpp
index 0274e6a3360..5c215799342 100644
--- a/src/mame/drivers/paranoia.cpp
+++ b/src/mame/drivers/paranoia.cpp
@@ -175,7 +175,7 @@ MACHINE_CONFIG_START(paranoia_state::paranoia)
m_maincpu->add_route(0, "lspeaker", 1.00);
m_maincpu->add_route(1, "rspeaker", 1.00);
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
MCFG_DEVICE_ADD("sub", I8085A, 18000000/3)
MCFG_DEVICE_PROGRAM_MAP(paranoia_8085_map)
diff --git a/src/mame/drivers/pasogo.cpp b/src/mame/drivers/pasogo.cpp
index 23871b6e73a..40c9c812175 100644
--- a/src/mame/drivers/pasogo.cpp
+++ b/src/mame/drivers/pasogo.cpp
@@ -572,7 +572,7 @@ MACHINE_CONFIG_START(pasogo_state::pasogo)
MCFG_GENERIC_WIDTH(GENERIC_ROM16_WIDTH)
MCFG_GENERIC_MANDATORY
- MCFG_SOFTWARE_LIST_ADD("cart_list","pasogo")
+ SOFTWARE_LIST(config, "cart_list").set_original("pasogo");
TIMER(config, "vg230_timer").configure_periodic(FUNC(pasogo_state::vg230_timer), attotime::from_hz(1));
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/pc.cpp b/src/mame/drivers/pc.cpp
index c5f1b1739db..1e451328c36 100644
--- a/src/mame/drivers/pc.cpp
+++ b/src/mame/drivers/pc.cpp
@@ -221,7 +221,7 @@ MACHINE_CONFIG_START(pc_state::pccga)
RAM(config, RAM_TAG).set_default_size("640K").set_extra_options("64K, 128K, 256K, 512K");
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("disk_list","ibm5150")
+ SOFTWARE_LIST(config, "disk_list").set_original("ibm5150");
MACHINE_CONFIG_END
@@ -1082,7 +1082,7 @@ MACHINE_CONFIG_START(pc_state::laser_turbo_xt)
RAM(config, RAM_TAG).set_default_size("640K").set_extra_options("512K,768K,896K,1024K,1408K,1536K,1664K");
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("disk_list","ibm5150")
+ SOFTWARE_LIST(config, "disk_list").set_original("ibm5150");
MACHINE_CONFIG_END
ROM_START( laser_turbo_xt )
@@ -1158,7 +1158,7 @@ MACHINE_CONFIG_START(pc_state::zenith)
RAM(config, RAM_TAG).set_default_size("640K").set_extra_options("128K, 256K, 512K");
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("disk_list","ibm5150")
+ SOFTWARE_LIST(config, "disk_list").set_original("ibm5150");
MACHINE_CONFIG_END
ROM_START( zdsupers )
diff --git a/src/mame/drivers/pc1512.cpp b/src/mame/drivers/pc1512.cpp
index ed4e026bfa6..50cc206394b 100644
--- a/src/mame/drivers/pc1512.cpp
+++ b/src/mame/drivers/pc1512.cpp
@@ -1260,8 +1260,8 @@ MACHINE_CONFIG_START(pc1512_state::pc1512)
RAM(config, RAM_TAG).set_default_size("512K").set_extra_options("544K,576K,608K,640K");
// software list
- MCFG_SOFTWARE_LIST_ADD("flop_list", "pc1512_flop")
- MCFG_SOFTWARE_LIST_ADD("hdd_list", "pc1512_hdd")
+ SOFTWARE_LIST(config, "flop_list").set_original("pc1512_flop");
+ SOFTWARE_LIST(config, "hdd_list").set_original("pc1512_hdd");
MACHINE_CONFIG_END
@@ -1396,8 +1396,8 @@ MACHINE_CONFIG_START(pc1640_state::pc1640)
RAM(config, RAM_TAG).set_default_size("640K");
// software list
- MCFG_SOFTWARE_LIST_ADD("flop_list", "pc1640_flop")
- MCFG_SOFTWARE_LIST_ADD("hdd_list", "pc1640_hdd")
+ SOFTWARE_LIST(config, "flop_list").set_original("pc1640_flop");
+ SOFTWARE_LIST(config, "hdd_list").set_original("pc1640_hdd");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/pc8801.cpp b/src/mame/drivers/pc8801.cpp
index 342484b1ede..f4b7cd3cb0c 100644
--- a/src/mame/drivers/pc8801.cpp
+++ b/src/mame/drivers/pc8801.cpp
@@ -2353,8 +2353,8 @@ MACHINE_CONFIG_START(pc8801_state::pc8801)
MCFG_DEVICE_PROGRAM_MAP(pc8801fdc_mem)
MCFG_DEVICE_IO_MAP(pc8801fdc_io)
- //MCFG_QUANTUM_TIME(attotime::from_hz(300000))
- MCFG_QUANTUM_PERFECT_CPU("maincpu")
+ //config.m_minimum_quantum = attotime::from_hz(300000);
+ config.m_perfect_cpu_quantum = subtag("maincpu");
i8255_device &d8255_master(I8255(config, "d8255_master"));
d8255_master.in_pa_callback().set("d8255_slave", FUNC(i8255_device::pb_r));
@@ -2379,7 +2379,7 @@ MACHINE_CONFIG_START(pc8801_state::pc8801)
CASSETTE(config, m_cassette);
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED);
- MCFG_SOFTWARE_LIST_ADD("tape_list","pc8801_cass")
+ SOFTWARE_LIST(config, "tape_list").set_original("pc8801_cass");
i8251_device &i8251(I8251(config, I8251_TAG, 0));
i8251.txd_handler().set(FUNC(pc8801_state::txdata_callback));
@@ -2387,7 +2387,7 @@ MACHINE_CONFIG_START(pc8801_state::pc8801)
FLOPPY_CONNECTOR(config, "upd765:0", pc88_floppies, "525hd", floppy_image_device::default_floppy_formats);
FLOPPY_CONNECTOR(config, "upd765:1", pc88_floppies, "525hd", floppy_image_device::default_floppy_formats);
- MCFG_SOFTWARE_LIST_ADD("disk_list","pc8801_flop")
+ SOFTWARE_LIST(config, "disk_list").set_original("pc8801_flop");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/pc88va.cpp b/src/mame/drivers/pc88va.cpp
index 5906ed879ce..af7cd15588b 100644
--- a/src/mame/drivers/pc88va.cpp
+++ b/src/mame/drivers/pc88va.cpp
@@ -1598,7 +1598,7 @@ MACHINE_CONFIG_START(pc88va_state::pc88va)
MCFG_DEVICE_PROGRAM_MAP(pc88va_z80_map)
MCFG_DEVICE_IO_MAP(pc88va_z80_io_map)
- MCFG_QUANTUM_PERFECT_CPU("maincpu")
+ config.m_perfect_cpu_quantum = subtag("maincpu");
#endif
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1653,7 +1653,7 @@ MACHINE_CONFIG_START(pc88va_state::pc88va)
m_fdc->drq_wr_callback().set(FUNC(pc88va_state::fdc_drq));
FLOPPY_CONNECTOR(config, m_fdd[0], pc88va_floppies, "525hd", pc88va_state::floppy_formats);
FLOPPY_CONNECTOR(config, m_fdd[1], pc88va_floppies, "525hd", pc88va_state::floppy_formats);
- MCFG_SOFTWARE_LIST_ADD("disk_list","pc88va")
+ SOFTWARE_LIST(config, "disk_list").set_original("pc88va");
pit8253_device &pit8253(PIT8253(config, "pit8253", 0));
pit8253.set_clk<0>(8000000); /* general purpose timer 1 */
diff --git a/src/mame/drivers/pce.cpp b/src/mame/drivers/pce.cpp
index cabbcd58cf9..98f04f3f5b3 100644
--- a/src/mame/drivers/pce.cpp
+++ b/src/mame/drivers/pce.cpp
@@ -315,7 +315,7 @@ MACHINE_CONFIG_START(pce_state::pce_common)
m_maincpu->add_route(0, "lspeaker", 1.00);
m_maincpu->add_route(1, "rspeaker", 1.00);
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
MCFG_MACHINE_START_OVERRIDE(pce_state, pce )
MCFG_MACHINE_RESET_OVERRIDE(pce_state, mess_pce )
@@ -341,21 +341,21 @@ MACHINE_CONFIG_START(pce_state::pce_common)
PCE_CD(config, m_cd, 0);
- MCFG_SOFTWARE_LIST_ADD("cd_list","pcecd")
+ SOFTWARE_LIST(config, "cd_list").set_original("pcecd");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(pce_state::pce)
pce_common(config);
MCFG_PCE_CARTRIDGE_ADD("cartslot", pce_cart, nullptr)
- MCFG_SOFTWARE_LIST_ADD("cart_list","pce")
+ SOFTWARE_LIST(config, "cart_list").set_original("pce");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(pce_state::tg16)
pce_common(config);
MCFG_TG16_CARTRIDGE_ADD("cartslot", pce_cart, nullptr)
- MCFG_SOFTWARE_LIST_ADD("cart_list","tg16")
+ SOFTWARE_LIST(config, "cart_list").set_original("tg16");
MACHINE_CONFIG_END
@@ -369,7 +369,7 @@ MACHINE_CONFIG_START(pce_state::sgx)
m_maincpu->add_route(0, "lspeaker", 1.00);
m_maincpu->add_route(1, "rspeaker", 1.00);
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
MCFG_MACHINE_START_OVERRIDE(pce_state, pce )
MCFG_MACHINE_RESET_OVERRIDE(pce_state, mess_pce )
@@ -412,12 +412,12 @@ MACHINE_CONFIG_START(pce_state::sgx)
SPEAKER(config, "rspeaker").front_right();
MCFG_PCE_CARTRIDGE_ADD("cartslot", pce_cart, nullptr)
- MCFG_SOFTWARE_LIST_ADD("cart_list","sgx")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("pce_list","pce")
+ SOFTWARE_LIST(config, "cart_list").set_original("sgx");
+ SOFTWARE_LIST(config, "pce_list").set_compatible("pce");
PCE_CD(config, m_cd, 0);
- MCFG_SOFTWARE_LIST_ADD("cd_list","pcecd")
+ SOFTWARE_LIST(config, "cd_list").set_original("pcecd");
MACHINE_CONFIG_END
/***************************************************************************
diff --git a/src/mame/drivers/pcfx.cpp b/src/mame/drivers/pcfx.cpp
index 99e37dfe759..4a4aea782b9 100644
--- a/src/mame/drivers/pcfx.cpp
+++ b/src/mame/drivers/pcfx.cpp
@@ -445,7 +445,7 @@ MACHINE_CONFIG_START(pcfx_state::pcfx)
HUC6271(config, "huc6271", XTAL(21'477'272));
- MCFG_SOFTWARE_LIST_ADD("cd_list", "pcfx")
+ SOFTWARE_LIST(config, "cd_list").set_original("pcfx");
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
diff --git a/src/mame/drivers/pcw.cpp b/src/mame/drivers/pcw.cpp
index 43f851910ec..1cb0b1f986d 100644
--- a/src/mame/drivers/pcw.cpp
+++ b/src/mame/drivers/pcw.cpp
@@ -1242,7 +1242,7 @@ void pcw_state::pcw(machine_config &config)
m_keyboard_mcu->t0_in_cb().set(FUNC(pcw_state::mcu_kb_t0_r));
m_keyboard_mcu->bus_in_cb().set(FUNC(pcw_state::mcu_kb_data_r));
-// MCFG_QUANTUM_TIME(attotime::from_hz(50))
+// config.m_minimum_quantum = attotime::from_hz(50);
config.m_perfect_cpu_quantum = subtag("maincpu");
/* video hardware */
diff --git a/src/mame/drivers/pcw16.cpp b/src/mame/drivers/pcw16.cpp
index 15eaa6d8f95..ec838011158 100644
--- a/src/mame/drivers/pcw16.cpp
+++ b/src/mame/drivers/pcw16.cpp
@@ -1015,7 +1015,7 @@ MACHINE_CONFIG_START(pcw16_state::pcw16)
MCFG_DEVICE_ADD("maincpu", Z80, 16000000)
MCFG_DEVICE_PROGRAM_MAP(pcw16_map)
MCFG_DEVICE_IO_MAP(pcw16_io)
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
ns16550_device &uart1(NS16550(config, "ns16550_1", XTAL(1'843'200))); /* TODO: Verify uart model */
uart1.out_tx_callback().set("serport1", FUNC(rs232_port_device::write_txd));
@@ -1066,7 +1066,7 @@ MACHINE_CONFIG_START(pcw16_state::pcw16)
FLOPPY_CONNECTOR(config, "fdc:0", pcw16_floppies, "35hd", pcw16_state::floppy_formats);
FLOPPY_CONNECTOR(config, "fdc:1", pcw16_floppies, "35hd", pcw16_state::floppy_formats);
- MCFG_SOFTWARE_LIST_ADD("disk_list","pcw16")
+ SOFTWARE_LIST(config, "disk_list").set_original("pcw16");
/* internal ram */
RAM(config, RAM_TAG).set_default_size("2M");
diff --git a/src/mame/drivers/pegasus.cpp b/src/mame/drivers/pegasus.cpp
index 4b8162bb4bd..294784e4624 100644
--- a/src/mame/drivers/pegasus.cpp
+++ b/src/mame/drivers/pegasus.cpp
@@ -545,7 +545,7 @@ MACHINE_CONFIG_START(pegasus_state::pegasus)
m_cass->set_default_state(CASSETTE_STOPPED|CASSETTE_MOTOR_ENABLED);
/* Software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list", "pegasus_cart")
+ SOFTWARE_LIST(config, "cart_list").set_original("pegasus_cart");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(pegasus_state::pegasusm)
diff --git a/src/mame/drivers/pencil2.cpp b/src/mame/drivers/pencil2.cpp
index 7426375692e..4ee4a601c5e 100644
--- a/src/mame/drivers/pencil2.cpp
+++ b/src/mame/drivers/pencil2.cpp
@@ -345,7 +345,7 @@ MACHINE_CONFIG_START(pencil2_state::pencil2)
m_centronics->set_output_latch(cent_data_out);
/* Software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list", "pencil2")
+ SOFTWARE_LIST(config, "cart_list").set_original("pencil2");
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mame/drivers/pentagon.cpp b/src/mame/drivers/pentagon.cpp
index bd38a1deb7a..8bd464034e9 100644
--- a/src/mame/drivers/pentagon.cpp
+++ b/src/mame/drivers/pentagon.cpp
@@ -305,7 +305,7 @@ MACHINE_CONFIG_START(pentagon_state::pentagon)
config.device_remove("exp");
- MCFG_SOFTWARE_LIST_ADD("cass_list_pen","pentagon_cass")
+ SOFTWARE_LIST(config, "cass_list_pen").set_original("pentagon_cass");
MACHINE_CONFIG_END
void pentagon_state::pent1024(machine_config &config)
diff --git a/src/mame/drivers/phc25.cpp b/src/mame/drivers/phc25.cpp
index 9c03da9da78..ce75201c8c5 100644
--- a/src/mame/drivers/phc25.cpp
+++ b/src/mame/drivers/phc25.cpp
@@ -308,11 +308,12 @@ void phc25_state::video_start()
/* Machine Driver */
-MACHINE_CONFIG_START(phc25_state::phc25)
+void phc25_state::phc25(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD(Z80_TAG, Z80, XTAL(4'000'000))
- MCFG_DEVICE_PROGRAM_MAP(phc25_mem)
- MCFG_DEVICE_IO_MAP(phc25_io)
+ Z80(config, m_maincpu, XTAL(4'000'000));
+ m_maincpu->set_addrmap(AS_PROGRAM, &phc25_state::phc25_mem);
+ m_maincpu->set_addrmap(AS_IO, &phc25_state::phc25_io);
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -338,8 +339,8 @@ MACHINE_CONFIG_START(phc25_state::phc25)
RAM(config, RAM_TAG).set_default_size("16K");
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("cass_list", "phc25_cass")
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config, "cass_list").set_original("phc25_cass");
+}
void phc25_state::pal(machine_config &config)
{
diff --git a/src/mame/drivers/picno.cpp b/src/mame/drivers/picno.cpp
index 497525bd842..7daf7254e40 100644
--- a/src/mame/drivers/picno.cpp
+++ b/src/mame/drivers/picno.cpp
@@ -78,7 +78,7 @@ MACHINE_CONFIG_START(picno_state::picno)
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_linear_slot, "picno_cart")
- MCFG_SOFTWARE_LIST_ADD("cart_list", "picno")
+ SOFTWARE_LIST(config, "cart_list").set_original("picno");
MACHINE_CONFIG_END
ROM_START( picno )
diff --git a/src/mame/drivers/pk8020.cpp b/src/mame/drivers/pk8020.cpp
index 85d93fe0af3..b9b263cdfa2 100644
--- a/src/mame/drivers/pk8020.cpp
+++ b/src/mame/drivers/pk8020.cpp
@@ -251,7 +251,7 @@ MACHINE_CONFIG_START(pk8020_state::pk8020)
FLOPPY_CONNECTOR(config, "wd1793:2", pk8020_floppies, "qd", pk8020_state::floppy_formats);
FLOPPY_CONNECTOR(config, "wd1793:3", pk8020_floppies, "qd", pk8020_state::floppy_formats);
- MCFG_SOFTWARE_LIST_ADD("flop_list", "korvet_flop")
+ SOFTWARE_LIST(config, "flop_list").set_original("korvet_flop");
/* audio hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/pockchal.cpp b/src/mame/drivers/pockchal.cpp
index 0d4a900e346..570560a566d 100644
--- a/src/mame/drivers/pockchal.cpp
+++ b/src/mame/drivers/pockchal.cpp
@@ -124,7 +124,7 @@ MACHINE_CONFIG_START(pockchalv1_state::pockchalv1)
MCFG_GENERIC_LOAD(pockchalv1_state, pockchalv1_cart)
MCFG_GENERIC_MANDATORY
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("pc1_list","pockchalw")
+ SOFTWARE_LIST(config, "pc1_list").set_compatible("pockchalw");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/pofo.cpp b/src/mame/drivers/pofo.cpp
index e561916fbec..8773694c461 100644
--- a/src/mame/drivers/pofo.cpp
+++ b/src/mame/drivers/pofo.cpp
@@ -1058,7 +1058,7 @@ MACHINE_CONFIG_START(portfolio_state::portfolio)
TIMER(config, "keyboard").configure_periodic(FUNC(portfolio_state::keyboard_tick), attotime::from_usec(2500));
// software list
- MCFG_SOFTWARE_LIST_ADD("cart_list", "pofo")
+ SOFTWARE_LIST(config, "cart_list").set_original("pofo");
// internal ram
RAM(config, RAM_TAG).set_default_size("128K");
diff --git a/src/mame/drivers/poisk1.cpp b/src/mame/drivers/poisk1.cpp
index a7575163423..f0d33896667 100644
--- a/src/mame/drivers/poisk1.cpp
+++ b/src/mame/drivers/poisk1.cpp
@@ -689,8 +689,8 @@ MACHINE_CONFIG_START(p1_state::poisk1)
CASSETTE(config, m_cassette);
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
- MCFG_SOFTWARE_LIST_ADD("flop_list","poisk1_flop")
-// MCFG_SOFTWARE_LIST_ADD("cass_list","poisk1_cass")
+ SOFTWARE_LIST(config, "flop_list").set_original("poisk1_flop");
+// SOFTWARE_LIST(config, "cass_list").set_original("poisk1_cass");
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD( "speaker", SPEAKER_SOUND )
diff --git a/src/mame/drivers/poly.cpp b/src/mame/drivers/poly.cpp
index 5201ad33739..13c5914884a 100644
--- a/src/mame/drivers/poly.cpp
+++ b/src/mame/drivers/poly.cpp
@@ -345,15 +345,16 @@ MACHINE_CONFIG_START(poly_state::poly)
MACHINE_CONFIG_END
-MACHINE_CONFIG_START(poly_state::poly2)
+void poly_state::poly2(machine_config &config)
+{
poly(config);
/* internal ram */
m_ram->set_default_size("128K");
/* software lists */
- MCFG_SOFTWARE_LIST_FILTER("flop_list", "POLY2")
-MACHINE_CONFIG_END
+ subdevice<software_list_device>("flop_list")->set_filter("POLY2");
+}
void polydev_state::polydev(machine_config &config)
diff --git a/src/mame/drivers/popper.cpp b/src/mame/drivers/popper.cpp
index 40ee2ae1cfb..dc0a901c81f 100644
--- a/src/mame/drivers/popper.cpp
+++ b/src/mame/drivers/popper.cpp
@@ -541,7 +541,7 @@ MACHINE_CONFIG_START(popper_state::popper)
MCFG_DEVICE_ADD("subcpu", Z80, XTAL(18'432'000)/3/2)
MCFG_DEVICE_PROGRAM_MAP(sub_map)
- MCFG_QUANTUM_PERFECT_CPU("maincpu")
+ config.m_perfect_cpu_quantum = subtag("maincpu");
// video hardware
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/prestige.cpp b/src/mame/drivers/prestige.cpp
index 93f9527b02e..0537cd07768 100644
--- a/src/mame/drivers/prestige.cpp
+++ b/src/mame/drivers/prestige.cpp
@@ -784,8 +784,8 @@ MACHINE_CONFIG_START(prestige_state::glcolor)
subdevice<palette_device>("palette")->set_entries(4).set_init(FUNC(prestige_state::glcolor_palette));
- MCFG_SOFTWARE_LIST_ADD("cart_list", "glcolor")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("snotec_cart", "snotec")
+ SOFTWARE_LIST(config, "cart_list").set_original("glcolor");
+ SOFTWARE_LIST(config, "snotec_cart").set_compatible("snotec");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(prestige_state::glmcolor)
@@ -795,52 +795,57 @@ MACHINE_CONFIG_START(prestige_state::glmcolor)
MCFG_DEVICE_IO_MAP(prestige_io)
MACHINE_CONFIG_END
-MACHINE_CONFIG_START(prestige_state::snotec)
+void prestige_state::snotec(machine_config &config)
+{
glcolor(config);
- MCFG_SOFTWARE_LIST_REMOVE("cart_list")
- MCFG_SOFTWARE_LIST_REMOVE("snotec_cart")
- MCFG_SOFTWARE_LIST_ADD("cart_list", "snotec")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("glcolor_cart", "glcolor")
-MACHINE_CONFIG_END
+ config.device_remove("snotec_cart");
+ SOFTWARE_LIST(config.replace(), "cart_list").set_original("snotec");
+ SOFTWARE_LIST(config, "glcolor_cart").set_compatible("glcolor");
+}
-MACHINE_CONFIG_START(prestige_state::prestige)
+void prestige_state::prestige(machine_config &config)
+{
prestige_base(config);
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("gl6000sl_cart", "gl6000sl")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("misterx_cart", "misterx")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("gl2000_cart", "gl2000")
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config, "gl6000sl_cart").set_compatible("gl6000sl");
+ SOFTWARE_LIST(config, "misterx_cart").set_compatible("misterx");
+ SOFTWARE_LIST(config, "gl2000_cart").set_compatible("gl2000");
+}
-MACHINE_CONFIG_START(prestige_state::gl6000sl)
+void prestige_state::gl6000sl(machine_config &config)
+{
prestige_base(config);
- MCFG_SOFTWARE_LIST_ADD("cart_list", "gl6000sl")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("misterx_cart", "misterx")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("gl2000_cart", "gl2000")
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config, "cart_list").set_original("gl6000sl");
+ SOFTWARE_LIST(config, "misterx_cart").set_compatible("misterx");
+ SOFTWARE_LIST(config, "gl2000_cart").set_compatible("gl2000");
+}
-MACHINE_CONFIG_START(prestige_state::gl7007sl)
+void prestige_state::gl7007sl(machine_config &config)
+{
prestige_base(config);
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("gl6000sl_cart", "gl6000sl")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("gl2000_cart", "gl2000")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("misterx_cart", "misterx")
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config, "gl6000sl_cart").set_compatible("gl6000sl");
+ SOFTWARE_LIST(config, "gl2000_cart").set_compatible("gl2000");
+ SOFTWARE_LIST(config, "misterx_cart").set_compatible("misterx");
+}
-MACHINE_CONFIG_START(prestige_state::gjmovie)
+void prestige_state::gjmovie(machine_config &config)
+{
prestige_base(config);
- MCFG_SOFTWARE_LIST_ADD("cart_list", "gjmovie")
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config, "cart_list").set_original("gjmovie");
+}
-MACHINE_CONFIG_START(prestige_state::princ)
+void prestige_state::princ(machine_config &config)
+{
prestige_base(config);
config.device_remove("cartslot");
- MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "princ_cart")
- MCFG_SOFTWARE_LIST_ADD("cart_list", "princ")
-MACHINE_CONFIG_END
+ GENERIC_CARTSLOT(config, m_cart, generic_plain_slot, "princ_cart");
+ SOFTWARE_LIST(config, "cart_list").set_original("princ");
+}
/* ROM definition */
ROM_START( gl6000sl )
diff --git a/src/mame/drivers/prof180x.cpp b/src/mame/drivers/prof180x.cpp
index 59d8f225caa..2c9f533ecd2 100644
--- a/src/mame/drivers/prof180x.cpp
+++ b/src/mame/drivers/prof180x.cpp
@@ -270,7 +270,7 @@ MACHINE_CONFIG_START(prof180x_state::prof180x)
RAM(config, RAM_TAG).set_default_size("128K").set_extra_options("256K,512K");
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("flop_list", "prof180")
+ SOFTWARE_LIST(config, "flop_list").set_original("prof180");
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mame/drivers/prof80.cpp b/src/mame/drivers/prof80.cpp
index 81262198e25..a72ec81b63b 100644
--- a/src/mame/drivers/prof80.cpp
+++ b/src/mame/drivers/prof80.cpp
@@ -507,7 +507,7 @@ MACHINE_CONFIG_START(prof80_state::prof80)
RAM(config, RAM_TAG).set_default_size("128K");
// software lists
- MCFG_SOFTWARE_LIST_ADD("flop_list", "prof80")
+ SOFTWARE_LIST(config, "flop_list").set_original("prof80");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/progolf.cpp b/src/mame/drivers/progolf.cpp
index 3cc87bf0fb2..db0bfad76ed 100644
--- a/src/mame/drivers/progolf.cpp
+++ b/src/mame/drivers/progolf.cpp
@@ -426,7 +426,7 @@ MACHINE_CONFIG_START(progolf_state::progolf)
MCFG_DEVICE_ADD("audiocpu", M6502, 500000)
MCFG_DEVICE_PROGRAM_MAP(sound_cpu)
- MCFG_QUANTUM_PERFECT_CPU("maincpu")
+ config.m_perfect_cpu_quantum = subtag("maincpu");
generic_latch_8_device &soundlatch(GENERIC_LATCH_8(config, "soundlatch"));
soundlatch.data_pending_callback().set_inputline(m_audiocpu, 0);
diff --git a/src/mame/drivers/proteus.cpp b/src/mame/drivers/proteus.cpp
index 8886d7e58d3..a6588fd2565 100644
--- a/src/mame/drivers/proteus.cpp
+++ b/src/mame/drivers/proteus.cpp
@@ -412,8 +412,7 @@ MACHINE_CONFIG_START(proteus_state::proteus)
acia2_clock.signal_handler().append(m_acia[2], FUNC(acia6850_device::write_rxc));
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("flop_list", "poly_flop")
- MCFG_SOFTWARE_LIST_FILTER("flop_list", "PROTEUS")
+ SOFTWARE_LIST(config, "flop_list").set_original("poly_flop").set_filter("PROTEUS");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/psion.cpp b/src/mame/drivers/psion.cpp
index 84da42b4ae5..c6316f16a6f 100644
--- a/src/mame/drivers/psion.cpp
+++ b/src/mame/drivers/psion.cpp
@@ -602,7 +602,7 @@ MACHINE_CONFIG_START(psion_state::psion_2lines)
PSION_DATAPACK(config, m_pack2, 0);
/* Software lists */
- MCFG_SOFTWARE_LIST_ADD("pack_list", "psion2")
+ SOFTWARE_LIST(config, "pack_list").set_original("psion2");
MACHINE_CONFIG_END
/* basic configuration for 4 lines display */
@@ -632,8 +632,7 @@ MACHINE_CONFIG_START(psion1_state::psion1)
m_lcdc->set_pixel_update_cb(FUNC(psion1_state::psion1_pixel_update), this);
/* Software lists */
- MCFG_SOFTWARE_LIST_REMOVE("pack_list")
- MCFG_SOFTWARE_LIST_ADD("pack_list", "psion1")
+ SOFTWARE_LIST(config.replace(), "pack_list").set_original("psion1");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(psion_state::psioncm)
diff --git a/src/mame/drivers/pt68k4.cpp b/src/mame/drivers/pt68k4.cpp
index fe6112990d6..ab6e85f5b89 100644
--- a/src/mame/drivers/pt68k4.cpp
+++ b/src/mame/drivers/pt68k4.cpp
@@ -440,7 +440,7 @@ MACHINE_CONFIG_START(pt68k4_state::pt68k2)
MCFG_DEVICE_ADD(SPEAKER_TAG, SPEAKER_SOUND)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
- MCFG_SOFTWARE_LIST_ADD("flop525_list", "pt68k2")
+ SOFTWARE_LIST(config, "flop525_list").set_original("pt68k2");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(pt68k4_state::pt68k4)
@@ -477,7 +477,7 @@ MACHINE_CONFIG_START(pt68k4_state::pt68k4)
MCFG_DEVICE_ADD(SPEAKER_TAG, SPEAKER_SOUND)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
- MCFG_SOFTWARE_LIST_ADD("flop525_list", "pt68k2")
+ SOFTWARE_LIST(config, "flop525_list").set_original("pt68k2");
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mame/drivers/pv1000.cpp b/src/mame/drivers/pv1000.cpp
index 5b3c23d7c52..5b056d8de7c 100644
--- a/src/mame/drivers/pv1000.cpp
+++ b/src/mame/drivers/pv1000.cpp
@@ -466,7 +466,7 @@ MACHINE_CONFIG_START(pv1000_state::pv1000)
MCFG_GENERIC_LOAD(pv1000_state, pv1000_cart)
/* Software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list","pv1000")
+ SOFTWARE_LIST(config, "cart_list").set_original("pv1000");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/pv2000.cpp b/src/mame/drivers/pv2000.cpp
index b1e2744860a..5931f3facd9 100644
--- a/src/mame/drivers/pv2000.cpp
+++ b/src/mame/drivers/pv2000.cpp
@@ -418,7 +418,7 @@ MACHINE_CONFIG_START(pv2000_state::pv2000)
MCFG_GENERIC_LOAD(pv2000_state, pv2000_cart)
/* Software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list","pv2000")
+ SOFTWARE_LIST(config, "cart_list").set_original("pv2000");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/px4.cpp b/src/mame/drivers/px4.cpp
index d6d3f1827ee..e98ea110d30 100644
--- a/src/mame/drivers/px4.cpp
+++ b/src/mame/drivers/px4.cpp
@@ -1545,8 +1545,8 @@ MACHINE_CONFIG_START(px4_state::px4)
MCFG_GENERIC_CARTSLOT_ADD("capsule2", generic_plain_slot, "px4_cart")
// software list
- MCFG_SOFTWARE_LIST_ADD("cart_list", "px4_cart")
- MCFG_SOFTWARE_LIST_ADD("epson_cpm_list", "epson_cpm")
+ SOFTWARE_LIST(config, "cart_list").set_original("px4_cart");
+ SOFTWARE_LIST(config, "epson_cpm_list").set_original("epson_cpm");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(px4p_state::px4p)
diff --git a/src/mame/drivers/px8.cpp b/src/mame/drivers/px8.cpp
index ff8c1773a9a..865010cdafc 100644
--- a/src/mame/drivers/px8.cpp
+++ b/src/mame/drivers/px8.cpp
@@ -787,8 +787,8 @@ MACHINE_CONFIG_START(px8_state::px8)
RAM(config, RAM_TAG).set_default_size("64K");
// software
- MCFG_SOFTWARE_LIST_ADD("cart_list", "px8_cart")
- MCFG_SOFTWARE_LIST_ADD("epson_cpm_list", "epson_cpm")
+ SOFTWARE_LIST(config, "cart_list").set_original("px8_cart");
+ SOFTWARE_LIST(config, "epson_cpm_list").set_original("epson_cpm");
MACHINE_CONFIG_END
/***************************************************************************
diff --git a/src/mame/drivers/pyl601.cpp b/src/mame/drivers/pyl601.cpp
index f834ec1e0cd..51f2a1b8519 100644
--- a/src/mame/drivers/pyl601.cpp
+++ b/src/mame/drivers/pyl601.cpp
@@ -574,7 +574,7 @@ MACHINE_CONFIG_START(pyl601_state::pyl601)
UPD765A(config, m_fdc, 8'000'000, true, true);
FLOPPY_CONNECTOR(config, "upd765:0", pyl601_floppies, "525hd", pyl601_state::floppy_formats);
FLOPPY_CONNECTOR(config, "upd765:1", pyl601_floppies, "525hd", pyl601_state::floppy_formats);
- MCFG_SOFTWARE_LIST_ADD("flop_list","pyl601")
+ SOFTWARE_LIST(config, "flop_list").set_original("pyl601");
/* internal ram */
RAM(config, RAM_TAG).set_default_size("576K"); // 64 + 512
diff --git a/src/mame/drivers/ql.cpp b/src/mame/drivers/ql.cpp
index 080bf1d724a..3f2a46d23fe 100644
--- a/src/mame/drivers/ql.cpp
+++ b/src/mame/drivers/ql.cpp
@@ -966,9 +966,9 @@ MACHINE_CONFIG_START(ql_state::ql)
m_qimi->extint_wr_callback().set(FUNC(ql_state::qimi_extintl_w));
// software lists
- MCFG_SOFTWARE_LIST_ADD("cart_list", "ql_cart")
- MCFG_SOFTWARE_LIST_ADD("cass_list", "ql_cass")
- MCFG_SOFTWARE_LIST_ADD("flop_list", "ql_flop")
+ SOFTWARE_LIST(config, "cart_list").set_original("ql_cart");
+ SOFTWARE_LIST(config, "cass_list").set_original("ql_cass");
+ SOFTWARE_LIST(config, "flop_list").set_original("ql_flop");
// internal ram
RAM(config, m_ram).set_default_size("128K");
diff --git a/src/mame/drivers/qx10.cpp b/src/mame/drivers/qx10.cpp
index d391bf7047e..c4b84f16c45 100644
--- a/src/mame/drivers/qx10.cpp
+++ b/src/mame/drivers/qx10.cpp
@@ -824,7 +824,7 @@ MACHINE_CONFIG_START(qx10_state::qx10)
RAM(config, RAM_TAG).set_default_size("256K");
// software lists
- MCFG_SOFTWARE_LIST_ADD("flop_list", "qx10_flop")
+ SOFTWARE_LIST(config, "flop_list").set_original("qx10_flop");
MCFG_QUICKLOAD_ADD("quickload", qx10_state, qx10, "com,cpm", 3)
diff --git a/src/mame/drivers/r9751.cpp b/src/mame/drivers/r9751.cpp
index 327dfa21de4..72b20893e84 100644
--- a/src/mame/drivers/r9751.cpp
+++ b/src/mame/drivers/r9751.cpp
@@ -976,11 +976,12 @@ void r9751_state::wd33c93(device_t *device)
// downcast<wd33c93a_device *>(device)->drq_cb().set(*this, FUNC(r9751_state::scsi_drq_w));
}
-MACHINE_CONFIG_START(r9751_state::r9751)
+void r9751_state::r9751(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", M68030, 20000000)
- MCFG_DEVICE_PROGRAM_MAP(r9751_mem)
- MCFG_QUANTUM_TIME(attotime::from_hz(1000))
+ M68030(config, m_maincpu, 20000000);
+ m_maincpu->set_addrmap(AS_PROGRAM, &r9751_state::r9751_mem);
+ config.m_minimum_quantum = attotime::from_hz(1000);
/* i/o hardware */
SMIOC(config, m_smioc, 0);
@@ -1003,8 +1004,8 @@ MACHINE_CONFIG_START(r9751_state::r9751)
.machine_config([this](device_t *device) { wd33c93(device); });
/* software list */
- MCFG_SOFTWARE_LIST_ADD("flop_list","r9751")
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config, "flop_list").set_original("r9751");
+}
diff --git a/src/mame/drivers/radio86.cpp b/src/mame/drivers/radio86.cpp
index 1918b653697..005c981a7a5 100644
--- a/src/mame/drivers/radio86.cpp
+++ b/src/mame/drivers/radio86.cpp
@@ -462,7 +462,8 @@ GFXDECODE_END
/* Machine driver */
-MACHINE_CONFIG_START(radio86_state::radio86)
+void radio86_state::radio86(machine_config &config)
+{
/* basic machine hardware */
I8080(config, m_maincpu, XTAL(16'000'000) / 9);
m_maincpu->set_addrmap(AS_PROGRAM, &radio86_state::radio86_mem);
@@ -480,9 +481,9 @@ MACHINE_CONFIG_START(radio86_state::radio86)
crtc.drq_wr_callback().set(m_dma8257, FUNC(i8257_device::dreq2_w));
/* video hardware */
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_UPDATE_DEVICE("i8275", i8275_device, screen_update)
- MCFG_SCREEN_RAW_PARAMS(XTAL(16'000'000) / 2, 516, 0, 78*6, 310, 0, 30*10)
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_screen_update("i8275", FUNC(i8275_device::screen_update));
+ screen.set_raw(XTAL(16'000'000) / 2, 516, 0, 78*6, 310, 0, 30*10);
GFXDECODE(config, "gfxdecode", m_palette, gfx_radio86);
PALETTE(config, m_palette, FUNC(radio86_state::radio86_palette), 3);
@@ -501,8 +502,8 @@ MACHINE_CONFIG_START(radio86_state::radio86)
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED);
m_cassette->set_interface("radio86_cass");
- MCFG_SOFTWARE_LIST_ADD("cass_list", "radio86_cass")
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config, "cass_list").set_original("radio86_cass");
+}
void radio86_state::kr03(machine_config &config)
@@ -537,7 +538,7 @@ MACHINE_CONFIG_START(radio86_state::radiorom)
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "radio86_cart")
MCFG_GENERIC_EXTENSIONS("bin,rom")
- MCFG_SOFTWARE_LIST_ADD("cart_list", "radio86_cart")
+ SOFTWARE_LIST(config, "cart_list").set_original("radio86_cart");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(radio86_state::radioram)
diff --git a/src/mame/drivers/rainbow.cpp b/src/mame/drivers/rainbow.cpp
index ba95af8de69..7c573c8387e 100644
--- a/src/mame/drivers/rainbow.cpp
+++ b/src/mame/drivers/rainbow.cpp
@@ -3257,7 +3257,7 @@ MACHINE_CONFIG_START(rainbow_state::rainbow)
FLOPPY_CONNECTOR(config, FD1793_TAG ":3", rainbow_floppies, "525qd", rainbow_state::floppy_formats);
//FLOPPY_CONNECTOR(config, FD1793_TAG ":2", rainbow_floppies, "525dd", rainbow_state::floppy_formats);
//FLOPPY_CONNECTOR(config, FD1793_TAG ":3", rainbow_floppies, "35dd", rainbow_state::floppy_formats);
- MCFG_SOFTWARE_LIST_ADD("flop_list", "rainbow")
+ SOFTWARE_LIST(config, "flop_list").set_original("rainbow");
/// ********************************* HARD DISK CONTROLLER *****************************************
WD2010(config, m_hdc, 5000000); // 10 Mhz quartz on controller (divided by 2 for WCLK)
diff --git a/src/mame/drivers/rbisland.cpp b/src/mame/drivers/rbisland.cpp
index fa77624b239..a9d2c13ac49 100644
--- a/src/mame/drivers/rbisland.cpp
+++ b/src/mame/drivers/rbisland.cpp
@@ -672,7 +672,7 @@ MACHINE_CONFIG_START(rbisland_state::rbisland)
TIMER(config, m_cchip_irq_clear).configure_generic(FUNC(rbisland_state::cchip_irq_clear_cb));
- MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* 10 CPU slices per frame - enough for the sound CPU to read all commands */
+ config.m_minimum_quantum = attotime::from_hz(600); /* 10 CPU slices per frame - enough for the sound CPU to read all commands */
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -720,7 +720,7 @@ MACHINE_CONFIG_START(rbisland_state::jumping)
MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(24'000'000)/4) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(jumping_sound_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* 10 CPU slices per frame - enough unless otherwise */
+ config.m_minimum_quantum = attotime::from_hz(600); /* 10 CPU slices per frame - enough unless otherwise */
/* video hardware */
diff --git a/src/mame/drivers/retofinv.cpp b/src/mame/drivers/retofinv.cpp
index ec9af125baa..a6736534b00 100644
--- a/src/mame/drivers/retofinv.cpp
+++ b/src/mame/drivers/retofinv.cpp
@@ -429,7 +429,7 @@ MACHINE_CONFIG_START(retofinv_state::retofinv)
MCFG_DEVICE_ADD("68705", TAITO68705_MCU, XTAL(18'432'000)/6) /* XTAL and divider verified, 3.072 MHz */
- MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame - enough for the sound CPU to read all commands */
+ config.m_minimum_quantum = attotime::from_hz(6000); /* 100 CPU slices per frame - enough for the sound CPU to read all commands */
LS259(config, m_mainlatch); // IC72 - probably shared between CPUs
m_mainlatch->q_out_cb<0>().set(FUNC(retofinv_state::irq0_ack_w));
diff --git a/src/mame/drivers/rollext.cpp b/src/mame/drivers/rollext.cpp
index 5fdda435c6b..57de06bd0ea 100644
--- a/src/mame/drivers/rollext.cpp
+++ b/src/mame/drivers/rollext.cpp
@@ -553,7 +553,7 @@ MACHINE_CONFIG_START(rollext_state::rollext)
MCFG_DEVICE_ADD("pp0", TMS32082_PP, 60000000)
MCFG_DEVICE_PROGRAM_MAP(memmap);
- MCFG_QUANTUM_TIME(attotime::from_hz(100))
+ config.m_minimum_quantum = attotime::from_hz(100);
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
diff --git a/src/mame/drivers/rx78.cpp b/src/mame/drivers/rx78.cpp
index 2f06fbf010c..4050d85d618 100644
--- a/src/mame/drivers/rx78.cpp
+++ b/src/mame/drivers/rx78.cpp
@@ -508,7 +508,7 @@ MACHINE_CONFIG_START(rx78_state::rx78)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
/* Software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list","rx78")
+ SOFTWARE_LIST(config, "cart_list").set_original("rx78");
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mame/drivers/s11b.cpp b/src/mame/drivers/s11b.cpp
index cc40eaa7be5..dd60259533a 100644
--- a/src/mame/drivers/s11b.cpp
+++ b/src/mame/drivers/s11b.cpp
@@ -336,7 +336,7 @@ MACHINE_CONFIG_START(s11b_state::s11b)
/* Add the background music card */
MCFG_DEVICE_ADD("bgcpu", MC6809E, XTAL(8'000'000) / 4) // MC68B09E
MCFG_DEVICE_PROGRAM_MAP(s11b_bg_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(50))
+ config.m_minimum_quantum = attotime::from_hz(50);
SPEAKER(config, "bg").front_center();
YM2151(config, m_ym, 3580000);
diff --git a/src/mame/drivers/sage2.cpp b/src/mame/drivers/sage2.cpp
index a90813d2336..50f80bca948 100644
--- a/src/mame/drivers/sage2.cpp
+++ b/src/mame/drivers/sage2.cpp
@@ -488,7 +488,7 @@ MACHINE_CONFIG_START(sage2_state::sage2)
RAM(config, RAM_TAG).set_default_size("512K");
// software list
- MCFG_SOFTWARE_LIST_ADD("flop_list", "sage2")
+ SOFTWARE_LIST(config, "flop_list").set_original("sage2");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/saturn.cpp b/src/mame/drivers/saturn.cpp
index b4ddb342e4c..b4a176123e4 100644
--- a/src/mame/drivers/saturn.cpp
+++ b/src/mame/drivers/saturn.cpp
@@ -878,11 +878,10 @@ MACHINE_CONFIG_START(sat_console_state::saturnus)
saturn(config);
MCFG_DEVICE_ADD("saturn_cdb", SATURN_CDB, 16000000)
- MCFG_SOFTWARE_LIST_ADD("cd_list","saturn")
- MCFG_SOFTWARE_LIST_FILTER("cd_list","NTSC-U")
+ SOFTWARE_LIST(config, "cd_list").set_original("saturn").set_filter("NTSC-U");
MCFG_SATURN_CARTRIDGE_ADD("exp", saturn_cart, nullptr)
- MCFG_SOFTWARE_LIST_ADD("cart_list","sat_cart")
+ SOFTWARE_LIST(config, "cart_list").set_original("sat_cart");
MCFG_DEVICE_MODIFY("smpc")
downcast<smpc_hle_device &>(*device).set_region_code(4);
@@ -893,11 +892,10 @@ MACHINE_CONFIG_START(sat_console_state::saturneu)
saturn(config);
MCFG_DEVICE_ADD("saturn_cdb", SATURN_CDB, 16000000)
- MCFG_SOFTWARE_LIST_ADD("cd_list","saturn")
- MCFG_SOFTWARE_LIST_FILTER("cd_list","PAL")
+ SOFTWARE_LIST(config, "cd_list").set_original("saturn").set_filter("PAL");
MCFG_SATURN_CARTRIDGE_ADD("exp", saturn_cart, nullptr)
- MCFG_SOFTWARE_LIST_ADD("cart_list","sat_cart")
+ SOFTWARE_LIST(config, "cart_list").set_original("sat_cart");
MCFG_DEVICE_MODIFY("smpc")
downcast<smpc_hle_device &>(*device).set_region_code(12);
@@ -907,11 +905,10 @@ MACHINE_CONFIG_START(sat_console_state::saturnjp)
saturn(config);
MCFG_DEVICE_ADD("saturn_cdb", SATURN_CDB, 16000000)
- MCFG_SOFTWARE_LIST_ADD("cd_list","saturn")
- MCFG_SOFTWARE_LIST_FILTER("cd_list","NTSC-J")
+ SOFTWARE_LIST(config, "cd_list").set_original("saturn").set_filter("NTSC-J");
MCFG_SATURN_CARTRIDGE_ADD("exp", saturn_cart, nullptr)
- MCFG_SOFTWARE_LIST_ADD("cart_list","sat_cart")
+ SOFTWARE_LIST(config, "cart_list").set_original("sat_cart");
MCFG_DEVICE_MODIFY("smpc")
downcast<smpc_hle_device &>(*device).set_region_code(1);
diff --git a/src/mame/drivers/scv.cpp b/src/mame/drivers/scv.cpp
index 265ed7302a6..1181da2b3aa 100644
--- a/src/mame/drivers/scv.cpp
+++ b/src/mame/drivers/scv.cpp
@@ -676,7 +676,7 @@ MACHINE_CONFIG_START(scv_state::scv)
MCFG_SCV_CARTRIDGE_ADD("cartslot", scv_cart, nullptr)
/* Software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list","scv")
+ SOFTWARE_LIST(config, "cart_list").set_original("scv");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/sega_sawatte.cpp b/src/mame/drivers/sega_sawatte.cpp
index 2e96f7d413a..173e56c85a8 100644
--- a/src/mame/drivers/sega_sawatte.cpp
+++ b/src/mame/drivers/sega_sawatte.cpp
@@ -44,9 +44,10 @@ static INPUT_PORTS_START( sawatte )
INPUT_PORTS_END
-MACHINE_CONFIG_START(sawatte_state::sawatte)
- MCFG_SOFTWARE_LIST_ADD("cart_list", "sawatte")
-MACHINE_CONFIG_END
+void sawatte_state::sawatte(machine_config &config)
+{
+ SOFTWARE_LIST(config, "cart_list").set_original("sawatte");
+}
ROM_START( sawatte )
ROM_END
diff --git a/src/mame/drivers/segaxbd.cpp b/src/mame/drivers/segaxbd.cpp
index 8287207e302..af539851914 100644
--- a/src/mame/drivers/segaxbd.cpp
+++ b/src/mame/drivers/segaxbd.cpp
@@ -1789,7 +1789,7 @@ void segaxbd_new_state_double::sega_xboard_fd1094_double(machine_config &config)
SEGA_XBD_FD1094(config, "mainpcb", 0);
SEGA_XBD_FD1094(config, "subpcb", 0);
- //MCFG_QUANTUM_PERFECT_CPU("mainpcb:maincpu") // doesn't help..
+ //config.m_perfect_cpu_quantum = subtag("mainpcb:maincpu"); // doesn't help..
}
diff --git a/src/mame/drivers/seicross.cpp b/src/mame/drivers/seicross.cpp
index a848fa0edc5..8f528f730f8 100644
--- a/src/mame/drivers/seicross.cpp
+++ b/src/mame/drivers/seicross.cpp
@@ -406,7 +406,7 @@ MACHINE_CONFIG_START(seicross_state::no_nvram)
MCFG_DEVICE_ADD("mcu", NSC8105, XTAL(18'432'000) / 6) /* ??? */
MCFG_DEVICE_PROGRAM_MAP(mcu_no_nvram_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(1200)) /* 20 CPU slices per frame - an high value to ensure proper */
+ config.m_minimum_quantum = attotime::from_hz(1200); /* 20 CPU slices per frame - a high value to ensure proper */
/* synchronization of the CPUs */
WATCHDOG_TIMER(config, "watchdog");
diff --git a/src/mame/drivers/sfcbox.cpp b/src/mame/drivers/sfcbox.cpp
index a40cede34f1..477f07c316a 100644
--- a/src/mame/drivers/sfcbox.cpp
+++ b/src/mame/drivers/sfcbox.cpp
@@ -466,7 +466,7 @@ MACHINE_CONFIG_START(sfcbox_state::sfcbox)
MCFG_DEVICE_ADD("soundcpu", SPC700, XTAL(24'576'000) / 12)
MCFG_DEVICE_PROGRAM_MAP(spc_mem)
- MCFG_QUANTUM_PERFECT_CPU("maincpu")
+ config.m_perfect_cpu_quantum = subtag("maincpu");
/* sfcbox hardware */
MCFG_DEVICE_ADD("bios", Z180, XTAL(12'000'000) / 2) /* HD64180RF6X */
diff --git a/src/mame/drivers/sg1000.cpp b/src/mame/drivers/sg1000.cpp
index b196d534f21..e7feb118fed 100644
--- a/src/mame/drivers/sg1000.cpp
+++ b/src/mame/drivers/sg1000.cpp
@@ -554,7 +554,7 @@ MACHINE_CONFIG_START(sg1000_state::sg1000)
MCFG_SG1000_CARTRIDGE_ADD(CARTSLOT_TAG, sg1000_cart, nullptr)
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list","sg1000")
+ SOFTWARE_LIST(config, "cart_list").set_original("sg1000");
/* internal ram */
RAM(config, m_ram).set_default_size("1K");
@@ -606,7 +606,7 @@ MACHINE_CONFIG_START(sc3000_state::sc3000)
MCFG_SC3000_CARTRIDGE_ADD(CARTSLOT_TAG, sg1000_cart, nullptr)
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list","sg1000")
+ SOFTWARE_LIST(config, "cart_list").set_original("sg1000");
/* the sk1100 device will add sc3000 cart and cass lists */
/* internal ram */
@@ -663,7 +663,7 @@ MACHINE_CONFIG_START(sf7000_state::sf7000)
MCFG_SG1000_EXPANSION_ADD(EXPSLOT_TAG, sg1000_expansion_devices, "sk1100", true)
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("flop_list","sf7000")
+ SOFTWARE_LIST(config, "flop_list").set_original("sf7000");
/* internal ram */
RAM(config, m_ram).set_default_size("64K");
diff --git a/src/mame/drivers/shanghai.cpp b/src/mame/drivers/shanghai.cpp
index 767dd146ecb..05b398039be 100644
--- a/src/mame/drivers/shanghai.cpp
+++ b/src/mame/drivers/shanghai.cpp
@@ -477,7 +477,7 @@ MACHINE_CONFIG_START(shanghai_state::kothello)
MCFG_DEVICE_PROGRAM_MAP(kothello_sound_map)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("seibu_sound", seibu_sound_device, im0_vector_cb)
- MCFG_QUANTUM_TIME(attotime::from_hz(12000))
+ config.m_minimum_quantum = attotime::from_hz(12000);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/shangkid.cpp b/src/mame/drivers/shangkid.cpp
index e87d840ef4c..72bafe4d2ad 100644
--- a/src/mame/drivers/shangkid.cpp
+++ b/src/mame/drivers/shangkid.cpp
@@ -400,7 +400,7 @@ MACHINE_CONFIG_START(shangkid_state::chinhero)
mainlatch.q_out_cb<6>().set(FUNC(shangkid_state::coin_counter_1_w));
mainlatch.q_out_cb<7>().set(FUNC(shangkid_state::coin_counter_2_w));
- MCFG_QUANTUM_TIME(attotime::from_hz(600))
+ config.m_minimum_quantum = attotime::from_hz(600);
/* video hardware */
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
diff --git a/src/mame/drivers/shougi.cpp b/src/mame/drivers/shougi.cpp
index d6717f9ec28..8f5e5476d7e 100644
--- a/src/mame/drivers/shougi.cpp
+++ b/src/mame/drivers/shougi.cpp
@@ -391,7 +391,7 @@ MACHINE_CONFIG_START(shougi_state::shougi)
mainlatch.q_out_cb<4>().set("alpha_8201", FUNC(alpha_8201_device::bus_dir_w)).invert(); // ALPHA-8201 shared RAM bus direction: 0: mcu, 1: maincpu
mainlatch.q_out_cb<7>().set_nop(); // nothing? connected to +5v via resistor
- MCFG_QUANTUM_PERFECT_CPU("maincpu")
+ config.m_perfect_cpu_quantum = subtag("maincpu");
WATCHDOG_TIMER(config, "watchdog").set_vblank_count("screen", 0x10); // assuming it's the same as champbas
diff --git a/src/mame/drivers/simple_st0016.cpp b/src/mame/drivers/simple_st0016.cpp
index 9f50f6ec473..7b8a06ad2eb 100644
--- a/src/mame/drivers/simple_st0016.cpp
+++ b/src/mame/drivers/simple_st0016.cpp
@@ -494,7 +494,7 @@ MACHINE_CONFIG_START(st0016_state::mayjinsn)
MCFG_DEVICE_IO_MAP(st0016_m2_io)
MCFG_DEVICE_ADD("sub", V810, 10000000)//25 Mhz ?
MCFG_DEVICE_PROGRAM_MAP(v810_mem)
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(st0016_state::renju)
diff --git a/src/mame/drivers/slapfght.cpp b/src/mame/drivers/slapfght.cpp
index 31dd8bf7b08..6fbf58d46ee 100644
--- a/src/mame/drivers/slapfght.cpp
+++ b/src/mame/drivers/slapfght.cpp
@@ -906,7 +906,7 @@ MACHINE_CONFIG_START(slapfght_state::perfrman)
MCFG_DEVICE_PROGRAM_MAP(perfrman_sound_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(slapfght_state, sound_nmi, 240) // music speed, verified
- MCFG_QUANTUM_PERFECT_CPU("maincpu")
+ config.m_perfect_cpu_quantum = subtag("maincpu");
/* video hardware */
BUFFERED_SPRITERAM8(config, m_spriteram);
@@ -958,7 +958,7 @@ MACHINE_CONFIG_START(slapfght_state::tigerh)
TAITO68705_MCU_TIGER(config, m_bmcu, 36_MHz_XTAL/12); // 3MHz
- MCFG_QUANTUM_PERFECT_CPU("maincpu")
+ config.m_perfect_cpu_quantum = subtag("maincpu");
/* video hardware */
BUFFERED_SPRITERAM8(config, m_spriteram);
@@ -1031,7 +1031,7 @@ MACHINE_CONFIG_START(slapfght_state::slapfigh)
TAITO68705_MCU(config, m_bmcu, 36_MHz_XTAL/12); // 3MHz
m_bmcu->aux_strobe_cb().set(FUNC(slapfght_state::scroll_from_mcu_w));
- MCFG_QUANTUM_PERFECT_CPU("maincpu")
+ config.m_perfect_cpu_quantum = subtag("maincpu");
/* video hardware */
BUFFERED_SPRITERAM8(config, m_spriteram);
diff --git a/src/mame/drivers/smc777.cpp b/src/mame/drivers/smc777.cpp
index e4114335456..dbd845f2c13 100644
--- a/src/mame/drivers/smc777.cpp
+++ b/src/mame/drivers/smc777.cpp
@@ -1142,7 +1142,7 @@ MACHINE_CONFIG_START(smc777_state::smc777)
FLOPPY_CONNECTOR(config, "fdc:0", smc777_floppies, "ssdd", floppy_image_device::default_floppy_formats);
FLOPPY_CONNECTOR(config, "fdc:1", smc777_floppies, "ssdd", floppy_image_device::default_floppy_formats);
- MCFG_SOFTWARE_LIST_ADD("flop_list", "smc777")
+ SOFTWARE_LIST(config, "flop_list").set_original("smc777");
MCFG_QUICKLOAD_ADD("quickload", smc777_state, smc777, "com,cpm", 3)
/* sound hardware */
diff --git a/src/mame/drivers/sms.cpp b/src/mame/drivers/sms.cpp
index fdad2f1975d..3ae16b09df0 100644
--- a/src/mame/drivers/sms.cpp
+++ b/src/mame/drivers/sms.cpp
@@ -499,7 +499,7 @@ MACHINE_CONFIG_START(sms_state::sms_base)
MCFG_SMS_CARTRIDGE_ADD("slot", sms_cart, nullptr)
- MCFG_SOFTWARE_LIST_ADD("cart_list","sms")
+ SOFTWARE_LIST(config, "cart_list").set_original("sms");
MCFG_SMS_CONTROL_PORT_ADD(CONTROL1_TAG, sms_control_port_devices, "joypad")
MCFG_SMS_CONTROL_PORT_TH_INPUT_HANDLER(WRITELINE(*this, sms_state, sms_ctrl1_th_input))
@@ -516,7 +516,7 @@ MACHINE_CONFIG_START(sms_state::sms_ntsc_base)
MCFG_DEVICE_PROGRAM_MAP(sms_mem)
MCFG_DEVICE_IO_MAP(sms_io)
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
/* actually, PSG is embedded in the VDP chip */
MCFG_DEVICE_ADD("segapsg", SEGAPSG, XTAL(10'738'635)/3)
@@ -686,7 +686,7 @@ MACHINE_CONFIG_START(sms_state::sms_pal_base)
MCFG_DEVICE_PROGRAM_MAP(sms_mem)
MCFG_DEVICE_IO_MAP(sms_io)
- MCFG_QUANTUM_TIME(attotime::from_hz(50))
+ config.m_minimum_quantum = attotime::from_hz(50);
/* actually, PSG is embedded in the VDP chip */
MCFG_DEVICE_ADD("segapsg", SEGAPSG, MASTER_CLOCK_PAL/15)
@@ -758,7 +758,7 @@ MACHINE_CONFIG_START(sms_state::sms_paln_base)
MCFG_DEVICE_PROGRAM_MAP(sms_mem)
MCFG_DEVICE_IO_MAP(sms_io)
- MCFG_QUANTUM_TIME(attotime::from_hz(50))
+ config.m_minimum_quantum = attotime::from_hz(50);
/* actually, PSG is embedded in the VDP chip */
MCFG_DEVICE_ADD("segapsg", SEGAPSG, MASTER_CLOCK_PALN/3)
@@ -831,7 +831,7 @@ MACHINE_CONFIG_START(sms_state::sms_br_base)
MCFG_DEVICE_IO_MAP(sms_io)
// PAL-M has near the same frequency of NTSC
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
/* actually, PSG is embedded in the VDP chip */
MCFG_DEVICE_ADD("segapsg", SEGAPSG, MASTER_CLOCK_PALM/3)
@@ -904,7 +904,7 @@ MACHINE_CONFIG_START(sms_state::sms2_kr)
config.device_remove("slot");
MCFG_SG1000MK3_CARTRIDGE_ADD("slot", sg1000mk3_cart, nullptr)
- MCFG_SOFTWARE_LIST_ADD("cart_list2","sg1000")
+ SOFTWARE_LIST(config, "cart_list2").set_original("sg1000");
// Despite having a Japanese cartridge slot, this version is detected as Export region.
m_has_jpn_sms_cart_slot = true;
@@ -924,7 +924,7 @@ MACHINE_CONFIG_START(sms_state::sms1_kr)
MCFG_SMS_CARD_ADD("mycard", sms_cart, nullptr)
MCFG_SMS_EXPANSION_ADD("smsexp", sms_expansion_devices, nullptr)
- MCFG_SOFTWARE_LIST_ADD("cart_list2","sg1000")
+ SOFTWARE_LIST(config, "cart_list2").set_original("sg1000");
m_vdp->csync().set(FUNC(sms_state::sms_csync_callback));
@@ -961,7 +961,7 @@ MACHINE_CONFIG_START(sms_state::sg1000m3)
MCFG_SMS_CARD_ADD("mycard", sms_cart, nullptr)
MCFG_SG1000_EXPANSION_ADD("sgexp", sg1000_expansion_devices, nullptr, false)
- MCFG_SOFTWARE_LIST_ADD("cart_list2","sg1000")
+ SOFTWARE_LIST(config, "cart_list2").set_original("sg1000");
// Mark III does not have TH connected.
MCFG_SMS_CONTROL_PORT_MODIFY(CONTROL1_TAG)
@@ -980,7 +980,7 @@ MACHINE_CONFIG_START(sms_state::gamegear)
MCFG_DEVICE_PROGRAM_MAP(sms_mem)
MCFG_DEVICE_IO_MAP(gg_io)
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
/* video hardware */
MCFG_SCREEN_ADD("screen", LCD)
@@ -1009,7 +1009,7 @@ MACHINE_CONFIG_START(sms_state::gamegear)
/* cartridge */
MCFG_GG_CARTRIDGE_ADD("slot", gg_cart, nullptr)
- MCFG_SOFTWARE_LIST_ADD("cart_list", "gamegear")
+ SOFTWARE_LIST(config, "cart_list").set_original("gamegear");
MCFG_GG_EXT_PORT_ADD("ext", gg_ext_port_devices, nullptr)
MCFG_GG_EXT_PORT_TH_INPUT_HANDLER(WRITELINE(*this, sms_state, gg_ext_th_input))
diff --git a/src/mame/drivers/sms_bootleg.cpp b/src/mame/drivers/sms_bootleg.cpp
index d6356873a38..062f5949413 100644
--- a/src/mame/drivers/sms_bootleg.cpp
+++ b/src/mame/drivers/sms_bootleg.cpp
@@ -279,7 +279,7 @@ MACHINE_CONFIG_START(smsbootleg_state::sms_supergame)
MCFG_DEVICE_PROGRAM_MAP(sms_supergame_map)
MCFG_DEVICE_IO_MAP(sms_supergame_io)
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/smsmcorp.cpp b/src/mame/drivers/smsmcorp.cpp
index 3ee0d75c1ba..98d1631651c 100644
--- a/src/mame/drivers/smsmcorp.cpp
+++ b/src/mame/drivers/smsmcorp.cpp
@@ -558,7 +558,7 @@ MACHINE_CONFIG_START(smsmfg_state::sms)
MCFG_DEVICE_ADD("soundcpu", Z80, XTAL(16'000'000)/8)
MCFG_DEVICE_PROGRAM_MAP(sub_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(6000))
+ config.m_minimum_quantum = attotime::from_hz(6000);
i8255_device &ppi0(I8255A(config, "ppi8255_0"));
ppi0.out_pa_callback().set(FUNC(smsmfg_state::ppi0_a_w));
diff --git a/src/mame/drivers/snes.cpp b/src/mame/drivers/snes.cpp
index a3df5a5be09..43578dae602 100644
--- a/src/mame/drivers/snes.cpp
+++ b/src/mame/drivers/snes.cpp
@@ -1344,8 +1344,8 @@ MACHINE_CONFIG_START(snes_console_state::snes)
MCFG_DEVICE_ADD("soundcpu", SPC700, XTAL(24'576'000) / 12)
MCFG_DEVICE_PROGRAM_MAP(spc_map)
- //MCFG_QUANTUM_TIME(attotime::from_hz(48000))
- MCFG_QUANTUM_PERFECT_CPU("maincpu")
+ //config.m_minimum_quantum = attotime::from_hz(48000);
+ config.m_perfect_cpu_quantum = subtag("maincpu");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1372,9 +1372,9 @@ MACHINE_CONFIG_START(snes_console_state::snes)
SNS_CART_SLOT(config, m_cartslot, MCLK_NTSC, snes_cart, nullptr);
m_cartslot->irq_callback().set_inputline(m_maincpu, G65816_LINE_IRQ);
- MCFG_SOFTWARE_LIST_ADD("cart_list","snes")
- MCFG_SOFTWARE_LIST_ADD("bsx_list","snes_bspack")
- MCFG_SOFTWARE_LIST_ADD("st_list","snes_strom")
+ SOFTWARE_LIST(config, "cart_list").set_original("snes");
+ SOFTWARE_LIST(config, "bsx_list").set_original("snes_bspack");
+ SOFTWARE_LIST(config, "st_list").set_original("snes_strom");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(snes_console_state::snespal)
diff --git a/src/mame/drivers/snesb.cpp b/src/mame/drivers/snesb.cpp
index 376ccaa3095..ef32ac969d6 100644
--- a/src/mame/drivers/snesb.cpp
+++ b/src/mame/drivers/snesb.cpp
@@ -767,7 +767,7 @@ MACHINE_CONFIG_START(snesb_state::kinstb)
MCFG_DEVICE_ADD("soundcpu", SPC700, XTAL(24'576'000) / 12)
MCFG_DEVICE_PROGRAM_MAP(spc_mem)
- MCFG_QUANTUM_PERFECT_CPU("maincpu")
+ config.m_perfect_cpu_quantum = subtag("maincpu");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/socrates.cpp b/src/mame/drivers/socrates.cpp
index dcbc94adf65..56a6ce718f7 100644
--- a/src/mame/drivers/socrates.cpp
+++ b/src/mame/drivers/socrates.cpp
@@ -1470,8 +1470,8 @@ MACHINE_CONFIG_START(socrates_state::socrates)
MCFG_DEVICE_ADD("maincpu", Z80, XTAL(21'477'272)/6) /* Toshiba TMPZ84C00AP @ 3.579545 MHz, verified, xtal is divided by 6 */
MCFG_DEVICE_PROGRAM_MAP(z80_mem)
MCFG_DEVICE_IO_MAP(z80_io)
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", socrates_state, assert_irq)
+ config.m_minimum_quantum = attotime::from_hz(60);
ADDRESS_MAP_BANK(config, "rombank1").set_map(&socrates_state::socrates_rombank_map).set_options(ENDIANNESS_LITTLE, 8, 32, 0x4000);
ADDRESS_MAP_BANK(config, "rambank1").set_map(&socrates_state::socrates_rambank_map).set_options(ENDIANNESS_LITTLE, 8, 32, 0x4000);
@@ -1496,7 +1496,7 @@ MACHINE_CONFIG_START(socrates_state::socrates)
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "socrates_cart")
/* Software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list", "socrates")
+ SOFTWARE_LIST(config, "cart_list").set_original("socrates");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(socrates_state::socrates_pal)
@@ -1505,8 +1505,8 @@ MACHINE_CONFIG_START(socrates_state::socrates_pal)
MCFG_DEVICE_REPLACE("maincpu", Z80, XTAL(26'601'712)/8)
MCFG_DEVICE_PROGRAM_MAP(z80_mem)
MCFG_DEVICE_IO_MAP(z80_io)
- MCFG_QUANTUM_TIME(attotime::from_hz(50))
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", socrates_state, assert_irq)
+ config.m_minimum_quantum = attotime::from_hz(50);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_REFRESH_RATE(50)
diff --git a/src/mame/drivers/softbox.cpp b/src/mame/drivers/softbox.cpp
index 699130f946d..7a37c671c02 100644
--- a/src/mame/drivers/softbox.cpp
+++ b/src/mame/drivers/softbox.cpp
@@ -407,7 +407,7 @@ MACHINE_CONFIG_START(softbox_state::softbox)
MCFG_IMI7000_BUS_ADD("imi5000h", nullptr, nullptr, nullptr)
// software lists
- MCFG_SOFTWARE_LIST_ADD("flop_list", "softbox")
+ SOFTWARE_LIST(config, "flop_list").set_original("softbox");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/sorcerer.cpp b/src/mame/drivers/sorcerer.cpp
index f2633fa5c6b..7ce112baf18 100644
--- a/src/mame/drivers/sorcerer.cpp
+++ b/src/mame/drivers/sorcerer.cpp
@@ -463,8 +463,8 @@ MACHINE_CONFIG_START(sorcerer_state::sorcerer)
MCFG_GENERIC_EXTENSIONS("bin,rom")
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list","sorcerer_cart")
- MCFG_SOFTWARE_LIST_ADD("cass_list","sorcerer_cass")
+ SOFTWARE_LIST(config, "cart_list").set_original("sorcerer_cart");
+ SOFTWARE_LIST(config, "cass_list").set_original("sorcerer_cass");
// internal ram
RAM(config, RAM_TAG).set_default_size("48K").set_extra_options("8K,16K,32K");
@@ -494,7 +494,7 @@ MACHINE_CONFIG_START(sorcerer_state::sorcererd)
FLOPPY_CONNECTOR(config, "fdc2:0", floppies, "525qd", floppy_image_device::default_floppy_formats).enable_sound(true);
FLOPPY_CONNECTOR(config, "fdc2:1", floppies, "525qd", floppy_image_device::default_floppy_formats).enable_sound(true);
- MCFG_SOFTWARE_LIST_ADD("flop_list","sorcerer_flop")
+ SOFTWARE_LIST(config, "flop_list").set_original("sorcerer_flop");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/spacefb.cpp b/src/mame/drivers/spacefb.cpp
index 8a8c52e7f6a..d351c016244 100644
--- a/src/mame/drivers/spacefb.cpp
+++ b/src/mame/drivers/spacefb.cpp
@@ -344,7 +344,7 @@ MACHINE_CONFIG_START(spacefb_state::spacefb)
m_audiocpu->t0_in_cb().set(FUNC(spacefb_state::audio_t0_r));
m_audiocpu->t1_in_cb().set(FUNC(spacefb_state::audio_t1_r));
- MCFG_QUANTUM_TIME(attotime::from_hz(180))
+ config.m_minimum_quantum = attotime::from_hz(180);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/spc1000.cpp b/src/mame/drivers/spc1000.cpp
index 77d1a1ead65..b25ce97001e 100644
--- a/src/mame/drivers/spc1000.cpp
+++ b/src/mame/drivers/spc1000.cpp
@@ -507,7 +507,7 @@ MACHINE_CONFIG_START(spc1000_state::spc1000)
m_cass->set_default_state(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_DISABLED);
m_cass->set_interface("spc1000_cass");
- MCFG_SOFTWARE_LIST_ADD("cass_list", "spc1000_cass")
+ SOFTWARE_LIST(config, "cass_list").set_original("spc1000_cass");
/* internal ram */
RAM(config, RAM_TAG).set_default_size("64K");
diff --git a/src/mame/drivers/spc1500.cpp b/src/mame/drivers/spc1500.cpp
index 966a668898f..a8f89a22825 100644
--- a/src/mame/drivers/spc1500.cpp
+++ b/src/mame/drivers/spc1500.cpp
@@ -934,7 +934,7 @@ MACHINE_CONFIG_START(spc1500_state::spc1500)
m_cass->set_default_state(CASSETTE_STOPPED | CASSETTE_SPEAKER_MUTED | CASSETTE_MOTOR_DISABLED);
m_cass->set_interface("spc1500_cass");
- MCFG_SOFTWARE_LIST_ADD("cass_list", "spc1500_cass")
+ SOFTWARE_LIST(config, "cass_list").set_original("spc1500_cass");
/* internal ram */
RAM(config, RAM_TAG).set_default_size("64K");
diff --git a/src/mame/drivers/spec128.cpp b/src/mame/drivers/spec128.cpp
index 5f3981b5dec..af114340842 100644
--- a/src/mame/drivers/spec128.cpp
+++ b/src/mame/drivers/spec128.cpp
@@ -305,7 +305,7 @@ MACHINE_CONFIG_START(spectrum_state::spectrum_128)
MCFG_DEVICE_PROGRAM_MAP(spectrum_128_mem)
MCFG_DEVICE_IO_MAP(spectrum_128_io)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", spectrum_state, spec_interrupt)
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
MCFG_MACHINE_RESET_OVERRIDE(spectrum_state, spectrum_128 )
diff --git a/src/mame/drivers/special.cpp b/src/mame/drivers/special.cpp
index 052506c9394..29fe2a40378 100644
--- a/src/mame/drivers/special.cpp
+++ b/src/mame/drivers/special.cpp
@@ -403,7 +403,7 @@ MACHINE_CONFIG_START(special_state::special)
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED);
m_cassette->set_interface("special_cass");
- MCFG_SOFTWARE_LIST_ADD("cass_list","special_cass")
+ SOFTWARE_LIST(config, "cass_list").set_original("special_cass");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(special_state::specialp)
@@ -468,7 +468,7 @@ MACHINE_CONFIG_START(special_state::specimx)
m_fdc->drq_wr_callback().set(FUNC(special_state::fdc_drq));
FLOPPY_CONNECTOR(config, "fd0", specimx_floppies, "525qd", special_state::specimx_floppy_formats);
FLOPPY_CONNECTOR(config, "fd1", specimx_floppies, "525qd", special_state::specimx_floppy_formats);
- MCFG_SOFTWARE_LIST_ADD("flop_list","special_flop")
+ SOFTWARE_LIST(config, "flop_list").set_original("special_flop");
/* internal ram */
RAM(config, m_ram).set_default_size("128K").set_default_value(0x00);
diff --git a/src/mame/drivers/specpls3.cpp b/src/mame/drivers/specpls3.cpp
index 3fdae0632d8..c8d77036db6 100644
--- a/src/mame/drivers/specpls3.cpp
+++ b/src/mame/drivers/specpls3.cpp
@@ -398,7 +398,7 @@ MACHINE_CONFIG_START(spectrum_state::spectrum_plus3)
MCFG_DEVICE_MODIFY("exp")
MCFG_DEVICE_SLOT_INTERFACE(specpls3_expansion_devices, nullptr, false)
- MCFG_SOFTWARE_LIST_ADD("flop_list", "specpls3_flop")
+ SOFTWARE_LIST(config, "flop_list").set_original("specpls3_flop");
MACHINE_CONFIG_END
/***************************************************************************
diff --git a/src/mame/drivers/speglsht.cpp b/src/mame/drivers/speglsht.cpp
index 6fdcc06bde5..e0fb3cafb41 100644
--- a/src/mame/drivers/speglsht.cpp
+++ b/src/mame/drivers/speglsht.cpp
@@ -426,7 +426,7 @@ MACHINE_CONFIG_START(speglsht_state::speglsht)
m_subcpu->set_addrmap(AS_PROGRAM, &speglsht_state::speglsht_mem);
m_subcpu->set_vblank_int("screen", FUNC(speglsht_state::irq4_line_assert));
- MCFG_QUANTUM_TIME(attotime::from_hz(6000))
+ config.m_minimum_quantum = attotime::from_hz(6000);
MCFG_MACHINE_RESET_OVERRIDE(speglsht_state,speglsht)
/* video hardware */
diff --git a/src/mame/drivers/sprcros2.cpp b/src/mame/drivers/sprcros2.cpp
index cca98c6b5c0..87291d6bdbf 100644
--- a/src/mame/drivers/sprcros2.cpp
+++ b/src/mame/drivers/sprcros2.cpp
@@ -466,7 +466,7 @@ MACHINE_CONFIG_START(sprcros2_state::sprcros2)
MCFG_DEVICE_IO_MAP(slave_io)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", sprcros2_state, slave_vblank_irq)
- MCFG_QUANTUM_PERFECT_CPU("master_cpu")
+ config.m_perfect_cpu_quantum = subtag("master_cpu");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/squale.cpp b/src/mame/drivers/squale.cpp
index 4a22fe83a78..b1f2d5ea8c2 100644
--- a/src/mame/drivers/squale.cpp
+++ b/src/mame/drivers/squale.cpp
@@ -834,12 +834,12 @@ MACHINE_CONFIG_START(squale_state::squale)
WD1770(config, m_fdc, 8_MHz_XTAL);
FLOPPY_CONNECTOR(config, "wd1770:0", squale_floppies, "525qd", floppy_image_device::default_floppy_formats);
FLOPPY_CONNECTOR(config, "wd1770:1", squale_floppies, "525qd", floppy_image_device::default_floppy_formats);
- MCFG_SOFTWARE_LIST_ADD("flop525_list", "squale")
+ SOFTWARE_LIST(config, "flop525_list").set_original("squale");
/* Cartridge slot */
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_linear_slot, "squale_cart")
MCFG_GENERIC_LOAD(squale_state, squale_cart)
- MCFG_SOFTWARE_LIST_ADD("cart_list", "squale_cart")
+ SOFTWARE_LIST(config, "cart_list").set_original("squale_cart");
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mame/drivers/srmp5.cpp b/src/mame/drivers/srmp5.cpp
index 40096beda47..83228caf945 100644
--- a/src/mame/drivers/srmp5.cpp
+++ b/src/mame/drivers/srmp5.cpp
@@ -579,7 +579,7 @@ MACHINE_CONFIG_START(srmp5_state::srmp5)
MCFG_DEVICE_IO_MAP(st0016_io)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", srmp5_state, irq0_line_hold)
- MCFG_QUANTUM_TIME(attotime::from_hz(6000))
+ config.m_minimum_quantum = attotime::from_hz(6000);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/studio2.cpp b/src/mame/drivers/studio2.cpp
index ab9a8fac273..43b66176deb 100644
--- a/src/mame/drivers/studio2.cpp
+++ b/src/mame/drivers/studio2.cpp
@@ -645,7 +645,7 @@ MACHINE_CONFIG_START(studio2_state::studio2_cartslot)
MCFG_GENERIC_LOAD(studio2_state, studio2_cart_load)
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list", "studio2")
+ SOFTWARE_LIST(config, "cart_list").set_original("studio2");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(studio2_state::studio2)
@@ -703,7 +703,7 @@ MACHINE_CONFIG_START(visicom_state::visicom)
MCFG_GENERIC_EXTENSIONS("bin,rom")
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list", "visicom")
+ SOFTWARE_LIST(config, "cart_list").set_original("visicom");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(mpt02_state::mpt02)
diff --git a/src/mame/drivers/superchs.cpp b/src/mame/drivers/superchs.cpp
index 932d8b66fb8..6e54657afc4 100644
--- a/src/mame/drivers/superchs.cpp
+++ b/src/mame/drivers/superchs.cpp
@@ -234,7 +234,7 @@ MACHINE_CONFIG_START(superchs_state::superchs)
MCFG_DEVICE_PROGRAM_MAP(superchs_cpub_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", superchs_state, irq4_line_hold)
- MCFG_QUANTUM_TIME(attotime::from_hz(480)) /* Need to interleave CPU 1 & 3 */
+ config.m_minimum_quantum = attotime::from_hz(480); /* Need to interleave CPU 1 & 3 */
EEPROM_93C46_16BIT(config, "eeprom");
diff --git a/src/mame/drivers/supracan.cpp b/src/mame/drivers/supracan.cpp
index df00616a2ce..35574781d2a 100644
--- a/src/mame/drivers/supracan.cpp
+++ b/src/mame/drivers/supracan.cpp
@@ -1892,8 +1892,8 @@ MACHINE_CONFIG_START(supracan_state::supracan)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", supracan_state, supracan_sound_irq)
#if !(SOUNDCPU_BOOT_HACK)
- MCFG_QUANTUM_PERFECT_CPU("maincpu")
- MCFG_QUANTUM_PERFECT_CPU("soundcpu")
+ config.m_perfect_cpu_quantum = subtag("maincpu");
+ config.m_perfect_cpu_quantum = subtag("soundcpu");
#endif
MCFG_SCREEN_ADD( "screen", RASTER )
@@ -1910,7 +1910,7 @@ MACHINE_CONFIG_START(supracan_state::supracan)
MCFG_GENERIC_ENDIAN(ENDIANNESS_BIG)
MCFG_GENERIC_LOAD(supracan_state, supracan_cart)
- MCFG_SOFTWARE_LIST_ADD("cart_list","supracan")
+ SOFTWARE_LIST(config, "cart_list").set_original("supracan");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/sv8000.cpp b/src/mame/drivers/sv8000.cpp
index 3ad620f24d1..b5644c9830c 100644
--- a/src/mame/drivers/sv8000.cpp
+++ b/src/mame/drivers/sv8000.cpp
@@ -412,7 +412,7 @@ MACHINE_CONFIG_START(sv8000_state::sv8000)
MCFG_GENERIC_LOAD(sv8000_state, cart)
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list","sv8000")
+ SOFTWARE_LIST(config, "cart_list").set_original("sv8000");
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mame/drivers/svi318.cpp b/src/mame/drivers/svi318.cpp
index 3653a443433..35e63eeddd2 100644
--- a/src/mame/drivers/svi318.cpp
+++ b/src/mame/drivers/svi318.cpp
@@ -559,13 +559,13 @@ MACHINE_CONFIG_START(svi3x8_state::svi318)
m_cassette->set_formats(svi_cassette_formats);
m_cassette->set_default_state(CASSETTE_STOPPED);
m_cassette->set_interface("svi318_cass");
- MCFG_SOFTWARE_LIST_ADD("cass_list", "svi318_cass")
+ SOFTWARE_LIST(config, "cass_list").set_original("svi318_cass");
// cartridge slot
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "svi318_cart")
MCFG_GENERIC_EXTENSIONS("bin,rom")
MCFG_GENERIC_LOAD(svi3x8_state, cartridge)
- MCFG_SOFTWARE_LIST_ADD("cart_list", "svi318_cart")
+ SOFTWARE_LIST(config, "cart_list").set_original("svi318_cart");
// expander bus
MCFG_SVI_EXPANDER_BUS_ADD("exp")
diff --git a/src/mame/drivers/svision.cpp b/src/mame/drivers/svision.cpp
index 52871446dcb..611a8d64bec 100644
--- a/src/mame/drivers/svision.cpp
+++ b/src/mame/drivers/svision.cpp
@@ -509,7 +509,7 @@ MACHINE_CONFIG_START(svision_state::svision_base)
MCFG_GENERIC_MANDATORY
MCFG_GENERIC_LOAD(svision_state, svision_cart)
- MCFG_SOFTWARE_LIST_ADD("cart_list", "svision")
+ SOFTWARE_LIST(config, "cart_list").set_original("svision");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(svision_state::svision)
diff --git a/src/mame/drivers/system1.cpp b/src/mame/drivers/system1.cpp
index c077f2ceea1..24593c4a3e8 100644
--- a/src/mame/drivers/system1.cpp
+++ b/src/mame/drivers/system1.cpp
@@ -2173,7 +2173,7 @@ void system1_state::sys1ppi(machine_config &config)
TIMER(config, "soundirq", 0).configure_scanline(FUNC(system1_state::soundirq_gen), "screen", 32, 64);
- MCFG_QUANTUM_TIME(attotime::from_hz(6000))
+ config.m_minimum_quantum = attotime::from_hz(6000);
I8255A(config, m_ppi8255);
m_ppi8255->out_pa_callback().set(FUNC(system1_state::soundport_w));
diff --git a/src/mame/drivers/taito_b.cpp b/src/mame/drivers/taito_b.cpp
index 11f9039f46b..db5fc1d16cd 100644
--- a/src/mame/drivers/taito_b.cpp
+++ b/src/mame/drivers/taito_b.cpp
@@ -1979,7 +1979,7 @@ void taitob_state::hitice(machine_config &config)
Z80(config, m_audiocpu, 24_MHz_XTAL / 4); /* 6 MHz Z80B */
m_audiocpu->set_addrmap(AS_PROGRAM, &taitob_state::viofight_sound_map);
- MCFG_QUANTUM_TIME(attotime::from_hz(600))
+ config.m_minimum_quantum = attotime::from_hz(600);
TC0220IOC(config, m_tc0220ioc, 0);
m_tc0220ioc->read_0_callback().set_ioport("DSWA");
diff --git a/src/mame/drivers/taito_z.cpp b/src/mame/drivers/taito_z.cpp
index 95b46bf9623..e619eb0c5f9 100644
--- a/src/mame/drivers/taito_z.cpp
+++ b/src/mame/drivers/taito_z.cpp
@@ -3870,7 +3870,7 @@ void taitoz_state::racingb(machine_config &config)
MCFG_MACHINE_START_OVERRIDE(taitoz_state,taitoz)
MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz)
- MCFG_QUANTUM_TIME(attotime::from_hz(600))
+ config.m_minimum_quantum = attotime::from_hz(600);
TC0510NIO(config, m_tc0510nio, 0);
m_tc0510nio->read_0_callback().set_ioport("DSWA");
diff --git a/src/mame/drivers/taitosj.cpp b/src/mame/drivers/taitosj.cpp
index feb87cc420b..461d5dc4cd2 100644
--- a/src/mame/drivers/taitosj.cpp
+++ b/src/mame/drivers/taitosj.cpp
@@ -1856,7 +1856,7 @@ MACHINE_CONFIG_START(taitosj_state::mcu)
m_mcu->m68intrq_cb().set(FUNC(taitosj_state::mcu_intrq_w));
m_mcu->busrq_cb().set(FUNC(taitosj_state::mcu_busrq_w));
- MCFG_QUANTUM_TIME(attotime::from_hz(6000))
+ config.m_minimum_quantum = attotime::from_hz(6000);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/tandy1t.cpp b/src/mame/drivers/tandy1t.cpp
index aeb23b81f97..be210fffd31 100644
--- a/src/mame/drivers/tandy1t.cpp
+++ b/src/mame/drivers/tandy1t.cpp
@@ -684,8 +684,8 @@ MACHINE_CONFIG_START(tandy1000_state::tandy1000_common)
/* internal ram */
RAM(config, m_ram).set_default_size("640K");
- MCFG_SOFTWARE_LIST_ADD("disk_list","t1000")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("pc_list","ibm5150")
+ SOFTWARE_LIST(config, "disk_list").set_original("t1000");
+ SOFTWARE_LIST(config, "pc_list").set_compatible("ibm5150");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(tandy1000_state::tandy1000_90key)
diff --git a/src/mame/drivers/tankbust.cpp b/src/mame/drivers/tankbust.cpp
index 3c4c097ea47..8ba4804074e 100644
--- a/src/mame/drivers/tankbust.cpp
+++ b/src/mame/drivers/tankbust.cpp
@@ -342,7 +342,7 @@ MACHINE_CONFIG_START(tankbust_state::tankbust)
MCFG_DEVICE_PROGRAM_MAP(map_cpu2)
MCFG_DEVICE_IO_MAP(port_map_cpu2)
- MCFG_QUANTUM_TIME(attotime::from_hz(6000))
+ config.m_minimum_quantum = attotime::from_hz(6000);
/* video hardware */
diff --git a/src/mame/drivers/tatsumi.cpp b/src/mame/drivers/tatsumi.cpp
index 55d45161738..540f19f6326 100644
--- a/src/mame/drivers/tatsumi.cpp
+++ b/src/mame/drivers/tatsumi.cpp
@@ -882,7 +882,7 @@ MACHINE_CONFIG_START(apache3_state::apache3)
MCFG_DEVICE_PROGRAM_MAP(apache3_z80_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", apache3_state, irq0_line_hold)
- MCFG_QUANTUM_TIME(attotime::from_hz(6000))
+ config.m_minimum_quantum = attotime::from_hz(6000);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
MCFG_MACHINE_RESET_OVERRIDE(apache3_state, apache3)
@@ -942,7 +942,7 @@ MACHINE_CONFIG_START(roundup5_state::roundup5)
MCFG_DEVICE_ADD("audiocpu", Z80, CLOCK_1 / 4)
MCFG_DEVICE_PROGRAM_MAP(roundup5_z80_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(6000))
+ config.m_minimum_quantum = attotime::from_hz(6000);
i8255_device &ppi(I8255(config, "ppi"));
ppi.in_pa_callback().set_ioport("IN0");
@@ -1015,7 +1015,7 @@ MACHINE_CONFIG_START(cyclwarr_state::cyclwarr)
MCFG_DEVICE_PROGRAM_MAP(sound_map)
// saner sync value (avoids crashing after crediting)
- MCFG_QUANTUM_TIME(attotime::from_hz(CLOCK_2 / 1024))
+ config.m_minimum_quantum = attotime::from_hz(CLOCK_2 / 1024);
cxd1095_device &io1(CXD1095(config, "io1", 0));
io1.in_portb_cb().set_ioport("SERVICE");
diff --git a/src/mame/drivers/taxidriv.cpp b/src/mame/drivers/taxidriv.cpp
index e7909ed1e83..4756ff18a1b 100644
--- a/src/mame/drivers/taxidriv.cpp
+++ b/src/mame/drivers/taxidriv.cpp
@@ -348,7 +348,7 @@ MACHINE_CONFIG_START(taxidriv_state::taxidriv)
MCFG_DEVICE_IO_MAP(cpu3_port_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taxidriv_state, irq0_line_hold) /* ??? */
- MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame - an high value to ensure proper */
+ config.m_minimum_quantum = attotime::from_hz(6000); /* 100 CPU slices per frame - a high value to ensure proper */
/* synchronization of the CPUs */
i8255_device &ppi0(I8255A(config, "ppi8255_0"));
diff --git a/src/mame/drivers/tdv2324.cpp b/src/mame/drivers/tdv2324.cpp
index 62d1542e086..a370e364103 100644
--- a/src/mame/drivers/tdv2324.cpp
+++ b/src/mame/drivers/tdv2324.cpp
@@ -305,7 +305,7 @@ MACHINE_CONFIG_START(tdv2324_state::tdv2324)
RAM(config, RAM_TAG).set_default_size("64K");
// software list
- MCFG_SOFTWARE_LIST_ADD("flop_list", "tdv2324")
+ SOFTWARE_LIST(config, "flop_list").set_original("tdv2324");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/tecmo16.cpp b/src/mame/drivers/tecmo16.cpp
index b836b3371c8..ba197fc828e 100644
--- a/src/mame/drivers/tecmo16.cpp
+++ b/src/mame/drivers/tecmo16.cpp
@@ -364,7 +364,7 @@ MACHINE_CONFIG_START(tecmo16_state::fstarfrc)
MCFG_DEVICE_ADD("audiocpu", Z80,MASTER_CLOCK/6) /* 4MHz */
MCFG_DEVICE_PROGRAM_MAP(sound_map)
/* NMIs are triggered by the main CPU */
- MCFG_QUANTUM_TIME(attotime::from_hz(600))
+ config.m_minimum_quantum = attotime::from_hz(600);
/* video hardware */
BUFFERED_SPRITERAM16(config, m_spriteram);
diff --git a/src/mame/drivers/tek405x.cpp b/src/mame/drivers/tek405x.cpp
index 0b882c75a77..543b7834078 100644
--- a/src/mame/drivers/tek405x.cpp
+++ b/src/mame/drivers/tek405x.cpp
@@ -1134,7 +1134,7 @@ MACHINE_CONFIG_START(tek4052_state::tek4052)
MCFG_GENERIC_CARTSLOT_ADD("cartslot2", generic_plain_slot, "tek4050_cart")
// software lists
- MCFG_SOFTWARE_LIST_ADD("cart_list", "tek4052_cart")
+ SOFTWARE_LIST(config, "cart_list").set_original("tek4052_cart");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/tempest.cpp b/src/mame/drivers/tempest.cpp
index fa19a262031..1f8253a8695 100644
--- a/src/mame/drivers/tempest.cpp
+++ b/src/mame/drivers/tempest.cpp
@@ -472,7 +472,7 @@ WRITE8_MEMBER(tempest_state::earom_control_w)
READ8_MEMBER(tempest_state::rom_ae1f_r)
{
// This is needed to ensure that the routine starting at ae1c passes checks and does not corrupt data;
- // MCFG_QUANTUM_PERFECT_CPU("maincpu") would be very taxing on this driver.
+ // config.m_perfect_cpu_quantum = subtag("maincpu"); would be very taxing on this driver.
machine().scheduler().boost_interleave(attotime::zero, attotime::from_usec(100));
machine().scheduler().abort_timeslice();
diff --git a/src/mame/drivers/thomson.cpp b/src/mame/drivers/thomson.cpp
index 37233954452..bb6b009e881 100644
--- a/src/mame/drivers/thomson.cpp
+++ b/src/mame/drivers/thomson.cpp
@@ -743,10 +743,10 @@ MACHINE_CONFIG_START(thomson_state::to7_base)
RAM(config, m_ram).set_default_size("40K").set_extra_options("24K,48K");
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("to7_cart_list","to7_cart")
- MCFG_SOFTWARE_LIST_ADD("to7_cass_list","to7_cass")
- MCFG_SOFTWARE_LIST_ADD("to_flop_list","to_flop")
- MCFG_SOFTWARE_LIST_ADD("to7_qd_list","to7_qd")
+ SOFTWARE_LIST(config, "to7_cart_list").set_original("to7_cart");
+ SOFTWARE_LIST(config, "to7_cass_list").set_original("to7_cass");
+ SOFTWARE_LIST(config, "to_flop_list").set_original("to_flop");
+ SOFTWARE_LIST(config, "to7_qd_list").set_original("to7_qd");
MACHINE_CONFIG_END
void thomson_state::to7(machine_config &config)
@@ -945,16 +945,16 @@ MACHINE_CONFIG_START(thomson_state::to770)
/* internal ram */
m_ram->set_default_size("128K").set_extra_options("64K");
- config.device_remove("to7_cart_list");
- MCFG_SOFTWARE_LIST_ADD("t770_cart_list","to770_cart")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("to7_cart_list","to7_cart")
+ SOFTWARE_LIST(config, "t770_cart_list").set_original("to770_cart");
+ SOFTWARE_LIST(config.replace(), "to7_cart_list").set_compatible("to7_cart");
MACHINE_CONFIG_END
-MACHINE_CONFIG_START(thomson_state::to770a)
+void thomson_state::to770a(machine_config &config)
+{
to770(config);
config.device_remove("t770_cart_list");
- MCFG_SOFTWARE_LIST_ADD("t770a_cart_list","to770a_cart")
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config, "t770a_cart_list").set_original("to770a_cart");
+}
COMP( 1984, to770, 0, 0, to770, to770, thomson_state, empty_init, "Thomson", "TO7/70", 0 )
@@ -1147,10 +1147,10 @@ MACHINE_CONFIG_START(thomson_state::mo5)
config.device_remove("to_flop_list");
config.device_remove("to7_qd_list");
- MCFG_SOFTWARE_LIST_ADD("mo5_cart_list","mo5_cart")
- MCFG_SOFTWARE_LIST_ADD("mo5_cass_list","mo5_cass")
- MCFG_SOFTWARE_LIST_ADD("mo5_flop_list","mo5_flop")
- MCFG_SOFTWARE_LIST_ADD("mo5_qd_list","mo5_qd")
+ SOFTWARE_LIST(config, "mo5_cart_list").set_original("mo5_cart");
+ SOFTWARE_LIST(config, "mo5_cass_list").set_original("mo5_cass");
+ SOFTWARE_LIST(config, "mo5_flop_list").set_original("mo5_flop");
+ SOFTWARE_LIST(config, "mo5_qd_list").set_original("mo5_qd");
/* internal ram */
m_ram->set_default_size("112K");
@@ -1721,18 +1721,16 @@ MACHINE_CONFIG_START(thomson_state::to8)
/* internal ram */
m_ram->set_default_size("512K").set_extra_options("256K");
- config.device_remove("to7_cass_list");
- config.device_remove("to7_qd_list");
-
- MCFG_SOFTWARE_LIST_ADD("to8_cass_list", "to8_cass")
- MCFG_SOFTWARE_LIST_ADD("to8_qd_list", "to8_qd")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("to7_cass_list", "to7_cass")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("to7_qd_list", "to7_qd")
+ SOFTWARE_LIST(config, "to8_cass_list").set_original("to8_cass");
+ SOFTWARE_LIST(config, "to8_qd_list").set_original("to8_qd");
+ SOFTWARE_LIST(config.replace(), "to7_cass_list").set_compatible("to7_cass");
+ SOFTWARE_LIST(config.replace(), "to7_qd_list").set_compatible("to7_qd");
MACHINE_CONFIG_END
-MACHINE_CONFIG_START(thomson_state::to8d)
+void thomson_state::to8d(machine_config &config)
+{
to8(config);
-MACHINE_CONFIG_END
+}
COMP( 1986, to8, 0, 0, to8, to8, thomson_state, empty_init, "Thomson", "TO8", 0 )
@@ -1884,13 +1882,10 @@ MACHINE_CONFIG_START(thomson_state::to9p)
/* internal ram */
m_ram->set_default_size("512K");
- config.device_remove("to7_cass_list");
- config.device_remove("to7_qd_list");
-
- MCFG_SOFTWARE_LIST_ADD("to8_cass_list", "to8_cass")
- MCFG_SOFTWARE_LIST_ADD("to8_qd_list", "to8_qd")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("to7_cass_list", "to7_cass")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("to7_qd_list", "to7_qd")
+ SOFTWARE_LIST(config, "to8_cass_list").set_original("to8_cass");
+ SOFTWARE_LIST(config, "to8_qd_list").set_original("to8_qd");
+ SOFTWARE_LIST(config.replace(), "to7_cass_list").set_compatible("to7_cass");
+ SOFTWARE_LIST(config.replace(), "to7_qd_list").set_compatible("to7_qd");
MACHINE_CONFIG_END
COMP( 1986, to9p, 0, 0, to9p, to9p, thomson_state, empty_init, "Thomson", "TO9+", 0 )
@@ -2245,16 +2240,17 @@ MACHINE_CONFIG_START(thomson_state::mo6)
config.device_remove("to_flop_list");
config.device_remove("to7_qd_list");
- MCFG_SOFTWARE_LIST_ADD("mo6_cass_list","mo6_cass")
- MCFG_SOFTWARE_LIST_ADD("mo6_flop_list","mo6_flop")
+ SOFTWARE_LIST(config, "mo6_cass_list").set_original("mo6_cass");
+ SOFTWARE_LIST(config, "mo6_flop_list").set_original("mo6_flop");
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("mo5_cart_list","mo5_cart")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("mo5_cass_list","mo5_cass")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("mo5_flop_list","mo5_flop")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("mo5_qd_list","mo5_qd")
+ SOFTWARE_LIST(config, "mo5_cart_list").set_compatible("mo5_cart");
+ SOFTWARE_LIST(config, "mo5_cass_list").set_compatible("mo5_cass");
+ SOFTWARE_LIST(config, "mo5_flop_list").set_compatible("mo5_flop");
+ SOFTWARE_LIST(config, "mo5_qd_list").set_compatible("mo5_qd");
MACHINE_CONFIG_END
-MACHINE_CONFIG_START(thomson_state::pro128)
+void thomson_state::pro128(machine_config &config)
+{
mo6(config);
config.device_remove("mo6_cass_list");
config.device_remove("mo6_flop_list");
@@ -2264,10 +2260,10 @@ MACHINE_CONFIG_START(thomson_state::pro128)
config.device_remove("mo5_flop_list");
config.device_remove("mo5_qd_list");
- MCFG_SOFTWARE_LIST_ADD("p128_cart_list","pro128_cart")
- MCFG_SOFTWARE_LIST_ADD("p128_cass_list","pro128_cass")
- MCFG_SOFTWARE_LIST_ADD("p128_flop_list","pro128_flop")
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config, "p128_cart_list").set_original("pro128_cart");
+ SOFTWARE_LIST(config, "p128_cass_list").set_original("pro128_cass");
+ SOFTWARE_LIST(config, "p128_flop_list").set_original("pro128_flop");
+}
COMP( 1986, mo6, 0, 0, mo6, mo6, thomson_state, empty_init, "Thomson", "MO6", 0 )
@@ -2512,13 +2508,13 @@ MACHINE_CONFIG_START(thomson_state::mo5nr)
config.device_remove("to_flop_list");
config.device_remove("to7_qd_list");
- MCFG_SOFTWARE_LIST_ADD("mo6_cass_list","mo6_cass")
- MCFG_SOFTWARE_LIST_ADD("mo6_flop_list","mo6_flop")
+ SOFTWARE_LIST(config, "mo6_cass_list").set_original("mo6_cass");
+ SOFTWARE_LIST(config, "mo6_flop_list").set_original("mo6_flop");
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("mo5_cart_list","mo5_cart")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("mo5_cass_list","mo5_cass")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("mo5_flop_list","mo5_flop")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("mo5_qd_list","mo5_qd")
+ SOFTWARE_LIST(config, "mo5_cart_list").set_compatible("mo5_cart");
+ SOFTWARE_LIST(config, "mo5_cass_list").set_compatible("mo5_cass");
+ SOFTWARE_LIST(config, "mo5_flop_list").set_compatible("mo5_flop");
+ SOFTWARE_LIST(config, "mo5_qd_list").set_compatible("mo5_qd");
MACHINE_CONFIG_END
COMP( 1986, mo5nr, 0, 0, mo5nr, mo5nr, thomson_state, empty_init, "Thomson", "MO5 NR", 0 )
diff --git a/src/mame/drivers/thunderj.cpp b/src/mame/drivers/thunderj.cpp
index c75c7a9afe1..4e845b54185 100644
--- a/src/mame/drivers/thunderj.cpp
+++ b/src/mame/drivers/thunderj.cpp
@@ -255,7 +255,7 @@ MACHINE_CONFIG_START(thunderj_state::thunderj)
WATCHDOG_TIMER(config, "watchdog");
/* perfect synchronization due to shared RAM */
- MCFG_QUANTUM_PERFECT_CPU("maincpu")
+ config.m_perfect_cpu_quantum = subtag("maincpu");
/* video hardware */
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_thunderj)
diff --git a/src/mame/drivers/ti74.cpp b/src/mame/drivers/ti74.cpp
index fe052f1d4d2..0a4cc41273f 100644
--- a/src/mame/drivers/ti74.cpp
+++ b/src/mame/drivers/ti74.cpp
@@ -550,7 +550,7 @@ MACHINE_CONFIG_START(ti74_state::ti74)
MCFG_GENERIC_EXTENSIONS("bin,rom,256")
MCFG_GENERIC_LOAD(ti74_state, ti74_cartridge)
- MCFG_SOFTWARE_LIST_ADD("cart_list", "ti74_cart")
+ SOFTWARE_LIST(config, "cart_list").set_original("ti74_cart");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(ti74_state::ti95)
@@ -585,7 +585,7 @@ MACHINE_CONFIG_START(ti74_state::ti95)
MCFG_GENERIC_EXTENSIONS("bin,rom,256")
MCFG_GENERIC_LOAD(ti74_state, ti74_cartridge)
- MCFG_SOFTWARE_LIST_ADD("cart_list", "ti95_cart")
+ SOFTWARE_LIST(config, "cart_list").set_original("ti95_cart");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/tiki100.cpp b/src/mame/drivers/tiki100.cpp
index f1a5cae3454..6eaba94b0fc 100644
--- a/src/mame/drivers/tiki100.cpp
+++ b/src/mame/drivers/tiki100.cpp
@@ -785,7 +785,7 @@ MACHINE_CONFIG_START(tiki100_state::tiki100)
RAM(config, RAM_TAG).set_default_size("64K");
// software list
- MCFG_SOFTWARE_LIST_ADD("flop_list", "tiki100")
+ SOFTWARE_LIST(config, "flop_list").set_original("tiki100");
MACHINE_CONFIG_END
/* ROMs */
diff --git a/src/mame/drivers/timelimt.cpp b/src/mame/drivers/timelimt.cpp
index ba8b3d1e1c6..78adbaa83fb 100644
--- a/src/mame/drivers/timelimt.cpp
+++ b/src/mame/drivers/timelimt.cpp
@@ -235,7 +235,7 @@ MACHINE_CONFIG_START(timelimt_state::timelimt)
MCFG_DEVICE_IO_MAP(sound_io_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", timelimt_state, irq0_line_hold) /* ? */
- MCFG_QUANTUM_TIME(attotime::from_hz(3000))
+ config.m_minimum_quantum = attotime::from_hz(3000);
ls259_device &mainlatch(LS259(config, "mainlatch")); // IC15
mainlatch.q_out_cb<0>().set(FUNC(timelimt_state::nmi_enable_w));
diff --git a/src/mame/drivers/timex.cpp b/src/mame/drivers/timex.cpp
index 3116b458264..5e6976b11d4 100644
--- a/src/mame/drivers/timex.cpp
+++ b/src/mame/drivers/timex.cpp
@@ -699,7 +699,7 @@ MACHINE_CONFIG_START(spectrum_state::ts2068)
MCFG_DEVICE_PROGRAM_MAP(ts2068_mem)
MCFG_DEVICE_IO_MAP(ts2068_io)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", spectrum_state, spec_interrupt)
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
MCFG_MACHINE_RESET_OVERRIDE(spectrum_state, ts2068 )
@@ -724,7 +724,7 @@ MACHINE_CONFIG_START(spectrum_state::ts2068)
MCFG_GENERIC_LOAD(spectrum_state, timex_cart)
/* Software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list", "timex_dock")
+ SOFTWARE_LIST(config, "cart_list").set_original("timex_dock");
/* internal ram */
m_ram->set_default_size("48K");
diff --git a/src/mame/drivers/tispellb.cpp b/src/mame/drivers/tispellb.cpp
index b91cd58736b..e083579e4e8 100644
--- a/src/mame/drivers/tispellb.cpp
+++ b/src/mame/drivers/tispellb.cpp
@@ -345,8 +345,8 @@ INPUT_PORTS_END
***************************************************************************/
-MACHINE_CONFIG_START(tispellb_state::rev1)
-
+void tispellb_state::rev1(machine_config &config)
+{
/* basic machine hardware */
tms0270_cpu_device &tms(TMS0270(config, m_maincpu, 350000)); // approximation
tms.k().set(FUNC(tispellb_state::main_read_k));
@@ -360,13 +360,13 @@ MACHINE_CONFIG_START(tispellb_state::rev1)
subcpu.o().set(FUNC(tispellb_state::sub_write_o));
subcpu.r().set(FUNC(tispellb_state::sub_write_r));
- MCFG_QUANTUM_PERFECT_CPU("maincpu")
+ config.m_perfect_cpu_quantum = subtag("maincpu");
TIMER(config, "display_decay").configure_periodic(FUNC(hh_tms1k_state::display_decay_tick), attotime::from_msec(1));
config.set_default_layout(layout_spellb);
/* no sound! */
-MACHINE_CONFIG_END
+}
MACHINE_CONFIG_START(tispellb_state::rev2)
diff --git a/src/mame/drivers/tk2000.cpp b/src/mame/drivers/tk2000.cpp
index 728512b869b..e480687ab15 100644
--- a/src/mame/drivers/tk2000.cpp
+++ b/src/mame/drivers/tk2000.cpp
@@ -571,7 +571,7 @@ MACHINE_CONFIG_START(tk2000_state::tk2000)
MCFG_DEVICE_ADD(A2_CPU_TAG, M6502, 1021800) /* close to actual CPU frequency of 1.020484 MHz */
MCFG_DEVICE_PROGRAM_MAP(apple2_map)
TIMER(config, "scantimer").configure_scanline(FUNC(tk2000_state::apple2_interrupt), "screen", 0, 1);
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
APPLE2_VIDEO(config, m_video, XTAL(14'318'181));
diff --git a/src/mame/drivers/toaplan2.cpp b/src/mame/drivers/toaplan2.cpp
index 88b073d29a5..2bedef01040 100644
--- a/src/mame/drivers/toaplan2.cpp
+++ b/src/mame/drivers/toaplan2.cpp
@@ -3215,7 +3215,7 @@ MACHINE_CONFIG_START(toaplan2_state::tekipaki)
m_audiocpu->set_addrmap(AS_PROGRAM, &toaplan2_state::hd647180_mem_map);
m_audiocpu->set_addrmap(AS_IO, &toaplan2_state::hd647180_io_map);
- MCFG_QUANTUM_TIME(attotime::from_hz(600))
+ config.m_minimum_quantum = attotime::from_hz(600);
MCFG_MACHINE_RESET_OVERRIDE(toaplan2_state,toaplan2)
@@ -3257,7 +3257,7 @@ MACHINE_CONFIG_START(toaplan2_state::ghox)
Z180(config, m_audiocpu, 10_MHz_XTAL); /* HD647180 CPU actually */
m_audiocpu->set_addrmap(AS_PROGRAM, &toaplan2_state::ghox_hd647180_mem_map);
- MCFG_QUANTUM_TIME(attotime::from_hz(600))
+ config.m_minimum_quantum = attotime::from_hz(600);
MCFG_MACHINE_RESET_OVERRIDE(toaplan2_state,ghox)
@@ -3512,7 +3512,7 @@ MACHINE_CONFIG_START(toaplan2_state::pipibibs)
Z80(config, m_audiocpu, 27_MHz_XTAL/8); // verified on PCB
m_audiocpu->set_addrmap(AS_PROGRAM, &toaplan2_state::pipibibs_sound_z80_mem);
- MCFG_QUANTUM_TIME(attotime::from_hz(600))
+ config.m_minimum_quantum = attotime::from_hz(600);
MCFG_MACHINE_RESET_OVERRIDE(toaplan2_state,toaplan2)
@@ -3554,7 +3554,7 @@ MACHINE_CONFIG_START(toaplan2_state::pipibibsbl)
Z80(config, m_audiocpu, 12_MHz_XTAL / 2); // GoldStar Z8400B; clock source and divider unknown
m_audiocpu->set_addrmap(AS_PROGRAM, &toaplan2_state::pipibibs_sound_z80_mem);
- MCFG_QUANTUM_TIME(attotime::from_hz(600))
+ config.m_minimum_quantum = attotime::from_hz(600);
MCFG_MACHINE_RESET_OVERRIDE(toaplan2_state,toaplan2)
@@ -3922,7 +3922,7 @@ MACHINE_CONFIG_START(toaplan2_state::mahoudai)
Z80(config, m_audiocpu, 32_MHz_XTAL/8); // 4MHz, 32MHz Oscillator
m_audiocpu->set_addrmap(AS_PROGRAM, &toaplan2_state::raizing_sound_z80_mem);
- MCFG_QUANTUM_TIME(attotime::from_hz(600))
+ config.m_minimum_quantum = attotime::from_hz(600);
MCFG_MACHINE_RESET_OVERRIDE(toaplan2_state,toaplan2)
@@ -3965,7 +3965,7 @@ MACHINE_CONFIG_START(toaplan2_state::shippumd)
Z80(config, m_audiocpu, 32_MHz_XTAL/8); // 4MHz, 32MHz Oscillator
m_audiocpu->set_addrmap(AS_PROGRAM, &toaplan2_state::raizing_sound_z80_mem);
- MCFG_QUANTUM_TIME(attotime::from_hz(600))
+ config.m_minimum_quantum = attotime::from_hz(600);
MCFG_MACHINE_RESET_OVERRIDE(toaplan2_state,toaplan2)
@@ -4007,7 +4007,7 @@ MACHINE_CONFIG_START(toaplan2_state::bgaregga)
Z80(config, m_audiocpu, 32_MHz_XTAL/8); // 4MHz, 32MHz Oscillator
m_audiocpu->set_addrmap(AS_PROGRAM, &toaplan2_state::bgaregga_sound_z80_mem);
- MCFG_QUANTUM_TIME(attotime::from_hz(6000))
+ config.m_minimum_quantum = attotime::from_hz(6000);
MCFG_MACHINE_RESET_OVERRIDE(toaplan2_state,toaplan2)
@@ -4065,7 +4065,7 @@ MACHINE_CONFIG_START(toaplan2_state::batrider)
m_audiocpu->set_addrmap(AS_PROGRAM, &toaplan2_state::batrider_sound_z80_mem);
m_audiocpu->set_addrmap(AS_IO, &toaplan2_state::batrider_sound_z80_port);
- MCFG_QUANTUM_TIME(attotime::from_hz(600))
+ config.m_minimum_quantum = attotime::from_hz(600);
MCFG_MACHINE_RESET_OVERRIDE(toaplan2_state,toaplan2)
@@ -4130,7 +4130,7 @@ MACHINE_CONFIG_START(toaplan2_state::bbakraid)
MCFG_DEVICE_IO_MAP(bbakraid_sound_z80_port)
MCFG_DEVICE_PERIODIC_INT_DRIVER(toaplan2_state, bbakraid_snd_interrupt, 448)
- MCFG_QUANTUM_TIME(attotime::from_hz(600))
+ config.m_minimum_quantum = attotime::from_hz(600);
MCFG_MACHINE_RESET_OVERRIDE(toaplan2_state,toaplan2)
diff --git a/src/mame/drivers/tomcat.cpp b/src/mame/drivers/tomcat.cpp
index 5ff67755fe9..af778e84c07 100644
--- a/src/mame/drivers/tomcat.cpp
+++ b/src/mame/drivers/tomcat.cpp
@@ -342,7 +342,7 @@ MACHINE_CONFIG_START(tomcat_state::tomcat)
// OUTB PB0 - PB7 OUTPUT Speech Data
// IRQ CB connected to IRQ line of 6502
- MCFG_QUANTUM_TIME(attotime::from_hz(4000))
+ config.m_minimum_quantum = attotime::from_hz(4000);
LS259(config, m_mainlatch);
m_mainlatch->q_out_cb<0>().set_output("led1").invert();
diff --git a/src/mame/drivers/tosh1000.cpp b/src/mame/drivers/tosh1000.cpp
index 81e4e119dd2..380420e884a 100644
--- a/src/mame/drivers/tosh1000.cpp
+++ b/src/mame/drivers/tosh1000.cpp
@@ -277,7 +277,7 @@ MACHINE_CONFIG_START(tosh1000_state::tosh1000)
MCFG_DEVICE_ADD("isa5", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false)
MCFG_DEVICE_ADD("isa6", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false)
-// MCFG_SOFTWARE_LIST_ADD("flop_list","tosh1000")
+// SOFTWARE_LIST(config, "flop_list").set_original("tosh1000");
// uses a 80C50 instead of 8042 for KBDC
MCFG_PC_KBDC_SLOT_ADD("mb:pc_kbdc", "kbd", pc_xt_keyboards, STR_KBD_KEYTRONIC_PC3270)
diff --git a/src/mame/drivers/tourvis.cpp b/src/mame/drivers/tourvis.cpp
index dc73feee956..088c8a94a09 100644
--- a/src/mame/drivers/tourvis.cpp
+++ b/src/mame/drivers/tourvis.cpp
@@ -401,7 +401,7 @@ MACHINE_CONFIG_START(tourvision_state::tourvision)
m_maincpu->add_route(0, "lspeaker", 1.00);
m_maincpu->add_route(1, "rspeaker", 1.00);
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
MCFG_DEVICE_ADD("subcpu", I8085A, 18000000/3 /*?*/)
MCFG_DEVICE_PROGRAM_MAP(tourvision_8085_map)
@@ -436,7 +436,7 @@ MACHINE_CONFIG_START(tourvision_state::tourvision)
MCFG_GENERIC_LOAD(tourvision_state, tourvision_cart)
MCFG_GENERIC_MANDATORY
- MCFG_SOFTWARE_LIST_ADD("tv_list","pce_tourvision")
+ SOFTWARE_LIST(config, "tv_list").set_original("pce_tourvision");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/tp84.cpp b/src/mame/drivers/tp84.cpp
index a3cc77483b4..aa14a87c65f 100644
--- a/src/mame/drivers/tp84.cpp
+++ b/src/mame/drivers/tp84.cpp
@@ -341,7 +341,7 @@ MACHINE_CONFIG_START(tp84_state::tp84)
MCFG_DEVICE_ADD("audiocpu", Z80,XTAL(14'318'181)/4) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(audio_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame - an high value to ensure proper */
+ config.m_minimum_quantum = attotime::from_hz(6000); /* 100 CPU slices per frame - a high value to ensure proper */
/* synchronization of the CPUs */
ls259_device &mainlatch(LS259(config, "mainlatch", 0)); // 3B
diff --git a/src/mame/drivers/triforce.cpp b/src/mame/drivers/triforce.cpp
index cbf606e2cb8..6b0b7ce664f 100644
--- a/src/mame/drivers/triforce.cpp
+++ b/src/mame/drivers/triforce.cpp
@@ -592,7 +592,7 @@ MACHINE_CONFIG_START(triforce_state::triforce_base)
MCFG_DEVICE_ADD("maincpu", PPC603, 64000000) /* Correct CPU is a PowerPC 750 (what Apple called "G3") with paired-single vector instructions added */
MCFG_DEVICE_PROGRAM_MAP(gc_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(6000))
+ config.m_minimum_quantum = attotime::from_hz(6000);
/* video hardware */
diff --git a/src/mame/drivers/trs80m2.cpp b/src/mame/drivers/trs80m2.cpp
index 99ee6602d8f..ba20c64bce1 100644
--- a/src/mame/drivers/trs80m2.cpp
+++ b/src/mame/drivers/trs80m2.cpp
@@ -785,7 +785,7 @@ MACHINE_CONFIG_START(trs80m2_state::trs80m2)
RAM(config, RAM_TAG).set_default_size("64K").set_extra_options("32K,96K,128K,160K,192K,224K,256K,288K,320K,352K,384K,416K,448K,480K,512K");
// software list
- MCFG_SOFTWARE_LIST_ADD("flop_list", "trs80m2")
+ SOFTWARE_LIST(config, "flop_list").set_original("trs80m2");
MACHINE_CONFIG_END
@@ -879,7 +879,7 @@ MACHINE_CONFIG_START(trs80m16_state::trs80m16)
RAM(config, RAM_TAG).set_default_size("256K").set_extra_options("512K,768K,1M");
// software list
- MCFG_SOFTWARE_LIST_ADD("flop_list", "trs80m2")
+ SOFTWARE_LIST(config, "flop_list").set_original("trs80m2");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/turbo.cpp b/src/mame/drivers/turbo.cpp
index 37d450bdf08..4fe5dc1842b 100644
--- a/src/mame/drivers/turbo.cpp
+++ b/src/mame/drivers/turbo.cpp
@@ -948,7 +948,7 @@ MACHINE_CONFIG_START(turbo_state::buckrog)
MCFG_DEVICE_PROGRAM_MAP(buckrog_cpu2_map)
MCFG_DEVICE_IO_MAP(buckrog_cpu2_portmap)
- MCFG_QUANTUM_TIME(attotime::from_hz(600))
+ config.m_minimum_quantum = attotime::from_hz(600);
MCFG_MACHINE_RESET_OVERRIDE(turbo_state,buckrog)
I8255(config, m_i8255_0);
diff --git a/src/mame/drivers/tvc.cpp b/src/mame/drivers/tvc.cpp
index e13dd320d5a..7cbd642ed82 100644
--- a/src/mame/drivers/tvc.cpp
+++ b/src/mame/drivers/tvc.cpp
@@ -836,9 +836,9 @@ MACHINE_CONFIG_START(tvc_state::tvc)
MCFG_QUICKLOAD_ADD("quickload", tvc_state, tvc64, "cas", 6)
/* Software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list", "tvc_cart")
- MCFG_SOFTWARE_LIST_ADD("cass_list", "tvc_cass")
- MCFG_SOFTWARE_LIST_ADD("flop_list", "tvc_flop")
+ SOFTWARE_LIST(config, "cart_list").set_original("tvc_cart");
+ SOFTWARE_LIST(config, "cass_list").set_original("tvc_cass");
+ SOFTWARE_LIST(config, "flop_list").set_original("tvc_flop");
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mame/drivers/tvcapcom.cpp b/src/mame/drivers/tvcapcom.cpp
index cb66f0074ce..3b66e8b3dbc 100644
--- a/src/mame/drivers/tvcapcom.cpp
+++ b/src/mame/drivers/tvcapcom.cpp
@@ -62,7 +62,7 @@ MACHINE_CONFIG_START(tvcapcom_state::tvcapcom)
MCFG_DEVICE_PROGRAM_MAP(gc_map)
MCFG_DEVICE_DISABLE()
- MCFG_QUANTUM_TIME(attotime::from_hz(6000))
+ config.m_minimum_quantum = attotime::from_hz(6000);
/* video hardware */
diff --git a/src/mame/drivers/uapce.cpp b/src/mame/drivers/uapce.cpp
index 54df05bba90..13b5211480b 100644
--- a/src/mame/drivers/uapce.cpp
+++ b/src/mame/drivers/uapce.cpp
@@ -316,7 +316,7 @@ MACHINE_CONFIG_START(uapce_state::uapce)
MCFG_DEVICE_ADD("sub", Z80, 1400000)
MCFG_DEVICE_PROGRAM_MAP(z80_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/ultraman.cpp b/src/mame/drivers/ultraman.cpp
index a801ceec5ce..8371ef03b02 100644
--- a/src/mame/drivers/ultraman.cpp
+++ b/src/mame/drivers/ultraman.cpp
@@ -186,7 +186,7 @@ MACHINE_CONFIG_START(ultraman_state::ultraman)
INPUT_MERGER_ALL_HIGH(config, "soundnmi").output_handler().set_inputline(m_audiocpu, INPUT_LINE_NMI);
- MCFG_QUANTUM_TIME(attotime::from_hz(600))
+ config.m_minimum_quantum = attotime::from_hz(600);
WATCHDOG_TIMER(config, "watchdog");
diff --git a/src/mame/drivers/undrfire.cpp b/src/mame/drivers/undrfire.cpp
index 3f168d90b3c..f7e4b27a7f0 100644
--- a/src/mame/drivers/undrfire.cpp
+++ b/src/mame/drivers/undrfire.cpp
@@ -627,7 +627,7 @@ MACHINE_CONFIG_START(undrfire_state::cbombers)
MCFG_DEVICE_PROGRAM_MAP(cbombers_cpub_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", undrfire_state, irq4_line_hold)
- MCFG_QUANTUM_TIME(attotime::from_hz(480)) /* CPU slices - Need to interleave Cpu's 1 & 3 */
+ config.m_minimum_quantum = attotime::from_hz(480); /* CPU slices - Need to interleave Cpu's 1 & 3 */
EEPROM_93C46_16BIT(config, "eeprom");
diff --git a/src/mame/drivers/ut88.cpp b/src/mame/drivers/ut88.cpp
index 76f06a4e70d..e10b0446844 100644
--- a/src/mame/drivers/ut88.cpp
+++ b/src/mame/drivers/ut88.cpp
@@ -226,7 +226,7 @@ MACHINE_CONFIG_START(ut88_state::ut88)
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED);
m_cassette->set_interface("ut88_cass");
- MCFG_SOFTWARE_LIST_ADD("cass_list","ut88")
+ SOFTWARE_LIST(config, "cass_list").set_original("ut88");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(ut88_state::ut88mini)
@@ -249,7 +249,7 @@ MACHINE_CONFIG_START(ut88_state::ut88mini)
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED);
m_cassette->set_interface("ut88_cass");
- MCFG_SOFTWARE_LIST_ADD("cass_list","ut88")
+ SOFTWARE_LIST(config, "cass_list").set_original("ut88");
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mame/drivers/v1050.cpp b/src/mame/drivers/v1050.cpp
index 74eb9229eb2..62bc8d015e3 100644
--- a/src/mame/drivers/v1050.cpp
+++ b/src/mame/drivers/v1050.cpp
@@ -1029,11 +1029,11 @@ MACHINE_CONFIG_START(v1050_state::v1050)
MCFG_DEVICE_IO_MAP(v1050_io)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(v1050_state,v1050_int_ack)
- MCFG_QUANTUM_PERFECT_CPU(Z80_TAG)
+ config.m_perfect_cpu_quantum = subtag(Z80_TAG);
MCFG_DEVICE_ADD(M6502_TAG, M6502, 15.36_MHz_XTAL/16)
MCFG_DEVICE_PROGRAM_MAP(v1050_crt_mem)
- MCFG_QUANTUM_PERFECT_CPU(M6502_TAG)
+ config.m_perfect_cpu_quantum = subtag(M6502_TAG);
// keyboard HACK
TIMER(config, "keyboard").configure_periodic(FUNC(v1050_state::v1050_keyboard_tick), attotime::from_hz(60));
@@ -1125,8 +1125,8 @@ MACHINE_CONFIG_START(v1050_state::v1050)
TIMER(config, m_timer_rst).configure_generic(FUNC(v1050_state::sasi_rst_tick));
// software lists
- MCFG_SOFTWARE_LIST_ADD("flop_list", "v1050_flop")
- MCFG_SOFTWARE_LIST_ADD("hdd_list", "v1050_hdd")
+ SOFTWARE_LIST(config, "flop_list").set_original("v1050_flop");
+ SOFTWARE_LIST(config, "hdd_list").set_original("v1050_hdd");
// printer
CENTRONICS(config, m_centronics, centronics_devices, "printer");
diff --git a/src/mame/drivers/vboy.cpp b/src/mame/drivers/vboy.cpp
index 7028b7c30ab..3171ca06499 100644
--- a/src/mame/drivers/vboy.cpp
+++ b/src/mame/drivers/vboy.cpp
@@ -1340,7 +1340,7 @@ MACHINE_CONFIG_START(vboy_state::vboy)
MCFG_VBOY_CARTRIDGE_ADD("cartslot", vboy_cart, nullptr)
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list","vboy")
+ SOFTWARE_LIST(config, "cart_list").set_original("vboy");
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
diff --git a/src/mame/drivers/vcombat.cpp b/src/mame/drivers/vcombat.cpp
index 58bbb483d81..15906c31337 100644
--- a/src/mame/drivers/vcombat.cpp
+++ b/src/mame/drivers/vcombat.cpp
@@ -583,8 +583,8 @@ MACHINE_CONFIG_START(vcombat_state::vcombat)
/* Temporary hack for experimenting with timing. */
#if 0
- //MCFG_QUANTUM_TIME(attotime::from_hz(1200))
- MCFG_QUANTUM_PERFECT_CPU("maincpu")
+ //config.m_minimum_quantum = attotime::from_hz(1200);
+ config.m_perfect_cpu_quantum = subtag("maincpu");
#endif
TLC34076(config, m_tlc34076, tlc34076_device::TLC34076_6_BIT);
diff --git a/src/mame/drivers/vg5k.cpp b/src/mame/drivers/vg5k.cpp
index b53a0422839..5acba4d8cbe 100644
--- a/src/mame/drivers/vg5k.cpp
+++ b/src/mame/drivers/vg5k.cpp
@@ -412,7 +412,7 @@ MACHINE_CONFIG_START(vg5k_state::vg5k)
RAM(config, RAM_TAG).set_default_size("16K").set_extra_options("32K,48K");
/* Software lists */
- MCFG_SOFTWARE_LIST_ADD("cass_list", "vg5k")
+ SOFTWARE_LIST(config, "cass_list").set_original("vg5k");
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mame/drivers/vgmplay.cpp b/src/mame/drivers/vgmplay.cpp
index e115040bc53..f508799a46f 100644
--- a/src/mame/drivers/vgmplay.cpp
+++ b/src/mame/drivers/vgmplay.cpp
@@ -3438,7 +3438,7 @@ MACHINE_CONFIG_START(vgmplay_state::vgmplay)
MCFG_QUICKLOAD_ADD("quickload", vgmplay_state, load_file, "vgm,vgz", 0)
MCFG_QUICKLOAD_INTERFACE("vgm_quik")
- MCFG_SOFTWARE_LIST_ADD("vgm_list", "vgmplay")
+ SOFTWARE_LIST(config, "vgm_list").set_original("vgmplay");
config.set_default_layout(layout_vgmplay);
diff --git a/src/mame/drivers/vicdual.cpp b/src/mame/drivers/vicdual.cpp
index 9e2fed23382..9a678006e3e 100644
--- a/src/mame/drivers/vicdual.cpp
+++ b/src/mame/drivers/vicdual.cpp
@@ -2201,7 +2201,7 @@ MACHINE_CONFIG_START(vicdual_state::carnival)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(carnival_io_map)
- MCFG_QUANTUM_PERFECT_CPU("maincpu")
+ config.m_perfect_cpu_quantum = subtag("maincpu");
/* audio hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/vidbrain.cpp b/src/mame/drivers/vidbrain.cpp
index c01f6bb696a..b39f93b8d6c 100644
--- a/src/mame/drivers/vidbrain.cpp
+++ b/src/mame/drivers/vidbrain.cpp
@@ -428,7 +428,7 @@ MACHINE_CONFIG_START(vidbrain_state::vidbrain)
MCFG_VIDEOBRAIN_EXPANSION_SLOT_ADD(VIDEOBRAIN_EXPANSION_SLOT_TAG, vidbrain_expansion_cards, nullptr)
// software lists
- MCFG_SOFTWARE_LIST_ADD("cart_list", "vidbrain")
+ SOFTWARE_LIST(config, "cart_list").set_original("vidbrain");
// internal ram
RAM(config, RAM_TAG).set_default_size("1K");
diff --git a/src/mame/drivers/vip.cpp b/src/mame/drivers/vip.cpp
index 83c3d77de0a..8f8ca964f0b 100644
--- a/src/mame/drivers/vip.cpp
+++ b/src/mame/drivers/vip.cpp
@@ -744,7 +744,7 @@ MACHINE_CONFIG_START(vip_state::vip)
m_cassette->set_interface("vip_cass");
// software lists
- MCFG_SOFTWARE_LIST_ADD("cass_list", "vip")
+ SOFTWARE_LIST(config, "cass_list").set_original("vip");
// internal ram
RAM(config, m_ram).set_default_size("2K").set_extra_options("4K");
diff --git a/src/mame/drivers/vixen.cpp b/src/mame/drivers/vixen.cpp
index 7318a815b59..8a8184e20c4 100644
--- a/src/mame/drivers/vixen.cpp
+++ b/src/mame/drivers/vixen.cpp
@@ -794,7 +794,7 @@ MACHINE_CONFIG_START(vixen_state::vixen)
MCFG_IEEE488_ATN_CALLBACK(WRITELINE(*this, vixen_state, atn_w))
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("disk_list", "vixen")
+ SOFTWARE_LIST(config, "disk_list").set_original("vixen");
// internal ram
RAM(config, RAM_TAG).set_default_size("64K");
diff --git a/src/mame/drivers/volfied.cpp b/src/mame/drivers/volfied.cpp
index deaee227a64..515b7145145 100644
--- a/src/mame/drivers/volfied.cpp
+++ b/src/mame/drivers/volfied.cpp
@@ -256,7 +256,7 @@ MACHINE_CONFIG_START(volfied_state::volfied)
m_cchip->in_ad_callback().set_ioport("F0000D");
m_cchip->out_pb_callback().set(FUNC(volfied_state::counters_w));
- MCFG_QUANTUM_TIME(attotime::from_hz(1200))
+ config.m_minimum_quantum = attotime::from_hz(1200);
TIMER(config, m_cchip_irq_clear).configure_generic(FUNC(volfied_state::cchip_irq_clear_cb));
diff --git a/src/mame/drivers/vtech2.cpp b/src/mame/drivers/vtech2.cpp
index c1b6f11f308..de42c5f3b8d 100644
--- a/src/mame/drivers/vtech2.cpp
+++ b/src/mame/drivers/vtech2.cpp
@@ -490,7 +490,7 @@ MACHINE_CONFIG_START(vtech2_state::laser350)
MCFG_DEVICE_PROGRAM_MAP(mem_map)
MCFG_DEVICE_IO_MAP(io_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", vtech2_state, vtech2_interrupt)
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
ADDRESS_MAP_BANK(config, "banka").set_map(&vtech2_state::m_map350).set_options(ENDIANNESS_LITTLE, 8, 18, 0x4000);
ADDRESS_MAP_BANK(config, "bankb").set_map(&vtech2_state::m_map350).set_options(ENDIANNESS_LITTLE, 8, 18, 0x4000);
diff --git a/src/mame/drivers/wangpc.cpp b/src/mame/drivers/wangpc.cpp
index 3b104f1a75e..c941b9d3e6b 100644
--- a/src/mame/drivers/wangpc.cpp
+++ b/src/mame/drivers/wangpc.cpp
@@ -1280,7 +1280,7 @@ MACHINE_CONFIG_START(wangpc_state::wangpc)
MCFG_DEVICE_PROGRAM_MAP(wangpc_mem)
MCFG_DEVICE_IO_MAP(wangpc_io)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE(I8259A_TAG, pic8259_device, inta_cb)
- //MCFG_QUANTUM_PERFECT_CPU(I8086_TAG)
+ //config.m_perfect_cpu_quantum = subtag(I8086_TAG);
// devices
AM9517A(config, m_dmac, 4000000);
@@ -1372,7 +1372,7 @@ MACHINE_CONFIG_START(wangpc_state::wangpc)
RAM(config, RAM_TAG).set_default_size("128K");
// software list
- MCFG_SOFTWARE_LIST_ADD("flop_list", "wangpc")
+ SOFTWARE_LIST(config, "flop_list").set_original("wangpc");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/wheelfir.cpp b/src/mame/drivers/wheelfir.cpp
index 3dbf27768b5..b8945f3c4eb 100644
--- a/src/mame/drivers/wheelfir.cpp
+++ b/src/mame/drivers/wheelfir.cpp
@@ -740,7 +740,7 @@ MACHINE_CONFIG_START(wheelfir_state::wheelfir)
MCFG_DEVICE_ADD("subcpu", M68000, 32000000/2)
MCFG_DEVICE_PROGRAM_MAP(wheelfir_sub)
- //MCFG_QUANTUM_TIME(attotime::from_hz(12000))
+ //config.m_minimum_quantum = attotime::from_hz(12000);
adc0808_device &adc(ADC0808(config, "adc", 500000)); // unknown clock
adc.eoc_ff_callback().set(FUNC(wheelfir_state::adc_eoc_w));
diff --git a/src/mame/drivers/witch.cpp b/src/mame/drivers/witch.cpp
index 15bf51bfefa..a20142771b4 100644
--- a/src/mame/drivers/witch.cpp
+++ b/src/mame/drivers/witch.cpp
@@ -965,7 +965,7 @@ MACHINE_CONFIG_START(witch_state::witch)
MCFG_DEVICE_PROGRAM_MAP(witch_sub_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", witch_state, irq0_line_assert)
- MCFG_QUANTUM_TIME(attotime::from_hz(6000))
+ config.m_minimum_quantum = attotime::from_hz(6000);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
diff --git a/src/mame/drivers/wswan.cpp b/src/mame/drivers/wswan.cpp
index 763bbf58d98..bc539ea0e28 100644
--- a/src/mame/drivers/wswan.cpp
+++ b/src/mame/drivers/wswan.cpp
@@ -139,7 +139,7 @@ MACHINE_CONFIG_START(wswan_state::wswan)
config.set_default_layout(layout_wswan);
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1);
@@ -158,17 +158,17 @@ MACHINE_CONFIG_START(wswan_state::wswan)
MCFG_DEVICE_ADD(m_cart, WS_CART_SLOT, 3.072_MHz_XTAL / 8, wswan_cart, nullptr)
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list","wswan")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("wsc_list","wscolor")
+ SOFTWARE_LIST(config, "cart_list").set_original("wswan");
+ SOFTWARE_LIST(config, "wsc_list").set_compatible("wscolor");
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("pc2_list","pockchalv2")
+ SOFTWARE_LIST(config, "pc2_list").set_compatible("pockchalv2");
MACHINE_CONFIG_END
-MACHINE_CONFIG_START(wscolor_state::wscolor)
+void wscolor_state::wscolor(machine_config &config)
+{
wswan(config);
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_PROGRAM_MAP(wscolor_mem)
+ m_maincpu->set_addrmap(AS_PROGRAM, &wscolor_state::wscolor_mem);
m_vdp->set_vdp_type(VDP_TYPE_WSC);
@@ -177,11 +177,10 @@ MACHINE_CONFIG_START(wscolor_state::wscolor)
palette.set_init(FUNC(wscolor_state::wscolor_palette));
/* software lists */
- config.device_remove("cart_list");
config.device_remove("wsc_list");
- MCFG_SOFTWARE_LIST_ADD("cart_list","wscolor")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("ws_list","wswan")
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config.replace(), "cart_list").set_original("wscolor");
+ SOFTWARE_LIST(config, "ws_list").set_compatible("wswan");
+}
/***************************************************************************
diff --git a/src/mame/drivers/wyvernf0.cpp b/src/mame/drivers/wyvernf0.cpp
index 0f6c71f2dd2..b29ef38dcb4 100644
--- a/src/mame/drivers/wyvernf0.cpp
+++ b/src/mame/drivers/wyvernf0.cpp
@@ -659,9 +659,9 @@ void wyvernf0_state::wyvernf0(machine_config &config)
m_audiocpu->set_addrmap(AS_PROGRAM, &wyvernf0_state::sound_map);
m_audiocpu->set_periodic_int(FUNC(wyvernf0_state::irq0_line_hold), attotime::from_hz(60*2)); // IRQ generated by ??? (drives music tempo), NMI by main cpu
-// MCFG_DEVICE_ADD("mcu", M68705P5, 4000000) // ?
+// M68705P5(config, "mcu", 4000000); // ?
-// MCFG_QUANTUM_TIME(attotime::from_hz(6000)) // 100 CPU slices per second to synchronize between the MCU and the main CPU
+// config.m_minimum_quantum = attotime::from_hz(6000); // 100 CPU slices per second to synchronize between the MCU and the main CPU
// video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
diff --git a/src/mame/drivers/x07.cpp b/src/mame/drivers/x07.cpp
index 2d8b0b01e80..7db018ad00b 100644
--- a/src/mame/drivers/x07.cpp
+++ b/src/mame/drivers/x07.cpp
@@ -1531,8 +1531,8 @@ MACHINE_CONFIG_START(x07_state::x07)
m_cassette->set_interface("x07_cass");
/* Software lists */
- MCFG_SOFTWARE_LIST_ADD("card_list", "x07_card")
- MCFG_SOFTWARE_LIST_ADD("cass_list", "x07_cass")
+ SOFTWARE_LIST(config, "card_list").set_original("x07_card");
+ SOFTWARE_LIST(config, "cass_list").set_original("x07_cass");
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mame/drivers/x1.cpp b/src/mame/drivers/x1.cpp
index bf13ede916f..1f98876dd19 100644
--- a/src/mame/drivers/x1.cpp
+++ b/src/mame/drivers/x1.cpp
@@ -2247,7 +2247,7 @@ MACHINE_CONFIG_START(x1_state::x1)
FLOPPY_CONNECTOR(config, "fdc:2", x1_floppies, "dd", x1_state::floppy_formats);
FLOPPY_CONNECTOR(config, "fdc:3", x1_floppies, "dd", x1_state::floppy_formats);
- MCFG_SOFTWARE_LIST_ADD("flop_list","x1_flop")
+ SOFTWARE_LIST(config, "flop_list").set_original("x1_flop");
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "x1_cart")
MCFG_GENERIC_EXTENSIONS("bin,rom")
@@ -2270,7 +2270,7 @@ MACHINE_CONFIG_START(x1_state::x1)
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED);
m_cassette->set_interface("x1_cass");
- MCFG_SOFTWARE_LIST_ADD("cass_list","x1_cass")
+ SOFTWARE_LIST(config, "cass_list").set_original("x1_cass");
TIMER(config, "keyboard_timer").configure_periodic(FUNC(x1_state::x1_keyboard_callback), attotime::from_hz(250));
TIMER(config, "cmt_wind_timer").configure_periodic(FUNC(x1_state::x1_cmt_wind_timer), attotime::from_hz(16));
diff --git a/src/mame/drivers/x1twin.cpp b/src/mame/drivers/x1twin.cpp
index f1025f74064..03f01c80003 100644
--- a/src/mame/drivers/x1twin.cpp
+++ b/src/mame/drivers/x1twin.cpp
@@ -485,7 +485,7 @@ MACHINE_CONFIG_START(x1twin_state::x1twin)
FLOPPY_CONNECTOR(config, "fdc:2", x1_floppies, "dd", x1_state::floppy_formats);
FLOPPY_CONNECTOR(config, "fdc:3", x1_floppies, "dd", x1_state::floppy_formats);
- MCFG_SOFTWARE_LIST_ADD("flop_list","x1_flop")
+ SOFTWARE_LIST(config, "flop_list").set_original("x1_flop");
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "x1_cart")
MCFG_GENERIC_EXTENSIONS("bin,rom")
@@ -513,7 +513,7 @@ MACHINE_CONFIG_START(x1twin_state::x1twin)
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED);
m_cassette->set_interface("x1_cass");
- MCFG_SOFTWARE_LIST_ADD("cass_list","x1_cass")
+ SOFTWARE_LIST(config, "cass_list").set_original("x1_cass");
TIMER(config, "keyboard_timer").configure_periodic(FUNC(x1twin_state::x1_keyboard_callback), attotime::from_hz(250));
TIMER(config, "cmt_wind_timer").configure_periodic(FUNC(x1twin_state::x1_cmt_wind_timer), attotime::from_hz(16));
diff --git a/src/mame/drivers/x68k.cpp b/src/mame/drivers/x68k.cpp
index d083d5dce10..f62288e34d5 100644
--- a/src/mame/drivers/x68k.cpp
+++ b/src/mame/drivers/x68k.cpp
@@ -1552,7 +1552,7 @@ static void keyboard_devices(device_slot_interface &device)
}
MACHINE_CONFIG_START(x68k_state::x68000_base)
- MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ config.m_minimum_quantum = attotime::from_hz(60);
/* device hardware */
MC68901(config, m_mfpdev, 16_MHz_XTAL / 4);
diff --git a/src/mame/drivers/xain.cpp b/src/mame/drivers/xain.cpp
index 24d4958fb3e..174d6f93117 100644
--- a/src/mame/drivers/xain.cpp
+++ b/src/mame/drivers/xain.cpp
@@ -486,7 +486,7 @@ MACHINE_CONFIG_START(xain_state::xsleena)
TAITO68705_MCU(config, m_mcu, MCU_CLOCK);
- MCFG_QUANTUM_PERFECT_CPU("maincpu")
+ config.m_perfect_cpu_quantum = subtag("maincpu");
// video hardware
MCFG_SCREEN_ADD(m_screen, RASTER)
diff --git a/src/mame/drivers/xerox820.cpp b/src/mame/drivers/xerox820.cpp
index f197dce2e2f..778d5969e61 100644
--- a/src/mame/drivers/xerox820.cpp
+++ b/src/mame/drivers/xerox820.cpp
@@ -665,7 +665,7 @@ MACHINE_CONFIG_START(xerox820_state::xerox820)
RAM(config, m_ram).set_default_size("64K");
// software lists
- MCFG_SOFTWARE_LIST_ADD("flop_list", "xerox820")
+ SOFTWARE_LIST(config, "flop_list").set_original("xerox820");
MCFG_QUICKLOAD_ADD("quickload", xerox820_state, xerox820, "com,cpm", 3)
MACHINE_CONFIG_END
@@ -770,7 +770,7 @@ MACHINE_CONFIG_START(xerox820ii_state::xerox820ii)
RAM(config, m_ram).set_default_size("64K");
// software lists
- MCFG_SOFTWARE_LIST_ADD("flop_list", "xerox820ii")
+ SOFTWARE_LIST(config, "flop_list").set_original("xerox820ii");
MCFG_QUICKLOAD_ADD("quickload", xerox820_state, xerox820, "com,cpm", 3)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/xxmissio.cpp b/src/mame/drivers/xxmissio.cpp
index c28818b9322..8a20845c4de 100644
--- a/src/mame/drivers/xxmissio.cpp
+++ b/src/mame/drivers/xxmissio.cpp
@@ -275,7 +275,7 @@ MACHINE_CONFIG_START(xxmissio_state::xxmissio)
MCFG_DEVICE_PROGRAM_MAP(map2)
MCFG_DEVICE_PERIODIC_INT_DRIVER(xxmissio_state, interrupt_s, 2*60)
- MCFG_QUANTUM_TIME(attotime::from_hz(6000))
+ config.m_minimum_quantum = attotime::from_hz(6000);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/z80ne.cpp b/src/mame/drivers/z80ne.cpp
index c4e58307fbe..7b36b2eae5b 100644
--- a/src/mame/drivers/z80ne.cpp
+++ b/src/mame/drivers/z80ne.cpp
@@ -441,7 +441,7 @@ MACHINE_CONFIG_START(z80ne_state::z80ne)
RAM(config, m_ram).set_default_size("32K");
// all known tapes require LX.388 expansion
- //MCFG_SOFTWARE_LIST_ADD("cass_list","z80ne_cass")
+ //SOFTWARE_LIST(config, "cass_list").set_original("z80ne_cass");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(z80ne_state::z80net)
@@ -480,7 +480,7 @@ MACHINE_CONFIG_START(z80ne_state::z80net)
/* internal ram */
m_ram->set_default_size("32K").set_extra_options("1K");
- MCFG_SOFTWARE_LIST_ADD("cass_list","z80ne_cass")
+ SOFTWARE_LIST(config, "cass_list").set_original("z80ne_cass");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(z80ne_state::z80netb)
@@ -530,7 +530,7 @@ MACHINE_CONFIG_START(z80ne_state::z80netb)
/* internal ram */
RAM(config, m_ram).set_default_size("32K").set_extra_options("1K");
- MCFG_SOFTWARE_LIST_ADD("cass_list","z80ne_cass")
+ SOFTWARE_LIST(config, "cass_list").set_original("z80ne_cass");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(z80netf_state::z80netf)
@@ -576,8 +576,8 @@ MACHINE_CONFIG_START(z80netf_state::z80netf)
/* internal ram */
RAM(config, m_ram).set_default_size("56K");
- MCFG_SOFTWARE_LIST_ADD("cass_list","z80ne_cass")
- MCFG_SOFTWARE_LIST_ADD("flop_list","z80ne_flop")
+ SOFTWARE_LIST(config, "cass_list").set_original("z80ne_cass");
+ SOFTWARE_LIST(config, "flop_list").set_original("z80ne_flop");
MACHINE_CONFIG_END
/******************************************************************************
diff --git a/src/mame/drivers/z88.cpp b/src/mame/drivers/z88.cpp
index 41178d32491..577f2be7e96 100644
--- a/src/mame/drivers/z88.cpp
+++ b/src/mame/drivers/z88.cpp
@@ -642,7 +642,7 @@ MACHINE_CONFIG_START(z88_state::z88)
MCFG_Z88CART_SLOT_OUT_FLP_CB(WRITELINE("blink", upd65031_device, flp_w))
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list", "z88_cart")
+ SOFTWARE_LIST(config, "cart_list").set_original("z88_cart");
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/zaccaria.cpp b/src/mame/drivers/zaccaria.cpp
index c37fb7fb608..9e2bd9c06fd 100644
--- a/src/mame/drivers/zaccaria.cpp
+++ b/src/mame/drivers/zaccaria.cpp
@@ -337,7 +337,7 @@ MACHINE_CONFIG_START(zaccaria_state::zaccaria)
MCFG_DEVICE_ADD("maincpu", Z80,XTAL(18'432'000)/6) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(main_map)
-// MCFG_QUANTUM_TIME(attotime::from_hz(1000000))
+// config.m_minimum_quantum = attotime::from_hz(1000000);
WATCHDOG_TIMER(config, "watchdog");
diff --git a/src/mame/machine/apollo.cpp b/src/mame/machine/apollo.cpp
index 58503c6e27d..8a99cd83a71 100644
--- a/src/mame/machine/apollo.cpp
+++ b/src/mame/machine/apollo.cpp
@@ -1142,7 +1142,7 @@ MACHINE_CONFIG_START(apollo_state::common)
MCFG_DEVICE_ADD("isa6", ISA16_SLOT, 0, APOLLO_ISA_TAG, apollo_isa_cards, nullptr, false)
MCFG_DEVICE_ADD("isa7", ISA16_SLOT, 0, APOLLO_ISA_TAG, apollo_isa_cards, nullptr, false)
- MCFG_SOFTWARE_LIST_ADD("ctape_list", "apollo_ctape")
+ SOFTWARE_LIST(config, "ctape_list").set_original("apollo_ctape");
MACHINE_CONFIG_END
// for machines with the keyboard and a graphics head
diff --git a/src/mame/machine/at.cpp b/src/mame/machine/at.cpp
index b05778a5749..df35df56944 100644
--- a/src/mame/machine/at.cpp
+++ b/src/mame/machine/at.cpp
@@ -46,12 +46,13 @@ void at_mb_device::device_start()
downcast<i80286_cpu_device *>(m_maincpu.target())->set_a20_callback(i80286_cpu_device::a20_cb(&at_mb_device::a20_286, this));
}
-MACHINE_CONFIG_START(at_mb_device::at_softlists)
+void at_mb_device::at_softlists(machine_config &config)
+{
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("pc_disk_list","ibm5150")
- MCFG_SOFTWARE_LIST_ADD("at_disk_list","ibm5170")
- MCFG_SOFTWARE_LIST_ADD("at_cdrom_list","ibm5170_cdrom")
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config, "pc_disk_list").set_original("ibm5150");
+ SOFTWARE_LIST(config, "at_disk_list").set_original("ibm5170");
+ SOFTWARE_LIST(config, "at_cdrom_list").set_original("ibm5170_cdrom");
+}
MACHINE_CONFIG_START(at_mb_device::device_add_mconfig)
PIT8254(config, m_pit8254, 0);
diff --git a/src/mame/machine/gaelco_ds5002fp.cpp b/src/mame/machine/gaelco_ds5002fp.cpp
index 9f2837ba95f..36f0aab9b11 100644
--- a/src/mame/machine/gaelco_ds5002fp.cpp
+++ b/src/mame/machine/gaelco_ds5002fp.cpp
@@ -38,15 +38,16 @@ WRITE8_MEMBER(gaelco_ds5002fp_device::hostmem_w)
m_hostmem->write_byte(offset, data);
}
-MACHINE_CONFIG_START(gaelco_ds5002fp_device::device_add_mconfig)
- MCFG_DEVICE_ADD("mcu", DS5002FP, DERIVED_CLOCK(1, 1))
- MCFG_DEVICE_PROGRAM_MAP(dallas_rom)
- MCFG_DEVICE_IO_MAP(dallas_ram)
+void gaelco_ds5002fp_device::device_add_mconfig(machine_config &config)
+{
+ ds5002fp_device &mcu(DS5002FP(config, "mcu", DERIVED_CLOCK(1, 1)));
+ mcu.set_addrmap(AS_PROGRAM, &gaelco_ds5002fp_device::dallas_rom);
+ mcu.set_addrmap(AS_IO, &gaelco_ds5002fp_device::dallas_ram);
- MCFG_QUANTUM_PERFECT_CPU("mcu")
+ config.m_perfect_cpu_quantum = subtag("mcu");
NVRAM(config, "sram", nvram_device::DEFAULT_ALL_0);
-MACHINE_CONFIG_END
+}
void gaelco_ds5002fp_device::device_start()
{
diff --git a/src/mame/machine/gaelco_ds5002fp.h b/src/mame/machine/gaelco_ds5002fp.h
index f5eaf91e375..675e2c49267 100644
--- a/src/mame/machine/gaelco_ds5002fp.h
+++ b/src/mame/machine/gaelco_ds5002fp.h
@@ -14,12 +14,6 @@ class gaelco_ds5002fp_device : public device_t, public device_memory_interface
public:
gaelco_ds5002fp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // not really public, but address map needs to get them
- DECLARE_READ8_MEMBER(hostmem_r);
- DECLARE_WRITE8_MEMBER(hostmem_w);
-
- void dallas_ram(address_map &map);
- void dallas_rom(address_map &map);
protected:
// device_t implementation
virtual void device_add_mconfig(machine_config &config) override;
@@ -29,8 +23,15 @@ protected:
virtual space_config_vector memory_space_config() const override;
private:
+
+ void dallas_ram(address_map &map);
+ void dallas_rom(address_map &map);
+
address_space_config const m_hostmem_config;
address_space *m_hostmem;
+
+ DECLARE_READ8_MEMBER(hostmem_r);
+ DECLARE_WRITE8_MEMBER(hostmem_w);
};
#endif // MAME_MACHINE_GAELCO_DS5002FP_H
diff --git a/src/mame/machine/megacd.cpp b/src/mame/machine/megacd.cpp
index b5f5a996e73..6b5b272c4c4 100644
--- a/src/mame/machine/megacd.cpp
+++ b/src/mame/machine/megacd.cpp
@@ -319,7 +319,7 @@ MACHINE_CONFIG_START(sega_segacd_device::device_add_mconfig)
NVRAM(config, "backupram", nvram_device::DEFAULT_ALL_0);
- MCFG_QUANTUM_PERFECT_CPU("segacd_68k") // perfect sync to the fastest cpu
+ config.m_perfect_cpu_quantum = subtag("segacd_68k"); // perfect sync to the fastest cpu
MACHINE_CONFIG_END
diff --git a/src/mame/machine/xbox.cpp b/src/mame/machine/xbox.cpp
index 0f5b4ea0829..2235c321ab4 100644
--- a/src/mame/machine/xbox.cpp
+++ b/src/mame/machine/xbox.cpp
@@ -845,7 +845,7 @@ MACHINE_CONFIG_START(xbox_base_state::xbox_base)
MCFG_DEVICE_IO_MAP(xbox_base_map_io)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(xbox_base_state, irq_callback)
- MCFG_QUANTUM_TIME(attotime::from_hz(6000))
+ config.m_minimum_quantum = attotime::from_hz(6000);
PCI_ROOT(config, ":pci", 0);
NV2A_HOST(config, ":pci:00.0", 0, m_maincpu);
diff --git a/src/mame/video/decodmd1.cpp b/src/mame/video/decodmd1.cpp
index 3467d4801da..f8a76bc7d28 100644
--- a/src/mame/video/decodmd1.cpp
+++ b/src/mame/video/decodmd1.cpp
@@ -201,7 +201,7 @@ MACHINE_CONFIG_START(decodmd_type1_device::device_add_mconfig)
MCFG_DEVICE_PROGRAM_MAP(decodmd1_map)
MCFG_DEVICE_IO_MAP(decodmd1_io_map)
- MCFG_QUANTUM_TIME(attotime::from_hz(50))
+ config.m_minimum_quantum = attotime::from_hz(50);
TIMER(config, "nmi_timer").configure_periodic(FUNC(decodmd_type1_device::dmd_nmi), attotime::from_hz(2000)); // seems a lot