summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGravatarGravatar Vas Crabb <vas@vastheman.com>2018-02-14 22:40:47 +1100
committerGravatarGravatar Vas Crabb <vas@vastheman.com>2018-02-14 23:46:17 +1100
commitf4df51e5223578e206574234c0b8d1af300c3324 (patch)
treefd5c680c45baee30304a31723132444fe7359dfb /src
parent1bd974c2b4f1f8815065efd4f5fcc0443ae15d28 (diff)
(nw) screw you macros and the horse you rode in on
There's no voodoo involved in derived machine configurations and fragments any more. The macros were just obfuscating things at this point.
Diffstat (limited to 'src')
-rw-r--r--src/devices/machine/ie15.cpp2
-rw-r--r--src/emu/mconfig.h21
-rw-r--r--src/mame/audio/cinemat.cpp3
-rw-r--r--src/mame/audio/dkong.cpp6
-rw-r--r--src/mame/audio/redalert.cpp6
-rw-r--r--src/mame/audio/timeplt.cpp3
-rw-r--r--src/mame/drivers/1945kiii.cpp3
-rw-r--r--src/mame/drivers/20pacgal.cpp5
-rw-r--r--src/mame/drivers/39in1.cpp3
-rw-r--r--src/mame/drivers/4enraya.cpp3
-rw-r--r--src/mame/drivers/8080bw.cpp111
-rw-r--r--src/mame/drivers/a2600.cpp4
-rw-r--r--src/mame/drivers/a51xx.cpp3
-rw-r--r--src/mame/drivers/a7800.cpp3
-rw-r--r--src/mame/drivers/aa310.cpp39
-rw-r--r--src/mame/drivers/abc80.cpp2
-rw-r--r--src/mame/drivers/abc80x.cpp8
-rw-r--r--src/mame/drivers/ac1.cpp3
-rw-r--r--src/mame/drivers/adp.cpp15
-rw-r--r--src/mame/drivers/airbustr.cpp3
-rw-r--r--src/mame/drivers/airraid.cpp3
-rw-r--r--src/mame/drivers/aleck64.cpp3
-rw-r--r--src/mame/drivers/alesis.cpp6
-rw-r--r--src/mame/drivers/alg.cpp10
-rw-r--r--src/mame/drivers/allied.cpp2
-rw-r--r--src/mame/drivers/alpha68k.cpp3
-rw-r--r--src/mame/drivers/alphasma.cpp3
-rw-r--r--src/mame/drivers/alphatpx.cpp6
-rw-r--r--src/mame/drivers/amaticmg.cpp6
-rw-r--r--src/mame/drivers/ambush.cpp6
-rw-r--r--src/mame/drivers/amiga.cpp98
-rw-r--r--src/mame/drivers/ampoker2.cpp3
-rw-r--r--src/mame/drivers/amstr_pc.cpp9
-rw-r--r--src/mame/drivers/amstrad.cpp19
-rw-r--r--src/mame/drivers/amusco.cpp3
-rw-r--r--src/mame/drivers/angelkds.cpp3
-rw-r--r--src/mame/drivers/apf.cpp3
-rw-r--r--src/mame/drivers/apollo.cpp32
-rw-r--r--src/mame/drivers/apple2.cpp15
-rw-r--r--src/mame/drivers/apple2e.cpp36
-rw-r--r--src/mame/drivers/apple2gs.cpp3
-rw-r--r--src/mame/drivers/appoooh.cpp9
-rw-r--r--src/mame/drivers/apricot.cpp3
-rw-r--r--src/mame/drivers/arcadecl.cpp3
-rw-r--r--src/mame/drivers/aristmk4.cpp6
-rw-r--r--src/mame/drivers/aristmk5.cpp9
-rw-r--r--src/mame/drivers/arkanoid.cpp15
-rw-r--r--src/mame/drivers/armedf.cpp9
-rw-r--r--src/mame/drivers/arsystems.cpp5
-rw-r--r--src/mame/drivers/artmagic.cpp9
-rw-r--r--src/mame/drivers/asteroid.cpp18
-rw-r--r--src/mame/drivers/astinvad.cpp3
-rw-r--r--src/mame/drivers/astrafr.cpp21
-rw-r--r--src/mame/drivers/astrcorp.cpp6
-rw-r--r--src/mame/drivers/astrocde.cpp40
-rw-r--r--src/mame/drivers/astrof.cpp18
-rw-r--r--src/mame/drivers/at.cpp54
-rw-r--r--src/mame/drivers/atari400.cpp36
-rw-r--r--src/mame/drivers/atari_s1.cpp8
-rw-r--r--src/mame/drivers/atari_s2.cpp5
-rw-r--r--src/mame/drivers/atarifb.cpp9
-rw-r--r--src/mame/drivers/atarig1.cpp21
-rw-r--r--src/mame/drivers/atarig42.cpp6
-rw-r--r--src/mame/drivers/atarigt.cpp9
-rw-r--r--src/mame/drivers/atarigx2.cpp6
-rw-r--r--src/mame/drivers/atarist.cpp12
-rw-r--r--src/mame/drivers/atarisy1.cpp18
-rw-r--r--src/mame/drivers/atarisy2.cpp15
-rw-r--r--src/mame/drivers/atarisy4.cpp3
-rw-r--r--src/mame/drivers/atetris.cpp3
-rw-r--r--src/mame/drivers/atm.cpp6
-rw-r--r--src/mame/drivers/atom.cpp12
-rw-r--r--src/mame/drivers/atpci.cpp4
-rw-r--r--src/mame/drivers/atvtrack.cpp3
-rw-r--r--src/mame/drivers/avalnche.cpp10
-rw-r--r--src/mame/drivers/avt.cpp3
-rw-r--r--src/mame/drivers/b2m.cpp3
-rw-r--r--src/mame/drivers/bagman.cpp9
-rw-r--r--src/mame/drivers/balsente.cpp3
-rw-r--r--src/mame/drivers/barni.cpp2
-rw-r--r--src/mame/drivers/basic52.cpp3
-rw-r--r--src/mame/drivers/battlex.cpp3
-rw-r--r--src/mame/drivers/bbc.cpp74
-rw-r--r--src/mame/drivers/bcs3.cpp3
-rw-r--r--src/mame/drivers/bebox.cpp3
-rw-r--r--src/mame/drivers/berzerk.cpp3
-rw-r--r--src/mame/drivers/bestleag.cpp3
-rw-r--r--src/mame/drivers/bfm_sc1.cpp6
-rw-r--r--src/mame/drivers/bfm_sc2.cpp29
-rw-r--r--src/mame/drivers/bfm_sc4.cpp46
-rw-r--r--src/mame/drivers/bingor.cpp3
-rw-r--r--src/mame/drivers/bishi.cpp3
-rw-r--r--src/mame/drivers/bitgraph.cpp6
-rw-r--r--src/mame/drivers/bk.cpp3
-rw-r--r--src/mame/drivers/bking.cpp3
-rw-r--r--src/mame/drivers/blitz68k.cpp3
-rw-r--r--src/mame/drivers/blktiger.cpp3
-rw-r--r--src/mame/drivers/blmbycar.cpp3
-rw-r--r--src/mame/drivers/blockout.cpp3
-rw-r--r--src/mame/drivers/bloodbro.cpp6
-rw-r--r--src/mame/drivers/blueprnt.cpp3
-rw-r--r--src/mame/drivers/bmcpokr.cpp3
-rw-r--r--src/mame/drivers/bml3.cpp9
-rw-r--r--src/mame/drivers/btime.cpp27
-rw-r--r--src/mame/drivers/bublbobl.cpp15
-rw-r--r--src/mame/drivers/bw12.cpp6
-rw-r--r--src/mame/drivers/bwidow.cpp16
-rw-r--r--src/mame/drivers/by17.cpp2
-rw-r--r--src/mame/drivers/by35.cpp10
-rw-r--r--src/mame/drivers/by6803.cpp2
-rw-r--r--src/mame/drivers/byvid.cpp3
-rw-r--r--src/mame/drivers/bzone.cpp8
-rw-r--r--src/mame/drivers/c128.cpp15
-rw-r--r--src/mame/drivers/c64.cpp15
-rw-r--r--src/mame/drivers/cabal.cpp6
-rw-r--r--src/mame/drivers/calchase.cpp8
-rw-r--r--src/mame/drivers/calomega.cpp9
-rw-r--r--src/mame/drivers/calorie.cpp3
-rw-r--r--src/mame/drivers/camplynx.cpp11
-rw-r--r--src/mame/drivers/capbowl.cpp3
-rw-r--r--src/mame/drivers/cave.cpp9
-rw-r--r--src/mame/drivers/cbm2.cpp59
-rw-r--r--src/mame/drivers/cclimber.cpp24
-rw-r--r--src/mame/drivers/cdi.cpp18
-rw-r--r--src/mame/drivers/centiped.cpp24
-rw-r--r--src/mame/drivers/cgc7900.cpp2
-rw-r--r--src/mame/drivers/champbas.cpp15
-rw-r--r--src/mame/drivers/channelf.cpp8
-rw-r--r--src/mame/drivers/chexx.cpp3
-rw-r--r--src/mame/drivers/chihiro.cpp6
-rw-r--r--src/mame/drivers/chinsan.cpp3
-rw-r--r--src/mame/drivers/cidelsa.cpp8
-rw-r--r--src/mame/drivers/cinemat.cpp95
-rw-r--r--src/mame/drivers/cischeat.cpp15
-rw-r--r--src/mame/drivers/cninja.cpp3
-rw-r--r--src/mame/drivers/coco12.cpp22
-rw-r--r--src/mame/drivers/coco3.cpp13
-rw-r--r--src/mame/drivers/coinmstr.cpp15
-rw-r--r--src/mame/drivers/coleco.cpp9
-rw-r--r--src/mame/drivers/comebaby.cpp2
-rw-r--r--src/mame/drivers/compc.cpp3
-rw-r--r--src/mame/drivers/compis.cpp3
-rw-r--r--src/mame/drivers/comx35.cpp4
-rw-r--r--src/mame/drivers/coolpool.cpp3
-rw-r--r--src/mame/drivers/coolridr.cpp3
-rw-r--r--src/mame/drivers/copsnrob.cpp2
-rw-r--r--src/mame/drivers/cosmic.cpp15
-rw-r--r--src/mame/drivers/cps1.cpp24
-rw-r--r--src/mame/drivers/cps2.cpp6
-rw-r--r--src/mame/drivers/cps3.cpp76
-rw-r--r--src/mame/drivers/crbaloon.cpp2
-rw-r--r--src/mame/drivers/crgolf.cpp6
-rw-r--r--src/mame/drivers/crospang.cpp6
-rw-r--r--src/mame/drivers/crvision.cpp10
-rw-r--r--src/mame/drivers/crystal.cpp9
-rw-r--r--src/mame/drivers/cubo.cpp2
-rw-r--r--src/mame/drivers/cv1k.cpp3
-rw-r--r--src/mame/drivers/cyberbal.cpp3
-rw-r--r--src/mame/drivers/cybiko.cpp6
-rw-r--r--src/mame/drivers/cybstorm.cpp3
-rw-r--r--src/mame/drivers/cyclemb.cpp3
-rw-r--r--src/mame/drivers/dacholer.cpp3
-rw-r--r--src/mame/drivers/dambustr.cpp2
-rw-r--r--src/mame/drivers/dcheese.cpp3
-rw-r--r--src/mame/drivers/ddenlovr.cpp69
-rw-r--r--src/mame/drivers/ddragon.cpp12
-rw-r--r--src/mame/drivers/ddragon3.cpp9
-rw-r--r--src/mame/drivers/de_2.cpp16
-rw-r--r--src/mame/drivers/de_3.cpp8
-rw-r--r--src/mame/drivers/de_3b.cpp4
-rw-r--r--src/mame/drivers/dec0.cpp42
-rw-r--r--src/mame/drivers/dec8.cpp3
-rw-r--r--src/mame/drivers/deco32.cpp12
-rw-r--r--src/mame/drivers/deco_mlc.cpp6
-rw-r--r--src/mame/drivers/decocass.cpp93
-rw-r--r--src/mame/drivers/digel804.cpp3
-rw-r--r--src/mame/drivers/djmain.cpp6
-rw-r--r--src/mame/drivers/dkong.cpp58
-rw-r--r--src/mame/drivers/dlair.cpp6
-rw-r--r--src/mame/drivers/docastle.cpp6
-rw-r--r--src/mame/drivers/dooyong.cpp20
-rw-r--r--src/mame/drivers/dragon.cpp22
-rw-r--r--src/mame/drivers/dreamwld.cpp3
-rw-r--r--src/mame/drivers/dwarfd.cpp6
-rw-r--r--src/mame/drivers/dynax.cpp36
-rw-r--r--src/mame/drivers/dynduke.cpp3
-rw-r--r--src/mame/drivers/electron.cpp3
-rw-r--r--src/mame/drivers/eolith.cpp6
-rw-r--r--src/mame/drivers/ep64.cpp3
-rw-r--r--src/mame/drivers/equites.cpp10
-rw-r--r--src/mame/drivers/esd16.cpp15
-rw-r--r--src/mame/drivers/espial.cpp3
-rw-r--r--src/mame/drivers/esprit.cpp3
-rw-r--r--src/mame/drivers/esq1.cpp3
-rw-r--r--src/mame/drivers/esq5505.cpp9
-rw-r--r--src/mame/drivers/eurocom2.cpp3
-rw-r--r--src/mame/drivers/europc.cpp6
-rw-r--r--src/mame/drivers/eva.cpp4
-rw-r--r--src/mame/drivers/exidy.cpp37
-rw-r--r--src/mame/drivers/exidy440.cpp9
-rw-r--r--src/mame/drivers/expro02.cpp24
-rw-r--r--src/mame/drivers/exprraid.cpp3
-rw-r--r--src/mame/drivers/f1gp.cpp3
-rw-r--r--src/mame/drivers/fanucspmg.cpp3
-rw-r--r--src/mame/drivers/fastfred.cpp6
-rw-r--r--src/mame/drivers/fastinvaders.cpp6
-rw-r--r--src/mame/drivers/fccpu30.cpp27
-rw-r--r--src/mame/drivers/fcrash.cpp9
-rw-r--r--src/mame/drivers/fidel6502.cpp48
-rw-r--r--src/mame/drivers/fidel68k.cpp21
-rw-r--r--src/mame/drivers/firebeat.cpp3
-rw-r--r--src/mame/drivers/firetrk.cpp6
-rw-r--r--src/mame/drivers/flicker.cpp2
-rw-r--r--src/mame/drivers/flstory.cpp3
-rw-r--r--src/mame/drivers/fmtowns.cpp15
-rw-r--r--src/mame/drivers/force68k.cpp2
-rw-r--r--src/mame/drivers/freekick.cpp18
-rw-r--r--src/mame/drivers/fruitpc.cpp4
-rw-r--r--src/mame/drivers/funkball.cpp2
-rw-r--r--src/mame/drivers/funworld.cpp41
-rw-r--r--src/mame/drivers/g627.cpp2
-rw-r--r--src/mame/drivers/gaelco2.cpp9
-rw-r--r--src/mame/drivers/gaelco3d.cpp6
-rw-r--r--src/mame/drivers/gaiden.cpp3
-rw-r--r--src/mame/drivers/galaga.cpp12
-rw-r--r--src/mame/drivers/galaxi.cpp6
-rw-r--r--src/mame/drivers/galaxian.cpp141
-rw-r--r--src/mame/drivers/galaxold.cpp71
-rw-r--r--src/mame/drivers/galgames.cpp9
-rw-r--r--src/mame/drivers/galivan.cpp3
-rw-r--r--src/mame/drivers/galpanic.cpp3
-rw-r--r--src/mame/drivers/gamecstl.cpp2
-rw-r--r--src/mame/drivers/gameking.cpp6
-rw-r--r--src/mame/drivers/gameplan.cpp7
-rw-r--r--src/mame/drivers/gammagic.cpp4
-rw-r--r--src/mame/drivers/gaplus.cpp6
-rw-r--r--src/mame/drivers/gauntlet.cpp12
-rw-r--r--src/mame/drivers/gb.cpp6
-rw-r--r--src/mame/drivers/gberet.cpp3
-rw-r--r--src/mame/drivers/gei.cpp27
-rw-r--r--src/mame/drivers/geniusiq.cpp3
-rw-r--r--src/mame/drivers/genpc.cpp12
-rw-r--r--src/mame/drivers/ghosteo.cpp6
-rw-r--r--src/mame/drivers/gkigt.cpp3
-rw-r--r--src/mame/drivers/glasgow.cpp6
-rw-r--r--src/mame/drivers/glass.cpp3
-rw-r--r--src/mame/drivers/gng.cpp3
-rw-r--r--src/mame/drivers/goldngam.cpp3
-rw-r--r--src/mame/drivers/goldnpkr.cpp33
-rw-r--r--src/mame/drivers/goldstar.cpp45
-rw-r--r--src/mame/drivers/goodejan.cpp3
-rw-r--r--src/mame/drivers/gottlieb.cpp29
-rw-r--r--src/mame/drivers/gp_1.cpp5
-rw-r--r--src/mame/drivers/gp_2.cpp2
-rw-r--r--src/mame/drivers/gridcomp.cpp15
-rw-r--r--src/mame/drivers/gstriker.cpp6
-rw-r--r--src/mame/drivers/gticlub.cpp6
-rw-r--r--src/mame/drivers/gts1.cpp2
-rw-r--r--src/mame/drivers/gts3.cpp2
-rw-r--r--src/mame/drivers/gts3a.cpp2
-rw-r--r--src/mame/drivers/gts80.cpp11
-rw-r--r--src/mame/drivers/gts80a.cpp11
-rw-r--r--src/mame/drivers/gts80b.cpp20
-rw-r--r--src/mame/drivers/gumbo.cpp6
-rw-r--r--src/mame/drivers/gundealr.cpp6
-rw-r--r--src/mame/drivers/halleys.cpp3
-rw-r--r--src/mame/drivers/hankin.cpp2
-rw-r--r--src/mame/drivers/harddriv.cpp54
-rw-r--r--src/mame/drivers/hec2hrp.cpp12
-rw-r--r--src/mame/drivers/hexion.cpp3
-rw-r--r--src/mame/drivers/hh_cop400.cpp6
-rw-r--r--src/mame/drivers/hh_hmcs40.cpp3
-rw-r--r--src/mame/drivers/hh_sm510.cpp12
-rw-r--r--src/mame/drivers/hh_ucom4.cpp3
-rw-r--r--src/mame/drivers/highvdeo.cpp15
-rw-r--r--src/mame/drivers/hitme.cpp3
-rw-r--r--src/mame/drivers/hnayayoi.cpp6
-rw-r--r--src/mame/drivers/hng64.cpp4
-rw-r--r--src/mame/drivers/homedata.cpp6
-rw-r--r--src/mame/drivers/homerun.cpp6
-rw-r--r--src/mame/drivers/horizon.cpp3
-rw-r--r--src/mame/drivers/hornet.cpp12
-rw-r--r--src/mame/drivers/hp48.cpp18
-rw-r--r--src/mame/drivers/hp9845.cpp6
-rw-r--r--src/mame/drivers/hp9k_3xx.cpp15
-rw-r--r--src/mame/drivers/hprot1.cpp6
-rw-r--r--src/mame/drivers/hx20.cpp3
-rw-r--r--src/mame/drivers/hyhoo.cpp3
-rw-r--r--src/mame/drivers/hyperspt.cpp6
-rw-r--r--src/mame/drivers/ibmpc.cpp3
-rw-r--r--src/mame/drivers/ibmpcjr.cpp3
-rw-r--r--src/mame/drivers/idsa.cpp5
-rw-r--r--src/mame/drivers/igs009.cpp3
-rw-r--r--src/mame/drivers/igs011.cpp27
-rw-r--r--src/mame/drivers/igs017.cpp3
-rw-r--r--src/mame/drivers/igspoker.cpp18
-rw-r--r--src/mame/drivers/inder.cpp8
-rw-r--r--src/mame/drivers/inderp.cpp2
-rw-r--r--src/mame/drivers/indigo.cpp3
-rw-r--r--src/mame/drivers/indy_indigo2.cpp6
-rw-r--r--src/mame/drivers/intellec4.cpp6
-rw-r--r--src/mame/drivers/interact.cpp4
-rw-r--r--src/mame/drivers/interpro.cpp33
-rw-r--r--src/mame/drivers/intv.cpp12
-rw-r--r--src/mame/drivers/inufuku.cpp3
-rw-r--r--src/mame/drivers/ironhors.cpp3
-rw-r--r--src/mame/drivers/isbc.cpp9
-rw-r--r--src/mame/drivers/isbc8010.cpp6
-rw-r--r--src/mame/drivers/iskr103x.cpp3
-rw-r--r--src/mame/drivers/iteagle.cpp33
-rw-r--r--src/mame/drivers/itech32.cpp12
-rw-r--r--src/mame/drivers/itech8.cpp66
-rw-r--r--src/mame/drivers/itgamble.cpp6
-rw-r--r--src/mame/drivers/jack.cpp12
-rw-r--r--src/mame/drivers/jaguar.cpp9
-rw-r--r--src/mame/drivers/jalmah.cpp3
-rw-r--r--src/mame/drivers/jangou.cpp9
-rw-r--r--src/mame/drivers/jedi.cpp4
-rw-r--r--src/mame/drivers/jeutel.cpp2
-rw-r--r--src/mame/drivers/joctronic.cpp3
-rw-r--r--src/mame/drivers/jollyjgr.cpp3
-rw-r--r--src/mame/drivers/jp.cpp5
-rw-r--r--src/mame/drivers/jtc.cpp12
-rw-r--r--src/mame/drivers/kaneko16.cpp15
-rw-r--r--src/mame/drivers/kangaroo.cpp3
-rw-r--r--src/mame/drivers/karnov.cpp6
-rw-r--r--src/mame/drivers/kaypro.cpp15
-rw-r--r--src/mame/drivers/kc.cpp3
-rw-r--r--src/mame/drivers/kenseim.cpp3
-rw-r--r--src/mame/drivers/kingdrby.cpp6
-rw-r--r--src/mame/drivers/klax.cpp3
-rw-r--r--src/mame/drivers/konamigv.cpp12
-rw-r--r--src/mame/drivers/konamigx.cpp45
-rw-r--r--src/mame/drivers/konamim2.cpp3
-rw-r--r--src/mame/drivers/ksys573.cpp196
-rw-r--r--src/mame/drivers/kyocera.cpp14
-rw-r--r--src/mame/drivers/kyugo.cpp15
-rw-r--r--src/mame/drivers/ladybug.cpp3
-rw-r--r--src/mame/drivers/ladyfrog.cpp3
-rw-r--r--src/mame/drivers/laserbat.cpp6
-rw-r--r--src/mame/drivers/lasso.cpp12
-rw-r--r--src/mame/drivers/lc80.cpp3
-rw-r--r--src/mame/drivers/ldplayer.cpp6
-rw-r--r--src/mame/drivers/legionna.cpp3
-rw-r--r--src/mame/drivers/leland.cpp16
-rw-r--r--src/mame/drivers/lethal.cpp3
-rw-r--r--src/mame/drivers/lethalj.cpp3
-rw-r--r--src/mame/drivers/liberate.cpp12
-rw-r--r--src/mame/drivers/liberatr.cpp3
-rw-r--r--src/mame/drivers/lisa.cpp6
-rw-r--r--src/mame/drivers/lsasquad.cpp3
-rw-r--r--src/mame/drivers/ltd.cpp4
-rw-r--r--src/mame/drivers/luckgrln.cpp3
-rw-r--r--src/mame/drivers/lvcards.cpp6
-rw-r--r--src/mame/drivers/lwings.cpp9
-rw-r--r--src/mame/drivers/lynx.cpp3
-rw-r--r--src/mame/drivers/m10.cpp6
-rw-r--r--src/mame/drivers/m107.cpp9
-rw-r--r--src/mame/drivers/m5.cpp13
-rw-r--r--src/mame/drivers/m52.cpp5
-rw-r--r--src/mame/drivers/m57.cpp2
-rw-r--r--src/mame/drivers/m62.cpp35
-rw-r--r--src/mame/drivers/m63.cpp3
-rw-r--r--src/mame/drivers/m68705prg.cpp12
-rw-r--r--src/mame/drivers/m72.cpp40
-rw-r--r--src/mame/drivers/m90.cpp27
-rw-r--r--src/mame/drivers/m92.cpp45
-rw-r--r--src/mame/drivers/mac.cpp63
-rw-r--r--src/mame/drivers/mac128.cpp6
-rw-r--r--src/mame/drivers/macp.cpp8
-rw-r--r--src/mame/drivers/macrossp.cpp3
-rw-r--r--src/mame/drivers/madalien.cpp2
-rw-r--r--src/mame/drivers/magic10.cpp12
-rw-r--r--src/mame/drivers/magicard.cpp3
-rw-r--r--src/mame/drivers/magicfly.cpp6
-rw-r--r--src/mame/drivers/magtouch.cpp4
-rw-r--r--src/mame/drivers/malzak.cpp3
-rw-r--r--src/mame/drivers/mappy.cpp15
-rw-r--r--src/mame/drivers/marineb.cpp18
-rw-r--r--src/mame/drivers/mario.cpp10
-rw-r--r--src/mame/drivers/maygay1b.cpp6
-rw-r--r--src/mame/drivers/mbee.cpp21
-rw-r--r--src/mame/drivers/mc10.cpp3
-rw-r--r--src/mame/drivers/mcatadv.cpp3
-rw-r--r--src/mame/drivers/mcr.cpp24
-rw-r--r--src/mame/drivers/mcr3.cpp15
-rw-r--r--src/mame/drivers/mcr68.cpp18
-rw-r--r--src/mame/drivers/mediagx.cpp2
-rw-r--r--src/mame/drivers/megadriv.cpp30
-rw-r--r--src/mame/drivers/megadriv_acbl.cpp6
-rw-r--r--src/mame/drivers/megadriv_rad.cpp6
-rw-r--r--src/mame/drivers/megaplay.cpp2
-rw-r--r--src/mame/drivers/megasys1.cpp24
-rw-r--r--src/mame/drivers/megatech.cpp8
-rw-r--r--src/mame/drivers/mephisto.cpp9
-rw-r--r--src/mame/drivers/mephisto_montec.cpp15
-rw-r--r--src/mame/drivers/mephistp.cpp3
-rw-r--r--src/mame/drivers/merit.cpp30
-rw-r--r--src/mame/drivers/meritm.cpp9
-rw-r--r--src/mame/drivers/mermaid.cpp3
-rw-r--r--src/mame/drivers/metro.cpp85
-rw-r--r--src/mame/drivers/mexico86.cpp6
-rw-r--r--src/mame/drivers/mhavoc.cpp6
-rw-r--r--src/mame/drivers/mice.cpp3
-rw-r--r--src/mame/drivers/micro3d.cpp3
-rw-r--r--src/mame/drivers/micropin.cpp4
-rw-r--r--src/mame/drivers/midqslvr.cpp4
-rw-r--r--src/mame/drivers/midtunit.cpp6
-rw-r--r--src/mame/drivers/midvunit.cpp12
-rw-r--r--src/mame/drivers/midwunit.cpp6
-rw-r--r--src/mame/drivers/midyunit.cpp21
-rw-r--r--src/mame/drivers/midzeus.cpp12
-rw-r--r--src/mame/drivers/mikro80.cpp6
-rw-r--r--src/mame/drivers/mikromik.cpp10
-rw-r--r--src/mame/drivers/mil4000.cpp3
-rw-r--r--src/mame/drivers/missb2.cpp3
-rw-r--r--src/mame/drivers/missile.cpp6
-rw-r--r--src/mame/drivers/mitchell.cpp9
-rw-r--r--src/mame/drivers/mmodular.cpp6
-rw-r--r--src/mame/drivers/model1.cpp6
-rw-r--r--src/mame/drivers/model2.cpp59
-rw-r--r--src/mame/drivers/model3.cpp9
-rw-r--r--src/mame/drivers/monty.cpp3
-rw-r--r--src/mame/drivers/moo.cpp3
-rw-r--r--src/mame/drivers/mosaic.cpp3
-rw-r--r--src/mame/drivers/mpu4dealem.cpp2
-rw-r--r--src/mame/drivers/mpu4plasma.cpp3
-rw-r--r--src/mame/drivers/mpu4vid.cpp18
-rw-r--r--src/mame/drivers/mquake.cpp2
-rw-r--r--src/mame/drivers/mrdo.cpp3
-rw-r--r--src/mame/drivers/ms32.cpp3
-rw-r--r--src/mame/drivers/msx.cpp1816
-rw-r--r--src/mame/drivers/mtx.cpp10
-rw-r--r--src/mame/drivers/multfish.cpp3
-rw-r--r--src/mame/drivers/multigam.cpp9
-rw-r--r--src/mame/drivers/mw8080bw.cpp105
-rw-r--r--src/mame/drivers/myb3k.cpp8
-rw-r--r--src/mame/drivers/mystston.cpp2
-rw-r--r--src/mame/drivers/mystwarr.cpp15
-rw-r--r--src/mame/drivers/mz2000.cpp3
-rw-r--r--src/mame/drivers/mz700.cpp3
-rw-r--r--src/mame/drivers/mz80.cpp6
-rw-r--r--src/mame/drivers/n64.cpp3
-rw-r--r--src/mame/drivers/n8080.cpp9
-rw-r--r--src/mame/drivers/nakajies.cpp9
-rw-r--r--src/mame/drivers/namcona1.cpp6
-rw-r--r--src/mame/drivers/namcond1.cpp3
-rw-r--r--src/mame/drivers/namcops2.cpp3
-rw-r--r--src/mame/drivers/namcos10.cpp56
-rw-r--r--src/mame/drivers/namcos11.cpp39
-rw-r--r--src/mame/drivers/namcos12.cpp18
-rw-r--r--src/mame/drivers/namcos2.cpp23
-rw-r--r--src/mame/drivers/namcos21.cpp6
-rw-r--r--src/mame/drivers/namcos22.cpp30
-rw-r--r--src/mame/drivers/namcos23.cpp12
-rw-r--r--src/mame/drivers/namcos86.cpp12
-rw-r--r--src/mame/drivers/naomi.cpp40
-rw-r--r--src/mame/drivers/nascom1.cpp9
-rw-r--r--src/mame/drivers/nbmj8688.cpp123
-rw-r--r--src/mame/drivers/nbmj8891.cpp81
-rw-r--r--src/mame/drivers/nbmj8900.cpp3
-rw-r--r--src/mame/drivers/nbmj8991.cpp57
-rw-r--r--src/mame/drivers/nbmj9195.cpp96
-rw-r--r--src/mame/drivers/nc.cpp3
-rw-r--r--src/mame/drivers/neogeo.cpp204
-rw-r--r--src/mame/drivers/neogeocd.cpp3
-rw-r--r--src/mame/drivers/neopcb.cpp3
-rw-r--r--src/mame/drivers/nes.cpp21
-rw-r--r--src/mame/drivers/nes_vt.cpp46
-rw-r--r--src/mame/drivers/newbrain.cpp11
-rw-r--r--src/mame/drivers/next.cpp27
-rw-r--r--src/mame/drivers/ngen.cpp3
-rw-r--r--src/mame/drivers/ngp.cpp6
-rw-r--r--src/mame/drivers/nightgal.cpp12
-rw-r--r--src/mame/drivers/ninjakd2.cpp18
-rw-r--r--src/mame/drivers/niyanpai.cpp9
-rw-r--r--src/mame/drivers/nmg5.cpp12
-rw-r--r--src/mame/drivers/nmk16.cpp29
-rw-r--r--src/mame/drivers/nokia_3310.cpp12
-rw-r--r--src/mame/drivers/norautp.cpp42
-rw-r--r--src/mame/drivers/novag6502.cpp3
-rw-r--r--src/mame/drivers/novagmcs48.cpp3
-rw-r--r--src/mame/drivers/nwk-tr.cpp3
-rw-r--r--src/mame/drivers/odyssey2.cpp8
-rw-r--r--src/mame/drivers/okean240.cpp6
-rw-r--r--src/mame/drivers/oneshot.cpp3
-rw-r--r--src/mame/drivers/opwolf.cpp3
-rw-r--r--src/mame/drivers/oric.cpp6
-rw-r--r--src/mame/drivers/orion.cpp6
-rw-r--r--src/mame/drivers/osborne1.cpp3
-rw-r--r--src/mame/drivers/osi.cpp9
-rw-r--r--src/mame/drivers/pacman.cpp75
-rw-r--r--src/mame/drivers/palm.cpp18
-rw-r--r--src/mame/drivers/pangofun.cpp4
-rw-r--r--src/mame/drivers/paradise.cpp15
-rw-r--r--src/mame/drivers/pasopia7.cpp6
-rw-r--r--src/mame/drivers/pb1000.cpp3
-rw-r--r--src/mame/drivers/pbaction.cpp3
-rw-r--r--src/mame/drivers/pc.cpp33
-rw-r--r--src/mame/drivers/pc1512.cpp14
-rw-r--r--src/mame/drivers/pc2000.cpp15
-rw-r--r--src/mame/drivers/pc6001.cpp9
-rw-r--r--src/mame/drivers/pc8401a.cpp4
-rw-r--r--src/mame/drivers/pc8801.cpp9
-rw-r--r--src/mame/drivers/pc9801.cpp32
-rw-r--r--src/mame/drivers/pcat_dyn.cpp4
-rw-r--r--src/mame/drivers/pcat_nit.cpp8
-rw-r--r--src/mame/drivers/pcd.cpp3
-rw-r--r--src/mame/drivers/pce.cpp6
-rw-r--r--src/mame/drivers/pcktgal.cpp6
-rw-r--r--src/mame/drivers/pcw.cpp9
-rw-r--r--src/mame/drivers/pdp11.cpp6
-rw-r--r--src/mame/drivers/pecom.cpp2
-rw-r--r--src/mame/drivers/pegasus.cpp3
-rw-r--r--src/mame/drivers/pengo.cpp9
-rw-r--r--src/mame/drivers/pentagon.cpp6
-rw-r--r--src/mame/drivers/pet.cpp134
-rw-r--r--src/mame/drivers/peyper.cpp2
-rw-r--r--src/mame/drivers/pg685.cpp10
-rw-r--r--src/mame/drivers/pgm.cpp2
-rw-r--r--src/mame/drivers/pgm2.cpp9
-rw-r--r--src/mame/drivers/phc25.cpp6
-rw-r--r--src/mame/drivers/phoenix.cpp6
-rw-r--r--src/mame/drivers/photoply.cpp2
-rw-r--r--src/mame/drivers/pinball2k.cpp2
-rw-r--r--src/mame/drivers/pingpong.cpp3
-rw-r--r--src/mame/drivers/pitnrun.cpp3
-rw-r--r--src/mame/drivers/play_1.cpp5
-rw-r--r--src/mame/drivers/play_2.cpp5
-rw-r--r--src/mame/drivers/play_3.cpp8
-rw-r--r--src/mame/drivers/playch10.cpp6
-rw-r--r--src/mame/drivers/plus4.cpp18
-rw-r--r--src/mame/drivers/pmd85.cpp18
-rw-r--r--src/mame/drivers/pocketc.cpp30
-rw-r--r--src/mame/drivers/polepos.cpp3
-rw-r--r--src/mame/drivers/polgar.cpp12
-rw-r--r--src/mame/drivers/policetr.cpp3
-rw-r--r--src/mame/drivers/poly88.cpp3
-rw-r--r--src/mame/drivers/polyplay.cpp2
-rw-r--r--src/mame/drivers/pong.cpp3
-rw-r--r--src/mame/drivers/popeye.cpp3
-rw-r--r--src/mame/drivers/powerins.cpp6
-rw-r--r--src/mame/drivers/prestige.cpp24
-rw-r--r--src/mame/drivers/primo.cpp18
-rw-r--r--src/mame/drivers/progolf.cpp3
-rw-r--r--src/mame/drivers/ps2.cpp4
-rw-r--r--src/mame/drivers/psikyo.cpp3
-rw-r--r--src/mame/drivers/psikyo4.cpp3
-rw-r--r--src/mame/drivers/psikyosh.cpp6
-rw-r--r--src/mame/drivers/psion.cpp21
-rw-r--r--src/mame/drivers/psx.cpp3
-rw-r--r--src/mame/drivers/puckpkmn.cpp8
-rw-r--r--src/mame/drivers/punchout.cpp6
-rw-r--r--src/mame/drivers/px4.cpp3
-rw-r--r--src/mame/drivers/pyl601.cpp3
-rw-r--r--src/mame/drivers/qix.cpp27
-rw-r--r--src/mame/drivers/ql.cpp9
-rw-r--r--src/mame/drivers/quakeat.cpp2
-rw-r--r--src/mame/drivers/queen.cpp4
-rw-r--r--src/mame/drivers/quizdna.cpp6
-rw-r--r--src/mame/drivers/quizpun2.cpp3
-rw-r--r--src/mame/drivers/r2dx_v33.cpp3
-rw-r--r--src/mame/drivers/radio86.cpp21
-rw-r--r--src/mame/drivers/raiden.cpp9
-rw-r--r--src/mame/drivers/raiden2.cpp6
-rw-r--r--src/mame/drivers/rallyx.cpp9
-rw-r--r--src/mame/drivers/rbisland.cpp3
-rw-r--r--src/mame/drivers/rbmk.cpp3
-rw-r--r--src/mame/drivers/re900.cpp3
-rw-r--r--src/mame/drivers/realbrk.cpp9
-rw-r--r--src/mame/drivers/redalert.cpp16
-rw-r--r--src/mame/drivers/renegade.cpp3
-rw-r--r--src/mame/drivers/retofinv.cpp9
-rw-r--r--src/mame/drivers/riscpc.cpp3
-rw-r--r--src/mame/drivers/rmhaihai.cpp6
-rw-r--r--src/mame/drivers/rohga.cpp3
-rw-r--r--src/mame/drivers/rollrace.cpp3
-rw-r--r--src/mame/drivers/route16.cpp15
-rw-r--r--src/mame/drivers/royalmah.cpp69
-rw-r--r--src/mame/drivers/rpunch.cpp3
-rw-r--r--src/mame/drivers/rt1715.cpp3
-rw-r--r--src/mame/drivers/runaway.cpp3
-rw-r--r--src/mame/drivers/rungun.cpp3
-rw-r--r--src/mame/drivers/s11.cpp2
-rw-r--r--src/mame/drivers/s11a.cpp2
-rw-r--r--src/mame/drivers/s11b.cpp2
-rw-r--r--src/mame/drivers/s11c.cpp2
-rw-r--r--src/mame/drivers/s3.cpp5
-rw-r--r--src/mame/drivers/s4.cpp5
-rw-r--r--src/mame/drivers/s6.cpp2
-rw-r--r--src/mame/drivers/s6a.cpp2
-rw-r--r--src/mame/drivers/s7.cpp2
-rw-r--r--src/mame/drivers/s8.cpp2
-rw-r--r--src/mame/drivers/s8a.cpp2
-rw-r--r--src/mame/drivers/s9.cpp2
-rw-r--r--src/mame/drivers/safarir.cpp2
-rw-r--r--src/mame/drivers/sapi1.cpp9
-rw-r--r--src/mame/drivers/saturn.cpp9
-rw-r--r--src/mame/drivers/sauro.cpp9
-rw-r--r--src/mame/drivers/savquest.cpp4
-rw-r--r--src/mame/drivers/sbasketb.cpp3
-rw-r--r--src/mame/drivers/sbrkout.cpp3
-rw-r--r--src/mame/drivers/scobra.cpp36
-rw-r--r--src/mame/drivers/scorpion.cpp9
-rw-r--r--src/mame/drivers/scramble.cpp44
-rw-r--r--src/mame/drivers/scv.cpp3
-rw-r--r--src/mame/drivers/seattle.cpp57
-rw-r--r--src/mame/drivers/segac2.cpp3
-rw-r--r--src/mame/drivers/segae.cpp15
-rw-r--r--src/mame/drivers/segag80r.cpp31
-rw-r--r--src/mame/drivers/segag80v.cpp21
-rw-r--r--src/mame/drivers/segahang.cpp60
-rw-r--r--src/mame/drivers/segam1.cpp3
-rw-r--r--src/mame/drivers/segaorun.cpp18
-rw-r--r--src/mame/drivers/segapico.cpp6
-rw-r--r--src/mame/drivers/segas16a.cpp33
-rw-r--r--src/mame/drivers/segas16b.cpp51
-rw-r--r--src/mame/drivers/segas18.cpp21
-rw-r--r--src/mame/drivers/segas24.cpp21
-rw-r--r--src/mame/drivers/segasp.cpp3
-rw-r--r--src/mame/drivers/segaufo.cpp9
-rw-r--r--src/mame/drivers/segaybd.cpp6
-rw-r--r--src/mame/drivers/seibuspi.cpp15
-rw-r--r--src/mame/drivers/seicross.cpp6
-rw-r--r--src/mame/drivers/selz80.cpp3
-rw-r--r--src/mame/drivers/senjyo.cpp9
-rw-r--r--src/mame/drivers/seta.cpp21
-rw-r--r--src/mame/drivers/seta2.cpp42
-rw-r--r--src/mame/drivers/sf.cpp9
-rw-r--r--src/mame/drivers/sg1000.cpp5
-rw-r--r--src/mame/drivers/sg1000a.cpp6
-rw-r--r--src/mame/drivers/shangkid.cpp3
-rw-r--r--src/mame/drivers/shaolins.cpp3
-rw-r--r--src/mame/drivers/shootout.cpp3
-rw-r--r--src/mame/drivers/sidepckt.cpp3
-rw-r--r--src/mame/drivers/sigmab98.cpp27
-rw-r--r--src/mame/drivers/silvmil.cpp14
-rw-r--r--src/mame/drivers/simpl156.cpp12
-rw-r--r--src/mame/drivers/simple_st0016.cpp6
-rw-r--r--src/mame/drivers/sitcom.cpp3
-rw-r--r--src/mame/drivers/skylncr.cpp12
-rw-r--r--src/mame/drivers/slapfght.cpp18
-rw-r--r--src/mame/drivers/sms.cpp51
-rw-r--r--src/mame/drivers/smsmcorp.cpp3
-rw-r--r--src/mame/drivers/snes.cpp3
-rw-r--r--src/mame/drivers/snesb.cpp6
-rw-r--r--src/mame/drivers/snk.cpp45
-rw-r--r--src/mame/drivers/snk6502.cpp12
-rw-r--r--src/mame/drivers/snk68.cpp6
-rw-r--r--src/mame/drivers/snookr10.cpp9
-rw-r--r--src/mame/drivers/snowbros.cpp18
-rw-r--r--src/mame/drivers/socrates.cpp3
-rw-r--r--src/mame/drivers/sorcerer.cpp3
-rw-r--r--src/mame/drivers/spacefb.cpp2
-rw-r--r--src/mame/drivers/spcforce.cpp3
-rw-r--r--src/mame/drivers/spec128.cpp3
-rw-r--r--src/mame/drivers/special.cpp9
-rw-r--r--src/mame/drivers/specpls3.cpp3
-rw-r--r--src/mame/drivers/spectra.cpp2
-rw-r--r--src/mame/drivers/spectrum.cpp3
-rw-r--r--src/mame/drivers/spiders.cpp2
-rw-r--r--src/mame/drivers/spinb.cpp8
-rw-r--r--src/mame/drivers/spirit76.cpp2
-rw-r--r--src/mame/drivers/spoker.cpp3
-rw-r--r--src/mame/drivers/spool99.cpp3
-rw-r--r--src/mame/drivers/sprint2.cpp9
-rw-r--r--src/mame/drivers/sprint8.cpp2
-rw-r--r--src/mame/drivers/srmp2.cpp3
-rw-r--r--src/mame/drivers/ssfindo.cpp6
-rw-r--r--src/mame/drivers/sshangha.cpp3
-rw-r--r--src/mame/drivers/ssingles.cpp3
-rw-r--r--src/mame/drivers/sstrangr.cpp3
-rw-r--r--src/mame/drivers/ssv.cpp66
-rw-r--r--src/mame/drivers/st_mp100.cpp2
-rw-r--r--src/mame/drivers/st_mp200.cpp5
-rw-r--r--src/mame/drivers/stactics.cpp2
-rw-r--r--src/mame/drivers/starfire.cpp3
-rw-r--r--src/mame/drivers/stargame.cpp2
-rw-r--r--src/mame/drivers/starwars.cpp3
-rw-r--r--src/mame/drivers/statriv2.cpp6
-rw-r--r--src/mame/drivers/stfight.cpp6
-rw-r--r--src/mame/drivers/stlforce.cpp3
-rw-r--r--src/mame/drivers/strnskil.cpp3
-rw-r--r--src/mame/drivers/studio2.cpp4
-rw-r--r--src/mame/drivers/stv.cpp19
-rw-r--r--src/mame/drivers/su2000.cpp4
-rw-r--r--src/mame/drivers/subsino.cpp9
-rw-r--r--src/mame/drivers/subsino2.cpp12
-rw-r--r--src/mame/drivers/sun3.cpp9
-rw-r--r--src/mame/drivers/suna8.cpp9
-rw-r--r--src/mame/drivers/supbtime.cpp6
-rw-r--r--src/mame/drivers/super80.cpp12
-rw-r--r--src/mame/drivers/superchs.cpp3
-rw-r--r--src/mame/drivers/superqix.cpp3
-rw-r--r--src/mame/drivers/suprnova.cpp15
-rw-r--r--src/mame/drivers/svi318.cpp9
-rw-r--r--src/mame/drivers/svision.cpp12
-rw-r--r--src/mame/drivers/swtpc.cpp3
-rw-r--r--src/mame/drivers/swtpc09.cpp12
-rw-r--r--src/mame/drivers/system1.cpp133
-rw-r--r--src/mame/drivers/system16.cpp85
-rw-r--r--src/mame/drivers/taito.cpp21
-rw-r--r--src/mame/drivers/taito_b.cpp6
-rw-r--r--src/mame/drivers/taito_f2.cpp102
-rw-r--r--src/mame/drivers/taito_f3.cpp15
-rw-r--r--src/mame/drivers/taito_h.cpp3
-rw-r--r--src/mame/drivers/taito_l.cpp28
-rw-r--r--src/mame/drivers/taito_z.cpp3
-rw-r--r--src/mame/drivers/taitogn.cpp15
-rw-r--r--src/mame/drivers/taitojc.cpp3
-rw-r--r--src/mame/drivers/taitosj.cpp6
-rw-r--r--src/mame/drivers/taitotz.cpp3
-rw-r--r--src/mame/drivers/taitowlf.cpp4
-rw-r--r--src/mame/drivers/tandy1t.cpp23
-rw-r--r--src/mame/drivers/tandy2k.cpp3
-rw-r--r--src/mame/drivers/tapatune.cpp3
-rw-r--r--src/mame/drivers/tavernie.cpp3
-rw-r--r--src/mame/drivers/tecmo.cpp12
-rw-r--r--src/mame/drivers/tecmo16.cpp6
-rw-r--r--src/mame/drivers/tehkanwc.cpp3
-rw-r--r--src/mame/drivers/tek410x.cpp3
-rw-r--r--src/mame/drivers/terracre.cpp9
-rw-r--r--src/mame/drivers/thepit.cpp12
-rw-r--r--src/mame/drivers/thief.cpp6
-rw-r--r--src/mame/drivers/thomson.cpp36
-rw-r--r--src/mame/drivers/thunderx.cpp6
-rw-r--r--src/mame/drivers/ti85.cpp33
-rw-r--r--src/mame/drivers/ti89.cpp12
-rw-r--r--src/mame/drivers/ti99_4x.cpp68
-rw-r--r--src/mame/drivers/ti99_8.cpp6
-rw-r--r--src/mame/drivers/tiamc1.cpp3
-rw-r--r--src/mame/drivers/ticalc1x.cpp3
-rw-r--r--src/mame/drivers/tickee.cpp3
-rw-r--r--src/mame/drivers/tigeroad.cpp9
-rw-r--r--src/mame/drivers/timeplt.cpp9
-rw-r--r--src/mame/drivers/timex.cpp9
-rw-r--r--src/mame/drivers/tispeak.cpp41
-rw-r--r--src/mame/drivers/tk80.cpp9
-rw-r--r--src/mame/drivers/tmaster.cpp3
-rw-r--r--src/mame/drivers/tmc1800.cpp8
-rw-r--r--src/mame/drivers/tmc600.cpp2
-rw-r--r--src/mame/drivers/tmmjprd.cpp3
-rw-r--r--src/mame/drivers/tnzs.cpp29
-rw-r--r--src/mame/drivers/toaplan2.cpp3
-rw-r--r--src/mame/drivers/toki.cpp3
-rw-r--r--src/mame/drivers/toypop.cpp3
-rw-r--r--src/mame/drivers/tp84.cpp3
-rw-r--r--src/mame/drivers/trackfld.cpp18
-rw-r--r--src/mame/drivers/travrusa.cpp8
-rw-r--r--src/mame/drivers/triforce.cpp3
-rw-r--r--src/mame/drivers/trs80.cpp30
-rw-r--r--src/mame/drivers/trvquest.cpp2
-rw-r--r--src/mame/drivers/tubep.cpp3
-rw-r--r--src/mame/drivers/tumbleb.cpp21
-rw-r--r--src/mame/drivers/turbo.cpp12
-rw-r--r--src/mame/drivers/tutor.cpp3
-rw-r--r--src/mame/drivers/tvboy.cpp12
-rw-r--r--src/mame/drivers/twin16.cpp9
-rw-r--r--src/mame/drivers/twincobr.cpp6
-rw-r--r--src/mame/drivers/twinkle.cpp6
-rw-r--r--src/mame/drivers/tx0.cpp3
-rw-r--r--src/mame/drivers/upscope.cpp2
-rw-r--r--src/mame/drivers/usgames.cpp3
-rw-r--r--src/mame/drivers/v1050.cpp2
-rw-r--r--src/mame/drivers/vamphalf.cpp62
-rw-r--r--src/mame/drivers/vc4000.cpp18
-rw-r--r--src/mame/drivers/vd.cpp2
-rw-r--r--src/mame/drivers/vectrex.cpp3
-rw-r--r--src/mame/drivers/vegas.cpp54
-rw-r--r--src/mame/drivers/vendetta.cpp3
-rw-r--r--src/mame/drivers/vertigo.cpp2
-rw-r--r--src/mame/drivers/vic20.cpp6
-rw-r--r--src/mame/drivers/vicdual.cpp103
-rw-r--r--src/mame/drivers/victory.cpp2
-rw-r--r--src/mame/drivers/videopkr.cpp15
-rw-r--r--src/mame/drivers/vii.cpp12
-rw-r--r--src/mame/drivers/vip.cpp3
-rw-r--r--src/mame/drivers/voyager.cpp4
-rw-r--r--src/mame/drivers/vsnes.cpp15
-rw-r--r--src/mame/drivers/vt100.cpp6
-rw-r--r--src/mame/drivers/vt220.cpp3
-rw-r--r--src/mame/drivers/vt240.cpp3
-rw-r--r--src/mame/drivers/vtech1.cpp12
-rw-r--r--src/mame/drivers/vtech2.cpp6
-rw-r--r--src/mame/drivers/wallc.cpp6
-rw-r--r--src/mame/drivers/warpwarp.cpp9
-rw-r--r--src/mame/drivers/wc90.cpp6
-rw-r--r--src/mame/drivers/welltris.cpp3
-rw-r--r--src/mame/drivers/wgp.cpp3
-rw-r--r--src/mame/drivers/wico.cpp2
-rw-r--r--src/mame/drivers/williams.cpp39
-rw-r--r--src/mame/drivers/wiz.cpp9
-rw-r--r--src/mame/drivers/wpc_an.cpp4
-rw-r--r--src/mame/drivers/wswan.cpp3
-rw-r--r--src/mame/drivers/x1.cpp3
-rw-r--r--src/mame/drivers/x68k.cpp9
-rw-r--r--src/mame/drivers/xain.cpp3
-rw-r--r--src/mame/drivers/xbox.cpp3
-rw-r--r--src/mame/drivers/xerox820.cpp9
-rw-r--r--src/mame/drivers/xtom3d.cpp4
-rw-r--r--src/mame/drivers/z1013.cpp3
-rw-r--r--src/mame/drivers/z80ne.cpp3
-rw-r--r--src/mame/drivers/zac_1.cpp5
-rw-r--r--src/mame/drivers/zac_proto.cpp2
-rw-r--r--src/mame/drivers/zaxxon.cpp27
-rw-r--r--src/mame/drivers/zn.cpp57
-rw-r--r--src/mame/drivers/zx.cpp18
-rw-r--r--src/mame/includes/apollo.h4
-rw-r--r--src/mame/machine/apollo.cpp4
-rw-r--r--src/mame/machine/megadriv.cpp6
-rw-r--r--src/mame/machine/mpu4.cpp48
-rw-r--r--src/mame/machine/pgmprot_igs025_igs012.cpp2
-rw-r--r--src/mame/machine/pgmprot_igs025_igs022.cpp8
-rw-r--r--src/mame/machine/pgmprot_igs025_igs028.cpp2
-rw-r--r--src/mame/machine/pgmprot_igs027a_type1.cpp8
-rw-r--r--src/mame/machine/pgmprot_igs027a_type2.cpp2
-rw-r--r--src/mame/machine/pgmprot_igs027a_type3.cpp2
-rw-r--r--src/mame/machine/pgmprot_orlegend.cpp2
-rw-r--r--src/mame/video/gameplan.cpp3
-rw-r--r--src/mame/video/leland.cpp3
-rw-r--r--src/mame/video/redalert.cpp4
821 files changed, 7595 insertions, 4514 deletions
diff --git a/src/devices/machine/ie15.cpp b/src/devices/machine/ie15.cpp
index a3ab866062f..62eb2f2a15e 100644
--- a/src/devices/machine/ie15.cpp
+++ b/src/devices/machine/ie15.cpp
@@ -600,7 +600,7 @@ ROM_START( ie15 )
ROM_END
MACHINE_CONFIG_START(ie15_device::device_add_mconfig)
- MCFG_FRAGMENT_ADD(ie15core)
+ ie15core(config);
MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
MCFG_SCREEN_UPDATE_DRIVER(ie15_device, screen_update)
diff --git a/src/emu/mconfig.h b/src/emu/mconfig.h
index fc3533feda1..8b747424435 100644
--- a/src/emu/mconfig.h
+++ b/src/emu/mconfig.h
@@ -91,22 +91,6 @@ private:
//*************************************************************************/
/**
- @def MACHINE_CONFIG_DERIVED(_name, _base)
- Begins a machine_config that is derived from another machine_config.
- @param _name name of this config
- @param _base name of the parent config
- @hideinitializer
-*/
-#define MACHINE_CONFIG_DERIVED(_name, _base) \
-ATTR_COLD void _name(machine_config &config) \
-{ \
- device_t *device = nullptr; \
- devcb_base *devcb = nullptr; \
- (void)device; \
- (void)devcb; \
- _base(config);
-
-/**
@def MACHINE_CONFIG_START(_name)
Begins a device machine configuration member
@param _name name of this config
@@ -132,11 +116,6 @@ Ends a machine_config.
/** @name Core machine config options */
//*************************************************************************/
-// importing data from other machine drivers
-#define MCFG_FRAGMENT_ADD(_name) \
- _name(config);
-
-
// scheduling parameters
#define MCFG_QUANTUM_TIME(_time) \
config.m_minimum_quantum = _time;
diff --git a/src/mame/audio/cinemat.cpp b/src/mame/audio/cinemat.cpp
index 64028418485..7d053aae651 100644
--- a/src/mame/audio/cinemat.cpp
+++ b/src/mame/audio/cinemat.cpp
@@ -1455,7 +1455,8 @@ SOUND_RESET_MEMBER( cinemat_state, qb3 )
}
-MACHINE_CONFIG_DERIVED(cinemat_state::qb3_sound, demon_sound)
+MACHINE_CONFIG_START(cinemat_state::qb3_sound)
+ demon_sound(config);
MCFG_SOUND_RESET_OVERRIDE(cinemat_state, qb3)
MCFG_DEVICE_MODIFY("outlatch")
diff --git a/src/mame/audio/dkong.cpp b/src/mame/audio/dkong.cpp
index 75fc524a730..b9caacf952b 100644
--- a/src/mame/audio/dkong.cpp
+++ b/src/mame/audio/dkong.cpp
@@ -1351,14 +1351,16 @@ MACHINE_CONFIG_START(dkong_state::dkong2b_audio)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dkong_state::radarscp_audio, dkong2b_audio)
+MACHINE_CONFIG_START(dkong_state::radarscp_audio)
+ dkong2b_audio(config);
MCFG_DISCRETE_REPLACE("discrete", 0, radarscp)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.7)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dkong_state::radarscp1_audio, radarscp_audio)
+MACHINE_CONFIG_START(dkong_state::radarscp1_audio)
+ radarscp_audio(config);
MCFG_CPU_MODIFY("soundcpu")
MCFG_CPU_IO_MAP(radarscp1_sound_io_map)
diff --git a/src/mame/audio/redalert.cpp b/src/mame/audio/redalert.cpp
index c17def98da4..b1a5b8cc241 100644
--- a/src/mame/audio/redalert.cpp
+++ b/src/mame/audio/redalert.cpp
@@ -222,8 +222,8 @@ MACHINE_CONFIG_START(redalert_state::redalert_audio)
MCFG_SPEAKER_STANDARD_MONO("mono")
- MCFG_FRAGMENT_ADD( redalert_audio_m37b )
- MCFG_FRAGMENT_ADD( redalert_audio_voice )
+ redalert_audio_m37b(config);
+ redalert_audio_voice(config);
MCFG_SOUND_START_OVERRIDE( redalert_state, redalert )
@@ -239,7 +239,7 @@ MACHINE_CONFIG_START(redalert_state::ww3_audio)
MCFG_SPEAKER_STANDARD_MONO("mono")
- MCFG_FRAGMENT_ADD( redalert_audio_m37b )
+ redalert_audio_m37b(config);
MCFG_SOUND_START_OVERRIDE( redalert_state, redalert )
diff --git a/src/mame/audio/timeplt.cpp b/src/mame/audio/timeplt.cpp
index 41c149031c6..ac74834f240 100644
--- a/src/mame/audio/timeplt.cpp
+++ b/src/mame/audio/timeplt.cpp
@@ -218,7 +218,8 @@ MACHINE_CONFIG_START(timeplt_audio_device::timeplt_sound)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(timeplt_audio_device::locomotn_sound, timeplt_sound)
+MACHINE_CONFIG_START(timeplt_audio_device::locomotn_sound)
+ timeplt_sound(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("tpsound")
diff --git a/src/mame/drivers/1945kiii.cpp b/src/mame/drivers/1945kiii.cpp
index c28a286a876..549f54ef9da 100644
--- a/src/mame/drivers/1945kiii.cpp
+++ b/src/mame/drivers/1945kiii.cpp
@@ -398,7 +398,8 @@ MACHINE_CONFIG_START(k3_state::flagrall)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(k3_state::k3, flagrall)
+MACHINE_CONFIG_START(k3_state::k3)
+ flagrall(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(k3_map)
diff --git a/src/mame/drivers/20pacgal.cpp b/src/mame/drivers/20pacgal.cpp
index 571f6111e80..68d7bc914d8 100644
--- a/src/mame/drivers/20pacgal.cpp
+++ b/src/mame/drivers/20pacgal.cpp
@@ -402,7 +402,7 @@ MACHINE_CONFIG_START(_20pacgal_state::_20pacgal)
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */
- MCFG_FRAGMENT_ADD(_20pacgal_video)
+ _20pacgal_video(config);
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("speaker")
@@ -417,7 +417,8 @@ MACHINE_CONFIG_START(_20pacgal_state::_20pacgal)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(_25pacman_state::_25pacman, _20pacgal)
+MACHINE_CONFIG_START(_25pacman_state::_25pacman)
+ _20pacgal(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/39in1.cpp b/src/mame/drivers/39in1.cpp
index d8ab13950e0..e6b04233d36 100644
--- a/src/mame/drivers/39in1.cpp
+++ b/src/mame/drivers/39in1.cpp
@@ -1600,7 +1600,8 @@ MACHINE_CONFIG_START(_39in1_state::_39in1)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(_39in1_state::_60in1, _39in1)
+MACHINE_CONFIG_START(_39in1_state::_60in1)
+ _39in1(config);
MCFG_MACHINE_START_OVERRIDE(_39in1_state,60in1)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/4enraya.cpp b/src/mame/drivers/4enraya.cpp
index b728bcfd5f3..1615ee712ee 100644
--- a/src/mame/drivers/4enraya.cpp
+++ b/src/mame/drivers/4enraya.cpp
@@ -494,7 +494,8 @@ MACHINE_CONFIG_START(_4enraya_state::_4enraya )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(_4enraya_state::unkpacg, _4enraya)
+MACHINE_CONFIG_START(_4enraya_state::unkpacg)
+ _4enraya(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/8080bw.cpp b/src/mame/drivers/8080bw.cpp
index a6f1bd2d46d..0ad1abebe63 100644
--- a/src/mame/drivers/8080bw.cpp
+++ b/src/mame/drivers/8080bw.cpp
@@ -408,7 +408,8 @@ INPUT_PORTS_END
/* same as regular invaders, but with a color board added */
-MACHINE_CONFIG_DERIVED(_8080bw_state::invadpt2, mw8080bw_root)
+MACHINE_CONFIG_START(_8080bw_state::invadpt2)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -430,7 +431,7 @@ MACHINE_CONFIG_DERIVED(_8080bw_state::invadpt2, mw8080bw_root)
MCFG_PALETTE_ADD_3BIT_RBG("palette")
/* sound hardware */
- MCFG_FRAGMENT_ADD(invaders_samples_audio)
+ invaders_samples_audio(config);
MACHINE_CONFIG_END
@@ -451,7 +452,8 @@ ADDRESS_MAP_START(_8080bw_state::spacerng_io_map)
AM_RANGE(0x06, 0x06) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
ADDRESS_MAP_END
-MACHINE_CONFIG_DERIVED(_8080bw_state::spacerng, invadpt2)
+MACHINE_CONFIG_START(_8080bw_state::spacerng)
+ invadpt2(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -492,7 +494,8 @@ static INPUT_PORTS_START( spcewars )
PORT_DIPSETTING( 0x08, "2000" )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(_8080bw_state::spcewars, mw8080bw_root)
+MACHINE_CONFIG_START(_8080bw_state::spcewars)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -503,7 +506,7 @@ MACHINE_CONFIG_DERIVED(_8080bw_state::spcewars, mw8080bw_root)
MCFG_MB14241_ADD("mb14241")
/* sound hardware */
- MCFG_FRAGMENT_ADD(invaders_samples_audio)
+ invaders_samples_audio(config);
/* extra audio channel */
MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0)
@@ -534,7 +537,8 @@ ADDRESS_MAP_START(_8080bw_state::spcewarla_io_map)
AM_RANGE(0x0c, 0x0c) AM_DEVWRITE("mb14241", mb14241_device, shift_data_w)
ADDRESS_MAP_END
-MACHINE_CONFIG_DERIVED(_8080bw_state::spcewarla, spcewars)
+MACHINE_CONFIG_START(_8080bw_state::spcewarla)
+ spcewars(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(spcewarla_io_map)
@@ -600,7 +604,8 @@ static INPUT_PORTS_START( astropal )
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(_8080bw_state::astropal, invaders)
+MACHINE_CONFIG_START(_8080bw_state::astropal)
+ invaders(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -651,7 +656,8 @@ static INPUT_PORTS_START( cosmo )
PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x80, "SW1:8" ) /* must be HIGH normally or the joystick won't work */
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(_8080bw_state::cosmo, mw8080bw_root)
+MACHINE_CONFIG_START(_8080bw_state::cosmo)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -667,7 +673,7 @@ MACHINE_CONFIG_DERIVED(_8080bw_state::cosmo, mw8080bw_root)
MCFG_PALETTE_ADD_3BIT_RGB("palette")
/* sound hardware */
- MCFG_FRAGMENT_ADD(invaders_samples_audio)
+ invaders_samples_audio(config);
MACHINE_CONFIG_END
@@ -830,7 +836,7 @@ MACHINE_CONFIG_START(_8080bw_state::spacecom)
MCFG_PALETTE_ADD_MONOCHROME("palette")
/* sound hardware */
- MCFG_FRAGMENT_ADD(invaders_audio)
+ invaders_audio(config);
MACHINE_CONFIG_END
DRIVER_INIT_MEMBER(_8080bw_state, spacecom)
@@ -920,7 +926,8 @@ static INPUT_PORTS_START( invrvnge )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(_8080bw_state::invrvnge, mw8080bw_root)
+MACHINE_CONFIG_START(_8080bw_state::invrvnge)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1058,7 +1065,8 @@ ADDRESS_MAP_START(_8080bw_state::starw1_io_map)
AM_RANGE(0x07, 0x07) AM_WRITENOP /* writes 89 at boot */
ADDRESS_MAP_END
-MACHINE_CONFIG_DERIVED(_8080bw_state::starw1, invadpt2)
+MACHINE_CONFIG_START(_8080bw_state::starw1)
+ invadpt2(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(starw1_io_map)
MACHINE_CONFIG_END
@@ -1097,7 +1105,8 @@ static INPUT_PORTS_START( lrescue )
PORT_DIPUNUSED_DIPLOC( 0x80, 0x00, "SW1:8" )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(_8080bw_state::lrescue, mw8080bw_root)
+MACHINE_CONFIG_START(_8080bw_state::lrescue)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1224,7 +1233,8 @@ ADDRESS_MAP_START(_8080bw_state::cosmicmo_io_map)
AM_RANGE(0x06, 0x06) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
ADDRESS_MAP_END
-MACHINE_CONFIG_DERIVED(_8080bw_state::cosmicmo, mw8080bw_root)
+MACHINE_CONFIG_START(_8080bw_state::cosmicmo)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1240,7 +1250,7 @@ MACHINE_CONFIG_DERIVED(_8080bw_state::cosmicmo, mw8080bw_root)
MCFG_MB14241_ADD("mb14241")
/* sound hardware */
- MCFG_FRAGMENT_ADD(invaders_audio)
+ invaders_audio(config);
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -1374,7 +1384,8 @@ MACHINE_START_MEMBER(_8080bw_state,rollingc)
MACHINE_START_CALL_MEMBER(mw8080bw);
}
-MACHINE_CONFIG_DERIVED(_8080bw_state::rollingc, mw8080bw_root)
+MACHINE_CONFIG_START(_8080bw_state::rollingc)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1392,7 +1403,7 @@ MACHINE_CONFIG_DERIVED(_8080bw_state::rollingc, mw8080bw_root)
MCFG_PALETTE_INIT_OWNER(_8080bw_state, rollingc)
/* sound hardware */
- MCFG_FRAGMENT_ADD(invaders_samples_audio)
+ invaders_samples_audio(config);
MCFG_MACHINE_START_OVERRIDE(_8080bw_state,rollingc)
MACHINE_CONFIG_END
@@ -1514,7 +1525,8 @@ MACHINE_RESET_MEMBER(_8080bw_state,schaser)
MACHINE_RESET_CALL_MEMBER(mw8080bw);
}
-MACHINE_CONFIG_DERIVED(_8080bw_state::schaser, mw8080bw_root)
+MACHINE_CONFIG_START(_8080bw_state::schaser)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu",I8080,1996800) /* 19.968MHz / 10 */
@@ -1637,7 +1649,8 @@ MACHINE_START_MEMBER(_8080bw_state,schasercv)
MACHINE_START_CALL_MEMBER(mw8080bw);
}
-MACHINE_CONFIG_DERIVED(_8080bw_state::schasercv, mw8080bw_root)
+MACHINE_CONFIG_START(_8080bw_state::schasercv)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1655,7 +1668,7 @@ MACHINE_CONFIG_DERIVED(_8080bw_state::schasercv, mw8080bw_root)
MCFG_PALETTE_ADD_3BIT_RBG("palette")
/* sound hardware */
- MCFG_FRAGMENT_ADD(invaders_samples_audio)
+ invaders_samples_audio(config);
MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
@@ -1728,7 +1741,8 @@ MACHINE_START_MEMBER(_8080bw_state,sflush)
MACHINE_START_CALL_MEMBER(mw8080bw);
}
-MACHINE_CONFIG_DERIVED(_8080bw_state::sflush, mw8080bw_root)
+MACHINE_CONFIG_START(_8080bw_state::sflush)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu",M6800,1500000) // ?
@@ -1831,7 +1845,8 @@ static INPUT_PORTS_START( lupin3a )
PORT_DIPSETTING( 0x10, DEF_STR( Japanese ) )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(_8080bw_state::lupin3, mw8080bw_root)
+MACHINE_CONFIG_START(_8080bw_state::lupin3)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1877,7 +1892,8 @@ MACHINE_CONFIG_DERIVED(_8080bw_state::lupin3, mw8080bw_root)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(_8080bw_state::lupin3a, lupin3)
+MACHINE_CONFIG_START(_8080bw_state::lupin3a)
+ lupin3(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(schaser_map)
MCFG_MACHINE_START_OVERRIDE(_8080bw_state,sflush)
@@ -1995,7 +2011,8 @@ static INPUT_PORTS_START( polaris )
PORT_ADJUSTER( 90, "Sub Volume VR3" )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(_8080bw_state::polaris, mw8080bw_root)
+MACHINE_CONFIG_START(_8080bw_state::polaris)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu",I8080,1996800) /* 19.968MHz / 10 */
@@ -2127,7 +2144,8 @@ static INPUT_PORTS_START( ballbomb )
PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x00, "SW1:8" )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(_8080bw_state::ballbomb, mw8080bw_root)
+MACHINE_CONFIG_START(_8080bw_state::ballbomb)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2144,7 +2162,7 @@ MACHINE_CONFIG_DERIVED(_8080bw_state::ballbomb, mw8080bw_root)
MCFG_PALETTE_ADD_3BIT_RBG("palette")
/* sound hardware */
- MCFG_FRAGMENT_ADD(invaders_samples_audio)
+ invaders_samples_audio(config);
MCFG_SOUND_ADD("discrete", DISCRETE, 0)
MCFG_DISCRETE_INTF(ballbomb)
@@ -2207,7 +2225,8 @@ static INPUT_PORTS_START( yosakdon )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(_8080bw_state::yosakdon, mw8080bw_root)
+MACHINE_CONFIG_START(_8080bw_state::yosakdon)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2216,7 +2235,7 @@ MACHINE_CONFIG_DERIVED(_8080bw_state::yosakdon, mw8080bw_root)
MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
/* sound hardware */
- MCFG_FRAGMENT_ADD(invaders_samples_audio)
+ invaders_samples_audio(config);
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -2370,7 +2389,8 @@ ADDRESS_MAP_START(_8080bw_state::indianbtbr_io_map)
ADDRESS_MAP_END
-MACHINE_CONFIG_DERIVED(_8080bw_state::indianbt, mw8080bw_root)
+MACHINE_CONFIG_START(_8080bw_state::indianbt)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2388,14 +2408,15 @@ MACHINE_CONFIG_DERIVED(_8080bw_state::indianbt, mw8080bw_root)
MCFG_PALETTE_ADD_3BIT_RGB("palette")
/* sound hardware */
- MCFG_FRAGMENT_ADD(invaders_samples_audio)
+ invaders_samples_audio(config);
MCFG_SOUND_ADD("discrete", DISCRETE, 0)
MCFG_DISCRETE_INTF(indianbt)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(_8080bw_state::indianbtbr, mw8080bw_root)
+MACHINE_CONFIG_START(_8080bw_state::indianbtbr)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2414,7 +2435,7 @@ MACHINE_CONFIG_DERIVED(_8080bw_state::indianbtbr, mw8080bw_root)
MCFG_PALETTE_ADD_3BIT_RGB("palette")
/* sound hardware */
- MCFG_FRAGMENT_ADD(invaders_samples_audio)
+ invaders_samples_audio(config);
MACHINE_CONFIG_END
@@ -2470,7 +2491,8 @@ static INPUT_PORTS_START( steelwkr )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(_8080bw_state::steelwkr, mw8080bw_root)
+MACHINE_CONFIG_START(_8080bw_state::steelwkr)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2487,7 +2509,7 @@ MACHINE_CONFIG_DERIVED(_8080bw_state::steelwkr, mw8080bw_root)
MCFG_PALETTE_ADD_3BIT_RBG("palette")
/* sound hardware */
- MCFG_FRAGMENT_ADD(invaders_samples_audio)
+ invaders_samples_audio(config);
MACHINE_CONFIG_END
@@ -2664,7 +2686,7 @@ MACHINE_CONFIG_START(_8080bw_state::shuttlei)
MCFG_PALETTE_ADD_MONOCHROME("palette")
/* sound hardware */
- MCFG_FRAGMENT_ADD(invaders_samples_audio)
+ invaders_samples_audio(config);
MACHINE_CONFIG_END
@@ -2766,7 +2788,8 @@ static INPUT_PORTS_START( darthvdr )
INVADERS_CAB_TYPE_PORT
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(_8080bw_state::darthvdr, mw8080bw_root)
+MACHINE_CONFIG_START(_8080bw_state::darthvdr)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2778,7 +2801,7 @@ MACHINE_CONFIG_DERIVED(_8080bw_state::darthvdr, mw8080bw_root)
MCFG_MACHINE_RESET_OVERRIDE(_8080bw_state,darthvdr)
/* sound hardware */
- MCFG_FRAGMENT_ADD(invaders_samples_audio)
+ invaders_samples_audio(config);
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -2839,7 +2862,8 @@ static INPUT_PORTS_START( vortex )
PORT_DIPSETTING( 0x80, DEF_STR( 1C_1C ) )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(_8080bw_state::vortex, mw8080bw_root)
+MACHINE_CONFIG_START(_8080bw_state::vortex)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2858,7 +2882,7 @@ MACHINE_CONFIG_DERIVED(_8080bw_state::vortex, mw8080bw_root)
MCFG_MB14241_ADD("mb14241")
/* audio hardware */
- MCFG_FRAGMENT_ADD(invaders_audio)
+ invaders_audio(config);
MACHINE_CONFIG_END
/* decrypt function for vortex */
@@ -3147,7 +3171,8 @@ MACHINE_START_MEMBER(_8080bw_state, claybust)
MACHINE_START_CALL_MEMBER(mw8080bw);
}
-MACHINE_CONFIG_DERIVED(_8080bw_state::claybust, invaders)
+MACHINE_CONFIG_START(_8080bw_state::claybust)
+ invaders(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3262,7 +3287,8 @@ static INPUT_PORTS_START( attackfc )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(_8080bw_state::attackfc, mw8080bw_root)
+MACHINE_CONFIG_START(_8080bw_state::attackfc)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3400,7 +3426,8 @@ WRITE8_MEMBER(_8080bw_state::invmulti_bank_w)
membank("bank2")->set_entry(bank);
}
-MACHINE_CONFIG_DERIVED(_8080bw_state::invmulti, invaders)
+MACHINE_CONFIG_START(_8080bw_state::invmulti)
+ invaders(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/a2600.cpp b/src/mame/drivers/a2600.cpp
index 1b0b17b5554..10e5269f637 100644
--- a/src/mame/drivers/a2600.cpp
+++ b/src/mame/drivers/a2600.cpp
@@ -537,7 +537,7 @@ MACHINE_CONFIG_START(a2600_state::a2600)
MCFG_VCS_CONTROL_PORT_ADD(CONTROL1_TAG, vcs_control_port_devices, "joy")
MCFG_VCS_CONTROL_PORT_ADD(CONTROL2_TAG, vcs_control_port_devices, nullptr)
- MCFG_FRAGMENT_ADD(a2600_cartslot)
+ a2600_cartslot(config);
MCFG_SOFTWARE_LIST_FILTER("cart_list", "NTSC")
MACHINE_CONFIG_END
@@ -587,7 +587,7 @@ MACHINE_CONFIG_START(a2600_state::a2600p)
MCFG_VCS_CONTROL_PORT_ADD(CONTROL1_TAG, vcs_control_port_devices, "joy")
MCFG_VCS_CONTROL_PORT_ADD(CONTROL2_TAG, vcs_control_port_devices, nullptr)
- MCFG_FRAGMENT_ADD(a2600_cartslot)
+ a2600_cartslot(config);
MCFG_SOFTWARE_LIST_FILTER("cart_list", "PAL")
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/a51xx.cpp b/src/mame/drivers/a51xx.cpp
index 750f1971e55..239d17c8f09 100644
--- a/src/mame/drivers/a51xx.cpp
+++ b/src/mame/drivers/a51xx.cpp
@@ -140,7 +140,8 @@ MACHINE_CONFIG_START(a51xx_state::a5120)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(a51xx_state::a5130, a5120)
+MACHINE_CONFIG_START(a51xx_state::a5130)
+ a5120(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(a5130_mem)
diff --git a/src/mame/drivers/a7800.cpp b/src/mame/drivers/a7800.cpp
index 62fd68ad661..d32eeb2ce3f 100644
--- a/src/mame/drivers/a7800.cpp
+++ b/src/mame/drivers/a7800.cpp
@@ -1392,7 +1392,8 @@ MACHINE_CONFIG_START(a7800_state::a7800_ntsc)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(a7800_state::a7800_pal, a7800_ntsc)
+MACHINE_CONFIG_START(a7800_state::a7800_pal)
+ a7800_ntsc(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(CLK_PAL)
diff --git a/src/mame/drivers/aa310.cpp b/src/mame/drivers/aa310.cpp
index 76bddacf57d..089251142a5 100644
--- a/src/mame/drivers/aa310.cpp
+++ b/src/mame/drivers/aa310.cpp
@@ -454,13 +454,15 @@ MACHINE_CONFIG_START(aa310_state::aa310)
/* Expansion slots - 2-card backplane */
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(aa310_state::aa305, aa310)
+MACHINE_CONFIG_START(aa310_state::aa305)
+ aa310(config);
MCFG_RAM_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("512K")
MCFG_RAM_EXTRA_OPTIONS("1M")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(aa310_state::aa440, aa310)
+MACHINE_CONFIG_START(aa310_state::aa440)
+ aa310(config);
MCFG_RAM_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("4M")
@@ -469,13 +471,15 @@ MACHINE_CONFIG_DERIVED(aa310_state::aa440, aa310)
/* Expansion slots - 4-card backplane */
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(aa310_state::aa3000, aa310)
+MACHINE_CONFIG_START(aa310_state::aa3000)
+ aa310(config);
MCFG_RAM_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("1M")
MCFG_RAM_EXTRA_OPTIONS("2M")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(aa310_state::aa4101, aa310)
+MACHINE_CONFIG_START(aa310_state::aa4101)
+ aa310(config);
MCFG_RAM_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("1M")
MCFG_RAM_EXTRA_OPTIONS("2M,4M")
@@ -483,7 +487,8 @@ MACHINE_CONFIG_DERIVED(aa310_state::aa4101, aa310)
/* Expansion slots - 4-card backplane */
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(aa310_state::aa4201, aa310)
+MACHINE_CONFIG_START(aa310_state::aa4201)
+ aa310(config);
MCFG_RAM_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("2M")
MCFG_RAM_EXTRA_OPTIONS("4M")
@@ -493,7 +498,8 @@ MACHINE_CONFIG_DERIVED(aa310_state::aa4201, aa310)
/* Expansion slots - 4-card backplane */
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(aa310_state::aa4401, aa310)
+MACHINE_CONFIG_START(aa310_state::aa4401)
+ aa310(config);
MCFG_RAM_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("4M")
MCFG_RAM_EXTRA_OPTIONS("8M")
@@ -503,7 +509,8 @@ MACHINE_CONFIG_DERIVED(aa310_state::aa4401, aa310)
/* Expansion slots - 4-card backplane */
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(aa310_state::aa540, aa310)
+MACHINE_CONFIG_START(aa310_state::aa540)
+ aa310(config);
MCFG_CPU_MODIFY("maincpu") // ARM3
MCFG_CPU_CLOCK(XTAL(52'000'000) / 2)
@@ -516,7 +523,8 @@ MACHINE_CONFIG_DERIVED(aa310_state::aa540, aa310)
/* Expansion slots - 4-card backplane */
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(aa310_state::aa5000, aa310)
+MACHINE_CONFIG_START(aa310_state::aa5000)
+ aa310(config);
MCFG_CPU_MODIFY("maincpu") // ARM3
MCFG_CPU_CLOCK(XTAL(50'000'000) / 2)
@@ -529,7 +537,8 @@ MACHINE_CONFIG_DERIVED(aa310_state::aa5000, aa310)
/* Expansion slots - 4-card backplane */
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(aa310_state::aa4, aa5000)
+MACHINE_CONFIG_START(aa310_state::aa4)
+ aa5000(config);
MCFG_CPU_MODIFY("maincpu") // ARM3
MCFG_CPU_CLOCK(XTAL(24'000'000))
@@ -542,12 +551,14 @@ MACHINE_CONFIG_DERIVED(aa310_state::aa4, aa5000)
/* 60MB HDD */
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(aa310_state::aa5000a, aa5000)
+MACHINE_CONFIG_START(aa310_state::aa5000a)
+ aa5000(config);
MCFG_CPU_MODIFY("maincpu") // ARM3
MCFG_CPU_CLOCK(33000000)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(aa310_state::aa3010, aa310)
+MACHINE_CONFIG_START(aa310_state::aa3010)
+ aa310(config);
MCFG_CPU_MODIFY("maincpu") // ARM250
MCFG_CPU_CLOCK(XTAL(72'000'000) / 6)
@@ -556,13 +567,15 @@ MACHINE_CONFIG_DERIVED(aa310_state::aa3010, aa310)
MCFG_RAM_EXTRA_OPTIONS("2M")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(aa310_state::aa3020, aa3010)
+MACHINE_CONFIG_START(aa310_state::aa3020)
+ aa3010(config);
MCFG_RAM_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("2M")
MCFG_RAM_EXTRA_OPTIONS("4M")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(aa310_state::aa4000, aa3010)
+MACHINE_CONFIG_START(aa310_state::aa4000)
+ aa3010(config);
MCFG_RAM_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("2M")
MCFG_RAM_EXTRA_OPTIONS("4M")
diff --git a/src/mame/drivers/abc80.cpp b/src/mame/drivers/abc80.cpp
index 7b108729cbe..711915c5c0b 100644
--- a/src/mame/drivers/abc80.cpp
+++ b/src/mame/drivers/abc80.cpp
@@ -491,7 +491,7 @@ MACHINE_CONFIG_START(abc80_state::abc80)
MCFG_Z80_DAISY_CHAIN(abc80_daisy_chain)
// video hardware
- MCFG_FRAGMENT_ADD(abc80_video)
+ abc80_video(config);
// sound hardware
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/abc80x.cpp b/src/mame/drivers/abc80x.cpp
index 8a89b4cedeb..307bef397c6 100644
--- a/src/mame/drivers/abc80x.cpp
+++ b/src/mame/drivers/abc80x.cpp
@@ -1023,7 +1023,7 @@ MACHINE_CONFIG_START(abc800c_state::abc800c)
MCFG_CPU_IO_MAP(abc800c_io)
// video hardware
- MCFG_FRAGMENT_ADD(abc800c_video)
+ abc800c_video(config);
// sound hardware
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1098,7 +1098,7 @@ MACHINE_CONFIG_START(abc800m_state::abc800m)
MCFG_CPU_IO_MAP(abc800m_io)
// video hardware
- MCFG_FRAGMENT_ADD(abc800m_video)
+ abc800m_video(config);
// sound hardware
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1173,7 +1173,7 @@ MACHINE_CONFIG_START(abc802_state::abc802)
MCFG_CPU_IO_MAP(abc802_io)
// video hardware
- MCFG_FRAGMENT_ADD(abc802_video)
+ abc802_video(config);
// sound hardware
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1249,7 +1249,7 @@ MACHINE_CONFIG_START(abc806_state::abc806)
MCFG_CPU_IO_MAP(abc806_io)
// video hardware
- MCFG_FRAGMENT_ADD(abc806_video)
+ abc806_video(config);
// peripheral hardware
MCFG_E0516_ADD(E0516_TAG, ABC806_X02)
diff --git a/src/mame/drivers/ac1.cpp b/src/mame/drivers/ac1.cpp
index f77630cfd8f..45ec7f930e7 100644
--- a/src/mame/drivers/ac1.cpp
+++ b/src/mame/drivers/ac1.cpp
@@ -158,7 +158,8 @@ MACHINE_CONFIG_START(ac1_state::ac1)
MCFG_CASSETTE_ADD( "cassette" )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ac1_state::ac1_32, ac1)
+MACHINE_CONFIG_START(ac1_state::ac1_32)
+ ac1(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(ac1_32_mem)
diff --git a/src/mame/drivers/adp.cpp b/src/mame/drivers/adp.cpp
index 8bbe9b85bc9..53059627674 100644
--- a/src/mame/drivers/adp.cpp
+++ b/src/mame/drivers/adp.cpp
@@ -582,19 +582,22 @@ MACHINE_CONFIG_START(adp_state::quickjac)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(adp_state::skattv, quickjac)
+MACHINE_CONFIG_START(adp_state::skattv)
+ quickjac(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(skattv_mem)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(adp_state::skattva, quickjac)
+MACHINE_CONFIG_START(adp_state::skattva)
+ quickjac(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(skattva_mem)
MCFG_NVRAM_REPLACE_CUSTOM_DRIVER("nvram", adp_state, skattva_nvram_init)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(adp_state::fashiong, skattv)
+MACHINE_CONFIG_START(adp_state::fashiong)
+ skattv(config);
MCFG_DEVICE_MODIFY("acrtc")
MCFG_HD63484_ADDRESS_MAP(fashiong_hd63484_map)
MACHINE_CONFIG_END
@@ -603,7 +606,8 @@ ADDRESS_MAP_START(adp_state::ramdac_map)
AM_RANGE(0x000, 0x3ff) AM_DEVREADWRITE("ramdac",ramdac_device,ramdac_pal_r,ramdac_rgb666_w)
ADDRESS_MAP_END
-MACHINE_CONFIG_DERIVED(adp_state::funland, quickjac)
+MACHINE_CONFIG_START(adp_state::funland)
+ quickjac(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(funland_mem)
@@ -615,7 +619,8 @@ MACHINE_CONFIG_DERIVED(adp_state::funland, quickjac)
MCFG_HD63484_ADDRESS_MAP(fstation_hd63484_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(adp_state::fstation, funland)
+MACHINE_CONFIG_START(adp_state::fstation)
+ funland(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(fstation_mem)
diff --git a/src/mame/drivers/airbustr.cpp b/src/mame/drivers/airbustr.cpp
index b51e771cbb6..0cf04754f2f 100644
--- a/src/mame/drivers/airbustr.cpp
+++ b/src/mame/drivers/airbustr.cpp
@@ -605,7 +605,8 @@ MACHINE_CONFIG_START(airbustr_state::airbustr)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(airbustr_state::airbustrb, airbustr)
+MACHINE_CONFIG_START(airbustr_state::airbustrb)
+ airbustr(config);
MCFG_WATCHDOG_MODIFY("watchdog")
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(0)) // no protection device or watchdog
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/airraid.cpp b/src/mame/drivers/airraid.cpp
index 0092c7e31bb..fce34580848 100644
--- a/src/mame/drivers/airraid.cpp
+++ b/src/mame/drivers/airraid.cpp
@@ -417,7 +417,8 @@ MACHINE_CONFIG_START(airraid_state::airraid)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(airraid_state::airraid_crypt, airraid)
+MACHINE_CONFIG_START(airraid_state::airraid_crypt)
+ airraid(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/aleck64.cpp b/src/mame/drivers/aleck64.cpp
index bd42ecbc8a8..153eb9f6c81 100644
--- a/src/mame/drivers/aleck64.cpp
+++ b/src/mame/drivers/aleck64.cpp
@@ -985,7 +985,8 @@ uint32_t aleck64_state::screen_update_e90(screen_device &screen, bitmap_rgb32 &b
return 0;
}
-MACHINE_CONFIG_DERIVED(aleck64_state::a64_e90, aleck64)
+MACHINE_CONFIG_START(aleck64_state::a64_e90)
+ aleck64(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(e90_map)
diff --git a/src/mame/drivers/alesis.cpp b/src/mame/drivers/alesis.cpp
index dfe6951b2d0..53f1093d88f 100644
--- a/src/mame/drivers/alesis.cpp
+++ b/src/mame/drivers/alesis.cpp
@@ -387,7 +387,8 @@ MACHINE_CONFIG_START(alesis_state::hr16)
MCFG_NVRAM_ADD_0FILL("nvram")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(alesis_state::sr16, hr16)
+MACHINE_CONFIG_START(alesis_state::sr16)
+ hr16(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(sr16_mem)
@@ -404,7 +405,8 @@ MACHINE_CONFIG_DERIVED(alesis_state::sr16, hr16)
MCFG_HD44780_PIXEL_UPDATE_CB(alesis_state, sr16_pixel_update)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(alesis_state::mmt8, hr16)
+MACHINE_CONFIG_START(alesis_state::mmt8)
+ hr16(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(mmt8_io)
diff --git a/src/mame/drivers/alg.cpp b/src/mame/drivers/alg.cpp
index b0f71139617..0676d6992cf 100644
--- a/src/mame/drivers/alg.cpp
+++ b/src/mame/drivers/alg.cpp
@@ -313,7 +313,7 @@ MACHINE_CONFIG_START(alg_state::alg_r1)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
- MCFG_FRAGMENT_ADD(ntsc_video)
+ ntsc_video(config);
MCFG_LASERDISC_LDP1450_ADD("laserdisc",9600)
MCFG_LASERDISC_SCREEN("screen")
@@ -359,19 +359,21 @@ MACHINE_CONFIG_START(alg_state::alg_r1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(alg_state::alg_r2, alg_r1)
+MACHINE_CONFIG_START(alg_state::alg_r2)
+ alg_r1(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(main_map_r2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(alg_state::picmatic, alg_r1)
+MACHINE_CONFIG_START(alg_state::picmatic)
+ alg_r1(config);
/* adjust for PAL specs */
MCFG_CPU_REPLACE("maincpu", M68000, amiga_state::CLK_7M_PAL)
MCFG_CPU_PROGRAM_MAP(main_map_picmatic)
MCFG_DEVICE_REMOVE("screen")
- MCFG_FRAGMENT_ADD(pal_video)
+ pal_video(config);
MCFG_DEVICE_MODIFY("amiga")
MCFG_DEVICE_CLOCK(amiga_state::CLK_C1_PAL)
diff --git a/src/mame/drivers/allied.cpp b/src/mame/drivers/allied.cpp
index 75c0b4c33c8..e4a7f6c3a8a 100644
--- a/src/mame/drivers/allied.cpp
+++ b/src/mame/drivers/allied.cpp
@@ -620,7 +620,7 @@ MACHINE_CONFIG_START(allied_state::allied)
MCFG_DEFAULT_LAYOUT(layout_allied)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
/* Devices */
MCFG_DEVICE_ADD("ic1", PIA6821, 0)
diff --git a/src/mame/drivers/alpha68k.cpp b/src/mame/drivers/alpha68k.cpp
index 633227ff1d0..5fce07c3f81 100644
--- a/src/mame/drivers/alpha68k.cpp
+++ b/src/mame/drivers/alpha68k.cpp
@@ -2160,7 +2160,8 @@ MACHINE_CONFIG_START(alpha68k_state::alpha68k_II)
MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(alpha68k_state::btlfieldb, alpha68k_II)
+MACHINE_CONFIG_START(alpha68k_state::btlfieldb)
+ alpha68k_II(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_VBLANK_INT_DRIVER("screen", alpha68k_state, irq1_line_hold)
MCFG_CPU_PERIODIC_INT_DRIVER(alpha68k_state, irq2_line_hold, 60*4) // MCU irq
diff --git a/src/mame/drivers/alphasma.cpp b/src/mame/drivers/alphasma.cpp
index 792c508daff..c7f55267bc1 100644
--- a/src/mame/drivers/alphasma.cpp
+++ b/src/mame/drivers/alphasma.cpp
@@ -454,7 +454,8 @@ MACHINE_CONFIG_START(alphasmart_state::alphasmart)
MCFG_NVRAM_ADD_0FILL("nvram")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(asma2k_state::asma2k, alphasmart)
+MACHINE_CONFIG_START(asma2k_state::asma2k)
+ alphasmart(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(asma2k_mem)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/alphatpx.cpp b/src/mame/drivers/alphatpx.cpp
index fff48714d8e..3724b7655b6 100644
--- a/src/mame/drivers/alphatpx.cpp
+++ b/src/mame/drivers/alphatpx.cpp
@@ -1070,7 +1070,8 @@ MACHINE_CONFIG_START(alphatp_12_state::alphatp2)
MCFG_FLOPPY_DRIVE_ADD("fdc:1", alphatp2_floppies, "525ssdd", floppy_image_device::default_floppy_formats)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(alphatp_12_state::alphatp2u, alphatp2)
+MACHINE_CONFIG_START(alphatp_12_state::alphatp2u)
+ alphatp2(config);
MCFG_DEVICE_REMOVE("fdc:0")
MCFG_DEVICE_REMOVE("fdc:1")
MCFG_FLOPPY_DRIVE_ADD("fdc:0", alphatp2su_floppies, "525dd", floppy_image_device::default_floppy_formats)
@@ -1148,7 +1149,8 @@ MACHINE_CONFIG_START(alphatp_34_state::alphatp3)
MCFG_FLOPPY_DRIVE_ADD("fdc:1", alphatp3_floppies, "525qd", floppy_image_device::default_floppy_formats)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(alphatp_34_state::alphatp30, alphatp3)
+MACHINE_CONFIG_START(alphatp_34_state::alphatp30)
+ alphatp3(config);
MCFG_CPU_ADD("i8088", I8088, 6000000) // unknown clock
MCFG_CPU_PROGRAM_MAP(alphatp30_8088_map)
MCFG_CPU_IO_MAP(alphatp30_8088_io)
diff --git a/src/mame/drivers/amaticmg.cpp b/src/mame/drivers/amaticmg.cpp
index ff0b65c3e21..3adedb3f786 100644
--- a/src/mame/drivers/amaticmg.cpp
+++ b/src/mame/drivers/amaticmg.cpp
@@ -881,7 +881,8 @@ INTERRUPT_GEN_MEMBER(amaticmg_state::amaticmg2_irq)
}
-MACHINE_CONFIG_DERIVED(amaticmg_state::amaticmg2, amaticmg)
+MACHINE_CONFIG_START(amaticmg_state::amaticmg2)
+ amaticmg(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(amaticmg2_portmap)
@@ -899,7 +900,8 @@ MACHINE_CONFIG_DERIVED(amaticmg_state::amaticmg2, amaticmg)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(amaticmg_state::amaticmg4, amaticmg)
+MACHINE_CONFIG_START(amaticmg_state::amaticmg4)
+ amaticmg(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(amaticmg4_portmap)
diff --git a/src/mame/drivers/ambush.cpp b/src/mame/drivers/ambush.cpp
index 55029fbb325..945da504e37 100644
--- a/src/mame/drivers/ambush.cpp
+++ b/src/mame/drivers/ambush.cpp
@@ -725,7 +725,8 @@ MACHINE_CONFIG_START(ambush_state::ambush)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.33)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ambush_state::mariobl, ambush)
+MACHINE_CONFIG_START(ambush_state::mariobl)
+ ambush(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(bootleg_map)
@@ -755,7 +756,8 @@ MACHINE_CONFIG_DERIVED(ambush_state::mariobl, ambush)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.33)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ambush_state::dkong3abl, mariobl)
+MACHINE_CONFIG_START(ambush_state::dkong3abl)
+ mariobl(config);
MCFG_MACHINE_START_OVERRIDE(ambush_state, dkong3abl)
MCFG_GFXDECODE_MODIFY("gfxdecode", dkong3abl)
diff --git a/src/mame/drivers/amiga.cpp b/src/mame/drivers/amiga.cpp
index c1542c1903d..0e84f9af256 100644
--- a/src/mame/drivers/amiga.cpp
+++ b/src/mame/drivers/amiga.cpp
@@ -1351,7 +1351,7 @@ SLOT_INTERFACE_END
// basic elements common to all amigas
MACHINE_CONFIG_START(amiga_state::amiga_base)
// video
- MCFG_FRAGMENT_ADD(pal_video)
+ pal_video(config);
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_INIT_OWNER(amiga_state, amiga)
@@ -1428,7 +1428,8 @@ MACHINE_CONFIG_START(amiga_state::amiga_base)
MCFG_SOFTWARE_LIST_ADD("ocs_list", "amigaocs_flop")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(a1000_state::a1000, amiga_base)
+MACHINE_CONFIG_START(a1000_state::a1000)
+ amiga_base(config);
// main cpu
MCFG_CPU_ADD("maincpu", M68000, amiga_state::CLK_7M_PAL)
MCFG_CPU_PROGRAM_MAP(a1000_mem)
@@ -1450,11 +1451,12 @@ MACHINE_CONFIG_DERIVED(a1000_state::a1000, amiga_base)
MCFG_SOFTWARE_LIST_ADD("a1000_list", "amiga_a1000")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(a1000_state::a1000n, a1000)
+MACHINE_CONFIG_START(a1000_state::a1000n)
+ a1000(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_CLOCK(amiga_state::CLK_7M_NTSC)
MCFG_DEVICE_REMOVE("screen")
- MCFG_FRAGMENT_ADD(ntsc_video)
+ ntsc_video(config);
MCFG_DEVICE_MODIFY("amiga")
MCFG_DEVICE_CLOCK(amiga_state::CLK_C1_NTSC)
MCFG_DEVICE_MODIFY("cia_0")
@@ -1465,7 +1467,8 @@ MACHINE_CONFIG_DERIVED(a1000_state::a1000n, a1000)
MCFG_DEVICE_CLOCK(amiga_state::CLK_7M_NTSC)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(a2000_state::a2000, amiga_base)
+MACHINE_CONFIG_START(a2000_state::a2000)
+ amiga_base(config);
// main cpu
MCFG_CPU_ADD("maincpu", M68000, amiga_state::CLK_7M_PAL)
MCFG_CPU_PROGRAM_MAP(a2000_mem)
@@ -1494,11 +1497,12 @@ MACHINE_CONFIG_DERIVED(a2000_state::a2000, amiga_base)
MCFG_ZORRO2_SLOT_ADD("zorro5", zorro2_cards, nullptr)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(a2000_state::a2000n, a2000)
+MACHINE_CONFIG_START(a2000_state::a2000n)
+ a2000(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_CLOCK(amiga_state::CLK_7M_NTSC)
MCFG_DEVICE_REMOVE("screen")
- MCFG_FRAGMENT_ADD(ntsc_video)
+ ntsc_video(config);
MCFG_DEVICE_MODIFY("amiga")
MCFG_DEVICE_CLOCK(amiga_state::CLK_C1_NTSC)
MCFG_DEVICE_MODIFY("cia_0")
@@ -1509,7 +1513,8 @@ MACHINE_CONFIG_DERIVED(a2000_state::a2000n, a2000)
MCFG_DEVICE_CLOCK(amiga_state::CLK_7M_NTSC)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(a500_state::a500, amiga_base)
+MACHINE_CONFIG_START(a500_state::a500)
+ amiga_base(config);
// main cpu
MCFG_CPU_ADD("maincpu", M68000, amiga_state::CLK_7M_PAL)
MCFG_CPU_PROGRAM_MAP(a500_mem)
@@ -1528,11 +1533,12 @@ MACHINE_CONFIG_DERIVED(a500_state::a500, amiga_base)
MCFG_EXPANSION_SLOT_INT6_HANDLER(WRITELINE(a500_state, side_int6_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(a500_state::a500n, a500)
+MACHINE_CONFIG_START(a500_state::a500n)
+ a500(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_CLOCK(amiga_state::CLK_7M_NTSC)
MCFG_DEVICE_REMOVE("screen")
- MCFG_FRAGMENT_ADD(ntsc_video)
+ ntsc_video(config);
MCFG_DEVICE_MODIFY("amiga")
MCFG_DEVICE_CLOCK(amiga_state::CLK_C1_NTSC)
MCFG_DEVICE_MODIFY("cia_0")
@@ -1543,7 +1549,8 @@ MACHINE_CONFIG_DERIVED(a500_state::a500n, a500)
MCFG_DEVICE_CLOCK(amiga_state::CLK_7M_NTSC)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cdtv_state::cdtv, amiga_base)
+MACHINE_CONFIG_START(cdtv_state::cdtv)
+ amiga_base(config);
// main cpu
MCFG_CPU_ADD("maincpu", M68000, amiga_state::CLK_7M_PAL)
MCFG_CPU_PROGRAM_MAP(cdtv_mem)
@@ -1600,11 +1607,12 @@ MACHINE_CONFIG_DERIVED(cdtv_state::cdtv, amiga_base)
MCFG_SOFTWARE_LIST_ADD("cd_list", "cdtv")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cdtv_state::cdtvn, cdtv)
+MACHINE_CONFIG_START(cdtv_state::cdtvn)
+ cdtv(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_CLOCK(amiga_state::CLK_7M_NTSC)
MCFG_DEVICE_REMOVE("screen")
- MCFG_FRAGMENT_ADD(ntsc_video)
+ ntsc_video(config);
MCFG_DEVICE_MODIFY("amiga")
MCFG_DEVICE_CLOCK(amiga_state::CLK_C1_NTSC)
MCFG_DEVICE_MODIFY("cia_0")
@@ -1617,7 +1625,8 @@ MACHINE_CONFIG_DERIVED(cdtv_state::cdtvn, cdtv)
MCFG_DEVICE_CLOCK(amiga_state::CLK_7M_NTSC)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(a3000_state::a3000, amiga_base)
+MACHINE_CONFIG_START(a3000_state::a3000)
+ amiga_base(config);
// main cpu
MCFG_CPU_ADD("maincpu", M68030, XTAL(32'000'000) / 2)
MCFG_CPU_PROGRAM_MAP(a3000_mem)
@@ -1639,9 +1648,10 @@ MACHINE_CONFIG_DERIVED(a3000_state::a3000, amiga_base)
MCFG_SOFTWARE_LIST_ADD("ecs_list", "amigaecs_flop")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(a3000_state::a3000n, a3000)
+MACHINE_CONFIG_START(a3000_state::a3000n)
+ a3000(config);
MCFG_DEVICE_REMOVE("screen")
- MCFG_FRAGMENT_ADD(ntsc_video)
+ ntsc_video(config);
MCFG_DEVICE_MODIFY("cia_0")
MCFG_DEVICE_CLOCK(amiga_state::CLK_E_NTSC)
MCFG_DEVICE_MODIFY("cia_1")
@@ -1650,7 +1660,8 @@ MACHINE_CONFIG_DERIVED(a3000_state::a3000n, a3000)
MCFG_DEVICE_CLOCK(amiga_state::CLK_7M_NTSC)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(a500p_state::a500p, amiga_base)
+MACHINE_CONFIG_START(a500p_state::a500p)
+ amiga_base(config);
// main cpu
MCFG_CPU_ADD("maincpu", M68000, amiga_state::CLK_7M_PAL)
MCFG_CPU_PROGRAM_MAP(a500p_mem)
@@ -1672,11 +1683,12 @@ MACHINE_CONFIG_DERIVED(a500p_state::a500p, amiga_base)
MCFG_SOFTWARE_LIST_ADD("ecs_list", "amigaecs_flop")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(a500p_state::a500pn, a500p)
+MACHINE_CONFIG_START(a500p_state::a500pn)
+ a500p(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_CLOCK(amiga_state::CLK_7M_NTSC)
MCFG_DEVICE_REMOVE("screen")
- MCFG_FRAGMENT_ADD(ntsc_video)
+ ntsc_video(config);
MCFG_DEVICE_MODIFY("amiga")
MCFG_DEVICE_CLOCK(amiga_state::CLK_C1_NTSC)
MCFG_DEVICE_MODIFY("cia_0")
@@ -1687,7 +1699,8 @@ MACHINE_CONFIG_DERIVED(a500p_state::a500pn, a500p)
MCFG_DEVICE_CLOCK(amiga_state::CLK_7M_NTSC)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(a600_state::a600, amiga_base)
+MACHINE_CONFIG_START(a600_state::a600)
+ amiga_base(config);
// main cpu
MCFG_CPU_ADD("maincpu", M68000, amiga_state::CLK_7M_PAL)
MCFG_CPU_PROGRAM_MAP(a600_mem)
@@ -1715,13 +1728,14 @@ MACHINE_CONFIG_DERIVED(a600_state::a600, amiga_base)
MCFG_SOFTWARE_LIST_ADD("ecs_list", "amigaecs_flop")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(a600_state::a600n, a600)
+MACHINE_CONFIG_START(a600_state::a600n)
+ a600(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_CLOCK(amiga_state::CLK_7M_NTSC)
MCFG_DEVICE_MODIFY("gayle")
MCFG_DEVICE_CLOCK(amiga_state::CLK_28M_NTSC / 2)
MCFG_DEVICE_REMOVE("screen")
- MCFG_FRAGMENT_ADD(ntsc_video)
+ ntsc_video(config);
MCFG_DEVICE_MODIFY("amiga")
MCFG_DEVICE_CLOCK(amiga_state::CLK_C1_NTSC)
MCFG_DEVICE_MODIFY("cia_0")
@@ -1732,7 +1746,8 @@ MACHINE_CONFIG_DERIVED(a600_state::a600n, a600)
MCFG_DEVICE_CLOCK(amiga_state::CLK_7M_NTSC)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(a1200_state::a1200, amiga_base)
+MACHINE_CONFIG_START(a1200_state::a1200)
+ amiga_base(config);
// main cpu
MCFG_CPU_ADD("maincpu", M68EC020, amiga_state::CLK_28M_PAL / 2)
MCFG_CPU_PROGRAM_MAP(a1200_mem)
@@ -1775,13 +1790,14 @@ MACHINE_CONFIG_DERIVED(a1200_state::a1200, amiga_base)
MCFG_SOFTWARE_LIST_ADD("ecs_list", "amigaecs_flop")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(a1200_state::a1200n, a1200)
+MACHINE_CONFIG_START(a1200_state::a1200n)
+ a1200(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_CLOCK(amiga_state::CLK_28M_NTSC / 2)
MCFG_DEVICE_MODIFY("gayle")
MCFG_DEVICE_CLOCK(amiga_state::CLK_28M_NTSC / 2)
MCFG_DEVICE_REMOVE("screen")
- MCFG_FRAGMENT_ADD(ntsc_video)
+ ntsc_video(config);
MCFG_DEVICE_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(amiga_state, screen_update_amiga_aga)
MCFG_SCREEN_NO_PALETTE
@@ -1795,7 +1811,8 @@ MACHINE_CONFIG_DERIVED(a1200_state::a1200n, a1200)
MCFG_DEVICE_CLOCK(amiga_state::CLK_7M_NTSC)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(a4000_state::a4000, amiga_base)
+MACHINE_CONFIG_START(a4000_state::a4000)
+ amiga_base(config);
// main cpu
MCFG_CPU_ADD("maincpu", M68040, XTAL(50'000'000) / 2)
MCFG_CPU_PROGRAM_MAP(a4000_mem)
@@ -1829,9 +1846,10 @@ MACHINE_CONFIG_DERIVED(a4000_state::a4000, amiga_base)
MCFG_SOFTWARE_LIST_ADD("ecs_list", "amigaecs_flop")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(a4000_state::a4000n, a4000)
+MACHINE_CONFIG_START(a4000_state::a4000n)
+ a4000(config);
MCFG_DEVICE_REMOVE("screen")
- MCFG_FRAGMENT_ADD(ntsc_video)
+ ntsc_video(config);
MCFG_DEVICE_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(amiga_state, screen_update_amiga_aga)
MCFG_SCREEN_NO_PALETTE
@@ -1845,7 +1863,8 @@ MACHINE_CONFIG_DERIVED(a4000_state::a4000n, a4000)
MCFG_DEVICE_CLOCK(amiga_state::CLK_7M_NTSC)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(a4000_state::a400030, a4000)
+MACHINE_CONFIG_START(a4000_state::a400030)
+ a4000(config);
// main cpu
MCFG_DEVICE_REMOVE("maincpu")
MCFG_CPU_ADD("maincpu", M68EC030, XTAL(50'000'000) / 2)
@@ -1854,9 +1873,10 @@ MACHINE_CONFIG_DERIVED(a4000_state::a400030, a4000)
// todo: ide
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(a4000_state::a400030n, a400030)
+MACHINE_CONFIG_START(a4000_state::a400030n)
+ a400030(config);
MCFG_DEVICE_REMOVE("screen")
- MCFG_FRAGMENT_ADD(ntsc_video)
+ ntsc_video(config);
MCFG_DEVICE_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(amiga_state, screen_update_amiga_aga)
MCFG_SCREEN_NO_PALETTE
@@ -1870,7 +1890,8 @@ MACHINE_CONFIG_DERIVED(a4000_state::a400030n, a400030)
MCFG_DEVICE_CLOCK(amiga_state::CLK_7M_NTSC)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cd32_state::cd32, amiga_base)
+MACHINE_CONFIG_START(cd32_state::cd32)
+ amiga_base(config);
// main cpu
MCFG_CPU_ADD("maincpu", M68EC020, amiga_state::CLK_28M_PAL / 2)
MCFG_CPU_PROGRAM_MAP(cd32_mem)
@@ -1916,11 +1937,12 @@ MACHINE_CONFIG_DERIVED(cd32_state::cd32, amiga_base)
MCFG_DEVICE_REMOVE("kbd")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cd32_state::cd32n, cd32)
+MACHINE_CONFIG_START(cd32_state::cd32n)
+ cd32(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_CLOCK(amiga_state::CLK_28M_NTSC / 2)
MCFG_DEVICE_REMOVE("screen")
- MCFG_FRAGMENT_ADD(ntsc_video)
+ ntsc_video(config);
MCFG_DEVICE_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(amiga_state, screen_update_amiga_aga)
MCFG_SCREEN_NO_PALETTE
@@ -1934,7 +1956,8 @@ MACHINE_CONFIG_DERIVED(cd32_state::cd32n, cd32)
MCFG_DEVICE_CLOCK(amiga_state::CLK_7M_NTSC)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(a4000_state::a4000t, a4000)
+MACHINE_CONFIG_START(a4000_state::a4000t)
+ a4000(config);
// main cpu
MCFG_DEVICE_REMOVE("maincpu")
MCFG_CPU_ADD("maincpu", M68040, XTAL(50'000'000) / 2)
@@ -1943,9 +1966,10 @@ MACHINE_CONFIG_DERIVED(a4000_state::a4000t, a4000)
// todo: ide, zorro3, scsi, super dmac
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(a4000_state::a4000tn, a4000)
+MACHINE_CONFIG_START(a4000_state::a4000tn)
+ a4000(config);
MCFG_DEVICE_REMOVE("screen")
- MCFG_FRAGMENT_ADD(ntsc_video)
+ ntsc_video(config);
MCFG_DEVICE_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(amiga_state, screen_update_amiga_aga)
MCFG_SCREEN_NO_PALETTE
diff --git a/src/mame/drivers/ampoker2.cpp b/src/mame/drivers/ampoker2.cpp
index 5a266a8e87c..521487f7ed6 100644
--- a/src/mame/drivers/ampoker2.cpp
+++ b/src/mame/drivers/ampoker2.cpp
@@ -1173,7 +1173,8 @@ MACHINE_CONFIG_START(ampoker2_state::ampoker2)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ampoker2_state::sigma2k, ampoker2)
+MACHINE_CONFIG_START(ampoker2_state::sigma2k)
+ ampoker2(config);
/* video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", sigma2k)
diff --git a/src/mame/drivers/amstr_pc.cpp b/src/mame/drivers/amstr_pc.cpp
index de960a821ea..92bab2b40c8 100644
--- a/src/mame/drivers/amstr_pc.cpp
+++ b/src/mame/drivers/amstr_pc.cpp
@@ -516,12 +516,14 @@ MACHINE_CONFIG_START(amstrad_pc_state::pc200)
MCFG_RAM_EXTRA_OPTIONS("512K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(amstrad_pc_state::pc2086, pc200)
+MACHINE_CONFIG_START(amstrad_pc_state::pc2086)
+ pc200(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(pc2086_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(amstrad_pc_state::ppc640, pc200)
+MACHINE_CONFIG_START(amstrad_pc_state::ppc640)
+ pc200(config);
MCFG_CPU_REPLACE("maincpu", V30, 8000000)
MCFG_CPU_PROGRAM_MAP(ppc640_map)
MCFG_CPU_IO_MAP(ppc512_io)
@@ -533,7 +535,8 @@ MACHINE_CONFIG_DERIVED(amstrad_pc_state::ppc640, pc200)
MCFG_MC146818_ADD( "rtc", XTAL(32'768) )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(amstrad_pc_state::ppc512, ppc640)
+MACHINE_CONFIG_START(amstrad_pc_state::ppc512)
+ ppc640(config);
MCFG_DEVICE_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("512K")
MCFG_RAM_EXTRA_OPTIONS("640K")
diff --git a/src/mame/drivers/amstrad.cpp b/src/mame/drivers/amstrad.cpp
index e83284ec119..2455770d97c 100644
--- a/src/mame/drivers/amstrad.cpp
+++ b/src/mame/drivers/amstrad.cpp
@@ -961,7 +961,8 @@ MACHINE_CONFIG_START(amstrad_state::amstrad_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(amstrad_state::cpc464, amstrad_base)
+MACHINE_CONFIG_START(amstrad_state::cpc464)
+ amstrad_base(config);
MCFG_DEVICE_ADD("exp", CPC_EXPANSION_SLOT, 0)
MCFG_DEVICE_SLOT_INTERFACE(cpc464_exp_cards, nullptr, false)
MCFG_CPC_EXPANSION_SLOT_OUT_IRQ_CB(INPUTLINE("maincpu", 0))
@@ -975,7 +976,8 @@ MACHINE_CONFIG_DERIVED(amstrad_state::cpc464, amstrad_base)
MCFG_RAM_EXTRA_OPTIONS("128K,320K,576K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(amstrad_state::cpc664, amstrad_base)
+MACHINE_CONFIG_START(amstrad_state::cpc664)
+ amstrad_base(config);
MCFG_UPD765A_ADD("upd765", true, true)
MCFG_FLOPPY_DRIVE_ADD("upd765:0", amstrad_floppies, "3ssdd", floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD("upd765:1", amstrad_floppies, "35ssdd", floppy_image_device::default_floppy_formats)
@@ -994,7 +996,8 @@ MACHINE_CONFIG_DERIVED(amstrad_state::cpc664, amstrad_base)
MCFG_RAM_EXTRA_OPTIONS("128K,320K,576K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(amstrad_state::cpc6128, amstrad_base)
+MACHINE_CONFIG_START(amstrad_state::cpc6128)
+ amstrad_base(config);
MCFG_UPD765A_ADD("upd765", true, true)
MCFG_FLOPPY_DRIVE_ADD("upd765:0", amstrad_floppies, "3ssdd", floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD("upd765:1", amstrad_floppies, "35ssdd", floppy_image_device::default_floppy_formats)
@@ -1014,7 +1017,8 @@ MACHINE_CONFIG_DERIVED(amstrad_state::cpc6128, amstrad_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(amstrad_state::kccomp, cpc6128)
+MACHINE_CONFIG_START(amstrad_state::kccomp)
+ cpc6128(config);
MCFG_MACHINE_START_OVERRIDE(amstrad_state,kccomp)
MCFG_MACHINE_RESET_OVERRIDE(amstrad_state,kccomp)
@@ -1083,7 +1087,7 @@ MACHINE_CONFIG_START(amstrad_state::cpcplus)
MCFG_UPD765A_ADD("upd765", true, true)
- MCFG_FRAGMENT_ADD(cpcplus_cartslot)
+ cpcplus_cartslot(config);
MCFG_FLOPPY_DRIVE_ADD("upd765:0", amstrad_floppies, "3ssdd", floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD("upd765:1", amstrad_floppies, "35ssdd", floppy_image_device::default_floppy_formats)
@@ -1146,7 +1150,7 @@ MACHINE_CONFIG_START(amstrad_state::gx4000)
MCFG_AY8910_PORT_A_READ_CB(READ8(amstrad_state, amstrad_psg_porta_read)) /* portA read */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
- MCFG_FRAGMENT_ADD(cpcplus_cartslot)
+ cpcplus_cartslot(config);
/* internal ram */
MCFG_RAM_ADD(RAM_TAG)
@@ -1154,7 +1158,8 @@ MACHINE_CONFIG_START(amstrad_state::gx4000)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(amstrad_state::aleste, cpc6128)
+MACHINE_CONFIG_START(amstrad_state::aleste)
+ cpc6128(config);
MCFG_MACHINE_START_OVERRIDE(amstrad_state,aleste)
MCFG_MACHINE_RESET_OVERRIDE(amstrad_state,aleste)
diff --git a/src/mame/drivers/amusco.cpp b/src/mame/drivers/amusco.cpp
index a8c55d35b72..19fbb84bbe7 100644
--- a/src/mame/drivers/amusco.cpp
+++ b/src/mame/drivers/amusco.cpp
@@ -591,7 +591,8 @@ MACHINE_CONFIG_START(amusco_state::amusco)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(amusco_state::draw88pkr, amusco)
+MACHINE_CONFIG_START(amusco_state::draw88pkr)
+ amusco(config);
//MCFG_DEVICE_MODIFY("ppi_outputs") // Some bits are definitely different
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/angelkds.cpp b/src/mame/drivers/angelkds.cpp
index 4621014362a..b36838e613b 100644
--- a/src/mame/drivers/angelkds.cpp
+++ b/src/mame/drivers/angelkds.cpp
@@ -565,7 +565,8 @@ MACHINE_CONFIG_START(angelkds_state::angelkds)
MCFG_SOUND_ROUTE(3, "mono", 0.45)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(angelkds_state::spcpostn, angelkds)
+MACHINE_CONFIG_START(angelkds_state::spcpostn)
+ angelkds(config);
/* encryption */
MCFG_CPU_REPLACE("maincpu", SEGA_317_0005, XTAL(6'000'000))
MCFG_CPU_PROGRAM_MAP(main_map)
diff --git a/src/mame/drivers/apf.cpp b/src/mame/drivers/apf.cpp
index 64973311355..c613635d5b2 100644
--- a/src/mame/drivers/apf.cpp
+++ b/src/mame/drivers/apf.cpp
@@ -548,7 +548,8 @@ MACHINE_CONFIG_START(apf_state::apfm1000)
MCFG_SOFTWARE_LIST_ADD("cart_list", "apfm1000")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(apf_state::apfimag, apfm1000)
+MACHINE_CONFIG_START(apf_state::apfimag)
+ apfm1000(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP( apfimag_map)
diff --git a/src/mame/drivers/apollo.cpp b/src/mame/drivers/apollo.cpp
index f4aac203fbb..309cd82d6ff 100644
--- a/src/mame/drivers/apollo.cpp
+++ b/src/mame/drivers/apollo.cpp
@@ -1055,7 +1055,7 @@ MACHINE_CONFIG_START(apollo_state::dn3500)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_FRAGMENT_ADD( apollo )
+ apollo(config);
/* keyboard beeper */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1079,7 +1079,7 @@ MACHINE_CONFIG_START(apollo_state::dsp3500)
MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(apollo_state,apollo_irq_acknowledge)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_FRAGMENT_ADD( apollo_terminal )
+ apollo_terminal(config);
/* keyboard beeper */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1095,7 +1095,8 @@ MACHINE_CONFIG_START(apollo_state::dsp3500)
MCFG_DEFAULT_LAYOUT( layout_apollo_dsp )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(apollo_state::dn3500_19i, dn3500)
+MACHINE_CONFIG_START(apollo_state::dn3500_19i)
+ dn3500(config);
/* video hardware 19" monochrome */
MCFG_APOLLO_MONO19I_ADD(APOLLO_SCREEN_TAG)
MCFG_DEVICE_ADD(APOLLO_KBD_TAG, APOLLO_KBD, 0)
@@ -1103,7 +1104,8 @@ MACHINE_CONFIG_DERIVED(apollo_state::dn3500_19i, dn3500)
MCFG_APOLLO_KBD_GERMAN_CALLBACK(READLINE(apollo_state, apollo_kbd_is_german))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(apollo_state::dn3500_15i, dn3500)
+MACHINE_CONFIG_START(apollo_state::dn3500_15i)
+ dn3500(config);
/* video hardware is 15" monochrome or color */
MCFG_APOLLO_GRAPHICS_ADD(APOLLO_SCREEN_TAG)
MCFG_DEVICE_ADD(APOLLO_KBD_TAG, APOLLO_KBD, 0)
@@ -1111,7 +1113,8 @@ MACHINE_CONFIG_DERIVED(apollo_state::dn3500_15i, dn3500)
MCFG_APOLLO_KBD_GERMAN_CALLBACK(READLINE(apollo_state, apollo_kbd_is_german))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(apollo_state::dn3000, dn3500)
+MACHINE_CONFIG_START(apollo_state::dn3000)
+ dn3500(config);
MCFG_CPU_REPLACE(MAINCPU, M68020PMMU, 12000000) /* 12 MHz */
MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(apollo_state,apollo_irq_acknowledge)
MCFG_CPU_PROGRAM_MAP(dn3000_map)
@@ -1127,7 +1130,7 @@ MACHINE_CONFIG_START(apollo_state::dsp3000)
MCFG_CPU_PROGRAM_MAP(dsp3000_map)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_FRAGMENT_ADD( apollo_terminal )
+ apollo_terminal(config);
/* keyboard beeper */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1146,7 +1149,8 @@ MACHINE_CONFIG_START(apollo_state::dsp3000)
MCFG_DEFAULT_LAYOUT( layout_apollo_dsp )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(apollo_state::dn3000_19i, dn3000)
+MACHINE_CONFIG_START(apollo_state::dn3000_19i)
+ dn3000(config);
/* video hardware 19" monochrome */
MCFG_APOLLO_MONO19I_ADD(APOLLO_SCREEN_TAG)
MCFG_DEVICE_ADD(APOLLO_KBD_TAG, APOLLO_KBD, 0)
@@ -1154,7 +1158,8 @@ MACHINE_CONFIG_DERIVED(apollo_state::dn3000_19i, dn3000)
MCFG_APOLLO_KBD_GERMAN_CALLBACK(READLINE(apollo_state, apollo_kbd_is_german))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(apollo_state::dn3000_15i, dn3000)
+MACHINE_CONFIG_START(apollo_state::dn3000_15i)
+ dn3000(config);
/* video hardware 15" monochrome */
MCFG_APOLLO_GRAPHICS_ADD(APOLLO_SCREEN_TAG)
MCFG_DEVICE_ADD(APOLLO_KBD_TAG, APOLLO_KBD, 0)
@@ -1162,7 +1167,8 @@ MACHINE_CONFIG_DERIVED(apollo_state::dn3000_15i, dn3000)
MCFG_APOLLO_KBD_GERMAN_CALLBACK(READLINE(apollo_state, apollo_kbd_is_german))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(apollo_state::dn5500, dn3500)
+MACHINE_CONFIG_START(apollo_state::dn5500)
+ dn3500(config);
MCFG_CPU_REPLACE(MAINCPU, M68040, 25000000) /* 25 MHz */
MCFG_CPU_PROGRAM_MAP(dn5500_map)
MACHINE_CONFIG_END
@@ -1173,7 +1179,7 @@ MACHINE_CONFIG_START(apollo_state::dsp5500)
MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(apollo_state,apollo_irq_acknowledge)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_FRAGMENT_ADD(apollo_terminal)
+ apollo_terminal(config);
/* keyboard beeper */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1184,7 +1190,8 @@ MACHINE_CONFIG_START(apollo_state::dsp5500)
MCFG_DEFAULT_LAYOUT( layout_apollo_dsp )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(apollo_state::dn5500_19i, dn5500)
+MACHINE_CONFIG_START(apollo_state::dn5500_19i)
+ dn5500(config);
/* video hardware 19" monochrome */
MCFG_APOLLO_MONO19I_ADD(APOLLO_SCREEN_TAG)
MCFG_DEVICE_ADD(APOLLO_KBD_TAG, APOLLO_KBD, 0)
@@ -1192,7 +1199,8 @@ MACHINE_CONFIG_DERIVED(apollo_state::dn5500_19i, dn5500)
MCFG_APOLLO_KBD_GERMAN_CALLBACK(READLINE(apollo_state, apollo_kbd_is_german))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(apollo_state::dn5500_15i, dn5500)
+MACHINE_CONFIG_START(apollo_state::dn5500_15i)
+ dn5500(config);
/* video hardware 15" monochrome */
MCFG_APOLLO_GRAPHICS_ADD(APOLLO_SCREEN_TAG)
MCFG_DEVICE_ADD(APOLLO_KBD_TAG, APOLLO_KBD, 0)
diff --git a/src/mame/drivers/apple2.cpp b/src/mame/drivers/apple2.cpp
index a6b95ef52ae..3bc2db57174 100644
--- a/src/mame/drivers/apple2.cpp
+++ b/src/mame/drivers/apple2.cpp
@@ -1442,7 +1442,8 @@ MACHINE_CONFIG_START(napple2_state::apple2_common)
MCFG_CASSETTE_INTERFACE("apple2_cass")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(napple2_state::apple2, apple2_common)
+MACHINE_CONFIG_START(napple2_state::apple2)
+ apple2_common(config);
/* internal ram */
MCFG_RAM_ADD(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("48K")
@@ -1450,7 +1451,8 @@ MACHINE_CONFIG_DERIVED(napple2_state::apple2, apple2_common)
MCFG_RAM_DEFAULT_VALUE(0x00)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(napple2_state::apple2p, apple2_common)
+MACHINE_CONFIG_START(napple2_state::apple2p)
+ apple2_common(config);
/* internal ram */
MCFG_RAM_ADD(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("48K")
@@ -1458,16 +1460,19 @@ MACHINE_CONFIG_DERIVED(napple2_state::apple2p, apple2_common)
MCFG_RAM_DEFAULT_VALUE(0x00)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(napple2_state::space84, apple2p)
+MACHINE_CONFIG_START(napple2_state::space84)
+ apple2p(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(napple2_state::apple2jp, apple2p)
+MACHINE_CONFIG_START(napple2_state::apple2jp)
+ apple2p(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(napple2_state, screen_update_jp)
MACHINE_CONFIG_END
#if 0
-static MACHINE_CONFIG_DERIVED( laba2p, apple2p )
+static MACHINE_CONFIG_START( laba2p )
+ apple2p(config);
MCFG_MACHINE_START_OVERRIDE(napple2_state,laba2p)
MCFG_A2BUS_SLOT_REMOVE("sl0")
diff --git a/src/mame/drivers/apple2e.cpp b/src/mame/drivers/apple2e.cpp
index 8544b8d9d8e..5fd680612d6 100644
--- a/src/mame/drivers/apple2e.cpp
+++ b/src/mame/drivers/apple2e.cpp
@@ -4023,18 +4023,21 @@ MACHINE_CONFIG_START(apple2e_state::apple2e)
MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(apple2e_state::mprof3, apple2e)
+MACHINE_CONFIG_START(apple2e_state::mprof3)
+ apple2e(config);
/* internal ram */
MCFG_RAM_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("128K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(apple2e_state::apple2ee, apple2e)
+MACHINE_CONFIG_START(apple2e_state::apple2ee)
+ apple2e(config);
MCFG_CPU_REPLACE("maincpu", M65C02, 1021800) /* close to actual CPU frequency of 1.020484 MHz */
MCFG_CPU_PROGRAM_MAP(apple2e_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(apple2e_state::spectred, apple2e)
+MACHINE_CONFIG_START(apple2e_state::spectred)
+ apple2e(config);
MCFG_CPU_ADD("keyb_mcu", I8035, XTAL(4'000'000)) /* guessed frequency */
MCFG_CPU_PROGRAM_MAP(spectred_keyb_map)
@@ -4042,7 +4045,8 @@ MACHINE_CONFIG_DERIVED(apple2e_state::spectred, apple2e)
// and then remove the keyb CPU inherited from apple2e
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(apple2e_state::tk3000, apple2e)
+MACHINE_CONFIG_START(apple2e_state::tk3000)
+ apple2e(config);
MCFG_CPU_REPLACE("maincpu", M65C02, 1021800) /* close to actual CPU frequency of 1.020484 MHz */
MCFG_CPU_PROGRAM_MAP(apple2e_map)
@@ -4050,12 +4054,14 @@ MACHINE_CONFIG_DERIVED(apple2e_state::tk3000, apple2e)
// MCFG_CPU_PROGRAM_MAP(tk3000_kbd_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(apple2e_state::apple2ep, apple2e)
+MACHINE_CONFIG_START(apple2e_state::apple2ep)
+ apple2e(config);
MCFG_CPU_REPLACE("maincpu", M65C02, 1021800) /* close to actual CPU frequency of 1.020484 MHz */
MCFG_CPU_PROGRAM_MAP(apple2e_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(apple2e_state::apple2c, apple2ee)
+MACHINE_CONFIG_START(apple2e_state::apple2c)
+ apple2ee(config);
MCFG_CPU_REPLACE("maincpu", M65C02, 1021800) /* close to actual CPU frequency of 1.020484 MHz */
MCFG_CPU_PROGRAM_MAP(apple2c_map)
@@ -4119,20 +4125,23 @@ static const floppy_interface apple2cp_floppy35_floppy_interface =
"floppy_3_5"
};
-MACHINE_CONFIG_DERIVED(apple2e_state::apple2cp, apple2c)
+MACHINE_CONFIG_START(apple2e_state::apple2cp)
+ apple2c(config);
MCFG_A2BUS_SLOT_REMOVE("sl4")
MCFG_A2BUS_SLOT_REMOVE("sl6")
MCFG_IWM_ADD(IICP_IWM_TAG, a2cp_interface)
MCFG_LEGACY_FLOPPY_SONY_2_DRIVES_ADD(apple2cp_floppy35_floppy_interface)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(apple2e_state::apple2c_iwm, apple2c)
+MACHINE_CONFIG_START(apple2e_state::apple2c_iwm)
+ apple2c(config);
MCFG_A2BUS_SLOT_REMOVE("sl6")
MCFG_A2BUS_ONBOARD_ADD("a2bus", "sl6", A2BUS_IWM_FDC, NOOP)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(apple2e_state::apple2c_mem, apple2c)
+MACHINE_CONFIG_START(apple2e_state::apple2c_mem)
+ apple2c(config);
MCFG_CPU_REPLACE("maincpu", M65C02, 1021800) /* close to actual CPU frequency of 1.020484 MHz */
MCFG_CPU_PROGRAM_MAP(apple2c_memexp_map)
@@ -4161,7 +4170,8 @@ static const floppy_interface floppy_interface =
"floppy_5_25"
};
-MACHINE_CONFIG_DERIVED(apple2e_state::laser128, apple2c)
+MACHINE_CONFIG_START(apple2e_state::laser128)
+ apple2c(config);
MCFG_CPU_REPLACE("maincpu", M65C02, 1021800) /* close to actual CPU frequency of 1.020484 MHz */
MCFG_CPU_PROGRAM_MAP(laser128_map)
@@ -4184,7 +4194,8 @@ MACHINE_CONFIG_DERIVED(apple2e_state::laser128, apple2c)
MCFG_RAM_EXTRA_OPTIONS("128K, 384K, 640K, 896K, 1152K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(apple2e_state::laser128ex2, apple2c)
+MACHINE_CONFIG_START(apple2e_state::laser128ex2)
+ apple2c(config);
MCFG_CPU_REPLACE("maincpu", M65C02, 1021800) /* close to actual CPU frequency of 1.020484 MHz */
MCFG_CPU_PROGRAM_MAP(laser128_map)
@@ -4207,7 +4218,8 @@ MACHINE_CONFIG_DERIVED(apple2e_state::laser128ex2, apple2c)
MCFG_RAM_EXTRA_OPTIONS("128K, 384K, 640K, 896K, 1152K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(apple2e_state::ceci, apple2e)
+MACHINE_CONFIG_START(apple2e_state::ceci)
+ apple2e(config);
MCFG_A2BUS_SLOT_REMOVE("sl1")
MCFG_A2BUS_SLOT_REMOVE("sl2")
MCFG_A2BUS_SLOT_REMOVE("sl3")
diff --git a/src/mame/drivers/apple2gs.cpp b/src/mame/drivers/apple2gs.cpp
index 82d6bdf3348..9d1f6e32c09 100644
--- a/src/mame/drivers/apple2gs.cpp
+++ b/src/mame/drivers/apple2gs.cpp
@@ -415,7 +415,8 @@ MACHINE_CONFIG_START(apple2gs_state::apple2gs)
MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("flop525_list", "apple2")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(apple2gs_state::apple2gsr1, apple2gs)
+MACHINE_CONFIG_START(apple2gs_state::apple2gsr1)
+ apple2gs(config);
MCFG_MACHINE_START_OVERRIDE(apple2gs_state, apple2gsr1 )
#if RUN_ADB_MICRO
diff --git a/src/mame/drivers/appoooh.cpp b/src/mame/drivers/appoooh.cpp
index 93b8dad8828..3769c5baac0 100644
--- a/src/mame/drivers/appoooh.cpp
+++ b/src/mame/drivers/appoooh.cpp
@@ -444,7 +444,8 @@ MACHINE_CONFIG_START(appoooh_state::appoooh_common)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(appoooh_state::appoooh, appoooh_common)
+MACHINE_CONFIG_START(appoooh_state::appoooh)
+ appoooh_common(config);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -463,7 +464,8 @@ MACHINE_CONFIG_DERIVED(appoooh_state::appoooh, appoooh_common)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(appoooh_state::robowres, appoooh_common)
+MACHINE_CONFIG_START(appoooh_state::robowres)
+ appoooh_common(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
@@ -484,7 +486,8 @@ MACHINE_CONFIG_DERIVED(appoooh_state::robowres, appoooh_common)
MCFG_VIDEO_START_OVERRIDE(appoooh_state,appoooh)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(appoooh_state::robowrese, robowres)
+MACHINE_CONFIG_START(appoooh_state::robowrese)
+ robowres(config);
MCFG_CPU_REPLACE("maincpu", SEGA_315_5179,18432000/6) /* ??? the main xtal is 18.432 MHz */
MCFG_CPU_PROGRAM_MAP(main_map)
diff --git a/src/mame/drivers/apricot.cpp b/src/mame/drivers/apricot.cpp
index 14490c3cf9e..b5f4176e4bf 100644
--- a/src/mame/drivers/apricot.cpp
+++ b/src/mame/drivers/apricot.cpp
@@ -471,7 +471,8 @@ MACHINE_CONFIG_START(apricot_state::apricot)
MCFG_EXPANSION_SLOT_ADD("exp:2", apricot_expansion_cards, nullptr)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(apricot_state::apricotxi, apricot)
+MACHINE_CONFIG_START(apricot_state::apricotxi)
+ apricot(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/arcadecl.cpp b/src/mame/drivers/arcadecl.cpp
index 0e82c656855..7f636ee8a30 100644
--- a/src/mame/drivers/arcadecl.cpp
+++ b/src/mame/drivers/arcadecl.cpp
@@ -358,7 +358,8 @@ MACHINE_CONFIG_START(arcadecl_state::arcadecl)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(arcadecl_state::sparkz, arcadecl)
+MACHINE_CONFIG_START(arcadecl_state::sparkz)
+ arcadecl(config);
MCFG_DEVICE_REMOVE("mob")
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/aristmk4.cpp b/src/mame/drivers/aristmk4.cpp
index 49471155ead..de53fd6cf89 100644
--- a/src/mame/drivers/aristmk4.cpp
+++ b/src/mame/drivers/aristmk4.cpp
@@ -1822,7 +1822,8 @@ MACHINE_CONFIG_START(aristmk4_state::aristmk4)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(aristmk4_state::aristmk4_poker, aristmk4)
+MACHINE_CONFIG_START(aristmk4_state::aristmk4_poker)
+ aristmk4(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(aristmk4_poker_map)
@@ -1852,7 +1853,8 @@ PALETTE_INIT_MEMBER(aristmk4_state,lions)
}
}
-MACHINE_CONFIG_DERIVED(aristmk4_state::_86lions, aristmk4)
+MACHINE_CONFIG_START(aristmk4_state::_86lions)
+ aristmk4(config);
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_INIT_OWNER(aristmk4_state,lions)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/aristmk5.cpp b/src/mame/drivers/aristmk5.cpp
index 317df5efc7f..91fef1130d4 100644
--- a/src/mame/drivers/aristmk5.cpp
+++ b/src/mame/drivers/aristmk5.cpp
@@ -2095,19 +2095,22 @@ MACHINE_CONFIG_START(aristmk5_state::aristmk5)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(aristmk5_state::aristmk5_touch, aristmk5)
+MACHINE_CONFIG_START(aristmk5_state::aristmk5_touch)
+ aristmk5(config);
MCFG_DEVICE_MODIFY("uart_0a")
MCFG_INS8250_OUT_TX_CB(DEVWRITELINE("microtouch", microtouch_device, rx))
MCFG_MICROTOUCH_ADD("microtouch", 2400, DEVWRITELINE("uart_0a", ins8250_uart_device, rx_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(aristmk5_state::aristmk5_usa, aristmk5)
+MACHINE_CONFIG_START(aristmk5_state::aristmk5_usa)
+ aristmk5(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(aristmk5_usa_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(aristmk5_state::aristmk5_usa_touch, aristmk5_usa)
+MACHINE_CONFIG_START(aristmk5_state::aristmk5_usa_touch)
+ aristmk5_usa(config);
MCFG_DEVICE_MODIFY("uart_0a")
MCFG_INS8250_OUT_TX_CB(DEVWRITELINE("microtouch", microtouch_device, rx))
diff --git a/src/mame/drivers/arkanoid.cpp b/src/mame/drivers/arkanoid.cpp
index ac3fd706487..0a3d51dc9c3 100644
--- a/src/mame/drivers/arkanoid.cpp
+++ b/src/mame/drivers/arkanoid.cpp
@@ -1371,14 +1371,16 @@ MACHINE_CONFIG_START(arkanoid_state::arkanoid)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.66)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(arkanoid_state::p3mcu, arkanoid)
+MACHINE_CONFIG_START(arkanoid_state::p3mcu)
+ arkanoid(config);
/* unprotected MCU */
MCFG_DEVICE_REPLACE("mcu", ARKANOID_68705P3, XTAL(12'000'000)/4)
MCFG_ARKANOID_MCU_PORTB_R_CB(IOPORT("MUX"))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(arkanoid_state::p3mcuay, arkanoid)
+MACHINE_CONFIG_START(arkanoid_state::p3mcuay)
+ arkanoid(config);
/* unprotected MCU */
MCFG_DEVICE_REPLACE("mcu", ARKANOID_68705P3, XTAL(12'000'000)/4)
@@ -1391,7 +1393,8 @@ MACHINE_CONFIG_DERIVED(arkanoid_state::p3mcuay, arkanoid)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.66)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(arkanoid_state::bootleg, arkanoid)
+MACHINE_CONFIG_START(arkanoid_state::bootleg)
+ arkanoid(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1400,7 +1403,8 @@ MACHINE_CONFIG_DERIVED(arkanoid_state::bootleg, arkanoid)
MCFG_DEVICE_REMOVE("mcu")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(arkanoid_state::aysnd, bootleg)
+MACHINE_CONFIG_START(arkanoid_state::aysnd)
+ bootleg(config);
MCFG_SOUND_REPLACE("aysnd", AY8910, XTAL(12'000'000)/4)
MCFG_AY8910_OUTPUT_TYPE(AY8910_SINGLE_OUTPUT)
MCFG_AY8910_PORT_A_READ_CB(IOPORT("UNUSED"))
@@ -1439,7 +1443,8 @@ MACHINE_CONFIG_START(arkanoid_state::hexa)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(arkanoid_state::hexaa, hexa)
+MACHINE_CONFIG_START(arkanoid_state::hexaa)
+ hexa(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(hexaa_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", arkanoid_state, irq0_line_hold)
diff --git a/src/mame/drivers/armedf.cpp b/src/mame/drivers/armedf.cpp
index 12d8cb5e157..d7b33ec7f97 100644
--- a/src/mame/drivers/armedf.cpp
+++ b/src/mame/drivers/armedf.cpp
@@ -1289,7 +1289,7 @@ MACHINE_CONFIG_START(armedf_state::terraf)
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
/* sound hardware */
- MCFG_FRAGMENT_ADD(terraf_sound)
+ terraf_sound(config);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(armedf_state::terrafjb)
@@ -1344,7 +1344,8 @@ MACHINE_CONFIG_START(armedf_state::terrafjb)
MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(armedf_state::terrafb, terraf)
+MACHINE_CONFIG_START(armedf_state::terrafb)
+ terraf(config);
MCFG_DEVICE_REMOVE("nb1414m4")
MACHINE_CONFIG_END
@@ -1379,7 +1380,7 @@ MACHINE_CONFIG_START(armedf_state::kozure)
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
/* sound hardware */
- MCFG_FRAGMENT_ADD(terraf_sound)
+ terraf_sound(config);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(armedf_state::armedf)
@@ -1607,7 +1608,7 @@ MACHINE_CONFIG_START(bigfghtr_state::bigfghtr)
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
/* sound hardware */
- MCFG_FRAGMENT_ADD(terraf_sound)
+ terraf_sound(config);
MACHINE_CONFIG_END
/*************************************
diff --git a/src/mame/drivers/arsystems.cpp b/src/mame/drivers/arsystems.cpp
index 422c62ee991..42e6bd2fe81 100644
--- a/src/mame/drivers/arsystems.cpp
+++ b/src/mame/drivers/arsystems.cpp
@@ -310,7 +310,7 @@ MACHINE_CONFIG_START(arcadia_amiga_state::arcadia)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
- MCFG_FRAGMENT_ADD(ntsc_video)
+ ntsc_video(config);
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_INIT_OWNER(arcadia_amiga_state,amiga)
@@ -347,7 +347,8 @@ MACHINE_CONFIG_START(arcadia_amiga_state::arcadia)
MCFG_AMIGA_FDC_DSKSYN_CALLBACK(WRITELINE(amiga_state, fdc_dsksyn_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(arcadia_amiga_state::argh, arcadia)
+MACHINE_CONFIG_START(arcadia_amiga_state::argh)
+ arcadia(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/artmagic.cpp b/src/mame/drivers/artmagic.cpp
index 3e1fba50f1f..ed260d2eda3 100644
--- a/src/mame/drivers/artmagic.cpp
+++ b/src/mame/drivers/artmagic.cpp
@@ -834,7 +834,8 @@ MACHINE_CONFIG_START(artmagic_state::artmagic)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(artmagic_state::cheesech, artmagic)
+MACHINE_CONFIG_START(artmagic_state::cheesech)
+ artmagic(config);
MCFG_SOUND_MODIFY("oki")
MCFG_SOUND_ROUTES_RESET()
@@ -842,7 +843,8 @@ MACHINE_CONFIG_DERIVED(artmagic_state::cheesech, artmagic)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(artmagic_state::stonebal, artmagic)
+MACHINE_CONFIG_START(artmagic_state::stonebal)
+ artmagic(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(stonebal_map)
@@ -855,7 +857,8 @@ MACHINE_CONFIG_DERIVED(artmagic_state::stonebal, artmagic)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.45)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(artmagic_state::shtstar, artmagic)
+MACHINE_CONFIG_START(artmagic_state::shtstar)
+ artmagic(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(shtstar_map)
diff --git a/src/mame/drivers/asteroid.cpp b/src/mame/drivers/asteroid.cpp
index c95a3789dad..7ae9185957a 100644
--- a/src/mame/drivers/asteroid.cpp
+++ b/src/mame/drivers/asteroid.cpp
@@ -672,13 +672,15 @@ MACHINE_CONFIG_START(asteroid_state::asteroid_base)
MCFG_AVGDVG_VECTOR("vector")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(asteroid_state::asteroid, asteroid_base)
+MACHINE_CONFIG_START(asteroid_state::asteroid)
+ asteroid_base(config);
/* sound hardware */
- MCFG_FRAGMENT_ADD(asteroid_sound)
+ asteroid_sound(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(asteroid_state::asterock, asteroid)
+MACHINE_CONFIG_START(asteroid_state::asterock)
+ asteroid(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -686,7 +688,8 @@ MACHINE_CONFIG_DERIVED(asteroid_state::asterock, asteroid)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(asteroid_state::astdelux, asteroid_base)
+MACHINE_CONFIG_START(asteroid_state::astdelux)
+ asteroid_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -695,7 +698,7 @@ MACHINE_CONFIG_DERIVED(asteroid_state::astdelux, asteroid_base)
MCFG_ATARIVGEAROM_ADD("earom")
/* sound hardware */
- MCFG_FRAGMENT_ADD(astdelux_sound)
+ astdelux_sound(config);
MCFG_SOUND_ADD("pokey", POKEY, MASTER_CLOCK/8)
MCFG_POKEY_ALLPOT_R_CB(IOPORT("DSW2"))
@@ -713,7 +716,8 @@ MACHINE_CONFIG_DERIVED(asteroid_state::astdelux, asteroid_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(asteroid_state::llander, asteroid_base)
+MACHINE_CONFIG_START(asteroid_state::llander)
+ asteroid_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -726,7 +730,7 @@ MACHINE_CONFIG_DERIVED(asteroid_state::llander, asteroid_base)
MCFG_SCREEN_UPDATE_DEVICE("vector", vector_device, screen_update)
/* sound hardware */
- MCFG_FRAGMENT_ADD(llander_sound)
+ llander_sound(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/astinvad.cpp b/src/mame/drivers/astinvad.cpp
index d219cf82ecb..3d81d757201 100644
--- a/src/mame/drivers/astinvad.cpp
+++ b/src/mame/drivers/astinvad.cpp
@@ -695,7 +695,8 @@ MACHINE_CONFIG_START(astinvad_state::kamikaze)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(astinvad_state::spcking2, kamikaze)
+MACHINE_CONFIG_START(astinvad_state::spcking2)
+ kamikaze(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("ppi8255_1")
diff --git a/src/mame/drivers/astrafr.cpp b/src/mame/drivers/astrafr.cpp
index 7c335303b37..39ab2e11ed6 100644
--- a/src/mame/drivers/astrafr.cpp
+++ b/src/mame/drivers/astrafr.cpp
@@ -313,11 +313,13 @@ MACHINE_CONFIG_START(astrafr_state::astrafr_dual)
MCFG_MACHINE_START_OVERRIDE(astrafr_state, astra_common )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(astrafr_state::astrafr_dual_2e, astrafr_dual)
+MACHINE_CONFIG_START(astrafr_state::astrafr_dual_2e)
+ astrafr_dual(config);
MCFG_MACHINE_START_OVERRIDE(astrafr_state, astra_2e )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(astrafr_state::astrafr_dual_37, astrafr_dual)
+MACHINE_CONFIG_START(astrafr_state::astrafr_dual_37)
+ astrafr_dual(config);
MCFG_MACHINE_START_OVERRIDE(astrafr_state, astra_37 )
MACHINE_CONFIG_END
@@ -329,7 +331,8 @@ MACHINE_CONFIG_START(astrafr_state::astrafr_dual_alt)
MCFG_CPU_PROGRAM_MAP(astrafr_slave_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(astrafr_state::astrafr_dual_alt_37, astrafr_dual_alt)
+MACHINE_CONFIG_START(astrafr_state::astrafr_dual_alt_37)
+ astrafr_dual_alt(config);
MCFG_MACHINE_START_OVERRIDE(astrafr_state, astra_37 )
MACHINE_CONFIG_END
@@ -341,11 +344,13 @@ MACHINE_CONFIG_START(astrafr_state::astra_single)
MCFG_MACHINE_START_OVERRIDE(astrafr_state, astra_common )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(astrafr_state::astra_single_37, astra_single)
+MACHINE_CONFIG_START(astrafr_state::astra_single_37)
+ astra_single(config);
MCFG_MACHINE_START_OVERRIDE(astrafr_state, astra_37 )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(astrafr_state::astra_single_2e, astra_single)
+MACHINE_CONFIG_START(astrafr_state::astra_single_2e)
+ astra_single(config);
MCFG_MACHINE_START_OVERRIDE(astrafr_state, astra_2e )
MACHINE_CONFIG_END
@@ -364,11 +369,13 @@ MACHINE_CONFIG_START(astrafr_state::astra_single_alt)
MCFG_MACHINE_START_OVERRIDE(astrafr_state, astra_common )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(astrafr_state::astra_single_alt_57, astra_single_alt)
+MACHINE_CONFIG_START(astrafr_state::astra_single_alt_57)
+ astra_single_alt(config);
MCFG_MACHINE_START_OVERRIDE(astrafr_state, astra_57 )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(astrafr_state::astra_single_alt_37, astra_single_alt)
+MACHINE_CONFIG_START(astrafr_state::astra_single_alt_37)
+ astra_single_alt(config);
MCFG_MACHINE_START_OVERRIDE(astrafr_state, astra_37 )
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/astrcorp.cpp b/src/mame/drivers/astrcorp.cpp
index 534341bac92..ad4d79eda6b 100644
--- a/src/mame/drivers/astrcorp.cpp
+++ b/src/mame/drivers/astrcorp.cpp
@@ -538,7 +538,8 @@ MACHINE_CONFIG_START(astrocorp_state::showhand)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(astrocorp_state::showhanc, showhand)
+MACHINE_CONFIG_START(astrocorp_state::showhanc)
+ showhand(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(showhanc_map)
MACHINE_CONFIG_END
@@ -592,7 +593,8 @@ MACHINE_CONFIG_START(astrocorp_state::skilldrp)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(astrocorp_state::speeddrp, skilldrp)
+MACHINE_CONFIG_START(astrocorp_state::speeddrp)
+ skilldrp(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(speeddrp_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/astrocde.cpp b/src/mame/drivers/astrocde.cpp
index 8d61fd4df12..a18cf450e4d 100644
--- a/src/mame/drivers/astrocde.cpp
+++ b/src/mame/drivers/astrocde.cpp
@@ -1264,7 +1264,8 @@ MACHINE_CONFIG_START(astrocde_state::astrocade_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(astrocde_state::astrocade_16color_base, astrocade_base)
+MACHINE_CONFIG_START(astrocde_state::astrocade_16color_base)
+ astrocade_base(config);
/* basic machine hardware */
MCFG_DEVICE_ADD("bank4000", ADDRESS_MAP_BANK, 0)
@@ -1318,7 +1319,8 @@ MACHINE_CONFIG_END
*
*************************************/
-MACHINE_CONFIG_DERIVED(astrocde_state::seawolf2, astrocade_base)
+MACHINE_CONFIG_START(astrocde_state::seawolf2)
+ astrocade_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1344,8 +1346,9 @@ MACHINE_CONFIG_DERIVED(astrocde_state::seawolf2, astrocade_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(astrocde_state::ebases, astrocade_base)
- MCFG_FRAGMENT_ADD(astrocade_mono_sound)
+MACHINE_CONFIG_START(astrocde_state::ebases)
+ astrocade_base(config);
+ astrocade_mono_sound(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1354,8 +1357,9 @@ MACHINE_CONFIG_DERIVED(astrocde_state::ebases, astrocade_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(astrocde_state::spacezap, astrocade_base)
- MCFG_FRAGMENT_ADD(astrocade_mono_sound)
+MACHINE_CONFIG_START(astrocde_state::spacezap)
+ astrocade_base(config);
+ astrocade_mono_sound(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1363,8 +1367,9 @@ MACHINE_CONFIG_DERIVED(astrocde_state::spacezap, astrocade_base)
MCFG_CPU_IO_MAP(port_map_mono_pattern)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(astrocde_state::wow, astrocade_base)
- MCFG_FRAGMENT_ADD(astrocade_stereo_sound)
+MACHINE_CONFIG_START(astrocde_state::wow)
+ astrocade_base(config);
+ astrocade_stereo_sound(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1384,7 +1389,8 @@ MACHINE_CONFIG_DERIVED(astrocde_state::wow, astrocade_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(astrocde_state::gorf, astrocade_base)
+MACHINE_CONFIG_START(astrocde_state::gorf)
+ astrocade_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1410,8 +1416,9 @@ MACHINE_CONFIG_DERIVED(astrocde_state::gorf, astrocade_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(astrocde_state::robby, astrocade_base)
- MCFG_FRAGMENT_ADD(astrocade_stereo_sound)
+MACHINE_CONFIG_START(astrocde_state::robby)
+ astrocade_base(config);
+ astrocade_stereo_sound(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1422,8 +1429,9 @@ MACHINE_CONFIG_DERIVED(astrocde_state::robby, astrocade_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(astrocde_state::profpac, astrocade_16color_base)
- MCFG_FRAGMENT_ADD(astrocade_stereo_sound)
+MACHINE_CONFIG_START(astrocde_state::profpac)
+ astrocade_16color_base(config);
+ astrocade_stereo_sound(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1436,7 +1444,8 @@ MACHINE_CONFIG_DERIVED(astrocde_state::profpac, astrocade_16color_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(astrocde_state::demndrgn, astrocade_16color_base)
+MACHINE_CONFIG_START(astrocde_state::demndrgn)
+ astrocade_16color_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1445,7 +1454,8 @@ MACHINE_CONFIG_DERIVED(astrocde_state::demndrgn, astrocade_16color_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(astrocde_state::tenpindx, astrocade_16color_base)
+MACHINE_CONFIG_START(astrocde_state::tenpindx)
+ astrocade_16color_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/astrof.cpp b/src/mame/drivers/astrof.cpp
index 0ccea52ba9d..9765b0c612f 100644
--- a/src/mame/drivers/astrof.cpp
+++ b/src/mame/drivers/astrof.cpp
@@ -923,7 +923,8 @@ MACHINE_CONFIG_START(astrof_state::base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(astrof_state::astrof, base)
+MACHINE_CONFIG_START(astrof_state::astrof)
+ base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -936,11 +937,12 @@ MACHINE_CONFIG_DERIVED(astrof_state::astrof, base)
MCFG_SCREEN_UPDATE_DRIVER(astrof_state, screen_update_astrof)
/* audio hardware */
- MCFG_FRAGMENT_ADD(astrof_audio)
+ astrof_audio(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(astrof_state::abattle, astrof)
+MACHINE_CONFIG_START(astrof_state::abattle)
+ astrof(config);
/* basic machine hardware */
@@ -949,7 +951,8 @@ MACHINE_CONFIG_DERIVED(astrof_state::abattle, astrof)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(astrof_state::spfghmk2, base)
+MACHINE_CONFIG_START(astrof_state::spfghmk2)
+ base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -962,11 +965,12 @@ MACHINE_CONFIG_DERIVED(astrof_state::spfghmk2, base)
MCFG_SCREEN_UPDATE_DRIVER(astrof_state, screen_update_astrof)
/* audio hardware */
- MCFG_FRAGMENT_ADD(spfghmk2_audio)
+ spfghmk2_audio(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(astrof_state::tomahawk, base)
+MACHINE_CONFIG_START(astrof_state::tomahawk)
+ base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -979,7 +983,7 @@ MACHINE_CONFIG_DERIVED(astrof_state::tomahawk, base)
MCFG_SCREEN_UPDATE_DRIVER(astrof_state, screen_update_tomahawk)
/* audio hardware */
- MCFG_FRAGMENT_ADD(tomahawk_audio)
+ tomahawk_audio(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/at.cpp b/src/mame/drivers/at.cpp
index 79388ad3203..840352dfe2b 100644
--- a/src/mame/drivers/at.cpp
+++ b/src/mame/drivers/at.cpp
@@ -430,12 +430,14 @@ MACHINE_CONFIG_START(at_state::ibm5170)
MCFG_RAM_EXTRA_OPTIONS("2M,4M,8M,15M")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(at_state::ibm5170a, ibm5170)
+MACHINE_CONFIG_START(at_state::ibm5170a)
+ ibm5170(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(XTAL(16'000'000)/2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(at_state::ews286, ibm5170)
+MACHINE_CONFIG_START(at_state::ews286)
+ ibm5170(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(XTAL(16'000'000)/2) // Exact crystal needs to be verified, 8 MHz according to specification
@@ -448,19 +450,22 @@ MACHINE_CONFIG_DERIVED(at_state::ews286, ibm5170)
MCFG_RAM_DEFAULT_SIZE("640K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(at_state::ec1842, ibm5170)
+MACHINE_CONFIG_START(at_state::ec1842)
+ ibm5170(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(12000000)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(at_state::ibm5162, ibm5170)
+MACHINE_CONFIG_START(at_state::ibm5162)
+ ibm5170(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(6000000)
MCFG_DEVICE_MODIFY("isa1")
MCFG_DEVICE_SLOT_INTERFACE(pc_isa16_cards, "cga", false)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(at_state::ibmps1, ibm5170)
+MACHINE_CONFIG_START(at_state::ibmps1)
+ ibm5170(config);
MCFG_MACHINE_START_OVERRIDE(at_state, vrom_fix)
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(XTAL(10'000'000))
@@ -472,7 +477,8 @@ MACHINE_CONFIG_DERIVED(at_state::ibmps1, ibm5170)
MCFG_DEVICE_SLOT_INTERFACE(pc_at_keyboards, STR_KBD_MICROSOFT_NATURAL, false)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(at_state::atvga, ibm5170)
+MACHINE_CONFIG_START(at_state::atvga)
+ ibm5170(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(12000000)
MCFG_DEVICE_MODIFY("isa1")
@@ -482,7 +488,8 @@ MACHINE_CONFIG_DERIVED(at_state::atvga, ibm5170)
MCFG_ISA16_SLOT_ADD("mb:isabus","isa5", pc_isa16_cards, nullptr, false)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(at_state::neat, atvga)
+MACHINE_CONFIG_START(at_state::neat)
+ atvga(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(neat_io)
MCFG_DEVICE_REMOVE("mb:rtc") // TODO: move this into the cs8221
@@ -492,12 +499,14 @@ MACHINE_CONFIG_DERIVED(at_state::neat, atvga)
MCFG_CS8221_ADD("cs8221", "maincpu", "mb:isa", "bios")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(at_state::xb42639, atvga)
+MACHINE_CONFIG_START(at_state::xb42639)
+ atvga(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(12500000)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(at_state::k286i, ibm5162)
+MACHINE_CONFIG_START(at_state::k286i)
+ ibm5162(config);
MCFG_DEVICE_MODIFY("kbd")
MCFG_DEVICE_SLOT_INTERFACE(pc_at_keyboards, STR_KBD_MICROSOFT_NATURAL, false)
MCFG_ISA16_SLOT_ADD("mb:isabus","isa5", pc_isa16_cards, nullptr, false)
@@ -536,38 +545,44 @@ MACHINE_CONFIG_START(at_state::at386)
MCFG_RAM_EXTRA_OPTIONS("2M,4M,8M,15M,16M,32M,64M")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(at_state::at386l, at386)
+MACHINE_CONFIG_START(at_state::at386l)
+ at386(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(at32l_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(at_state::at486, at386)
+MACHINE_CONFIG_START(at_state::at486)
+ at386(config);
MCFG_CPU_REPLACE("maincpu", I486, 25000000)
MCFG_CPU_PROGRAM_MAP(at32_map)
MCFG_CPU_IO_MAP(at32_io)
MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259_master", pic8259_device, inta_cb)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(at_state::at486l, at486)
+MACHINE_CONFIG_START(at_state::at486l)
+ at486(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(at32l_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(at_state::at386sx, atvga)
+MACHINE_CONFIG_START(at_state::at386sx)
+ atvga(config);
MCFG_CPU_REPLACE("maincpu", I386SX, 16000000) /* 386SX */
MCFG_CPU_PROGRAM_MAP(at16_map)
MCFG_CPU_IO_MAP(at16_io)
MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259_master", pic8259_device, inta_cb)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(at_state::ct386sx, at386sx)
+MACHINE_CONFIG_START(at_state::ct386sx)
+ at386sx(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(neat_io)
MCFG_CS8221_ADD("cs8221", "maincpu", "mb:isa", "maincpu")
MACHINE_CONFIG_END
// Commodore PC 30-III
-MACHINE_CONFIG_DERIVED(at_state::pc30iii, ibm5170)
+MACHINE_CONFIG_START(at_state::pc30iii)
+ ibm5170(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(6000000) // should be XTAL(24'000'000)/2, but doesn't post with that setting
MCFG_DEVICE_MODIFY("isa1")
@@ -575,7 +590,8 @@ MACHINE_CONFIG_DERIVED(at_state::pc30iii, ibm5170)
MACHINE_CONFIG_END
// Commodore PC 40-III
-MACHINE_CONFIG_DERIVED(at_state::pc40iii, ibm5170)
+MACHINE_CONFIG_START(at_state::pc40iii)
+ ibm5170(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(6000000) // should be XTAL(24'000'000)/2, but doesn't post with that setting
MCFG_DEVICE_MODIFY("isa1")
@@ -659,7 +675,8 @@ MACHINE_CONFIG_START(megapc_state::megapc)
MCFG_SOFTWARE_LIST_ADD("disk_list","megapc")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(megapc_state::megapcpl, megapc)
+MACHINE_CONFIG_START(megapc_state::megapcpl)
+ megapc(config);
MCFG_CPU_REPLACE("maincpu", I486, 66000000 / 2)
MCFG_CPU_PROGRAM_MAP(megapcpl_map)
MCFG_CPU_IO_MAP(megapcpl_io)
@@ -771,7 +788,8 @@ MACHINE_CONFIG_START(at_state::comportiii)
MCFG_RAM_EXTRA_OPTIONS("1152K,1664K,2176K,2688K,4736K,6784K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(at_state::comportii, ibm5170)
+MACHINE_CONFIG_START(at_state::comportii)
+ ibm5170(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(48_MHz_XTAL/6)
MCFG_DEVICE_MODIFY("isa2")
diff --git a/src/mame/drivers/atari400.cpp b/src/mame/drivers/atari400.cpp
index 028688a9b1b..717917d8f7a 100644
--- a/src/mame/drivers/atari400.cpp
+++ b/src/mame/drivers/atari400.cpp
@@ -2143,7 +2143,8 @@ MACHINE_CONFIG_START(a400_state::atari_common_nodac)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(a400_state::atari_common, atari_common_nodac)
+MACHINE_CONFIG_START(a400_state::atari_common)
+ atari_common_nodac(config);
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.03)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
@@ -2172,7 +2173,8 @@ MACHINE_CONFIG_END
// memory map A400 + NTSC screen
-MACHINE_CONFIG_DERIVED(a400_state::a400, atari_common)
+MACHINE_CONFIG_START(a400_state::a400)
+ atari_common(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(a400_mem)
@@ -2187,7 +2189,8 @@ MACHINE_CONFIG_END
// memory map A400 + PAL screen
-MACHINE_CONFIG_DERIVED(a400_state::a400pal, atari_common)
+MACHINE_CONFIG_START(a400_state::a400pal)
+ atari_common(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(a400_mem)
@@ -2202,7 +2205,8 @@ MACHINE_CONFIG_END
// memory map A800 + NTSC screen + Right cartslot
-MACHINE_CONFIG_DERIVED(a400_state::a800, atari_common)
+MACHINE_CONFIG_START(a400_state::a800)
+ atari_common(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(a400_mem)
@@ -2219,7 +2223,8 @@ MACHINE_CONFIG_END
// memory map A800 + PAL screen + Right cartslot
-MACHINE_CONFIG_DERIVED(a400_state::a800pal, atari_common)
+MACHINE_CONFIG_START(a400_state::a800pal)
+ atari_common(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(a400_mem)
@@ -2236,7 +2241,8 @@ MACHINE_CONFIG_END
// memory map A600XL (same as 800XL but less RAM) + NTSC screen + MMU via PIA portB
-MACHINE_CONFIG_DERIVED(a400_state::a600xl, atari_common)
+MACHINE_CONFIG_START(a400_state::a600xl)
+ atari_common(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(a600xl_mem)
@@ -2257,7 +2263,8 @@ MACHINE_CONFIG_END
// memory map A800XL + NTSC screen + MMU via PIA portB
-MACHINE_CONFIG_DERIVED(a400_state::a800xl, atari_common)
+MACHINE_CONFIG_START(a400_state::a800xl)
+ atari_common(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(a800xl_mem)
@@ -2278,7 +2285,8 @@ MACHINE_CONFIG_END
// memory map A800XL + PAL screen + MMU via PIA portB
-MACHINE_CONFIG_DERIVED(a400_state::a800xlpal, a800xl)
+MACHINE_CONFIG_START(a400_state::a800xlpal)
+ a800xl(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_CLOCK( 1773000 )
@@ -2293,7 +2301,8 @@ MACHINE_CONFIG_END
// memory map A1200XL+ MMU via PIA portB
-MACHINE_CONFIG_DERIVED(a400_state::a1200xl, a800xl)
+MACHINE_CONFIG_START(a400_state::a1200xl)
+ a800xl(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(a1200xl_mem)
@@ -2304,7 +2313,8 @@ MACHINE_CONFIG_END
// memory map A130XE (extra RAM only partially emulated)
-MACHINE_CONFIG_DERIVED(a400_state::a130xe, a800xl)
+MACHINE_CONFIG_START(a400_state::a130xe)
+ a800xl(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(a130xe_mem)
@@ -2315,7 +2325,8 @@ MACHINE_CONFIG_END
// memory map XEGS, only XEGS bankswitch supported
-MACHINE_CONFIG_DERIVED(a400_state::xegs, a800xl)
+MACHINE_CONFIG_START(a400_state::xegs)
+ a800xl(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(xegs_mem)
@@ -2328,7 +2339,8 @@ MACHINE_CONFIG_END
// memory map A5200, different ports, less RAM
-MACHINE_CONFIG_DERIVED(a400_state::a5200, atari_common_nodac)
+MACHINE_CONFIG_START(a400_state::a5200)
+ atari_common_nodac(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(a5200_mem)
diff --git a/src/mame/drivers/atari_s1.cpp b/src/mame/drivers/atari_s1.cpp
index e5df8554419..ae401856c32 100644
--- a/src/mame/drivers/atari_s1.cpp
+++ b/src/mame/drivers/atari_s1.cpp
@@ -450,7 +450,7 @@ MACHINE_CONFIG_START(atari_s1_state::atari_s1)
MCFG_WATCHDOG_ADD("watchdog")
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.3) // unknown DAC
@@ -464,12 +464,14 @@ MACHINE_CONFIG_START(atari_s1_state::atari_s1)
MCFG_TIMER_DRIVER_ADD_PERIODIC("timer_s", atari_s1_state, timer_s, attotime::from_hz(AUDIO_CLK))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(atari_s1_state::atarians, atari_s1)
+MACHINE_CONFIG_START(atari_s1_state::atarians)
+ atari_s1(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(atarians_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(atari_s1_state::midearth, atari_s1)
+MACHINE_CONFIG_START(atari_s1_state::midearth)
+ atari_s1(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(midearth_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/atari_s2.cpp b/src/mame/drivers/atari_s2.cpp
index c6e87417559..19a68dd077c 100644
--- a/src/mame/drivers/atari_s2.cpp
+++ b/src/mame/drivers/atari_s2.cpp
@@ -477,7 +477,7 @@ MACHINE_CONFIG_START(atari_s2_state::atari_s2)
MCFG_WATCHDOG_ADD("watchdog")
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_4BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.15) // r23-r26 (68k,33k,18k,8.2k)
@@ -493,7 +493,8 @@ MACHINE_CONFIG_START(atari_s2_state::atari_s2)
MCFG_TIMER_DRIVER_ADD_PERIODIC("timer_s", atari_s2_state, timer_s, attotime::from_hz(150000))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(atari_s2_state::atari_s3, atari_s2)
+MACHINE_CONFIG_START(atari_s2_state::atari_s3)
+ atari_s2(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(atari_s3_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/atarifb.cpp b/src/mame/drivers/atarifb.cpp
index 983938f1135..6c25b6fc0fd 100644
--- a/src/mame/drivers/atarifb.cpp
+++ b/src/mame/drivers/atarifb.cpp
@@ -581,7 +581,8 @@ MACHINE_CONFIG_START(atarifb_state::atarifb)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(atarifb_state::atarifb4, atarifb)
+MACHINE_CONFIG_START(atarifb_state::atarifb4)
+ atarifb(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -589,7 +590,8 @@ MACHINE_CONFIG_DERIVED(atarifb_state::atarifb4, atarifb)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(atarifb_state::abaseb, atarifb)
+MACHINE_CONFIG_START(atarifb_state::abaseb)
+ atarifb(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -606,7 +608,8 @@ MACHINE_CONFIG_DERIVED(atarifb_state::abaseb, atarifb)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(atarifb_state::soccer, atarifb)
+MACHINE_CONFIG_START(atarifb_state::soccer)
+ atarifb(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/atarig1.cpp b/src/mame/drivers/atarig1.cpp
index 3920ea683c1..5713e7a8daa 100644
--- a/src/mame/drivers/atarig1.cpp
+++ b/src/mame/drivers/atarig1.cpp
@@ -466,42 +466,49 @@ MACHINE_CONFIG_START(atarig1_state::atarig1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(atarig1_state::hydra, atarig1)
+MACHINE_CONFIG_START(atarig1_state::hydra)
+ atarig1(config);
MCFG_ATARIRLE_ADD("rle", modesc_hydra)
MCFG_SLAPSTIC_ADD("slapstic", 116)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(atarig1_state::hydrap, hydra)
+MACHINE_CONFIG_START(atarig1_state::hydrap)
+ hydra(config);
MCFG_DEVICE_REMOVE("slapstic")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(atarig1_state::pitfight9, atarig1)
+MACHINE_CONFIG_START(atarig1_state::pitfight9)
+ atarig1(config);
MCFG_ATARIRLE_ADD("rle", modesc_pitfight)
MCFG_SLAPSTIC_ADD("slapstic", 114)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(atarig1_state::pitfight7, atarig1)
+MACHINE_CONFIG_START(atarig1_state::pitfight7)
+ atarig1(config);
MCFG_ATARIRLE_ADD("rle", modesc_pitfight)
MCFG_SLAPSTIC_ADD("slapstic", 112)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(atarig1_state::pitfight, atarig1)
+MACHINE_CONFIG_START(atarig1_state::pitfight)
+ atarig1(config);
MCFG_ATARIRLE_ADD("rle", modesc_pitfight)
MCFG_SLAPSTIC_ADD("slapstic", 111)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(atarig1_state::pitfightj, atarig1)
+MACHINE_CONFIG_START(atarig1_state::pitfightj)
+ atarig1(config);
MCFG_ATARIRLE_ADD("rle", modesc_pitfight)
MCFG_SLAPSTIC_ADD("slapstic", 113)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(atarig1_state::pitfightb, atarig1)
+MACHINE_CONFIG_START(atarig1_state::pitfightb)
+ atarig1(config);
MCFG_ATARIRLE_ADD("rle", modesc_pitfight)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/atarig42.cpp b/src/mame/drivers/atarig42.cpp
index fb60d4653b0..3040e683320 100644
--- a/src/mame/drivers/atarig42.cpp
+++ b/src/mame/drivers/atarig42.cpp
@@ -563,14 +563,16 @@ MACHINE_CONFIG_START(atarig42_state::atarig42)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(atarig42_state::atarig42_0x200, atarig42)
+MACHINE_CONFIG_START(atarig42_state::atarig42_0x200)
+ atarig42(config);
MCFG_ATARIRLE_ADD("rle", modesc_0x200)
/* ASIC65 */
MCFG_ASIC65_ADD("asic65", ASIC65_ROMBASED)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(atarig42_state::atarig42_0x400, atarig42)
+MACHINE_CONFIG_START(atarig42_state::atarig42_0x400)
+ atarig42(config);
MCFG_ATARIRLE_ADD("rle", modesc_0x400)
/* ASIC65 */
diff --git a/src/mame/drivers/atarigt.cpp b/src/mame/drivers/atarigt.cpp
index 56152effccf..0ee55dbfe97 100644
--- a/src/mame/drivers/atarigt.cpp
+++ b/src/mame/drivers/atarigt.cpp
@@ -833,21 +833,24 @@ MACHINE_CONFIG_START(atarigt_state::atarigt)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(atarigt_state::tmek, atarigt)
+MACHINE_CONFIG_START(atarigt_state::tmek)
+ atarigt(config);
/* sound hardware */
MCFG_DEVICE_ADD("cage", ATARI_CAGE, 0)
MCFG_ATARI_CAGE_SPEEDUP(0x4fad)
MCFG_ATARI_CAGE_IRQ_CALLBACK(WRITE8(atarigt_state,cage_irq_callback))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(atarigt_state::primrage, atarigt)
+MACHINE_CONFIG_START(atarigt_state::primrage)
+ atarigt(config);
/* sound hardware */
MCFG_DEVICE_ADD("cage", ATARI_CAGE, 0)
MCFG_ATARI_CAGE_SPEEDUP(0x42f2)
MCFG_ATARI_CAGE_IRQ_CALLBACK(WRITE8(atarigt_state,cage_irq_callback))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(atarigt_state::primrage20, atarigt)
+MACHINE_CONFIG_START(atarigt_state::primrage20)
+ atarigt(config);
/* sound hardware */
MCFG_DEVICE_ADD("cage", ATARI_CAGE, 0)
MCFG_ATARI_CAGE_SPEEDUP(0x48a4)
diff --git a/src/mame/drivers/atarigx2.cpp b/src/mame/drivers/atarigx2.cpp
index b149f7fe9bd..f9818160131 100644
--- a/src/mame/drivers/atarigx2.cpp
+++ b/src/mame/drivers/atarigx2.cpp
@@ -1534,12 +1534,14 @@ MACHINE_CONFIG_START(atarigx2_state::atarigx2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(atarigx2_state::atarigx2_0x200, atarigx2)
+MACHINE_CONFIG_START(atarigx2_state::atarigx2_0x200)
+ atarigx2(config);
MCFG_DEVICE_ADD("xga", ATARI_136094_0072, 0)
MCFG_ATARIRLE_ADD("rle", modesc_0x200)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(atarigx2_state::atarigx2_0x400, atarigx2)
+MACHINE_CONFIG_START(atarigx2_state::atarigx2_0x400)
+ atarigx2(config);
MCFG_DEVICE_ADD("xga", ATARI_136095_0072, 0)
MCFG_ATARIRLE_ADD("rle", modesc_0x400)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/atarist.cpp b/src/mame/drivers/atarist.cpp
index 259d06ca2bc..2e1ea5acde2 100644
--- a/src/mame/drivers/atarist.cpp
+++ b/src/mame/drivers/atarist.cpp
@@ -2351,7 +2351,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( megaste )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(megaste_state::megaste, ste)
+MACHINE_CONFIG_START(megaste_state::megaste)
+ ste(config);
MCFG_CPU_MODIFY(M68000_TAG)
MCFG_CPU_PROGRAM_MAP(megaste_map)
MCFG_DEVICE_ADD(RP5C15_TAG, RP5C15, XTAL(32'768))
@@ -2454,7 +2455,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( tt030 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(ste_state::tt030, ste)
+MACHINE_CONFIG_START(ste_state::tt030)
+ ste(config);
MACHINE_CONFIG_END
@@ -2462,7 +2464,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( falcon )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(ste_state::falcon, ste)
+MACHINE_CONFIG_START(ste_state::falcon)
+ ste(config);
MACHINE_CONFIG_END
@@ -2470,7 +2473,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( falcon40 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(ste_state::falcon40, ste)
+MACHINE_CONFIG_START(ste_state::falcon40)
+ ste(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/atarisy1.cpp b/src/mame/drivers/atarisy1.cpp
index c80bed7dea7..e9754b45066 100644
--- a/src/mame/drivers/atarisy1.cpp
+++ b/src/mame/drivers/atarisy1.cpp
@@ -802,27 +802,33 @@ MACHINE_CONFIG_START(atarisy1_state::atarisy1)
MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(atarisy1_state, via_pb_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(atarisy1_state::marble, atarisy1)
+MACHINE_CONFIG_START(atarisy1_state::marble)
+ atarisy1(config);
MCFG_SLAPSTIC_ADD("slapstic", 103)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(atarisy1_state::peterpak, atarisy1)
+MACHINE_CONFIG_START(atarisy1_state::peterpak)
+ atarisy1(config);
MCFG_SLAPSTIC_ADD("slapstic", 107)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(atarisy1_state::indytemp, atarisy1)
+MACHINE_CONFIG_START(atarisy1_state::indytemp)
+ atarisy1(config);
MCFG_SLAPSTIC_ADD("slapstic", 105)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(atarisy1_state::roadrunn, atarisy1)
+MACHINE_CONFIG_START(atarisy1_state::roadrunn)
+ atarisy1(config);
MCFG_SLAPSTIC_ADD("slapstic", 108)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(atarisy1_state::roadb109, atarisy1)
+MACHINE_CONFIG_START(atarisy1_state::roadb109)
+ atarisy1(config);
MCFG_SLAPSTIC_ADD("slapstic", 109)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(atarisy1_state::roadb110, atarisy1)
+MACHINE_CONFIG_START(atarisy1_state::roadb110)
+ atarisy1(config);
MCFG_SLAPSTIC_ADD("slapstic", 110)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/atarisy2.cpp b/src/mame/drivers/atarisy2.cpp
index 7591f8a47dc..627868cef7d 100644
--- a/src/mame/drivers/atarisy2.cpp
+++ b/src/mame/drivers/atarisy2.cpp
@@ -1244,12 +1244,14 @@ MACHINE_CONFIG_START(atarisy2_state::atarisy2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(atarisy2_state::paperboy, atarisy2)
+MACHINE_CONFIG_START(atarisy2_state::paperboy)
+ atarisy2(config);
MCFG_SLAPSTIC_ADD("slapstic", 105)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(atarisy2_state::_720, atarisy2)
+MACHINE_CONFIG_START(atarisy2_state::_720)
+ atarisy2(config);
/* without the default EEPROM, 720 hangs at startup due to communication
issues with the sound CPU; temporarily increasing the sound CPU frequency
to ~2.2MHz "fixes" the problem */
@@ -1258,7 +1260,8 @@ MACHINE_CONFIG_DERIVED(atarisy2_state::_720, atarisy2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(atarisy2_state::ssprint, atarisy2)
+MACHINE_CONFIG_START(atarisy2_state::ssprint)
+ atarisy2(config);
MCFG_SLAPSTIC_ADD("slapstic", 108)
/* sound hardware */
@@ -1266,7 +1269,8 @@ MACHINE_CONFIG_DERIVED(atarisy2_state::ssprint, atarisy2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(atarisy2_state::csprint, atarisy2)
+MACHINE_CONFIG_START(atarisy2_state::csprint)
+ atarisy2(config);
MCFG_SLAPSTIC_ADD("slapstic", 109)
/* sound hardware */
@@ -1274,7 +1278,8 @@ MACHINE_CONFIG_DERIVED(atarisy2_state::csprint, atarisy2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(atarisy2_state::apb, atarisy2)
+MACHINE_CONFIG_START(atarisy2_state::apb)
+ atarisy2(config);
MCFG_SLAPSTIC_ADD("slapstic", 110)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/atarisy4.cpp b/src/mame/drivers/atarisy4.cpp
index f872a3b5bd6..36e7c42826b 100644
--- a/src/mame/drivers/atarisy4.cpp
+++ b/src/mame/drivers/atarisy4.cpp
@@ -783,7 +783,8 @@ MACHINE_CONFIG_START(atarisy4_state::atarisy4)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(atarisy4_state::airrace, atarisy4)
+MACHINE_CONFIG_START(atarisy4_state::airrace)
+ atarisy4(config);
MCFG_CPU_ADD("dsp1", TMS32010, 16000000)
MCFG_CPU_PROGRAM_MAP(dsp1_map)
diff --git a/src/mame/drivers/atetris.cpp b/src/mame/drivers/atetris.cpp
index d826a5ca48e..1bdcdf35554 100644
--- a/src/mame/drivers/atetris.cpp
+++ b/src/mame/drivers/atetris.cpp
@@ -405,7 +405,8 @@ MACHINE_CONFIG_START(atetris_state::atetrisb2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(atetris_state::atetrisb3, atetrisb2)
+MACHINE_CONFIG_START(atetris_state::atetrisb3)
+ atetrisb2(config);
MCFG_CPU_REPLACE("maincpu", M6502, MASTER_CLOCK/8)
MCFG_CPU_PROGRAM_MAP(atetrisb3_map)
diff --git a/src/mame/drivers/atm.cpp b/src/mame/drivers/atm.cpp
index 8cef5ca9b6d..4d3147bdff5 100644
--- a/src/mame/drivers/atm.cpp
+++ b/src/mame/drivers/atm.cpp
@@ -183,7 +183,8 @@ static GFXDECODE_START( atmtb2 )
GFXDECODE_END
-MACHINE_CONFIG_DERIVED(atm_state::atm, spectrum_128)
+MACHINE_CONFIG_START(atm_state::atm)
+ spectrum_128(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(atm_mem)
MCFG_CPU_IO_MAP(atm_io)
@@ -197,7 +198,8 @@ MACHINE_CONFIG_DERIVED(atm_state::atm, spectrum_128)
MCFG_DEVICE_REMOVE("exp")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(atm_state::atmtb2, atm)
+MACHINE_CONFIG_START(atm_state::atmtb2)
+ atm(config);
MCFG_GFXDECODE_MODIFY("gfxdecode", atmtb2)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/atom.cpp b/src/mame/drivers/atom.cpp
index 51171ce91f3..3fc90e6fb60 100644
--- a/src/mame/drivers/atom.cpp
+++ b/src/mame/drivers/atom.cpp
@@ -781,7 +781,8 @@ MACHINE_CONFIG_END
MCFG_GENERIC_EXTENSIONS("bin,rom") \
MCFG_GENERIC_LOAD(atomeb_state, _load)
-MACHINE_CONFIG_DERIVED(atomeb_state::atomeb, atom)
+MACHINE_CONFIG_START(atomeb_state::atomeb)
+ atom(config);
MCFG_CPU_MODIFY(SY6502_TAG)
MCFG_CPU_PROGRAM_MAP(atomeb_mem)
@@ -865,7 +866,8 @@ MACHINE_CONFIG_END
MACHINE_DRIVER( prophet2 )
-------------------------------------------------*/
-//static MACHINE_CONFIG_DERIVED( prophet2, atom )
+//static MACHINE_CONFIG_START( prophet2 )
+// atom(config);
// /* basic machine hardware */
// MCFG_CPU_MODIFY(SY6502_TAG)
// MCFG_CPU_PROGRAM_MAP(prophet_mem)
@@ -888,7 +890,8 @@ MACHINE_CONFIG_END
MACHINE_DRIVER( prophet3 )
-------------------------------------------------*/
-//static MACHINE_CONFIG_DERIVED( prophet3, atom )
+//static MACHINE_CONFIG_START( prophet3 )
+// atom(config);
// /* basic machine hardware */
// MCFG_CPU_MODIFY(SY6502_TAG)
// MCFG_CPU_PROGRAM_MAP(prophet_mem)
@@ -905,7 +908,8 @@ MACHINE_CONFIG_END
MACHINE_DRIVER( atommc )
-------------------------------------------------*/
-//static MACHINE_CONFIG_DERIVED( atommc, atom )
+//static MACHINE_CONFIG_START( atommc )
+// atom(config);
// /* Software lists */
// MCFG_SOFTWARE_LIST_ADD("mmc_list","atom_mmc")
// MCFG_SOFTWARE_LIST_REMOVE("flop_list")
diff --git a/src/mame/drivers/atpci.cpp b/src/mame/drivers/atpci.cpp
index 06ed0cab4ee..84cd58e3016 100644
--- a/src/mame/drivers/atpci.cpp
+++ b/src/mame/drivers/atpci.cpp
@@ -96,7 +96,7 @@ MACHINE_CONFIG_START(at586_state::at586)
MCFG_ISA16_SLOT_ADD(":pcibus:1:i82371ab:isabus","isa4", pc_isa16_cards, nullptr, false)
MCFG_ISA16_SLOT_ADD(":pcibus:1:i82371ab:isabus","isa5", pc_isa16_cards, nullptr, false)
- MCFG_FRAGMENT_ADD( at_softlists )
+ at_softlists(config);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(at586_state::at586x3)
@@ -122,7 +122,7 @@ MACHINE_CONFIG_START(at586_state::at586x3)
MCFG_ISA16_SLOT_ADD(":pcibus:1:i82371sb:isabus","isa4", pc_isa16_cards, nullptr, false)
MCFG_ISA16_SLOT_ADD(":pcibus:1:i82371sb:isabus","isa5", pc_isa16_cards, nullptr, false)
- MCFG_FRAGMENT_ADD( at_softlists )
+ at_softlists(config);
MACHINE_CONFIG_END
ROM_START( at586 )
diff --git a/src/mame/drivers/atvtrack.cpp b/src/mame/drivers/atvtrack.cpp
index 261354b9c0b..eb3cb08a00e 100644
--- a/src/mame/drivers/atvtrack.cpp
+++ b/src/mame/drivers/atvtrack.cpp
@@ -601,7 +601,8 @@ MACHINE_CONFIG_START(atvtrack_state::atvtrack)
MCFG_PALETTE_ADD("palette", 0x1000)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(smashdrv_state::smashdrv, atvtrack)
+MACHINE_CONFIG_START(smashdrv_state::smashdrv)
+ atvtrack(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(smashdrv_main_map)
MCFG_CPU_IO_MAP(smashdrv_main_port)
diff --git a/src/mame/drivers/avalnche.cpp b/src/mame/drivers/avalnche.cpp
index 2712fb9efaf..71a8a21bb64 100644
--- a/src/mame/drivers/avalnche.cpp
+++ b/src/mame/drivers/avalnche.cpp
@@ -255,19 +255,21 @@ MACHINE_CONFIG_START(avalnche_state::avalnche_base)
MCFG_SCREEN_UPDATE_DRIVER(avalnche_state, screen_update_avalnche)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(avalnche_state::avalnche, avalnche_base)
+MACHINE_CONFIG_START(avalnche_state::avalnche)
+ avalnche_base(config);
/* sound hardware */
- MCFG_FRAGMENT_ADD(avalnche_sound)
+ avalnche_sound(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(avalnche_state::acatch, avalnche_base)
+MACHINE_CONFIG_START(avalnche_state::acatch)
+ avalnche_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(catch_map)
/* sound hardware... */
- MCFG_FRAGMENT_ADD(acatch_sound)
+ acatch_sound(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/avt.cpp b/src/mame/drivers/avt.cpp
index f34373ca525..33fa457beac 100644
--- a/src/mame/drivers/avt.cpp
+++ b/src/mame/drivers/avt.cpp
@@ -1013,7 +1013,8 @@ WRITE_LINE_MEMBER( avt_state::avtnfl_w )
m_pio1->port_b_write((m_pio1->port_b_read() & 0xbf) | (state ? 0x40 : 0));
}
-MACHINE_CONFIG_DERIVED(avt_state::avtnfl, avt)
+MACHINE_CONFIG_START(avt_state::avtnfl)
+ avt(config);
MCFG_DEVICE_REMOVE("crtc")
MCFG_MC6845_ADD("crtc", MC6845, "screen", CRTC_CLOCK) /* guess */
MCFG_MC6845_SHOW_BORDER_AREA(false)
diff --git a/src/mame/drivers/b2m.cpp b/src/mame/drivers/b2m.cpp
index 0333e529306..31dfd5e7aa0 100644
--- a/src/mame/drivers/b2m.cpp
+++ b/src/mame/drivers/b2m.cpp
@@ -251,7 +251,8 @@ MACHINE_CONFIG_START(b2m_state::b2m)
MCFG_RAM_DEFAULT_VALUE(0x00)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(b2m_state::b2mrom, b2m)
+MACHINE_CONFIG_START(b2m_state::b2mrom)
+ b2m(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(b2m_rom_io)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/bagman.cpp b/src/mame/drivers/bagman.cpp
index c1277954425..8bcb430479b 100644
--- a/src/mame/drivers/bagman.cpp
+++ b/src/mame/drivers/bagman.cpp
@@ -511,12 +511,14 @@ MACHINE_CONFIG_START(bagman_state::bagman)
MCFG_ADDRESSABLE_LATCH_Q5_OUT_CB(WRITELINE(bagman_state, tmsprom_csq1_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bagman_state::sbagman, bagman)
+MACHINE_CONFIG_START(bagman_state::sbagman)
+ bagman(config);
MCFG_DEVICE_MODIFY("mainlatch")
MCFG_ADDRESSABLE_LATCH_Q3_OUT_CB(WRITELINE(bagman_state, video_enable_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bagman_state::sbagmani, sbagman)
+MACHINE_CONFIG_START(bagman_state::sbagmani)
+ sbagman(config);
// only 1 AY8910
MCFG_DEVICE_REMOVE("tmsprom")
@@ -625,7 +627,8 @@ MACHINE_CONFIG_START(bagman_state::botanic)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bagman_state::squaitsa, botanic)
+MACHINE_CONFIG_START(bagman_state::squaitsa)
+ botanic(config);
MCFG_MACHINE_START_OVERRIDE(bagman_state, squaitsa)
MCFG_SOUND_MODIFY("aysnd")
diff --git a/src/mame/drivers/balsente.cpp b/src/mame/drivers/balsente.cpp
index 6562d656a94..8514c197632 100644
--- a/src/mame/drivers/balsente.cpp
+++ b/src/mame/drivers/balsente.cpp
@@ -1370,7 +1370,8 @@ MACHINE_CONFIG_START(balsente_state::balsente)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(balsente_state::shrike, balsente)
+MACHINE_CONFIG_START(balsente_state::shrike)
+ balsente(config);
/* basic machine hardware */
diff --git a/src/mame/drivers/barni.cpp b/src/mame/drivers/barni.cpp
index 83e269b9e97..4f229b82484 100644
--- a/src/mame/drivers/barni.cpp
+++ b/src/mame/drivers/barni.cpp
@@ -79,7 +79,7 @@ MACHINE_CONFIG_START(barni_state::barni)
/* sound hardware */
//tmms5220
//dac
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/basic52.cpp b/src/mame/drivers/basic52.cpp
index c134280af7c..5d4591e77ca 100644
--- a/src/mame/drivers/basic52.cpp
+++ b/src/mame/drivers/basic52.cpp
@@ -117,7 +117,8 @@ MACHINE_CONFIG_START(basic52_state::basic31)
MCFG_DEVICE_ADD("ppi8255", I8255, 0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(basic52_state::basic52, basic31)
+MACHINE_CONFIG_START(basic52_state::basic52)
+ basic31(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", I8052, XTAL(11'059'200))
MCFG_CPU_PROGRAM_MAP(basic52_mem)
diff --git a/src/mame/drivers/battlex.cpp b/src/mame/drivers/battlex.cpp
index 458caf06d0d..a814510b4f4 100644
--- a/src/mame/drivers/battlex.cpp
+++ b/src/mame/drivers/battlex.cpp
@@ -315,7 +315,8 @@ MACHINE_CONFIG_START(battlex_state::battlex)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(battlex_state::dodgeman, battlex)
+MACHINE_CONFIG_START(battlex_state::dodgeman)
+ battlex(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(dodgeman_io_map)
diff --git a/src/mame/drivers/bbc.cpp b/src/mame/drivers/bbc.cpp
index 2bb36d57976..958061d2214 100644
--- a/src/mame/drivers/bbc.cpp
+++ b/src/mame/drivers/bbc.cpp
@@ -938,11 +938,12 @@ MACHINE_CONFIG_START(bbc_state::bbca)
MCFG_VIA6522_IRQ_HANDLER(DEVWRITELINE("irqs", input_merger_device, in_w<1>))
/* EPROM sockets */
- MCFG_FRAGMENT_ADD(bbc_eprom_sockets)
+ bbc_eprom_sockets(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bbc_state::bbcb, bbca)
+MACHINE_CONFIG_START(bbc_state::bbcb)
+ bbca(config);
/* basic machine hardware */
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(bbcb_nofdc_mem)
@@ -1017,7 +1018,8 @@ MACHINE_CONFIG_DERIVED(bbc_state::bbcb, bbca)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bbc_state::bbcb_de, bbcb)
+MACHINE_CONFIG_START(bbc_state::bbcb_de)
+ bbcb(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(bbcb_mem)
@@ -1038,7 +1040,8 @@ MACHINE_CONFIG_DERIVED(bbc_state::bbcb_de, bbcb)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bbc_state::bbcb_us, bbcb)
+MACHINE_CONFIG_START(bbc_state::bbcb_us)
+ bbcb(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(bbcb_mem)
@@ -1065,7 +1068,8 @@ MACHINE_CONFIG_DERIVED(bbc_state::bbcb_us, bbcb)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bbc_state::bbcbp, bbcb)
+MACHINE_CONFIG_START(bbc_state::bbcbp)
+ bbcb(config);
/* basic machine hardware */
MCFG_CPU_MODIFY( "maincpu" ) /* M6512 */
MCFG_CPU_PROGRAM_MAP(bbcbp_mem)
@@ -1086,7 +1090,8 @@ MACHINE_CONFIG_DERIVED(bbc_state::bbcbp, bbcb)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bbc_state::bbcbp128, bbcbp)
+MACHINE_CONFIG_START(bbc_state::bbcbp128)
+ bbcbp(config);
/* basic machine hardware */
MCFG_CPU_MODIFY( "maincpu" ) /* M6512 */
MCFG_CPU_PROGRAM_MAP(bbcbp128_mem)
@@ -1103,7 +1108,8 @@ MACHINE_CONFIG_END
****************************************************************************/
-MACHINE_CONFIG_DERIVED(torch240_state::torchf, bbcb)
+MACHINE_CONFIG_START(torch240_state::torchf)
+ bbcb(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(bbcb_mem)
@@ -1128,7 +1134,8 @@ MACHINE_CONFIG_DERIVED(torch240_state::torchf, bbcb)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(torch240_state::torchh10, torchf)
+MACHINE_CONFIG_START(torch240_state::torchh10)
+ torchf(config);
/* fdc */
MCFG_DEVICE_REMOVE("i8271:1")
@@ -1137,7 +1144,8 @@ MACHINE_CONFIG_DERIVED(torch240_state::torchh10, torchf)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(torch240_state::torchh21, torchf)
+MACHINE_CONFIG_START(torch240_state::torchh21)
+ torchf(config);
/* fdc */
MCFG_DEVICE_REMOVE("i8271:1")
@@ -1153,7 +1161,8 @@ MACHINE_CONFIG_END
****************************************************************************/
-MACHINE_CONFIG_DERIVED(bbc_state::abc110, bbcbp)
+MACHINE_CONFIG_START(bbc_state::abc110)
+ bbcbp(config);
/* fdc */
MCFG_DEVICE_REMOVE("wd1770:1")
@@ -1185,7 +1194,8 @@ MACHINE_CONFIG_DERIVED(bbc_state::abc110, bbcbp)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bbc_state::acw443, bbcbp)
+MACHINE_CONFIG_START(bbc_state::acw443)
+ bbcbp(config);
/* fdc */
MCFG_DEVICE_REMOVE("wd1770:1")
@@ -1209,7 +1219,8 @@ MACHINE_CONFIG_DERIVED(bbc_state::acw443, bbcbp)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bbc_state::abc310, bbcbp)
+MACHINE_CONFIG_START(bbc_state::abc310)
+ bbcbp(config);
/* fdc */
MCFG_DEVICE_REMOVE("wd1770:1")
@@ -1236,7 +1247,8 @@ MACHINE_CONFIG_END
****************************************************************************/
-MACHINE_CONFIG_DERIVED(bbc_state::reutapm, bbcbp)
+MACHINE_CONFIG_START(bbc_state::reutapm)
+ bbcbp(config);
/* basic machine hardware */
MCFG_CPU_MODIFY( "maincpu" ) /* M6512 */
MCFG_CPU_PROGRAM_MAP(reutapm_mem)
@@ -1272,7 +1284,8 @@ MACHINE_CONFIG_END
****************************************************************************/
-MACHINE_CONFIG_DERIVED(bbc_state::econx25, bbcbp)
+MACHINE_CONFIG_START(bbc_state::econx25)
+ bbcbp(config);
/* sound hardware */
MCFG_DEVICE_REMOVE("vsm")
MCFG_DEVICE_REMOVE("tms5220")
@@ -1455,7 +1468,8 @@ MACHINE_CONFIG_START(bbc_state::bbcm)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bbc_state::bbcmt, bbcm)
+MACHINE_CONFIG_START(bbc_state::bbcmt)
+ bbcm(config);
/* Add 65C102 co-processor */
MCFG_DEVICE_MODIFY("intube")
MCFG_SLOT_DEFAULT_OPTION("65c102")
@@ -1463,7 +1477,8 @@ MACHINE_CONFIG_DERIVED(bbc_state::bbcmt, bbcm)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bbc_state::bbcmaiv, bbcm)
+MACHINE_CONFIG_START(bbc_state::bbcmaiv)
+ bbcm(config);
/* Add 65C102 co-processor */
MCFG_DEVICE_MODIFY("intube")
MCFG_SLOT_DEFAULT_OPTION("65c102")
@@ -1476,7 +1491,8 @@ MACHINE_CONFIG_DERIVED(bbc_state::bbcmaiv, bbcm)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bbc_state::bbcmet, bbcm)
+MACHINE_CONFIG_START(bbc_state::bbcmet)
+ bbcm(config);
/* printer */
MCFG_DEVICE_REMOVE("centronics")
MCFG_DEVICE_REMOVE("cent_data_out")
@@ -1512,7 +1528,8 @@ MACHINE_CONFIG_DERIVED(bbc_state::bbcmet, bbcm)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bbc_state::bbcm512, bbcm)
+MACHINE_CONFIG_START(bbc_state::bbcm512)
+ bbcm(config);
/* Add Intel 80186 co-processor */
MCFG_DEVICE_MODIFY("intube")
MCFG_SLOT_DEFAULT_OPTION("80186")
@@ -1520,7 +1537,8 @@ MACHINE_CONFIG_DERIVED(bbc_state::bbcm512, bbcm)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bbc_state::bbcmarm, bbcm)
+MACHINE_CONFIG_START(bbc_state::bbcmarm)
+ bbcm(config);
/* Add ARM co-processor */
MCFG_DEVICE_MODIFY("extube")
MCFG_SLOT_DEFAULT_OPTION("arm")
@@ -1528,7 +1546,8 @@ MACHINE_CONFIG_DERIVED(bbc_state::bbcmarm, bbcm)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bbc_state::discmate, bbcm)
+MACHINE_CONFIG_START(bbc_state::discmate)
+ bbcm(config);
/* Add Sony CDK-3000PII Auto Disc Loader */
/* Add interface boards connected to cassette and RS423 */
@@ -1543,7 +1562,8 @@ MACHINE_CONFIG_DERIVED(bbc_state::discmate, bbcm)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bbc_state::cfa3000, bbcm)
+MACHINE_CONFIG_START(bbc_state::cfa3000)
+ bbcm(config);
MCFG_MACHINE_START_OVERRIDE(bbc_state, cfa3000)
/* fdc */
@@ -1581,7 +1601,8 @@ MACHINE_CONFIG_END
****************************************************************************/
-MACHINE_CONFIG_DERIVED(bbc_state::bbcmc, bbcm)
+MACHINE_CONFIG_START(bbc_state::bbcmc)
+ bbcm(config);
/* cassette */
MCFG_DEVICE_REMOVE("cassette")
@@ -1626,7 +1647,8 @@ MACHINE_CONFIG_DERIVED(bbc_state::bbcmc, bbcm)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bbc_state::pro128s, bbcmc)
+MACHINE_CONFIG_START(bbc_state::pro128s)
+ bbcmc(config);
/* software lists */
MCFG_SOFTWARE_LIST_REMOVE("flop_ls_mc")
MCFG_SOFTWARE_LIST_REMOVE("flop_ls_pro128s")
@@ -1643,13 +1665,15 @@ MACHINE_CONFIG_END
/* Both LTM machines used a 9" Hantarex MT3000 green monitor */
-MACHINE_CONFIG_DERIVED(bbc_state::ltmpbp, bbcbp)
+MACHINE_CONFIG_START(bbc_state::ltmpbp)
+ bbcbp(config);
/* basic machine hardware */
MCFG_MACHINE_RESET_OVERRIDE(bbc_state, ltmpbp)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bbc_state::ltmpm, bbcm)
+MACHINE_CONFIG_START(bbc_state::ltmpm)
+ bbcm(config);
/* basic machine hardware */
MCFG_MACHINE_RESET_OVERRIDE(bbc_state, ltmpm)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/bcs3.cpp b/src/mame/drivers/bcs3.cpp
index e2c2987f5cb..833d5a3220e 100644
--- a/src/mame/drivers/bcs3.cpp
+++ b/src/mame/drivers/bcs3.cpp
@@ -434,7 +434,8 @@ MACHINE_CONFIG_START(bcs3_state::bcs3a)
MCFG_CASSETTE_ADD( "cassette" )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bcs3_state::bcs3b, bcs3a)
+MACHINE_CONFIG_START(bcs3_state::bcs3b)
+ bcs3a(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_SIZE(40*8, 24*10)
MCFG_SCREEN_VISIBLE_AREA(0,40*8-1,0,24*10-1)
diff --git a/src/mame/drivers/bebox.cpp b/src/mame/drivers/bebox.cpp
index c745c8fe143..ba7b602b815 100644
--- a/src/mame/drivers/bebox.cpp
+++ b/src/mame/drivers/bebox.cpp
@@ -240,7 +240,8 @@ MACHINE_CONFIG_START(bebox_state::bebox)
MCFG_RAM_EXTRA_OPTIONS("8M,16M")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bebox_state::bebox2, bebox)
+MACHINE_CONFIG_START(bebox_state::bebox2)
+ bebox(config);
MCFG_CPU_REPLACE("ppc1", PPC603E, 133000000) /* 133 MHz */
MCFG_CPU_PROGRAM_MAP(bebox_mem)
diff --git a/src/mame/drivers/berzerk.cpp b/src/mame/drivers/berzerk.cpp
index 29d58355ba1..3fe6f08e68b 100644
--- a/src/mame/drivers/berzerk.cpp
+++ b/src/mame/drivers/berzerk.cpp
@@ -1135,7 +1135,8 @@ MACHINE_CONFIG_START(berzerk_state::berzerk)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(berzerk_state::frenzy, berzerk)
+MACHINE_CONFIG_START(berzerk_state::frenzy)
+ berzerk(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/bestleag.cpp b/src/mame/drivers/bestleag.cpp
index 11b33075e9f..9a3031a9748 100644
--- a/src/mame/drivers/bestleag.cpp
+++ b/src/mame/drivers/bestleag.cpp
@@ -402,7 +402,8 @@ MACHINE_CONFIG_START(bestleag_state::bestleag)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.00)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bestleag_state::bestleaw, bestleag)
+MACHINE_CONFIG_START(bestleag_state::bestleaw)
+ bestleag(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(bestleag_state, screen_update_bestleaw)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/bfm_sc1.cpp b/src/mame/drivers/bfm_sc1.cpp
index 47b04924f12..54201159828 100644
--- a/src/mame/drivers/bfm_sc1.cpp
+++ b/src/mame/drivers/bfm_sc1.cpp
@@ -1122,7 +1122,8 @@ MACHINE_CONFIG_END
// machine driver for scorpion1 board + adder2 extension ////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////
-MACHINE_CONFIG_DERIVED(bfm_sc1_state::scorpion1_adder2, scorpion1)
+MACHINE_CONFIG_START(bfm_sc1_state::scorpion1_adder2)
+ scorpion1(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(sc1_adder2) // setup read and write memorymap
@@ -1136,7 +1137,8 @@ MACHINE_CONFIG_END
// machine driver for scorpion1 board ///////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////
-MACHINE_CONFIG_DERIVED(bfm_sc1_state::scorpion1_viper, scorpion1)
+MACHINE_CONFIG_START(bfm_sc1_state::scorpion1_viper)
+ scorpion1(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(sc1_viper) // setup read and write memorymap
diff --git a/src/mame/drivers/bfm_sc2.cpp b/src/mame/drivers/bfm_sc2.cpp
index 7286e3dcd43..a4bbfccaecd 100644
--- a/src/mame/drivers/bfm_sc2.cpp
+++ b/src/mame/drivers/bfm_sc2.cpp
@@ -2258,8 +2258,9 @@ MACHINE_CONFIG_START(bfm_sc2_state::scorpion2_vid)
MACHINE_CONFIG_END
/* machine driver for scorpion2_vid board with meters (i.e. quintoon uk). Are we really sure the other games don't?*/
-MACHINE_CONFIG_DERIVED(bfm_sc2_state::scorpion2_vidm, scorpion2_vid)
- MCFG_FRAGMENT_ADD(_8meters)
+MACHINE_CONFIG_START(bfm_sc2_state::scorpion2_vidm)
+ scorpion2_vid(config);
+ _8meters(config);
MACHINE_CONFIG_END
@@ -3741,23 +3742,25 @@ MACHINE_CONFIG_START(bfm_sc2_state::scorpion2)
MCFG_STARPOINT_48STEP_ADD("reel5")
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(bfm_sc2_state, reel5_optic_cb))
- MCFG_FRAGMENT_ADD(_8meters)
+ _8meters(config);
MACHINE_CONFIG_END
#if 0
-static MACHINE_CONFIG_DERIVED( scorpion2_3m, scorpion2 )
+static MACHINE_CONFIG_START( scorpion2_3m )
+static scorpion2(config);
MCFG_DEVICE_REMOVE("meters")
- MCFG_FRAGMENT_ADD(_3meters)
+ _3meters(config);
MACHINE_CONFIG_END
#endif
/* machine driver for scorpion3 board */
-MACHINE_CONFIG_DERIVED(bfm_sc2_state::scorpion3, scorpion2)
+MACHINE_CONFIG_START(bfm_sc2_state::scorpion3)
+ scorpion2(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(memmap_no_vid)
MCFG_DEVICE_REMOVE("meters")
- MCFG_FRAGMENT_ADD(_5meters)
+ _5meters(config);
MACHINE_CONFIG_END
@@ -3801,17 +3804,19 @@ MACHINE_CONFIG_START(bfm_sc2_state::scorpion2_dm01)
MCFG_STARPOINT_48STEP_ADD("reel5")
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(bfm_sc2_state, reel5_optic_cb))
- MCFG_FRAGMENT_ADD( _8meters)
+ _8meters(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bfm_sc2_state::scorpion2_dm01_3m, scorpion2_dm01)
+MACHINE_CONFIG_START(bfm_sc2_state::scorpion2_dm01_3m)
+ scorpion2_dm01(config);
MCFG_DEVICE_REMOVE("meters")
- MCFG_FRAGMENT_ADD( _3meters)
+ _3meters(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bfm_sc2_state::scorpion2_dm01_5m, scorpion2_dm01)
+MACHINE_CONFIG_START(bfm_sc2_state::scorpion2_dm01_5m)
+ scorpion2_dm01(config);
MCFG_DEVICE_REMOVE("meters")
- MCFG_FRAGMENT_ADD( _5meters)
+ _5meters(config);
MACHINE_CONFIG_END
void bfm_sc2_state::sc2awp_common_init(int reels, int decrypt)
diff --git a/src/mame/drivers/bfm_sc4.cpp b/src/mame/drivers/bfm_sc4.cpp
index 2cbfab07ce6..5b5e27fab51 100644
--- a/src/mame/drivers/bfm_sc4.cpp
+++ b/src/mame/drivers/bfm_sc4.cpp
@@ -922,7 +922,7 @@ MACHINE_CONFIG_END
//Standard 6 reels all connected
MACHINE_CONFIG_START(sc4_state::sc4)
- MCFG_FRAGMENT_ADD(sc4_common)
+ sc4_common(config);
MCFG_STARPOINT_RM20_48STEP_ADD("reel1")
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(sc4_state, reel1_optic_cb))
@@ -940,7 +940,7 @@ MACHINE_CONFIG_END
//Standard 3 reels
MACHINE_CONFIG_START(sc4_state::sc4_3reel)
- MCFG_FRAGMENT_ADD(sc4_common)
+ sc4_common(config);
MCFG_STARPOINT_RM20_48STEP_ADD("reel1")
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(sc4_state, reel1_optic_cb))
@@ -953,7 +953,7 @@ MACHINE_CONFIG_END
//Standard 4 reels
MACHINE_CONFIG_START(sc4_state::sc4_4reel)
- MCFG_FRAGMENT_ADD(sc4_common)
+ sc4_common(config);
MCFG_STARPOINT_RM20_48STEP_ADD("reel1")
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(sc4_state, reel1_optic_cb))
@@ -968,7 +968,7 @@ MACHINE_CONFIG_END
//4 reels, with the last connected to RL4 not RL3
MACHINE_CONFIG_START(sc4_state::sc4_4reel_alt)
- MCFG_FRAGMENT_ADD(sc4_common)
+ sc4_common(config);
MCFG_STARPOINT_RM20_48STEP_ADD("reel1")
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(sc4_state, reel1_optic_cb))
@@ -984,7 +984,7 @@ MACHINE_CONFIG_END
//Standard 5 reels
MACHINE_CONFIG_START(sc4_state::sc4_5reel)
- MCFG_FRAGMENT_ADD(sc4_common)
+ sc4_common(config);
MCFG_STARPOINT_RM20_48STEP_ADD("reel1")
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(sc4_state, reel1_optic_cb))
@@ -1000,7 +1000,7 @@ MACHINE_CONFIG_END
//5 reels, with RL4 skipped
MACHINE_CONFIG_START(sc4_state::sc4_5reel_alt)
- MCFG_FRAGMENT_ADD(sc4_common)
+ sc4_common(config);
MCFG_STARPOINT_RM20_48STEP_ADD("reel1")
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(sc4_state, reel1_optic_cb))
@@ -1019,7 +1019,7 @@ MACHINE_CONFIG_END
//6 reels, last 200 steps
MACHINE_CONFIG_START(sc4_state::sc4_200_std)
- MCFG_FRAGMENT_ADD(sc4_common)
+ sc4_common(config);
MCFG_STARPOINT_RM20_48STEP_ADD("reel1")
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(sc4_state, reel1_optic_cb))
@@ -1037,7 +1037,7 @@ MACHINE_CONFIG_END
//6 reels, last 200 steps
MACHINE_CONFIG_START(sc4_state::sc4_200_alt)
- MCFG_FRAGMENT_ADD(sc4_common)
+ sc4_common(config);
MCFG_STARPOINT_RM20_48STEP_ADD("reel1")
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(sc4_state, reel1_optic_cb))
@@ -1055,7 +1055,7 @@ MACHINE_CONFIG_END
//6 reels, RL4 200 steps
MACHINE_CONFIG_START(sc4_state::sc4_200_alta)
- MCFG_FRAGMENT_ADD(sc4_common)
+ sc4_common(config);
MCFG_STARPOINT_RM20_48STEP_ADD("reel1")
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(sc4_state, reel1_optic_cb))
@@ -1073,7 +1073,7 @@ MACHINE_CONFIG_END
//6 reels, 3 48 step, 3 200 step
MACHINE_CONFIG_START(sc4_state::sc4_200_altb)
- MCFG_FRAGMENT_ADD(sc4_common)
+ sc4_common(config);
MCFG_STARPOINT_200STEP_ADD("reel1")
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(sc4_state, reel1_optic_cb))
@@ -1091,7 +1091,7 @@ MACHINE_CONFIG_END
//5 reels, last one 200 steps
MACHINE_CONFIG_START(sc4_state::sc4_200_5r)
- MCFG_FRAGMENT_ADD(sc4_common)
+ sc4_common(config);
MCFG_STARPOINT_RM20_48STEP_ADD("reel1")
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(sc4_state, reel1_optic_cb))
@@ -1109,7 +1109,7 @@ MACHINE_CONFIG_END
//5 reels, last one 200 steps, RL4 skipped
MACHINE_CONFIG_START(sc4_state::sc4_200_5ra)
- MCFG_FRAGMENT_ADD(sc4_common)
+ sc4_common(config);
MCFG_STARPOINT_RM20_48STEP_ADD("reel1")
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(sc4_state, reel1_optic_cb))
@@ -1126,7 +1126,7 @@ MACHINE_CONFIG_END
//5 reels, last one 200 steps, RL5 skipped
MACHINE_CONFIG_START(sc4_state::sc4_200_5rb)
- MCFG_FRAGMENT_ADD(sc4_common)
+ sc4_common(config);
MCFG_STARPOINT_RM20_48STEP_ADD("reel1")
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(sc4_state, reel1_optic_cb))
@@ -1143,7 +1143,7 @@ MACHINE_CONFIG_END
//5 reels, RL5 200 steps, RL4 skipped
MACHINE_CONFIG_START(sc4_state::sc4_200_5rc)
- MCFG_FRAGMENT_ADD(sc4_common)
+ sc4_common(config);
MCFG_STARPOINT_RM20_48STEP_ADD("reel1")
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(sc4_state, reel1_optic_cb))
@@ -1160,7 +1160,7 @@ MACHINE_CONFIG_END
//4 reels, last one 200 steps
MACHINE_CONFIG_START(sc4_state::sc4_200_4r)
- MCFG_FRAGMENT_ADD(sc4_common)
+ sc4_common(config);
MCFG_STARPOINT_RM20_48STEP_ADD("reel1")
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(sc4_state, reel1_optic_cb))
@@ -1174,7 +1174,7 @@ MACHINE_CONFIG_END
//4 reels, last one 200 steps, RL4 skipped
MACHINE_CONFIG_START(sc4_state::sc4_200_4ra)
- MCFG_FRAGMENT_ADD(sc4_common)
+ sc4_common(config);
MCFG_STARPOINT_RM20_48STEP_ADD("reel1")
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(sc4_state, reel1_optic_cb))
@@ -1190,7 +1190,7 @@ MACHINE_CONFIG_END
//4 reels, last one 200 steps, RL4,5 skipped
MACHINE_CONFIG_START(sc4_state::sc4_200_4rb)
- MCFG_FRAGMENT_ADD(sc4_common)
+ sc4_common(config);
MCFG_STARPOINT_RM20_48STEP_ADD("reel1")
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(sc4_state, reel1_optic_cb))
@@ -1204,7 +1204,7 @@ MACHINE_CONFIG_START(sc4_state::sc4_200_4rb)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(sc4_state::sc4_4reel_200)
- MCFG_FRAGMENT_ADD(sc4_common)
+ sc4_common(config);
MCFG_STARPOINT_200STEP_ADD("reel1")
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(sc4_state, reel1_optic_cb))
@@ -1217,7 +1217,7 @@ MACHINE_CONFIG_START(sc4_state::sc4_4reel_200)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(sc4_state::sc4_3reel_200)
- MCFG_FRAGMENT_ADD(sc4_common)
+ sc4_common(config);
MCFG_STARPOINT_200STEP_ADD("reel1")
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(sc4_state, reel1_optic_cb))
@@ -1229,7 +1229,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(sc4_state::sc4_3reel_200_48)
- MCFG_FRAGMENT_ADD(sc4_common)
+ sc4_common(config);
MCFG_STARPOINT_200STEP_ADD("reel1")
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(sc4_state, reel1_optic_cb))
@@ -1242,7 +1242,7 @@ MACHINE_CONFIG_START(sc4_state::sc4_3reel_200_48)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(sc4_state::sc4_no_reels)
- MCFG_FRAGMENT_ADD(sc4_common)
+ sc4_common(config);
MACHINE_CONFIG_END
MACHINE_START_MEMBER(sc4_adder4_state,adder4)
@@ -1253,7 +1253,7 @@ MACHINE_START_MEMBER(sc4_adder4_state,adder4)
}
MACHINE_CONFIG_START(sc4_adder4_state::sc4_adder4)
- MCFG_FRAGMENT_ADD(sc4_common)
+ sc4_common(config);
MCFG_CPU_ADD("adder4", M68340, 25175000) // 68340 (CPU32 core)
MCFG_CPU_PROGRAM_MAP(sc4_adder4_map)
@@ -1262,7 +1262,7 @@ MACHINE_CONFIG_START(sc4_adder4_state::sc4_adder4)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(sc4_state::sc4dmd)
- MCFG_FRAGMENT_ADD(sc4_common)
+ sc4_common(config);
/* video hardware */
//MCFG_DEFAULT_LAYOUT(layout_sc4_dmd)
diff --git a/src/mame/drivers/bingor.cpp b/src/mame/drivers/bingor.cpp
index 7a74ac64bff..e601024693f 100644
--- a/src/mame/drivers/bingor.cpp
+++ b/src/mame/drivers/bingor.cpp
@@ -714,7 +714,8 @@ MACHINE_CONFIG_START(bingor_state::bingor)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bingor_state::bingor2, bingor)
+MACHINE_CONFIG_START(bingor_state::bingor2)
+ bingor(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(bingor2_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/bishi.cpp b/src/mame/drivers/bishi.cpp
index 444e6f1fc24..08c486ac048 100644
--- a/src/mame/drivers/bishi.cpp
+++ b/src/mame/drivers/bishi.cpp
@@ -484,7 +484,8 @@ MACHINE_CONFIG_START(bishi_state::bishi)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bishi_state::dobouchn, bishi)
+MACHINE_CONFIG_START(bishi_state::dobouchn)
+ bishi(config);
// TODO: change accordingly (ASCII charset definitely not 8bpp, 5bpp perhaps?)
MCFG_DEVICE_MODIFY("k056832")
// MCFG_K056832_CB(bishi_state, dobouchn_tile_callback)
diff --git a/src/mame/drivers/bitgraph.cpp b/src/mame/drivers/bitgraph.cpp
index 702e28133a5..274c95ce397 100644
--- a/src/mame/drivers/bitgraph.cpp
+++ b/src/mame/drivers/bitgraph.cpp
@@ -580,7 +580,7 @@ MACHINE_CONFIG_START(bitgraph_state::bitgrpha)
MCFG_CPU_ADD(M68K_TAG, M68000, XTAL(6'900'000))
MCFG_CPU_PROGRAM_MAP(bitgrapha_mem)
- MCFG_FRAGMENT_ADD(bg_motherboard)
+ bg_motherboard(config);
MCFG_DEVICE_ADD("system_clock", CLOCK, 40)
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(bitgraph_state, system_clock_write))
@@ -603,8 +603,8 @@ MACHINE_CONFIG_START(bitgraph_state::bitgrphb)
MCFG_CPU_ADD(M68K_TAG, M68000, XTAL(6'900'000))
MCFG_CPU_PROGRAM_MAP(bitgraphb_mem)
- MCFG_FRAGMENT_ADD(bg_motherboard)
-// MCFG_FRAGMENT_ADD(bg_ppu)
+ bg_motherboard(config);
+// bg_ppu(config);
MCFG_DEVICE_ADD("system_clock", CLOCK, 1040)
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(bitgraph_state, system_clock_write))
diff --git a/src/mame/drivers/bk.cpp b/src/mame/drivers/bk.cpp
index fe1c57df30d..1af4b29ef11 100644
--- a/src/mame/drivers/bk.cpp
+++ b/src/mame/drivers/bk.cpp
@@ -192,7 +192,8 @@ MACHINE_CONFIG_START(bk_state::bk0010)
MCFG_SOFTWARE_LIST_ADD("cass_list","bk0010")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bk_state::bk0010fd, bk0010)
+MACHINE_CONFIG_START(bk_state::bk0010fd)
+ bk0010(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(bk0010fd_mem)
diff --git a/src/mame/drivers/bking.cpp b/src/mame/drivers/bking.cpp
index 8f618f5096f..72e3195eef4 100644
--- a/src/mame/drivers/bking.cpp
+++ b/src/mame/drivers/bking.cpp
@@ -439,7 +439,8 @@ MACHINE_CONFIG_START(bking_state::bking)
MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bking_state::bking3, bking)
+MACHINE_CONFIG_START(bking_state::bking3)
+ bking(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("main_cpu")
diff --git a/src/mame/drivers/blitz68k.cpp b/src/mame/drivers/blitz68k.cpp
index 41121acd01b..f633dc80de6 100644
--- a/src/mame/drivers/blitz68k.cpp
+++ b/src/mame/drivers/blitz68k.cpp
@@ -1752,7 +1752,8 @@ TIMER_DEVICE_CALLBACK_MEMBER(blitz68k_state::steaser_mcu_sim)
}
-MACHINE_CONFIG_DERIVED(blitz68k_state::steaser, ilpag)
+MACHINE_CONFIG_START(blitz68k_state::steaser)
+ ilpag(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(steaser_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", blitz68k_state, irq5_line_hold) //3, 4 & 6 used, mcu comms?
diff --git a/src/mame/drivers/blktiger.cpp b/src/mame/drivers/blktiger.cpp
index 2ddc43717a4..aa0827f935c 100644
--- a/src/mame/drivers/blktiger.cpp
+++ b/src/mame/drivers/blktiger.cpp
@@ -343,7 +343,8 @@ MACHINE_CONFIG_START(blktiger_state::blktiger)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(blktiger_state::blktigerbl, blktiger)
+MACHINE_CONFIG_START(blktiger_state::blktigerbl)
+ blktiger(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(blktigerbl_io_map)
diff --git a/src/mame/drivers/blmbycar.cpp b/src/mame/drivers/blmbycar.cpp
index 072b23517d5..3908dab8130 100644
--- a/src/mame/drivers/blmbycar.cpp
+++ b/src/mame/drivers/blmbycar.cpp
@@ -389,7 +389,8 @@ MACHINE_RESET_MEMBER(blmbycar_state,watrball)
m_retvalue = 0;
}
-MACHINE_CONFIG_DERIVED(blmbycar_state::watrball, blmbycar)
+MACHINE_CONFIG_START(blmbycar_state::watrball)
+ blmbycar(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/blockout.cpp b/src/mame/drivers/blockout.cpp
index 64b723b80fe..a295aaf4dfd 100644
--- a/src/mame/drivers/blockout.cpp
+++ b/src/mame/drivers/blockout.cpp
@@ -338,7 +338,8 @@ MACHINE_CONFIG_START(blockout_state::blockout)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(blockout_state::agress, blockout)
+MACHINE_CONFIG_START(blockout_state::agress)
+ blockout(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(agress_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/bloodbro.cpp b/src/mame/drivers/bloodbro.cpp
index 87d37e476c4..5e86ad4bcfa 100644
--- a/src/mame/drivers/bloodbro.cpp
+++ b/src/mame/drivers/bloodbro.cpp
@@ -562,7 +562,8 @@ MACHINE_CONFIG_START(bloodbro_state::bloodbro)
MCFG_SEIBU_SOUND_YM_WRITE_CB(DEVWRITE8("ymsnd", ym3812_device, write))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bloodbro_state::weststry, bloodbro)
+MACHINE_CONFIG_START(bloodbro_state::weststry)
+ bloodbro(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(weststry_map)
@@ -596,7 +597,8 @@ MACHINE_CONFIG_DERIVED(bloodbro_state::weststry, bloodbro)
MCFG_SEIBU_SOUND_YM_WRITE_CB(WRITE8(bloodbro_state, weststry_opl_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bloodbro_state::skysmash, bloodbro)
+MACHINE_CONFIG_START(bloodbro_state::skysmash)
+ bloodbro(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(skysmash_map)
diff --git a/src/mame/drivers/blueprnt.cpp b/src/mame/drivers/blueprnt.cpp
index 3d42d32070b..03012879afb 100644
--- a/src/mame/drivers/blueprnt.cpp
+++ b/src/mame/drivers/blueprnt.cpp
@@ -389,7 +389,8 @@ MACHINE_CONFIG_START(blueprnt_state::blueprnt)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(blueprnt_state::grasspin, blueprnt)
+MACHINE_CONFIG_START(blueprnt_state::grasspin)
+ blueprnt(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/bmcpokr.cpp b/src/mame/drivers/bmcpokr.cpp
index d98e425ed91..7afa622fc4b 100644
--- a/src/mame/drivers/bmcpokr.cpp
+++ b/src/mame/drivers/bmcpokr.cpp
@@ -838,7 +838,8 @@ MACHINE_CONFIG_START(bmcpokr_state::bmcpokr)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bmcpokr_state::mjmaglmp, bmcpokr)
+MACHINE_CONFIG_START(bmcpokr_state::mjmaglmp)
+ bmcpokr(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(mjmaglmp_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/bml3.cpp b/src/mame/drivers/bml3.cpp
index 9c4e5f13854..d199f517ed5 100644
--- a/src/mame/drivers/bml3.cpp
+++ b/src/mame/drivers/bml3.cpp
@@ -1035,7 +1035,8 @@ MACHINE_CONFIG_START(bml3_state::bml3_common)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bml3_state::bml3, bml3_common)
+MACHINE_CONFIG_START(bml3_state::bml3)
+ bml3_common(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(bml3_mem)
@@ -1051,14 +1052,16 @@ MACHINE_CONFIG_DERIVED(bml3_state::bml3, bml3_common)
#endif
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bml3_state::bml3mk2, bml3_common)
+MACHINE_CONFIG_START(bml3_state::bml3mk2)
+ bml3_common(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(bml3mk2_mem)
// TODO: anything to add here?
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bml3_state::bml3mk5, bml3_common)
+MACHINE_CONFIG_START(bml3_state::bml3mk5)
+ bml3_common(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(bml3mk5_mem)
diff --git a/src/mame/drivers/btime.cpp b/src/mame/drivers/btime.cpp
index ca6a84933f6..f96ca4a9c26 100644
--- a/src/mame/drivers/btime.cpp
+++ b/src/mame/drivers/btime.cpp
@@ -1322,7 +1322,8 @@ MACHINE_CONFIG_START(btime_state::btime)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(btime_state::cookrace, btime)
+MACHINE_CONFIG_START(btime_state::cookrace)
+ btime(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", DECO_C10707, HCLK2)
@@ -1339,7 +1340,8 @@ MACHINE_CONFIG_DERIVED(btime_state::cookrace, btime)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(btime_state::lnc, btime)
+MACHINE_CONFIG_START(btime_state::lnc)
+ btime(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", DECO_C10707, HCLK2)
@@ -1359,7 +1361,8 @@ MACHINE_CONFIG_DERIVED(btime_state::lnc, btime)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(btime_state::wtennis, lnc)
+MACHINE_CONFIG_START(btime_state::wtennis)
+ lnc(config);
/* basic machine hardware */
@@ -1369,7 +1372,8 @@ MACHINE_CONFIG_DERIVED(btime_state::wtennis, lnc)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(btime_state::mmonkey, wtennis)
+MACHINE_CONFIG_START(btime_state::mmonkey)
+ wtennis(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1379,7 +1383,8 @@ MACHINE_CONFIG_DERIVED(btime_state::mmonkey, wtennis)
MCFG_MACHINE_RESET_OVERRIDE(btime_state,mmonkey)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(btime_state::bnj, btime)
+MACHINE_CONFIG_START(btime_state::bnj)
+ btime(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", DECO_C10707, HCLK4)
@@ -1397,7 +1402,8 @@ MACHINE_CONFIG_DERIVED(btime_state::bnj, btime)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(btime_state::sdtennis, bnj)
+MACHINE_CONFIG_START(btime_state::sdtennis)
+ bnj(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("audiocpu", DECO_C10707, HCLK1/3/2)
@@ -1405,7 +1411,8 @@ MACHINE_CONFIG_DERIVED(btime_state::sdtennis, bnj)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(btime_state::zoar, btime)
+MACHINE_CONFIG_START(btime_state::zoar)
+ btime(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1433,7 +1440,8 @@ MACHINE_CONFIG_DERIVED(btime_state::zoar, btime)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(btime_state::disco, btime)
+MACHINE_CONFIG_START(btime_state::disco)
+ btime(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1459,7 +1467,8 @@ MACHINE_CONFIG_DERIVED(btime_state::disco, btime)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(btime_state::tisland, btime)
+MACHINE_CONFIG_START(btime_state::tisland)
+ btime(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/bublbobl.cpp b/src/mame/drivers/bublbobl.cpp
index df775e23d48..c564912141a 100644
--- a/src/mame/drivers/bublbobl.cpp
+++ b/src/mame/drivers/bublbobl.cpp
@@ -887,7 +887,8 @@ MACHINE_CONFIG_START(bublbobl_state::tokio)
MCFG_SOUND_ROUTE(3, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bublbobl_state::bublboblp, tokio)
+MACHINE_CONFIG_START(bublbobl_state::bublboblp)
+ tokio(config);
MCFG_DEVICE_REMOVE("bmcu") // no mcu, socket is empty
// watchdog circuit is actually present on the prototype pcb, but is either
@@ -901,7 +902,8 @@ MACHINE_CONFIG_DERIVED(bublbobl_state::bublboblp, tokio)
MCFG_CPU_VBLANK_INT_DRIVER("screen", bublbobl_state, irq0_line_hold)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bublbobl_state::tokiob, tokio)
+MACHINE_CONFIG_START(bublbobl_state::tokiob)
+ tokio(config);
MCFG_DEVICE_REMOVE("bmcu") // no mcu, but see below...
MCFG_CPU_REPLACE("maincpu", Z80, MAIN_XTAL/4) // 6 MHz
@@ -1002,7 +1004,8 @@ MACHINE_CONFIG_START(bublbobl_state::bublbobl_nomcu)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bublbobl_state::bublbobl, bublbobl_nomcu)
+MACHINE_CONFIG_START(bublbobl_state::bublbobl)
+ bublbobl_nomcu(config);
MCFG_CPU_ADD("mcu", M6801, XTAL(4'000'000)) // actually 6801U4 - xtal is 4MHz, divided by 4 internally
MCFG_CPU_PROGRAM_MAP(mcu_map)
@@ -1027,7 +1030,8 @@ MACHINE_RESET_MEMBER(bublbobl_state,boblbobl)
m_ic43_b = 0;
}
-MACHINE_CONFIG_DERIVED(bublbobl_state::boblbobl, bublbobl_nomcu)
+MACHINE_CONFIG_START(bublbobl_state::boblbobl)
+ bublbobl_nomcu(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1061,7 +1065,8 @@ MACHINE_RESET_MEMBER(bub68705_state, bub68705)
m_latch = 0;
}
-MACHINE_CONFIG_DERIVED(bub68705_state::bub68705, bublbobl_nomcu)
+MACHINE_CONFIG_START(bub68705_state::bub68705)
+ bublbobl_nomcu(config);
/* basic machine hardware */
MCFG_CPU_ADD("mcu", M68705P3, XTAL(4'000'000)) // xtal is 4MHz, divided by 4 internally
diff --git a/src/mame/drivers/bw12.cpp b/src/mame/drivers/bw12.cpp
index 91bf1702f94..ac1ff5686f0 100644
--- a/src/mame/drivers/bw12.cpp
+++ b/src/mame/drivers/bw12.cpp
@@ -634,7 +634,8 @@ MACHINE_CONFIG_START(bw12_state::common)
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bw12_state::bw12, common)
+MACHINE_CONFIG_START(bw12_state::bw12)
+ common(config);
/* floppy drives */
MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":1", bw12_floppies, "525dd", bw12_state::bw12_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":2", bw12_floppies, "525dd", bw12_state::bw12_floppy_formats)
@@ -647,7 +648,8 @@ MACHINE_CONFIG_DERIVED(bw12_state::bw12, common)
MCFG_RAM_DEFAULT_SIZE("64K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bw12_state::bw14, common)
+MACHINE_CONFIG_START(bw12_state::bw14)
+ common(config);
/* floppy drives */
MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":1", bw14_floppies, "525dd", bw12_state::bw14_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":2", bw14_floppies, "525dd", bw12_state::bw14_floppy_formats)
diff --git a/src/mame/drivers/bwidow.cpp b/src/mame/drivers/bwidow.cpp
index dd214b14df2..bdae3bcabba 100644
--- a/src/mame/drivers/bwidow.cpp
+++ b/src/mame/drivers/bwidow.cpp
@@ -752,18 +752,20 @@ MACHINE_CONFIG_START(bwidow_state::bwidow)
MCFG_AVGDVG_VECTOR("vector")
/* sound hardware */
- MCFG_FRAGMENT_ADD(bwidow_audio)
+ bwidow_audio(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bwidow_state::bwidowp, bwidow)
+MACHINE_CONFIG_START(bwidow_state::bwidowp)
+ bwidow(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(bwidowp_map)
MCFG_WATCHDOG_ADD("watchdog")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bwidow_state::gravitar, bwidow)
+MACHINE_CONFIG_START(bwidow_state::gravitar)
+ bwidow(config);
/* basic machine hardware */
@@ -772,11 +774,12 @@ MACHINE_CONFIG_DERIVED(bwidow_state::gravitar, bwidow)
MCFG_SCREEN_VISIBLE_AREA(0, 420, 0, 400)
/* sound hardware */
- MCFG_FRAGMENT_ADD(gravitar_audio)
+ gravitar_audio(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bwidow_state::lunarbat, gravitar)
+MACHINE_CONFIG_START(bwidow_state::lunarbat)
+ gravitar(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -788,7 +791,8 @@ MACHINE_CONFIG_DERIVED(bwidow_state::lunarbat, gravitar)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bwidow_state::spacduel, gravitar)
+MACHINE_CONFIG_START(bwidow_state::spacduel)
+ gravitar(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/by17.cpp b/src/mame/drivers/by17.cpp
index f77ade93520..36cfff94bf1 100644
--- a/src/mame/drivers/by17.cpp
+++ b/src/mame/drivers/by17.cpp
@@ -989,7 +989,7 @@ MACHINE_CONFIG_START(by17_state::by17)
MCFG_DEFAULT_LAYOUT(layout_by17)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
/* Devices */
MCFG_DEVICE_ADD("pia_u10", PIA6821, 0)
diff --git a/src/mame/drivers/by35.cpp b/src/mame/drivers/by35.cpp
index df50eda822f..793152ee793 100644
--- a/src/mame/drivers/by35.cpp
+++ b/src/mame/drivers/by35.cpp
@@ -1094,7 +1094,7 @@ MACHINE_CONFIG_START(by35_state::by35)
MCFG_DEFAULT_LAYOUT(layout_by35)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
/* Devices */
MCFG_DEVICE_ADD("pia_u10", PIA6821, 0)
@@ -1143,13 +1143,15 @@ MACHINE_CONFIG_START(by35_state::as2888_audio)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(by35_state::as2888, by35)
+MACHINE_CONFIG_START(by35_state::as2888)
+ by35(config);
- MCFG_FRAGMENT_ADD( as2888_audio )
+ as2888_audio(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(by35_state::nuovo, by35)
+MACHINE_CONFIG_START(by35_state::nuovo)
+ by35(config);
MCFG_CPU_REPLACE("maincpu", M6802, 2000000) // ? MHz ? Large crystal next to CPU, schematics don't indicate speed.
MCFG_CPU_PROGRAM_MAP(nuovo_map)
diff --git a/src/mame/drivers/by6803.cpp b/src/mame/drivers/by6803.cpp
index 8b01220037d..48f8d3debe0 100644
--- a/src/mame/drivers/by6803.cpp
+++ b/src/mame/drivers/by6803.cpp
@@ -385,7 +385,7 @@ MACHINE_CONFIG_START(by6803_state::by6803)
//MCFG_DEFAULT_LAYOUT(layout_by6803)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
/* Devices */
MCFG_DEVICE_ADD("pia0", PIA6821, 0)
diff --git a/src/mame/drivers/byvid.cpp b/src/mame/drivers/byvid.cpp
index bfad98d992d..23d7a951b4c 100644
--- a/src/mame/drivers/byvid.cpp
+++ b/src/mame/drivers/byvid.cpp
@@ -812,7 +812,8 @@ MACHINE_CONFIG_START(by133_state::babypac)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "beee", 0.10)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(by133_state::granny, babypac)
+MACHINE_CONFIG_START(by133_state::granny)
+ babypac(config);
MCFG_DEVICE_REMOVE("videocpu")
MCFG_CPU_ADD("videocpu", MC6809, XTAL(8'000'000)) // MC68B09P (XTAL value hard to read)
MCFG_CPU_PROGRAM_MAP(granny_map)
diff --git a/src/mame/drivers/bzone.cpp b/src/mame/drivers/bzone.cpp
index b2d60a47911..0cb26c75efd 100644
--- a/src/mame/drivers/bzone.cpp
+++ b/src/mame/drivers/bzone.cpp
@@ -560,16 +560,18 @@ MACHINE_CONFIG_START(bzone_state::bzone_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bzone_state::bzone, bzone_base)
+MACHINE_CONFIG_START(bzone_state::bzone)
+ bzone_base(config);
/* sound hardware */
- MCFG_FRAGMENT_ADD(bzone_audio)
+ bzone_audio(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bzone_state::redbaron, bzone_base)
+MACHINE_CONFIG_START(bzone_state::redbaron)
+ bzone_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/c128.cpp b/src/mame/drivers/c128.cpp
index d6e8e41db25..31ee2830f48 100644
--- a/src/mame/drivers/c128.cpp
+++ b/src/mame/drivers/c128.cpp
@@ -1820,7 +1820,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( c128 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(c128_state::c128, ntsc)
+MACHINE_CONFIG_START(c128_state::c128)
+ ntsc(config);
MCFG_CBM_IEC_ADD("c1571")
MCFG_CBM_IEC_BUS_SRQ_CALLBACK(WRITELINE(c128_state, iec_srq_w))
MCFG_CBM_IEC_BUS_DATA_CALLBACK(WRITELINE(c128_state, iec_data_w))
@@ -1831,7 +1832,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( c128dcr )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(c128_state::c128dcr, ntsc)
+MACHINE_CONFIG_START(c128_state::c128dcr)
+ ntsc(config);
MCFG_CBM_IEC_ADD("c1571") // TODO c1571cr
MCFG_CBM_IEC_BUS_SRQ_CALLBACK(WRITELINE(c128_state, iec_srq_w))
MCFG_CBM_IEC_BUS_DATA_CALLBACK(WRITELINE(c128_state, iec_data_w))
@@ -1842,7 +1844,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( c128d81 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(c128_state::c128d81, ntsc)
+MACHINE_CONFIG_START(c128_state::c128d81)
+ ntsc(config);
MCFG_CBM_IEC_ADD(nullptr)
MCFG_CBM_IEC_BUS_SRQ_CALLBACK(WRITELINE(c128_state, iec_srq_w))
MCFG_CBM_IEC_BUS_DATA_CALLBACK(WRITELINE(c128_state, iec_data_w))
@@ -1991,7 +1994,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( c128pal )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(c128_state::c128pal, pal)
+MACHINE_CONFIG_START(c128_state::c128pal)
+ pal(config);
MCFG_CBM_IEC_ADD("c1571")
MCFG_CBM_IEC_BUS_SRQ_CALLBACK(WRITELINE(c128_state, iec_srq_w))
MCFG_CBM_IEC_BUS_DATA_CALLBACK(WRITELINE(c128_state, iec_data_w))
@@ -2002,7 +2006,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( c128dcrp )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(c128_state::c128dcrp, pal)
+MACHINE_CONFIG_START(c128_state::c128dcrp)
+ pal(config);
MCFG_CBM_IEC_ADD("c1571") // TODO c1571cr
MCFG_CBM_IEC_BUS_SRQ_CALLBACK(WRITELINE(c128_state, iec_srq_w))
MCFG_CBM_IEC_BUS_DATA_CALLBACK(WRITELINE(c128_state, iec_data_w))
diff --git a/src/mame/drivers/c64.cpp b/src/mame/drivers/c64.cpp
index a713f146419..e621ed67c5c 100644
--- a/src/mame/drivers/c64.cpp
+++ b/src/mame/drivers/c64.cpp
@@ -1427,7 +1427,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( pet64 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(c64_state::pet64, ntsc)
+MACHINE_CONFIG_START(c64_state::pet64)
+ ntsc(config);
// TODO monochrome green palette
MACHINE_CONFIG_END
@@ -1437,7 +1438,7 @@ MACHINE_CONFIG_END
//-------------------------------------------------
MACHINE_CONFIG_START(sx64_state::ntsc_sx)
- MCFG_FRAGMENT_ADD(ntsc)
+ ntsc(config);
// basic hardware
MCFG_CPU_MODIFY(M6510_TAG)
@@ -1455,7 +1456,7 @@ MACHINE_CONFIG_END
//-------------------------------------------------
MACHINE_CONFIG_START(sx64_state::ntsc_dx)
- MCFG_FRAGMENT_ADD(ntsc_sx)
+ ntsc_sx(config);
// devices
MCFG_DEVICE_MODIFY("iec9")
@@ -1467,7 +1468,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( ntsc_c )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(c64c_state::ntsc_c, ntsc)
+MACHINE_CONFIG_START(c64c_state::ntsc_c)
+ ntsc(config);
MCFG_SOUND_REPLACE(MOS6581_TAG, MOS8580, XTAL(14'318'181)/14)
MCFG_MOS6581_POTX_CALLBACK(READ8(c64_state, sid_potx_r))
MCFG_MOS6581_POTY_CALLBACK(READ8(c64_state, sid_poty_r))
@@ -1585,7 +1587,7 @@ MACHINE_CONFIG_END
//-------------------------------------------------
MACHINE_CONFIG_START(sx64_state::pal_sx)
- MCFG_FRAGMENT_ADD(pal)
+ pal(config);
// basic hardware
MCFG_CPU_MODIFY(M6510_TAG)
@@ -1602,7 +1604,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( pal_c )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(c64c_state::pal_c, pal)
+MACHINE_CONFIG_START(c64c_state::pal_c)
+ pal(config);
MCFG_SOUND_REPLACE(MOS6581_TAG, MOS8580, XTAL(17'734'472)/18)
MCFG_MOS6581_POTX_CALLBACK(READ8(c64_state, sid_potx_r))
MCFG_MOS6581_POTY_CALLBACK(READ8(c64_state, sid_poty_r))
diff --git a/src/mame/drivers/cabal.cpp b/src/mame/drivers/cabal.cpp
index 3a765ee23a4..dc4c724743b 100644
--- a/src/mame/drivers/cabal.cpp
+++ b/src/mame/drivers/cabal.cpp
@@ -535,7 +535,8 @@ MACHINE_CONFIG_START(cabal_state::cabal)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cabal_state::cabalt, cabal)
+MACHINE_CONFIG_START(cabal_state::cabalt)
+ cabal(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(trackball_main_map)
@@ -548,7 +549,8 @@ MACHINE_CONFIG_DERIVED(cabal_state::cabalt, cabal)
MCFG_UPD4701_PORTY("IN3")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cabal_state::cabalbl2, cabal)
+MACHINE_CONFIG_START(cabal_state::cabalbl2)
+ cabal(config);
MCFG_DEVICE_REMOVE("sei80bu")
MCFG_DEVICE_MODIFY("audiocpu")
diff --git a/src/mame/drivers/calchase.cpp b/src/mame/drivers/calchase.cpp
index 5fd1542d5c7..29ce5813fe8 100644
--- a/src/mame/drivers/calchase.cpp
+++ b/src/mame/drivers/calchase.cpp
@@ -679,7 +679,7 @@ MACHINE_CONFIG_START(calchase_state::calchase)
MCFG_CPU_IO_MAP(calchase_io)
MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb)
- MCFG_FRAGMENT_ADD( pcat_common )
+ pcat_common(config);
MCFG_IDE_CONTROLLER_32_ADD("ide", ata_devices, "hdd", nullptr, true)
MCFG_ATA_INTERFACE_IRQ_HANDLER(DEVWRITELINE("pic8259_2", pic8259_device, ir6_w))
@@ -689,7 +689,7 @@ MACHINE_CONFIG_START(calchase_state::calchase)
MCFG_PCI_BUS_LEGACY_DEVICE(7, nullptr, intel82371ab_pci_r, intel82371ab_pci_w)
/* video hardware */
- MCFG_FRAGMENT_ADD( pcvideo_trident_vga )
+ pcvideo_trident_vga(config);
MCFG_DEVICE_REMOVE("rtc")
MCFG_DS12885_ADD("rtc")
@@ -711,7 +711,7 @@ MACHINE_CONFIG_START(calchase_state::hostinv)
MCFG_CPU_IO_MAP(calchase_io)
MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb)
- MCFG_FRAGMENT_ADD( pcat_common )
+ pcat_common(config);
MCFG_IDE_CONTROLLER_32_ADD("ide", ata_devices, "cdrom", nullptr, true)
MCFG_ATA_INTERFACE_IRQ_HANDLER(DEVWRITELINE("pic8259_2", pic8259_device, ir6_w))
@@ -721,7 +721,7 @@ MACHINE_CONFIG_START(calchase_state::hostinv)
MCFG_PCI_BUS_LEGACY_DEVICE(7, nullptr, intel82371ab_pci_r, intel82371ab_pci_w)
/* video hardware */
- MCFG_FRAGMENT_ADD( pcvideo_trident_vga )
+ pcvideo_trident_vga(config);
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/calomega.cpp b/src/mame/drivers/calomega.cpp
index 6760a72f17b..3e1f0d54f70 100644
--- a/src/mame/drivers/calomega.cpp
+++ b/src/mame/drivers/calomega.cpp
@@ -2616,7 +2616,8 @@ MACHINE_CONFIG_START(calomega_state::sys903)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(calomega_state::s903mod, sys903)
+MACHINE_CONFIG_START(calomega_state::s903mod)
+ sys903(config);
/* basic machine hardware */
@@ -2633,7 +2634,8 @@ MACHINE_CONFIG_DERIVED(calomega_state::s903mod, sys903)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(calomega_state::sys905, sys903)
+MACHINE_CONFIG_START(calomega_state::sys905)
+ sys903(config);
/* basic machine hardware */
@@ -2657,7 +2659,8 @@ MACHINE_CONFIG_DERIVED(calomega_state::sys905, sys903)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(calomega_state::sys906, sys903)
+MACHINE_CONFIG_START(calomega_state::sys906)
+ sys903(config);
/* basic machine hardware */
diff --git a/src/mame/drivers/calorie.cpp b/src/mame/drivers/calorie.cpp
index 91670af1a29..3a60057fead 100644
--- a/src/mame/drivers/calorie.cpp
+++ b/src/mame/drivers/calorie.cpp
@@ -501,7 +501,8 @@ MACHINE_CONFIG_START(calorie_state::calorie)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.8)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(calorie_state::caloriee, calorie)
+MACHINE_CONFIG_START(calorie_state::caloriee)
+ calorie(config);
MCFG_CPU_REPLACE("maincpu", SEGA_317_0004,4000000) /* 4 MHz */
MCFG_CPU_PROGRAM_MAP(calorie_map)
MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
diff --git a/src/mame/drivers/camplynx.cpp b/src/mame/drivers/camplynx.cpp
index 6e16b21cb9d..412621a04b7 100644
--- a/src/mame/drivers/camplynx.cpp
+++ b/src/mame/drivers/camplynx.cpp
@@ -836,7 +836,7 @@ MACHINE_CONFIG_START(camplynx_state::lynx48k)
MCFG_SCREEN_VISIBLE_AREA(0, 511, 0, 479)
MCFG_SCREEN_UPDATE_DEVICE("crtc", mc6845_device, screen_update)
- MCFG_FRAGMENT_ADD(lynx_common)
+ lynx_common(config);
MCFG_CASSETTE_ADD("cassette")
MCFG_CASSETTE_FORMATS(lynx48k_cassette_formats)
@@ -851,12 +851,13 @@ MACHINE_CONFIG_START(camplynx_state::lynx48k)
MCFG_MC6845_OUT_VSYNC_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(camplynx_state::lynx96k, lynx48k)
+MACHINE_CONFIG_START(camplynx_state::lynx96k)
+ lynx48k(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(lynx96k_io)
- MCFG_FRAGMENT_ADD(lynx_disk)
+ lynx_disk(config);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(camplynx_state::lynx128k)
@@ -876,7 +877,7 @@ MACHINE_CONFIG_START(camplynx_state::lynx128k)
MCFG_SCREEN_VISIBLE_AREA(0, 511, 0, 479)
MCFG_SCREEN_UPDATE_DEVICE("crtc", mc6845_device, screen_update)
- MCFG_FRAGMENT_ADD(lynx_common)
+ lynx_common(config);
MCFG_CASSETTE_ADD("cassette")
MCFG_CASSETTE_FORMATS(lynx128k_cassette_formats)
@@ -890,7 +891,7 @@ MACHINE_CONFIG_START(camplynx_state::lynx128k)
MCFG_MC6845_UPDATE_ROW_CB(camplynx_state, lynx128k_update_row)
MCFG_MC6845_OUT_VSYNC_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
- MCFG_FRAGMENT_ADD(lynx_disk)
+ lynx_disk(config);
MACHINE_CONFIG_END
DRIVER_INIT_MEMBER(camplynx_state, lynx48k)
diff --git a/src/mame/drivers/capbowl.cpp b/src/mame/drivers/capbowl.cpp
index e2bf287c181..0c15b0981ee 100644
--- a/src/mame/drivers/capbowl.cpp
+++ b/src/mame/drivers/capbowl.cpp
@@ -363,7 +363,8 @@ MACHINE_CONFIG_START(capbowl_state::capbowl)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(capbowl_state::bowlrama, capbowl)
+MACHINE_CONFIG_START(capbowl_state::bowlrama)
+ capbowl(config);
/* basic machine hardware */
diff --git a/src/mame/drivers/cave.cpp b/src/mame/drivers/cave.cpp
index b9f728aa172..223e1cc1115 100644
--- a/src/mame/drivers/cave.cpp
+++ b/src/mame/drivers/cave.cpp
@@ -2432,7 +2432,8 @@ MACHINE_CONFIG_START(cave_state::korokoro)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cave_state::crusherm, korokoro)
+MACHINE_CONFIG_START(cave_state::crusherm)
+ korokoro(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(crusherm_map)
MACHINE_CONFIG_END
@@ -2602,7 +2603,8 @@ MACHINE_CONFIG_START(cave_state::pacslot)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cave_state::paceight, pacslot)
+MACHINE_CONFIG_START(cave_state::paceight)
+ pacslot(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(paceight_map)
MACHINE_CONFIG_END
@@ -2854,7 +2856,8 @@ MACHINE_CONFIG_START(cave_state::tekkencw)
// oki2 chip spot and rom socket are both unpopulated
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cave_state::tekkenbs, tekkencw)
+MACHINE_CONFIG_START(cave_state::tekkenbs)
+ tekkencw(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(tekkenbs_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/cbm2.cpp b/src/mame/drivers/cbm2.cpp
index 8a05519cf68..01477c9d635 100644
--- a/src/mame/drivers/cbm2.cpp
+++ b/src/mame/drivers/cbm2.cpp
@@ -2405,7 +2405,7 @@ MACHINE_CONFIG_START(p500_state::p500_ntsc)
MCFG_QUICKLOAD_ADD("quickload", p500_state, p500, "p00,prg", CBM_QUICKLOAD_DELAY_SECONDS)
// internal ram
- MCFG_FRAGMENT_ADD(_128k)
+ _128k(config);
// software list
MCFG_SOFTWARE_LIST_ADD("cart_list", "cbm2_cart")
@@ -2518,7 +2518,7 @@ MACHINE_CONFIG_START(p500_state::p500_pal)
MCFG_QUICKLOAD_ADD("quickload", p500_state, p500, "p00,prg", CBM_QUICKLOAD_DELAY_SECONDS)
// internal ram
- MCFG_FRAGMENT_ADD(_128k)
+ _128k(config);
// software list
MCFG_SOFTWARE_LIST_ADD("cart_list", "cbm2_cart")
@@ -2641,8 +2641,9 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( b128 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(cbm2_state::b128, cbm2lp_ntsc)
- MCFG_FRAGMENT_ADD(_128k)
+MACHINE_CONFIG_START(cbm2_state::b128)
+ cbm2lp_ntsc(config);
+ _128k(config);
MACHINE_CONFIG_END
@@ -2650,8 +2651,9 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( b256 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(cbm2_state::b256, cbm2lp_ntsc)
- MCFG_FRAGMENT_ADD(_256k)
+MACHINE_CONFIG_START(cbm2_state::b256)
+ cbm2lp_ntsc(config);
+ _256k(config);
MACHINE_CONFIG_END
@@ -2659,7 +2661,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( cbm2lp_pal )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(cbm2_state::cbm2lp_pal, cbm2lp_ntsc)
+MACHINE_CONFIG_START(cbm2_state::cbm2lp_pal)
+ cbm2lp_ntsc(config);
MCFG_MACHINE_START_OVERRIDE(cbm2_state, cbm2_pal)
MCFG_DEVICE_MODIFY(MOS6526_TAG)
@@ -2671,8 +2674,9 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( cbm610 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(cbm2_state::cbm610, cbm2lp_pal)
- MCFG_FRAGMENT_ADD(_128k)
+MACHINE_CONFIG_START(cbm2_state::cbm610)
+ cbm2lp_pal(config);
+ _128k(config);
MACHINE_CONFIG_END
@@ -2680,8 +2684,9 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( cbm620 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(cbm2_state::cbm620, cbm2lp_pal)
- MCFG_FRAGMENT_ADD(_256k)
+MACHINE_CONFIG_START(cbm2_state::cbm620)
+ cbm2lp_pal(config);
+ _256k(config);
MACHINE_CONFIG_END
@@ -2689,7 +2694,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( cbm2hp_ntsc )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(cbm2_state::cbm2hp_ntsc, cbm2lp_ntsc)
+MACHINE_CONFIG_START(cbm2_state::cbm2hp_ntsc)
+ cbm2lp_ntsc(config);
MCFG_DEVICE_MODIFY(MOS6525_2_TAG)
MCFG_TPI6525_IN_PC_CB(READ8(cbm2hp_state, tpi2_pc_r))
MACHINE_CONFIG_END
@@ -2699,8 +2705,9 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( b128hp )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(cbm2hp_state::b128hp, cbm2hp_ntsc)
- MCFG_FRAGMENT_ADD(_128k)
+MACHINE_CONFIG_START(cbm2hp_state::b128hp)
+ cbm2hp_ntsc(config);
+ _128k(config);
MACHINE_CONFIG_END
@@ -2708,8 +2715,9 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( b256hp )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(cbm2hp_state::b256hp, cbm2hp_ntsc)
- MCFG_FRAGMENT_ADD(_256k)
+MACHINE_CONFIG_START(cbm2hp_state::b256hp)
+ cbm2hp_ntsc(config);
+ _256k(config);
MACHINE_CONFIG_END
@@ -2717,7 +2725,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( bx256hp )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(cbm2hp_state::bx256hp, b256hp)
+MACHINE_CONFIG_START(cbm2hp_state::bx256hp)
+ b256hp(config);
MCFG_MACHINE_START_OVERRIDE(cbm2_state, cbm2x_ntsc)
MCFG_CPU_ADD(EXT_I8088_TAG, I8088, XTAL(12'000'000))
@@ -2749,7 +2758,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( cbm2hp_pal )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(cbm2_state::cbm2hp_pal, cbm2hp_ntsc)
+MACHINE_CONFIG_START(cbm2_state::cbm2hp_pal)
+ cbm2hp_ntsc(config);
MCFG_MACHINE_START_OVERRIDE(cbm2_state, cbm2_pal)
// devices
@@ -2765,8 +2775,9 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( cbm710 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(cbm2hp_state::cbm710, cbm2hp_pal)
- MCFG_FRAGMENT_ADD(_128k)
+MACHINE_CONFIG_START(cbm2hp_state::cbm710)
+ cbm2hp_pal(config);
+ _128k(config);
MACHINE_CONFIG_END
@@ -2774,8 +2785,9 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( cbm720 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(cbm2hp_state::cbm720, cbm2hp_pal)
- MCFG_FRAGMENT_ADD(_256k)
+MACHINE_CONFIG_START(cbm2hp_state::cbm720)
+ cbm2hp_pal(config);
+ _256k(config);
MACHINE_CONFIG_END
@@ -2783,7 +2795,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( cbm730 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(cbm2hp_state::cbm730, cbm720)
+MACHINE_CONFIG_START(cbm2hp_state::cbm730)
+ cbm720(config);
MCFG_MACHINE_START_OVERRIDE(cbm2_state, cbm2x_pal)
MCFG_CPU_ADD(EXT_I8088_TAG, I8088, XTAL(12'000'000))
diff --git a/src/mame/drivers/cclimber.cpp b/src/mame/drivers/cclimber.cpp
index 289c56badee..d4fa10c5a57 100644
--- a/src/mame/drivers/cclimber.cpp
+++ b/src/mame/drivers/cclimber.cpp
@@ -1123,7 +1123,8 @@ MACHINE_CONFIG_START(cclimber_state::root)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cclimber_state::cclimber, root)
+MACHINE_CONFIG_START(cclimber_state::cclimber)
+ root(config);
MCFG_DEVICE_MODIFY("mainlatch") // 7J on CCG-1
MCFG_ADDRESSABLE_LATCH_Q4_OUT_CB(DEVWRITELINE("cclimber_audio", cclimber_audio_device, sample_trigger_w))
@@ -1133,18 +1134,21 @@ MACHINE_CONFIG_DERIVED(cclimber_state::cclimber, root)
MCFG_CCLIMBER_AUDIO_ADD("cclimber_audio")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cclimber_state::cclimberx, cclimber)
+MACHINE_CONFIG_START(cclimber_state::cclimberx)
+ cclimber(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cclimber_state::ckongb, cclimber)
+MACHINE_CONFIG_START(cclimber_state::ckongb)
+ cclimber(config);
MCFG_DEVICE_MODIFY("mainlatch")
MCFG_ADDRESSABLE_LATCH_Q3_OUT_CB(WRITELINE(cclimber_state, nmi_mask_w)) //used by Crazy Kong Bootleg with alt levels and speed up
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cclimber_state::cannonb, cclimber)
+MACHINE_CONFIG_START(cclimber_state::cannonb)
+ cclimber(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1159,7 +1163,8 @@ MACHINE_CONFIG_DERIVED(cclimber_state::cannonb, cclimber)
MCFG_GFXDECODE_MODIFY("gfxdecode", cannonb)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cclimber_state::bagmanf, cclimber)
+MACHINE_CONFIG_START(cclimber_state::bagmanf)
+ cclimber(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1168,7 +1173,8 @@ MACHINE_CONFIG_DERIVED(cclimber_state::bagmanf, cclimber)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cclimber_state::yamato, root)
+MACHINE_CONFIG_START(cclimber_state::yamato)
+ root(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", SEGA_315_5018, MASTER_CLOCK/3/2) /* 3.072 MHz */
@@ -1200,7 +1206,8 @@ MACHINE_CONFIG_DERIVED(cclimber_state::yamato, root)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cclimber_state::toprollr, cclimber)
+MACHINE_CONFIG_START(cclimber_state::toprollr)
+ cclimber(config);
MCFG_CPU_REPLACE("maincpu", SEGA_315_5018, MASTER_CLOCK/3/2) /* 3.072 MHz */
MCFG_CPU_PROGRAM_MAP(toprollr_map)
@@ -1273,7 +1280,8 @@ MACHINE_CONFIG_START(cclimber_state::swimmer)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cclimber_state::guzzler, swimmer)
+MACHINE_CONFIG_START(cclimber_state::guzzler)
+ swimmer(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(guzzler_map)
diff --git a/src/mame/drivers/cdi.cpp b/src/mame/drivers/cdi.cpp
index 9059d09632e..5ddbb921927 100644
--- a/src/mame/drivers/cdi.cpp
+++ b/src/mame/drivers/cdi.cpp
@@ -925,7 +925,8 @@ MACHINE_CONFIG_START(cdi_state::cdi910)
MACHINE_CONFIG_END
// CD-i Mono-I, with CD-ROM image device (MESS) and Software List (MESS)
-MACHINE_CONFIG_DERIVED(cdi_state::cdimono1, cdimono1_base)
+MACHINE_CONFIG_START(cdi_state::cdimono1)
+ cdimono1_base(config);
MCFG_MACHINE_RESET_OVERRIDE(cdi_state, cdimono1)
MCFG_CDROM_ADD( "cdrom" )
@@ -934,7 +935,8 @@ MACHINE_CONFIG_DERIVED(cdi_state::cdimono1, cdimono1_base)
MCFG_SOFTWARE_LIST_FILTER("cd_list","!DVC")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cdi_state::quizard, cdimono1_base)
+MACHINE_CONFIG_START(cdi_state::quizard)
+ cdimono1_base(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(cdimono1_mem)
MCFG_CPU_VBLANK_INT_DRIVER("screen", cdi_state, mcu_frame)
@@ -951,7 +953,8 @@ ADDRESS_MAP_START(cdi_state::mcu_io_map)
AM_RANGE(MCS51_PORT_P1, MCS51_PORT_P1) AM_READ(quizard_mcu_p1_r)
ADDRESS_MAP_END
-MACHINE_CONFIG_DERIVED(cdi_state::quizard1, quizard)
+MACHINE_CONFIG_START(cdi_state::quizard1)
+ quizard(config);
MCFG_MACHINE_RESET_OVERRIDE(cdi_state, quizard1 )
MCFG_CPU_ADD("mcu", I8751, 8000000)
@@ -960,15 +963,18 @@ MACHINE_CONFIG_DERIVED(cdi_state::quizard1, quizard)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cdi_state::quizard2, quizard)
+MACHINE_CONFIG_START(cdi_state::quizard2)
+ quizard(config);
MCFG_MACHINE_RESET_OVERRIDE(cdi_state, quizard2 )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cdi_state::quizard3, quizard)
+MACHINE_CONFIG_START(cdi_state::quizard3)
+ quizard(config);
MCFG_MACHINE_RESET_OVERRIDE(cdi_state, quizard3 )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cdi_state::quizard4, quizard)
+MACHINE_CONFIG_START(cdi_state::quizard4)
+ quizard(config);
MCFG_MACHINE_RESET_OVERRIDE(cdi_state, quizard4 )
MCFG_CPU_ADD("mcu", I8751, 8000000)
diff --git a/src/mame/drivers/centiped.cpp b/src/mame/drivers/centiped.cpp
index 88d892d39fb..a91335aaa1b 100644
--- a/src/mame/drivers/centiped.cpp
+++ b/src/mame/drivers/centiped.cpp
@@ -1730,7 +1730,8 @@ MACHINE_CONFIG_START(centiped_state::centiped_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(centiped_state::centiped, centiped_base)
+MACHINE_CONFIG_START(centiped_state::centiped)
+ centiped_base(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(centiped_map)
@@ -1747,7 +1748,8 @@ MACHINE_CONFIG_DERIVED(centiped_state::centiped, centiped_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(centiped_state::caterplr, centiped_base)
+MACHINE_CONFIG_START(centiped_state::caterplr)
+ centiped_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1765,7 +1767,8 @@ MACHINE_CONFIG_DERIVED(centiped_state::caterplr, centiped_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(centiped_state::centipdb, centiped_base)
+MACHINE_CONFIG_START(centiped_state::centipdb)
+ centiped_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1783,7 +1786,8 @@ MACHINE_CONFIG_DERIVED(centiped_state::centipdb, centiped_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(centiped_state::magworm, centiped_base)
+MACHINE_CONFIG_START(centiped_state::magworm)
+ centiped_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1802,7 +1806,8 @@ MACHINE_CONFIG_DERIVED(centiped_state::magworm, centiped_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(centiped_state::milliped, centiped_base)
+MACHINE_CONFIG_START(centiped_state::milliped)
+ centiped_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1835,7 +1840,8 @@ MACHINE_CONFIG_DERIVED(centiped_state::milliped, centiped_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(centiped_state::multiped, milliped)
+MACHINE_CONFIG_START(centiped_state::multiped)
+ milliped(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1846,7 +1852,8 @@ MACHINE_CONFIG_DERIVED(centiped_state::multiped, milliped)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(centiped_state::warlords, centiped_base)
+MACHINE_CONFIG_START(centiped_state::warlords)
+ centiped_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1879,7 +1886,8 @@ MACHINE_CONFIG_DERIVED(centiped_state::warlords, centiped_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(centiped_state::mazeinv, milliped)
+MACHINE_CONFIG_START(centiped_state::mazeinv)
+ milliped(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/cgc7900.cpp b/src/mame/drivers/cgc7900.cpp
index 9cd622fea31..75d801dcaf4 100644
--- a/src/mame/drivers/cgc7900.cpp
+++ b/src/mame/drivers/cgc7900.cpp
@@ -496,7 +496,7 @@ MACHINE_CONFIG_START(cgc7900_state::cgc7900)
MCFG_CPU_PROGRAM_MAP(omti10_mem)*/
/* video hardware */
- MCFG_FRAGMENT_ADD(cgc7900_video)
+ cgc7900_video(config);
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/champbas.cpp b/src/mame/drivers/champbas.cpp
index 7dd44e9066a..04a3752861c 100644
--- a/src/mame/drivers/champbas.cpp
+++ b/src/mame/drivers/champbas.cpp
@@ -606,7 +606,8 @@ MACHINE_CONFIG_START(champbas_state::champbas)
MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(champbas_state::champbasj, champbas)
+MACHINE_CONFIG_START(champbas_state::champbasj)
+ champbas(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -621,21 +622,24 @@ MACHINE_CONFIG_DERIVED(champbas_state::champbasj, champbas)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(champbas_state::champbasja, champbas)
+MACHINE_CONFIG_START(champbas_state::champbasja)
+ champbas(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(champbasja_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(champbas_state::champbasjb, champbas)
+MACHINE_CONFIG_START(champbas_state::champbasjb)
+ champbas(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(champbasjb_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(champbas_state::champbb2, champbasj)
+MACHINE_CONFIG_START(champbas_state::champbb2)
+ champbasj(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -643,7 +647,8 @@ MACHINE_CONFIG_DERIVED(champbas_state::champbb2, champbasj)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(champbas_state::tbasebal, champbas)
+MACHINE_CONFIG_START(champbas_state::tbasebal)
+ champbas(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/channelf.cpp b/src/mame/drivers/channelf.cpp
index 021b007db99..73fa5b02a91 100644
--- a/src/mame/drivers/channelf.cpp
+++ b/src/mame/drivers/channelf.cpp
@@ -231,7 +231,7 @@ MACHINE_CONFIG_START(channelf_state::channelf)
MCFG_SOUND_ADD("custom", CHANNELF_SOUND, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
- MCFG_FRAGMENT_ADD( channelf_cart )
+ channelf_cart(config);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(channelf_state::sabavdpl)
@@ -258,7 +258,7 @@ MACHINE_CONFIG_START(channelf_state::sabavdpl)
MCFG_SOUND_ADD("custom", CHANNELF_SOUND, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
- MCFG_FRAGMENT_ADD( channelf_cart )
+ channelf_cart(config);
MACHINE_CONFIG_END
@@ -286,7 +286,7 @@ MACHINE_CONFIG_START(channelf_state::channlf2)
MCFG_SOUND_ADD("custom", CHANNELF_SOUND, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
- MCFG_FRAGMENT_ADD( channelf_cart )
+ channelf_cart(config);
MACHINE_CONFIG_END
@@ -314,7 +314,7 @@ MACHINE_CONFIG_START(channelf_state::sabavpl2)
MCFG_SOUND_ADD("custom", CHANNELF_SOUND, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
- MCFG_FRAGMENT_ADD( channelf_cart )
+ channelf_cart(config);
MACHINE_CONFIG_END
ROM_START( channelf )
diff --git a/src/mame/drivers/chexx.cpp b/src/mame/drivers/chexx.cpp
index 1bf1bedc4e5..b45ea22c058 100644
--- a/src/mame/drivers/chexx.cpp
+++ b/src/mame/drivers/chexx.cpp
@@ -347,7 +347,8 @@ MACHINE_CONFIG_START(chexx_state::chexx83)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.16)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(chexx_state::faceoffh, chexx83)
+MACHINE_CONFIG_START(chexx_state::faceoffh)
+ chexx83(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(faceoffh_map)
diff --git a/src/mame/drivers/chihiro.cpp b/src/mame/drivers/chihiro.cpp
index 04dc8159907..ded28a94c78 100644
--- a/src/mame/drivers/chihiro.cpp
+++ b/src/mame/drivers/chihiro.cpp
@@ -1845,7 +1845,8 @@ void chihiro_state::an2131sc_configuration(device_t *device)
MCFG_OHCI_HLEAN2131SC_REGION(":others", 0x2080)
}
-MACHINE_CONFIG_DERIVED(chihiro_state::chihiro_base, xbox_base)
+MACHINE_CONFIG_START(chihiro_state::chihiro_base)
+ xbox_base(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(chihiro_map)
MCFG_CPU_IO_MAP(chihiro_map_io)
@@ -1867,7 +1868,8 @@ MACHINE_CONFIG_DERIVED(chihiro_state::chihiro_base, xbox_base)
MCFG_SEGA_837_13551_DEVICE_ADD("837_13551", "jvs_master", ":TILT", ":P1", ":P2", ":A0", ":A1", ":A2", ":A3", ":A4", ":A5", ":A6", ":A7", ":OUTPUT")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(chihiro_state::chihirogd, chihiro_base)
+MACHINE_CONFIG_START(chihiro_state::chihirogd)
+ chihiro_base(config);
MCFG_NAOMI_GDROM_BOARD_ADD("rom_board", ":gdrom", "^pic", nullptr, NOOP)
MCFG_DEVICE_ADD("network", SEGA_NETWORK_BOARD, 0)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/chinsan.cpp b/src/mame/drivers/chinsan.cpp
index b52e71a6411..4667ff7b67e 100644
--- a/src/mame/drivers/chinsan.cpp
+++ b/src/mame/drivers/chinsan.cpp
@@ -544,7 +544,8 @@ MACHINE_CONFIG_START(chinsan_state::chinsan)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(chinsan_state::mayumi, chinsan)
+MACHINE_CONFIG_START(chinsan_state::mayumi)
+ chinsan(config);
// standard Z80 instead of MC-8123
MCFG_DEVICE_REMOVE("maincpu")
MCFG_CPU_ADD("maincpu", Z80, XTAL(10'000'000)/2)
diff --git a/src/mame/drivers/cidelsa.cpp b/src/mame/drivers/cidelsa.cpp
index a1ea66882db..7864d3a5985 100644
--- a/src/mame/drivers/cidelsa.cpp
+++ b/src/mame/drivers/cidelsa.cpp
@@ -401,7 +401,7 @@ MACHINE_CONFIG_START(cidelsa_state::destryer)
MCFG_NVRAM_ADD_0FILL("nvram")
/* sound and video hardware */
- MCFG_FRAGMENT_ADD(destryer_video)
+ destryer_video(config);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(cidelsa_state::destryera)
@@ -416,7 +416,7 @@ MACHINE_CONFIG_START(cidelsa_state::destryera)
MCFG_NVRAM_ADD_0FILL("nvram")
/* sound and video hardware */
- MCFG_FRAGMENT_ADD(destryer_video)
+ destryer_video(config);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(cidelsa_state::altair)
@@ -445,7 +445,7 @@ MACHINE_CONFIG_START(cidelsa_state::altair)
MCFG_CDP1852_DO_CALLBACK(WRITE8(cidelsa_state, altair_out1_w))
/* sound and video hardware */
- MCFG_FRAGMENT_ADD(altair_video)
+ altair_video(config);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(draco_state::draco)
@@ -483,7 +483,7 @@ MACHINE_CONFIG_START(draco_state::draco)
MCFG_CDP1852_DO_CALLBACK(WRITE8(draco_state, out1_w))
/* sound and video hardware */
- MCFG_FRAGMENT_ADD(draco_video)
+ draco_video(config);
MACHINE_CONFIG_END
/* ROMs */
diff --git a/src/mame/drivers/cinemat.cpp b/src/mame/drivers/cinemat.cpp
index 10056f88fde..2a457edb9a1 100644
--- a/src/mame/drivers/cinemat.cpp
+++ b/src/mame/drivers/cinemat.cpp
@@ -987,32 +987,37 @@ MACHINE_CONFIG_START(cinemat_state::cinemat_nojmi_4k)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cinemat_state::cinemat_jmi_4k, cinemat_nojmi_4k)
+MACHINE_CONFIG_START(cinemat_state::cinemat_jmi_4k)
+ cinemat_nojmi_4k(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CCPU_VECTOR_FUNC(ccpu_cpu_device::vector_delegate(FUNC(cinemat_state::cinemat_vector_callback), this))
MCFG_CCPU_EXTERNAL_FUNC(DEVREAD8("maincpu",ccpu_cpu_device,read_jmi))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cinemat_state::cinemat_nojmi_8k, cinemat_nojmi_4k)
+MACHINE_CONFIG_START(cinemat_state::cinemat_nojmi_8k)
+ cinemat_nojmi_4k(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(program_map_8k)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cinemat_state::cinemat_jmi_8k, cinemat_jmi_4k)
+MACHINE_CONFIG_START(cinemat_state::cinemat_jmi_8k)
+ cinemat_jmi_4k(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(program_map_8k)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cinemat_state::cinemat_jmi_16k, cinemat_jmi_4k)
+MACHINE_CONFIG_START(cinemat_state::cinemat_jmi_16k)
+ cinemat_jmi_4k(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(program_map_16k)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cinemat_state::cinemat_jmi_32k, cinemat_jmi_4k)
+MACHINE_CONFIG_START(cinemat_state::cinemat_jmi_32k)
+ cinemat_jmi_4k(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(program_map_32k)
MACHINE_CONFIG_END
@@ -1026,70 +1031,82 @@ MACHINE_CONFIG_END
*
*************************************/
-MACHINE_CONFIG_DERIVED(cinemat_state::spacewar, cinemat_nojmi_4k)
- MCFG_FRAGMENT_ADD(spacewar_sound)
+MACHINE_CONFIG_START(cinemat_state::spacewar)
+ cinemat_nojmi_4k(config);
+ spacewar_sound(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(cinemat_state, screen_update_spacewar)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cinemat_state::barrier, cinemat_jmi_4k)
- MCFG_FRAGMENT_ADD(barrier_sound)
+MACHINE_CONFIG_START(cinemat_state::barrier)
+ cinemat_jmi_4k(config);
+ barrier_sound(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cinemat_state::speedfrk, cinemat_nojmi_8k)
- MCFG_FRAGMENT_ADD(speedfrk_sound)
+MACHINE_CONFIG_START(cinemat_state::speedfrk)
+ cinemat_nojmi_8k(config);
+ speedfrk_sound(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cinemat_state::starhawk, cinemat_jmi_4k)
- MCFG_FRAGMENT_ADD(starhawk_sound)
+MACHINE_CONFIG_START(cinemat_state::starhawk)
+ cinemat_jmi_4k(config);
+ starhawk_sound(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cinemat_state::sundance, cinemat_jmi_8k)
- MCFG_FRAGMENT_ADD(sundance_sound)
+MACHINE_CONFIG_START(cinemat_state::sundance)
+ cinemat_jmi_8k(config);
+ sundance_sound(config);
MCFG_VIDEO_START_OVERRIDE(cinemat_state,cinemat_16level)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cinemat_state::tailg, cinemat_nojmi_8k)
- MCFG_FRAGMENT_ADD(tailg_sound)
+MACHINE_CONFIG_START(cinemat_state::tailg)
+ cinemat_nojmi_8k(config);
+ tailg_sound(config);
MCFG_DEVICE_MODIFY("outlatch")
MCFG_ADDRESSABLE_LATCH_Q7_OUT_CB(WRITELINE(cinemat_state, mux_select_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cinemat_state::warrior, cinemat_jmi_8k)
- MCFG_FRAGMENT_ADD(warrior_sound)
+MACHINE_CONFIG_START(cinemat_state::warrior)
+ cinemat_jmi_8k(config);
+ warrior_sound(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cinemat_state::armora, cinemat_jmi_16k)
- MCFG_FRAGMENT_ADD(armora_sound)
+MACHINE_CONFIG_START(cinemat_state::armora)
+ cinemat_jmi_16k(config);
+ armora_sound(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cinemat_state::ripoff, cinemat_jmi_8k)
- MCFG_FRAGMENT_ADD(ripoff_sound)
+MACHINE_CONFIG_START(cinemat_state::ripoff)
+ cinemat_jmi_8k(config);
+ ripoff_sound(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cinemat_state::starcas, cinemat_jmi_8k)
- MCFG_FRAGMENT_ADD(starcas_sound)
+MACHINE_CONFIG_START(cinemat_state::starcas)
+ cinemat_jmi_8k(config);
+ starcas_sound(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cinemat_state::solarq, cinemat_jmi_16k)
- MCFG_FRAGMENT_ADD(solarq_sound)
+MACHINE_CONFIG_START(cinemat_state::solarq)
+ cinemat_jmi_16k(config);
+ solarq_sound(config);
MCFG_VIDEO_START_OVERRIDE(cinemat_state,cinemat_64level)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cinemat_state::boxingb, cinemat_jmi_32k)
- MCFG_FRAGMENT_ADD(boxingb_sound)
+MACHINE_CONFIG_START(cinemat_state::boxingb)
+ cinemat_jmi_32k(config);
+ boxingb_sound(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0, 1024, 0, 788)
MCFG_VIDEO_START_OVERRIDE(cinemat_state,cinemat_color)
@@ -1099,28 +1116,32 @@ MACHINE_CONFIG_DERIVED(cinemat_state::boxingb, cinemat_jmi_32k)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cinemat_state::wotw, cinemat_jmi_16k)
+MACHINE_CONFIG_START(cinemat_state::wotw)
+ cinemat_jmi_16k(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0, 1120, 0, 767)
- MCFG_FRAGMENT_ADD(wotw_sound)
+ wotw_sound(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cinemat_state::wotwc, cinemat_jmi_16k)
- MCFG_FRAGMENT_ADD(wotw_sound)
+MACHINE_CONFIG_START(cinemat_state::wotwc)
+ cinemat_jmi_16k(config);
+ wotw_sound(config);
MCFG_VIDEO_START_OVERRIDE(cinemat_state,cinemat_color)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cinemat_state::demon, cinemat_jmi_16k)
- MCFG_FRAGMENT_ADD(demon_sound)
+MACHINE_CONFIG_START(cinemat_state::demon)
+ cinemat_jmi_16k(config);
+ demon_sound(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0, 1024, 0, 805)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cinemat_state::qb3, cinemat_jmi_32k)
- MCFG_FRAGMENT_ADD(qb3_sound)
+MACHINE_CONFIG_START(cinemat_state::qb3)
+ cinemat_jmi_32k(config);
+ qb3_sound(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_DATA_MAP(data_map_qb3)
MCFG_CPU_IO_MAP(io_map_qb3)
diff --git a/src/mame/drivers/cischeat.cpp b/src/mame/drivers/cischeat.cpp
index 72023762d6f..03256f9d147 100644
--- a/src/mame/drivers/cischeat.cpp
+++ b/src/mame/drivers/cischeat.cpp
@@ -1969,7 +1969,8 @@ MACHINE_CONFIG_START(cischeat_state::bigrun)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cischeat_state::cischeat, bigrun)
+MACHINE_CONFIG_START(cischeat_state::cischeat)
+ bigrun(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("cpu1")
@@ -2006,7 +2007,8 @@ MACHINE_CONFIG_DERIVED(cischeat_state::cischeat, bigrun)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cischeat_state::f1gpstar, bigrun)
+MACHINE_CONFIG_START(cischeat_state::f1gpstar)
+ bigrun(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("cpu1")
@@ -2042,7 +2044,8 @@ MACHINE_CONFIG_DERIVED(cischeat_state::f1gpstar, bigrun)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cischeat_state::f1gpstr2, f1gpstar)
+MACHINE_CONFIG_START(cischeat_state::f1gpstr2)
+ f1gpstar(config);
/* basic machine hardware */
@@ -2059,7 +2062,8 @@ MACHINE_CONFIG_DERIVED(cischeat_state::f1gpstr2, f1gpstar)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cischeat_state::wildplt, f1gpstr2)
+MACHINE_CONFIG_START(cischeat_state::wildplt)
+ f1gpstr2(config);
MCFG_CPU_MODIFY("cpu1")
MCFG_CPU_PROGRAM_MAP(wildplt_map)
MACHINE_CONFIG_END
@@ -2142,7 +2146,8 @@ TIMER_DEVICE_CALLBACK_MEMBER(cischeat_state::armchamp2_scanline)
m_maincpu->set_input_line(4, HOLD_LINE);
}
-MACHINE_CONFIG_DERIVED(cischeat_state::armchmp2, scudhamm)
+MACHINE_CONFIG_START(cischeat_state::armchmp2)
+ scudhamm(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/cninja.cpp b/src/mame/drivers/cninja.cpp
index f59d03ae22f..ac39fdccd06 100644
--- a/src/mame/drivers/cninja.cpp
+++ b/src/mame/drivers/cninja.cpp
@@ -984,7 +984,8 @@ MACHINE_CONFIG_START(cninja_state::stoneage)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cninja_state::cninjabl2, stoneage)
+MACHINE_CONFIG_START(cninja_state::cninjabl2)
+ stoneage(config);
MCFG_CPU_MODIFY("audiocpu")
MCFG_CPU_PROGRAM_MAP(cninjabl2_s_map)
diff --git a/src/mame/drivers/coco12.cpp b/src/mame/drivers/coco12.cpp
index c07805c817f..ae287d84915 100644
--- a/src/mame/drivers/coco12.cpp
+++ b/src/mame/drivers/coco12.cpp
@@ -484,7 +484,7 @@ MACHINE_CONFIG_START(coco12_state::coco)
MCFG_MC6847_INPUT_CALLBACK(DEVREAD8(SAM_TAG, sam6883_device, display_read))
// sound hardware
- MCFG_FRAGMENT_ADD( coco_sound )
+ coco_sound(config);
// internal ram
MCFG_RAM_ADD(RAM_TAG)
@@ -492,7 +492,7 @@ MACHINE_CONFIG_START(coco12_state::coco)
MCFG_RAM_EXTRA_OPTIONS("4K,16K,32K")
// floating space
- MCFG_FRAGMENT_ADD( coco_floating )
+ coco_floating(config);
// software lists
MCFG_SOFTWARE_LIST_ADD("coco_cart_list", "coco_cart")
@@ -500,7 +500,8 @@ MACHINE_CONFIG_START(coco12_state::coco)
MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("dragon_cart_list", "dragon_cart")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(coco12_state::cocoe, coco)
+MACHINE_CONFIG_START(coco12_state::cocoe)
+ coco(config);
MCFG_COCO_CARTRIDGE_REMOVE(CARTRIDGE_TAG)
MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, coco_cart, "fdc")
MCFG_COCO_CARTRIDGE_CART_CB(WRITELINE(coco_state, cart_w))
@@ -510,7 +511,8 @@ MACHINE_CONFIG_DERIVED(coco12_state::cocoe, coco)
MCFG_COCO_VHD_ADD(VHD1_TAG)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(coco12_state::coco2, coco)
+MACHINE_CONFIG_START(coco12_state::coco2)
+ coco(config);
MCFG_COCO_CARTRIDGE_REMOVE(CARTRIDGE_TAG)
MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, coco_cart, "fdcv11")
MCFG_COCO_CARTRIDGE_CART_CB(WRITELINE(coco_state, cart_w))
@@ -520,7 +522,8 @@ MACHINE_CONFIG_DERIVED(coco12_state::coco2, coco)
MCFG_COCO_VHD_ADD(VHD1_TAG)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(coco12_state::coco2b, coco2)
+MACHINE_CONFIG_START(coco12_state::coco2b)
+ coco2(config);
MCFG_DEVICE_REMOVE(VDG_TAG)
MCFG_DEVICE_ADD(VDG_TAG, MC6847T1_NTSC, XTAL(14'318'181) / 4)
MCFG_MC6847_HSYNC_CALLBACK(WRITELINE(coco12_state, horizontal_sync))
@@ -528,7 +531,8 @@ MACHINE_CONFIG_DERIVED(coco12_state::coco2b, coco2)
MCFG_MC6847_INPUT_CALLBACK(DEVREAD8(SAM_TAG, sam6883_device, display_read))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(coco12_state::cp400, coco)
+MACHINE_CONFIG_START(coco12_state::cp400)
+ coco(config);
MCFG_COCO_CARTRIDGE_REMOVE(CARTRIDGE_TAG)
MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, coco_cart, "cp450_fdc")
MCFG_COCO_CARTRIDGE_CART_CB(WRITELINE(coco_state, cart_w))
@@ -536,7 +540,8 @@ MACHINE_CONFIG_DERIVED(coco12_state::cp400, coco)
MCFG_COCO_CARTRIDGE_HALT_CB(INPUTLINE(MAINCPU_TAG, INPUT_LINE_HALT))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(coco12_state::t4426, coco2)
+MACHINE_CONFIG_START(coco12_state::t4426)
+ coco2(config);
MCFG_COCO_CARTRIDGE_REMOVE(CARTRIDGE_TAG)
MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, t4426_cart, "t4426")
MCFG_COCO_CARTRIDGE_CART_CB(WRITELINE(coco_state, cart_w))
@@ -545,7 +550,8 @@ MACHINE_CONFIG_DERIVED(coco12_state::t4426, coco2)
MCFG_SLOT_FIXED(true) // This cart is fixed so no way to change it
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(coco12_state::cd6809, coco)
+MACHINE_CONFIG_START(coco12_state::cd6809)
+ coco(config);
MCFG_COCO_CARTRIDGE_REMOVE(CARTRIDGE_TAG)
MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, coco_cart, "cd6809_fdc")
MCFG_COCO_CARTRIDGE_CART_CB(WRITELINE(coco_state, cart_w))
diff --git a/src/mame/drivers/coco3.cpp b/src/mame/drivers/coco3.cpp
index 24ec720cb55..24e2d0292da 100644
--- a/src/mame/drivers/coco3.cpp
+++ b/src/mame/drivers/coco3.cpp
@@ -318,7 +318,7 @@ MACHINE_CONFIG_START(coco3_state::coco3)
MCFG_SCREEN_VBLANK_TIME(0)
// sound hardware
- MCFG_FRAGMENT_ADD( coco_sound )
+ coco_sound(config);
// internal ram
MCFG_RAM_ADD(RAM_TAG)
@@ -326,7 +326,7 @@ MACHINE_CONFIG_START(coco3_state::coco3)
MCFG_RAM_EXTRA_OPTIONS("128K,2M,8M")
// floating space
- MCFG_FRAGMENT_ADD(coco_floating)
+ coco_floating(config);
// software lists
MCFG_SOFTWARE_LIST_ADD("cart_list","coco_cart")
@@ -336,7 +336,8 @@ MACHINE_CONFIG_START(coco3_state::coco3)
MCFG_SOFTWARE_LIST_FILTER("flop_list","COCO3")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(coco3_state::coco3p, coco3)
+MACHINE_CONFIG_START(coco3_state::coco3p)
+ coco3(config);
MCFG_DEVICE_MODIFY(":")
MCFG_DEVICE_CLOCK(XTAL(28'475'000) / 32)
@@ -352,12 +353,14 @@ MACHINE_CONFIG_DERIVED(coco3_state::coco3p, coco3)
MCFG_GIME_FLOATING_BUS_CALLBACK(READ8(coco_state, floating_bus_read))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(coco3_state::coco3h, coco3)
+MACHINE_CONFIG_START(coco3_state::coco3h)
+ coco3(config);
MCFG_CPU_REPLACE(MAINCPU_TAG, HD6309E, DERIVED_CLOCK(1, 1))
MCFG_CPU_PROGRAM_MAP(coco3_mem)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(coco3_state::coco3dw1, coco3)
+MACHINE_CONFIG_START(coco3_state::coco3dw1)
+ coco3(config);
MCFG_COCO_CARTRIDGE_REMOVE(CARTRIDGE_TAG)
MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, coco_cart, "cc3hdb1")
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/coinmstr.cpp b/src/mame/drivers/coinmstr.cpp
index bdeb94c070b..d60735f6552 100644
--- a/src/mame/drivers/coinmstr.cpp
+++ b/src/mame/drivers/coinmstr.cpp
@@ -1288,27 +1288,32 @@ MACHINE_CONFIG_START(coinmstr_state::coinmstr)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(coinmstr_state::quizmstr, coinmstr)
+MACHINE_CONFIG_START(coinmstr_state::quizmstr)
+ coinmstr(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(quizmstr_io_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(coinmstr_state::trailblz, coinmstr)
+MACHINE_CONFIG_START(coinmstr_state::trailblz)
+ coinmstr(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(trailblz_io_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(coinmstr_state::supnudg2, coinmstr)
+MACHINE_CONFIG_START(coinmstr_state::supnudg2)
+ coinmstr(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(supnudg2_io_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(coinmstr_state::pokeroul, coinmstr)
+MACHINE_CONFIG_START(coinmstr_state::pokeroul)
+ coinmstr(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(pokeroul_io_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(coinmstr_state::jpcoin, coinmstr)
+MACHINE_CONFIG_START(coinmstr_state::jpcoin)
+ coinmstr(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(jpcoin_map)
MCFG_CPU_IO_MAP(jpcoin_io_map)
diff --git a/src/mame/drivers/coleco.cpp b/src/mame/drivers/coleco.cpp
index 2497c0be362..87a208bc139 100644
--- a/src/mame/drivers/coleco.cpp
+++ b/src/mame/drivers/coleco.cpp
@@ -400,7 +400,8 @@ MACHINE_CONFIG_START(coleco_state::coleco)
MCFG_TIMER_DRIVER_ADD_PERIODIC("paddle_timer", coleco_state, paddle_update_callback, attotime::from_msec(20))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(coleco_state::colecop, coleco)
+MACHINE_CONFIG_START(coleco_state::colecop)
+ coleco(config);
/* video hardware */
MCFG_DEVICE_REMOVE("tms9928a")
@@ -413,14 +414,16 @@ MACHINE_CONFIG_DERIVED(coleco_state::colecop, coleco)
MCFG_SCREEN_UPDATE_DEVICE( "tms9928a", tms9928a_device, screen_update )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(coleco_state::czz50, coleco)
+MACHINE_CONFIG_START(coleco_state::czz50)
+ coleco(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu") // note: cpu speed unverified, assume it's the same as ColecoVision
MCFG_CPU_PROGRAM_MAP(czz50_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(coleco_state::dina, czz50)
+MACHINE_CONFIG_START(coleco_state::dina)
+ czz50(config);
/* video hardware */
MCFG_DEVICE_REMOVE("tms9928a")
diff --git a/src/mame/drivers/comebaby.cpp b/src/mame/drivers/comebaby.cpp
index f3a9dd47814..75b8d37f08a 100644
--- a/src/mame/drivers/comebaby.cpp
+++ b/src/mame/drivers/comebaby.cpp
@@ -239,7 +239,7 @@ MACHINE_CONFIG_START(comebaby_state::comebaby)
MCFG_CPU_PROGRAM_MAP(comebaby_map)
MCFG_CPU_IO_MAP(comebaby_io)
- MCFG_FRAGMENT_ADD( pcat_common )
+ pcat_common(config);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/compc.cpp b/src/mame/drivers/compc.cpp
index 645a7984b9b..7c3f0f7e9ff 100644
--- a/src/mame/drivers/compc.cpp
+++ b/src/mame/drivers/compc.cpp
@@ -221,7 +221,8 @@ MACHINE_CONFIG_START(compc_state::compc)
MCFG_SOFTWARE_LIST_ADD("disk_list", "ibm5150")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(compc_state::pc10iii, compc)
+MACHINE_CONFIG_START(compc_state::pc10iii)
+ compc(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_CPU_IO_MAP(compciii_io)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/compis.cpp b/src/mame/drivers/compis.cpp
index 7a72960081d..e940929774b 100644
--- a/src/mame/drivers/compis.cpp
+++ b/src/mame/drivers/compis.cpp
@@ -842,7 +842,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( compis2 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(compis_state::compis2, compis)
+MACHINE_CONFIG_START(compis_state::compis2)
+ compis(config);
// basic machine hardware
MCFG_CPU_MODIFY(I80186_TAG)
MCFG_CPU_PROGRAM_MAP(compis2_mem)
diff --git a/src/mame/drivers/comx35.cpp b/src/mame/drivers/comx35.cpp
index 4e4b00951e8..8925c55d6fe 100644
--- a/src/mame/drivers/comx35.cpp
+++ b/src/mame/drivers/comx35.cpp
@@ -606,7 +606,7 @@ MACHINE_CONFIG_START(comx35_state::pal)
MCFG_COSMAC_SC_CALLBACK(WRITE8(comx35_state, sc_w))
// sound and video hardware
- MCFG_FRAGMENT_ADD(comx35_pal_video)
+ comx35_pal_video(config);
// peripheral hardware
MCFG_DEVICE_ADD(CDP1871_TAG, CDP1871, cdp1869_device::CPU_CLK_PAL/8)
@@ -656,7 +656,7 @@ MACHINE_CONFIG_START(comx35_state::ntsc)
MCFG_COSMAC_SC_CALLBACK(WRITE8(comx35_state, sc_w))
// sound and video hardware
- MCFG_FRAGMENT_ADD(comx35_ntsc_video)
+ comx35_ntsc_video(config);
// peripheral hardware
MCFG_DEVICE_ADD(CDP1871_TAG, CDP1871, cdp1869_device::CPU_CLK_PAL/8)
diff --git a/src/mame/drivers/coolpool.cpp b/src/mame/drivers/coolpool.cpp
index 97eb6079a29..0022c3056ac 100644
--- a/src/mame/drivers/coolpool.cpp
+++ b/src/mame/drivers/coolpool.cpp
@@ -854,7 +854,8 @@ MACHINE_CONFIG_START(coolpool_state::coolpool)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(coolpool_state::_9ballsht, coolpool)
+MACHINE_CONFIG_START(coolpool_state::_9ballsht)
+ coolpool(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(nballsht_map)
diff --git a/src/mame/drivers/coolridr.cpp b/src/mame/drivers/coolridr.cpp
index 02aacacf5cb..04f6fb2b5a3 100644
--- a/src/mame/drivers/coolridr.cpp
+++ b/src/mame/drivers/coolridr.cpp
@@ -3741,7 +3741,8 @@ MACHINE_CONFIG_START(coolridr_state::coolridr)
MCFG_SOUND_ROUTE(0, "rspeaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(coolridr_state::aquastge, coolridr)
+MACHINE_CONFIG_START(coolridr_state::aquastge)
+ coolridr(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(aquastge_h1_map)
diff --git a/src/mame/drivers/copsnrob.cpp b/src/mame/drivers/copsnrob.cpp
index 1eaad43989a..c5bad1c3865 100644
--- a/src/mame/drivers/copsnrob.cpp
+++ b/src/mame/drivers/copsnrob.cpp
@@ -264,7 +264,7 @@ MACHINE_CONFIG_START(copsnrob_state::copsnrob)
MCFG_GFXDECODE_ADD("gfxdecode", "palette", copsnrob)
MCFG_PALETTE_ADD_MONOCHROME("palette")
- MCFG_FRAGMENT_ADD(copsnrob_audio)
+ copsnrob_audio(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/cosmic.cpp b/src/mame/drivers/cosmic.cpp
index b6641992116..4471b97e5ee 100644
--- a/src/mame/drivers/cosmic.cpp
+++ b/src/mame/drivers/cosmic.cpp
@@ -1028,7 +1028,8 @@ TIMER_DEVICE_CALLBACK_MEMBER(cosmic_state::panic_scanline)
}
-MACHINE_CONFIG_DERIVED(cosmic_state::panic, cosmic)
+MACHINE_CONFIG_START(cosmic_state::panic)
+ cosmic(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1058,7 +1059,8 @@ MACHINE_CONFIG_DERIVED(cosmic_state::panic, cosmic)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cosmic_state::cosmica, cosmic)
+MACHINE_CONFIG_START(cosmic_state::cosmica)
+ cosmic(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1120,7 +1122,8 @@ MACHINE_CONFIG_START(cosmic_state::cosmicg)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cosmic_state::magspot, cosmic)
+MACHINE_CONFIG_START(cosmic_state::magspot)
+ cosmic(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", Z80, Z80_MASTER_CLOCK/4) /* 2.704 MHz, verified via schematics */
@@ -1144,7 +1147,8 @@ MACHINE_CONFIG_DERIVED(cosmic_state::magspot, cosmic)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cosmic_state::devzone, magspot)
+MACHINE_CONFIG_START(cosmic_state::devzone)
+ magspot(config);
/* basic machine hardware */
@@ -1154,7 +1158,8 @@ MACHINE_CONFIG_DERIVED(cosmic_state::devzone, magspot)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cosmic_state::nomnlnd, cosmic)
+MACHINE_CONFIG_START(cosmic_state::nomnlnd)
+ cosmic(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/cps1.cpp b/src/mame/drivers/cps1.cpp
index c07406339f3..ceb699c9c2f 100644
--- a/src/mame/drivers/cps1.cpp
+++ b/src/mame/drivers/cps1.cpp
@@ -3377,7 +3377,8 @@ MACHINE_CONFIG_START(cps_state::cps1_10MHz)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cps_state::forgottn, cps1_10MHz)
+MACHINE_CONFIG_START(cps_state::forgottn)
+ cps1_10MHz(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(forgottn_map)
@@ -3386,20 +3387,23 @@ MACHINE_CONFIG_DERIVED(cps_state::forgottn, cps1_10MHz)
MCFG_UPD4701_PORTY("DIAL1")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cps_state::cps1_12MHz, cps1_10MHz)
+MACHINE_CONFIG_START(cps_state::cps1_12MHz)
+ cps1_10MHz(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK( XTAL(12'000'000) ) /* verified on pcb */
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cps_state::pang3, cps1_12MHz)
+MACHINE_CONFIG_START(cps_state::pang3)
+ cps1_12MHz(config);
/* basic machine hardware */
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cps_state::ganbare, cps1_10MHz)
+MACHINE_CONFIG_START(cps_state::ganbare)
+ cps1_10MHz(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3408,7 +3412,8 @@ MACHINE_CONFIG_DERIVED(cps_state::ganbare, cps1_10MHz)
MCFG_M48T35_ADD("m48t35")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cps_state::qsound, cps1_12MHz)
+MACHINE_CONFIG_START(cps_state::qsound)
+ cps1_12MHz(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", M68000, XTAL(12'000'000) ) /* verified on pcb */
@@ -3439,18 +3444,21 @@ MACHINE_CONFIG_DERIVED(cps_state::qsound, cps1_12MHz)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cps_state::wofhfh, cps1_12MHz)
+MACHINE_CONFIG_START(cps_state::wofhfh)
+ cps1_12MHz(config);
/* basic machine hardware */
MCFG_EEPROM_SERIAL_93C46_8BIT_ADD("eeprom")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cps_state::sf2m3, cps1_12MHz)
+MACHINE_CONFIG_START(cps_state::sf2m3)
+ cps1_12MHz(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(sf2m3_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cps_state::sf2m10, cps1_12MHz)
+MACHINE_CONFIG_START(cps_state::sf2m10)
+ cps1_12MHz(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(sf2m10_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/cps2.cpp b/src/mame/drivers/cps2.cpp
index 12105dfefcf..a1c50963ee9 100644
--- a/src/mame/drivers/cps2.cpp
+++ b/src/mame/drivers/cps2.cpp
@@ -1339,13 +1339,15 @@ MACHINE_CONFIG_START(cps_state::cps2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cps_state::dead_cps2, cps2)
+MACHINE_CONFIG_START(cps_state::dead_cps2)
+ cps2(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(dead_cps2_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cps_state::gigaman2, cps2)
+MACHINE_CONFIG_START(cps_state::gigaman2)
+ cps2(config);
MCFG_DEVICE_REMOVE("audiocpu")
// gigaman2 has an AT89C4051 (8051) MCU as an audio cpu, no qsound.
diff --git a/src/mame/drivers/cps3.cpp b/src/mame/drivers/cps3.cpp
index 7b243707750..10796af82b1 100644
--- a/src/mame/drivers/cps3.cpp
+++ b/src/mame/drivers/cps3.cpp
@@ -2564,51 +2564,57 @@ MACHINE_CONFIG_END
/* individual configs for each machine, depending on the SIMMs installed */
-MACHINE_CONFIG_DERIVED(cps3_state::redearth, cps3)
- MCFG_FRAGMENT_ADD(simm1_64mbit)
- MCFG_FRAGMENT_ADD(simm3_128mbit)
- MCFG_FRAGMENT_ADD(simm4_128mbit)
- MCFG_FRAGMENT_ADD(simm5_32mbit)
+MACHINE_CONFIG_START(cps3_state::redearth)
+ cps3(config);
+ simm1_64mbit(config);
+ simm3_128mbit(config);
+ simm4_128mbit(config);
+ simm5_32mbit(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cps3_state::sfiii, cps3)
- MCFG_FRAGMENT_ADD(simm1_64mbit)
- MCFG_FRAGMENT_ADD(simm3_128mbit)
- MCFG_FRAGMENT_ADD(simm4_128mbit)
- MCFG_FRAGMENT_ADD(simm5_32mbit)
+MACHINE_CONFIG_START(cps3_state::sfiii)
+ cps3(config);
+ simm1_64mbit(config);
+ simm3_128mbit(config);
+ simm4_128mbit(config);
+ simm5_32mbit(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cps3_state::sfiii2, cps3)
- MCFG_FRAGMENT_ADD(simm1_64mbit)
- MCFG_FRAGMENT_ADD(simm2_64mbit)
- MCFG_FRAGMENT_ADD(simm3_128mbit)
- MCFG_FRAGMENT_ADD(simm4_128mbit)
- MCFG_FRAGMENT_ADD(simm5_128mbit)
+MACHINE_CONFIG_START(cps3_state::sfiii2)
+ cps3(config);
+ simm1_64mbit(config);
+ simm2_64mbit(config);
+ simm3_128mbit(config);
+ simm4_128mbit(config);
+ simm5_128mbit(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cps3_state::jojo, cps3)
- MCFG_FRAGMENT_ADD(simm1_64mbit)
- MCFG_FRAGMENT_ADD(simm2_64mbit)
- MCFG_FRAGMENT_ADD(simm3_128mbit)
- MCFG_FRAGMENT_ADD(simm4_128mbit)
- MCFG_FRAGMENT_ADD(simm5_32mbit)
+MACHINE_CONFIG_START(cps3_state::jojo)
+ cps3(config);
+ simm1_64mbit(config);
+ simm2_64mbit(config);
+ simm3_128mbit(config);
+ simm4_128mbit(config);
+ simm5_32mbit(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cps3_state::sfiii3, cps3)
- MCFG_FRAGMENT_ADD(simm1_64mbit)
- MCFG_FRAGMENT_ADD(simm2_64mbit)
- MCFG_FRAGMENT_ADD(simm3_128mbit)
- MCFG_FRAGMENT_ADD(simm4_128mbit)
- MCFG_FRAGMENT_ADD(simm5_128mbit)
- MCFG_FRAGMENT_ADD(simm6_128mbit)
+MACHINE_CONFIG_START(cps3_state::sfiii3)
+ cps3(config);
+ simm1_64mbit(config);
+ simm2_64mbit(config);
+ simm3_128mbit(config);
+ simm4_128mbit(config);
+ simm5_128mbit(config);
+ simm6_128mbit(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cps3_state::jojoba, cps3)
- MCFG_FRAGMENT_ADD(simm1_64mbit)
- MCFG_FRAGMENT_ADD(simm2_64mbit)
- MCFG_FRAGMENT_ADD(simm3_128mbit)
- MCFG_FRAGMENT_ADD(simm4_128mbit)
- MCFG_FRAGMENT_ADD(simm5_128mbit)
+MACHINE_CONFIG_START(cps3_state::jojoba)
+ cps3(config);
+ simm1_64mbit(config);
+ simm2_64mbit(config);
+ simm3_128mbit(config);
+ simm4_128mbit(config);
+ simm5_128mbit(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/crbaloon.cpp b/src/mame/drivers/crbaloon.cpp
index 560a91f012b..734350f90a2 100644
--- a/src/mame/drivers/crbaloon.cpp
+++ b/src/mame/drivers/crbaloon.cpp
@@ -383,7 +383,7 @@ MACHINE_CONFIG_START(crbaloon_state::crbaloon)
MCFG_SCREEN_PALETTE("palette")
/* audio hardware */
- MCFG_FRAGMENT_ADD(crbaloon_audio)
+ crbaloon_audio(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/crgolf.cpp b/src/mame/drivers/crgolf.cpp
index 1f9460d2bc1..6cee94a4f59 100644
--- a/src/mame/drivers/crgolf.cpp
+++ b/src/mame/drivers/crgolf.cpp
@@ -559,7 +559,8 @@ MACHINE_CONFIG_START(crgolf_state::crgolf)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(crgolf_state::crgolfhi, crgolf)
+MACHINE_CONFIG_START(crgolf_state::crgolfhi)
+ crgolf(config);
MCFG_SOUND_ADD("msm", MSM5205, 384000)
MCFG_MSM5205_VCLK_CB(WRITELINE(crgolf_state, vck_callback))
@@ -568,7 +569,8 @@ MACHINE_CONFIG_DERIVED(crgolf_state::crgolfhi, crgolf)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(crgolf_state::mastrglf, crgolfhi)
+MACHINE_CONFIG_START(crgolf_state::mastrglf)
+ crgolfhi(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/crospang.cpp b/src/mame/drivers/crospang.cpp
index 9b26c55b560..d240d1b3500 100644
--- a/src/mame/drivers/crospang.cpp
+++ b/src/mame/drivers/crospang.cpp
@@ -381,7 +381,8 @@ MACHINE_CONFIG_START(crospang_state::crospang)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(crospang_state::bestri, crospang)
+MACHINE_CONFIG_START(crospang_state::bestri)
+ crospang(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -389,7 +390,8 @@ MACHINE_CONFIG_DERIVED(crospang_state::bestri, crospang)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(crospang_state::bestria, crospang)
+MACHINE_CONFIG_START(crospang_state::bestria)
+ crospang(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/crvision.cpp b/src/mame/drivers/crvision.cpp
index c6aa22ff0f5..cb82376e39d 100644
--- a/src/mame/drivers/crvision.cpp
+++ b/src/mame/drivers/crvision.cpp
@@ -781,10 +781,11 @@ MACHINE_CONFIG_START(crvision_state::creativision)
MACHINE_CONFIG_END
/*-------------------------------------------------
- MACHINE_CONFIG_DERIVED( ntsc, creativision )
+ MACHINE_CONFIG_START( ntsc )
-------------------------------------------------*/
-MACHINE_CONFIG_DERIVED(crvision_state::ntsc, creativision)
+MACHINE_CONFIG_START(crvision_state::ntsc)
+ creativision(config);
// video hardware
MCFG_DEVICE_ADD( TMS9929_TAG, TMS9918, XTAL(10'738'635) / 2 )
MCFG_TMS9928A_VRAM_SIZE(0x4000)
@@ -794,10 +795,11 @@ MACHINE_CONFIG_DERIVED(crvision_state::ntsc, creativision)
MACHINE_CONFIG_END
/*-------------------------------------------------
- MACHINE_CONFIG_DERIVED( pal, creativision )
+ MACHINE_CONFIG_START( pal )
-------------------------------------------------*/
-MACHINE_CONFIG_DERIVED(crvision_pal_state::pal, creativision)
+MACHINE_CONFIG_START(crvision_pal_state::pal)
+ creativision(config);
// video hardware
MCFG_DEVICE_ADD( TMS9929_TAG, TMS9929, XTAL(10'738'635) / 2 )
MCFG_TMS9928A_VRAM_SIZE(0x4000)
diff --git a/src/mame/drivers/crystal.cpp b/src/mame/drivers/crystal.cpp
index ab42cb6449e..08fc0f4ec53 100644
--- a/src/mame/drivers/crystal.cpp
+++ b/src/mame/drivers/crystal.cpp
@@ -1515,17 +1515,20 @@ MACHINE_CONFIG_START(crystal_state::crystal)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(crystal_state::trivrus, crystal)
+MACHINE_CONFIG_START(crystal_state::trivrus)
+ crystal(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(trivrus_mem)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(crystal_state::crospuzl, crystal)
+MACHINE_CONFIG_START(crystal_state::crospuzl)
+ crystal(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(crospuzl_mem)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(crystal_state::crzyddz2, crystal)
+MACHINE_CONFIG_START(crystal_state::crzyddz2)
+ crystal(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(crzyddz2_mem)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/cubo.cpp b/src/mame/drivers/cubo.cpp
index af6ac896db3..e8b7fbd196b 100644
--- a/src/mame/drivers/cubo.cpp
+++ b/src/mame/drivers/cubo.cpp
@@ -1054,7 +1054,7 @@ MACHINE_CONFIG_START(cubo_state::cubo)
MCFG_AKIKO_SDA_WRITE_HANDLER(DEVWRITELINE("i2cmem", i2cmem_device, write_sda))
// video hardware
- MCFG_FRAGMENT_ADD(pal_video)
+ pal_video(config);
MCFG_DEVICE_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(amiga_state, screen_update_amiga_aga)
MCFG_SCREEN_NO_PALETTE
diff --git a/src/mame/drivers/cv1k.cpp b/src/mame/drivers/cv1k.cpp
index 252e437d38f..8c813aaf2b6 100644
--- a/src/mame/drivers/cv1k.cpp
+++ b/src/mame/drivers/cv1k.cpp
@@ -493,7 +493,8 @@ MACHINE_CONFIG_START(cv1k_state::cv1k)
MCFG_EPIC12_SET_MAINRAMSIZE(0x800000)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cv1k_state::cv1k_d, cv1k)
+MACHINE_CONFIG_START(cv1k_state::cv1k_d)
+ cv1k(config);
/* basic machine hardware */
MCFG_DEVICE_REMOVE("maincpu")
diff --git a/src/mame/drivers/cyberbal.cpp b/src/mame/drivers/cyberbal.cpp
index 165dfe0f29a..4b0ee6b122f 100644
--- a/src/mame/drivers/cyberbal.cpp
+++ b/src/mame/drivers/cyberbal.cpp
@@ -476,7 +476,8 @@ MACHINE_CONFIG_START(cyberbal_state::cyberbal)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cyberbal_state::cyberbalt, cyberbal)
+MACHINE_CONFIG_START(cyberbal_state::cyberbalt)
+ cyberbal(config);
MCFG_DEVICE_REMOVE("eeprom")
MCFG_EEPROM_2816_ADD("eeprom")
MCFG_EEPROM_28XX_LOCK_AFTER_WRITE(true)
diff --git a/src/mame/drivers/cybiko.cpp b/src/mame/drivers/cybiko.cpp
index fffee70a889..eee6af78903 100644
--- a/src/mame/drivers/cybiko.cpp
+++ b/src/mame/drivers/cybiko.cpp
@@ -436,7 +436,8 @@ MACHINE_CONFIG_START(cybiko_state::cybikov1)
MCFG_QUICKLOAD_ADD("quickload", cybiko_state, cybiko, "bin,nv", 0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cybiko_state::cybikov2, cybikov1)
+MACHINE_CONFIG_START(cybiko_state::cybikov2)
+ cybikov1(config);
// cpu
MCFG_CPU_REPLACE("maincpu", H8S2246, XTAL(11'059'200))
MCFG_CPU_PROGRAM_MAP(cybikov2_mem)
@@ -461,7 +462,8 @@ MACHINE_CONFIG_DERIVED(cybiko_state::cybikov2, cybikov1)
MCFG_H8_SCI_TX_CALLBACK(DEVWRITELINE(":debug_serial", rs232_port_device, write_txd))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cybiko_state::cybikoxt, cybikov1)
+MACHINE_CONFIG_START(cybiko_state::cybikoxt)
+ cybikov1(config);
// cpu
MCFG_CPU_REPLACE("maincpu", H8S2323, XTAL(18'432'000))
MCFG_CPU_PROGRAM_MAP(cybikoxt_mem )
diff --git a/src/mame/drivers/cybstorm.cpp b/src/mame/drivers/cybstorm.cpp
index 9469f75089b..cdfa781494a 100644
--- a/src/mame/drivers/cybstorm.cpp
+++ b/src/mame/drivers/cybstorm.cpp
@@ -275,7 +275,8 @@ MACHINE_CONFIG_START(cybstorm_state::round2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cybstorm_state::cybstorm, round2)
+MACHINE_CONFIG_START(cybstorm_state::cybstorm)
+ round2(config);
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/cyclemb.cpp b/src/mame/drivers/cyclemb.cpp
index 5099b0e6fb1..6cbd4bb52e7 100644
--- a/src/mame/drivers/cyclemb.cpp
+++ b/src/mame/drivers/cyclemb.cpp
@@ -997,7 +997,8 @@ MACHINE_CONFIG_START(cyclemb_state::cyclemb)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cyclemb_state::skydest, cyclemb)
+MACHINE_CONFIG_START(cyclemb_state::skydest)
+ cyclemb(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(skydest_io)
diff --git a/src/mame/drivers/dacholer.cpp b/src/mame/drivers/dacholer.cpp
index 163c21d8675..d603936f186 100644
--- a/src/mame/drivers/dacholer.cpp
+++ b/src/mame/drivers/dacholer.cpp
@@ -699,7 +699,8 @@ MACHINE_CONFIG_START(dacholer_state::dacholer)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dacholer_state::itaten, dacholer)
+MACHINE_CONFIG_START(dacholer_state::itaten)
+ dacholer(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(itaten_main_map)
diff --git a/src/mame/drivers/dambustr.cpp b/src/mame/drivers/dambustr.cpp
index bad8f01b612..3f5dccb4cf3 100644
--- a/src/mame/drivers/dambustr.cpp
+++ b/src/mame/drivers/dambustr.cpp
@@ -287,7 +287,7 @@ MACHINE_CONFIG_START(dambustr_state::dambustr)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("speaker")
- MCFG_FRAGMENT_ADD(galaxian_audio)
+ galaxian_audio(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/dcheese.cpp b/src/mame/drivers/dcheese.cpp
index c4bafbde388..11605515d63 100644
--- a/src/mame/drivers/dcheese.cpp
+++ b/src/mame/drivers/dcheese.cpp
@@ -411,7 +411,8 @@ MACHINE_CONFIG_START(dcheese_state::dcheese)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dcheese_state::fredmem, dcheese)
+MACHINE_CONFIG_START(dcheese_state::fredmem)
+ dcheese(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0, 359, 0, 239)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/ddenlovr.cpp b/src/mame/drivers/ddenlovr.cpp
index e0e360e5efb..24b11bb3f00 100644
--- a/src/mame/drivers/ddenlovr.cpp
+++ b/src/mame/drivers/ddenlovr.cpp
@@ -9744,7 +9744,8 @@ MACHINE_CONFIG_START(ddenlovr_state::ddenlovr)
MCFG_DEVICE_ADD("rtc", RTC72421, XTAL(32'768)) // internal oscillator
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ddenlovr_state::ddenlovj, ddenlovr)
+MACHINE_CONFIG_START(ddenlovr_state::ddenlovj)
+ ddenlovr(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -9756,12 +9757,14 @@ MACHINE_CONFIG_DERIVED(ddenlovr_state::ddenlovj, ddenlovr)
MCFG_DEVICE_REPLACE("rtc", RTC62421, XTAL(32'768)) // internal oscillator
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ddenlovr_state::ddenlovrk, ddenlovr)
+MACHINE_CONFIG_START(ddenlovr_state::ddenlovrk)
+ ddenlovr(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(ddenlovrk_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ddenlovr_state::akamaru, ddenlovr)
+MACHINE_CONFIG_START(ddenlovr_state::akamaru)
+ ddenlovr(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -9772,7 +9775,8 @@ MACHINE_CONFIG_DERIVED(ddenlovr_state::akamaru, ddenlovr)
MCFG_ADDRESSABLE_LATCH_Q3_OUT_CB(WRITELINE(ddenlovr_state, akamaru_dsw1_sel_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ddenlovr_state::quiz365, ddenlovj)
+MACHINE_CONFIG_START(ddenlovr_state::quiz365)
+ ddenlovj(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -9790,14 +9794,16 @@ MACHINE_CONFIG_DERIVED(ddenlovr_state::quiz365, ddenlovj)
MCFG_DEVICE_REPLACE("rtc", MSM6242, XTAL(32'768))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ddenlovr_state::nettoqc, ddenlovj)
+MACHINE_CONFIG_START(ddenlovr_state::nettoqc)
+ ddenlovj(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(nettoqc_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ddenlovr_state::ultrchmp, ddenlovr)
+MACHINE_CONFIG_START(ddenlovr_state::ultrchmp)
+ ddenlovr(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -9876,7 +9882,8 @@ MACHINE_CONFIG_START(ddenlovr_state::quizchq)
MCFG_MSM6242_OUT_INT_HANDLER(WRITELINE(ddenlovr_state, quizchq_rtc_irq))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ddenlovr_state::rongrong, quizchq)
+MACHINE_CONFIG_START(ddenlovr_state::rongrong)
+ quizchq(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -10039,7 +10046,8 @@ MACHINE_CONFIG_START(ddenlovr_state::hanakanz)
MCFG_MSM6242_OUT_INT_HANDLER(WRITELINE(ddenlovr_state, hanakanz_rtc_irq))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ddenlovr_state::hkagerou, hanakanz)
+MACHINE_CONFIG_START(ddenlovr_state::hkagerou)
+ hanakanz(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -10085,7 +10093,8 @@ MACHINE_CONFIG_START(ddenlovr_state::kotbinyo)
// MCFG_MSM6242_OUT_INT_HANDLER(WRITELINE(ddenlovr_state, hanakanz_rtc_irq))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ddenlovr_state::kotbinsp, kotbinyo)
+MACHINE_CONFIG_START(ddenlovr_state::kotbinsp)
+ kotbinyo(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -10093,7 +10102,8 @@ MACHINE_CONFIG_DERIVED(ddenlovr_state::kotbinsp, kotbinyo)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ddenlovr_state::mjreach1, hanakanz)
+MACHINE_CONFIG_START(ddenlovr_state::mjreach1)
+ hanakanz(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -10132,7 +10142,8 @@ WRITE_LINE_MEMBER(ddenlovr_state::mjchuuka_rtc_irq)
m_maincpu->set_input_line_and_vector(0, HOLD_LINE, 0xfa);
}
-MACHINE_CONFIG_DERIVED(ddenlovr_state::mjchuuka, hanakanz)
+MACHINE_CONFIG_START(ddenlovr_state::mjchuuka)
+ hanakanz(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -10147,7 +10158,8 @@ MACHINE_CONFIG_DERIVED(ddenlovr_state::mjchuuka, hanakanz)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ddenlovr_state::funkyfig, mmpanic)
+MACHINE_CONFIG_START(ddenlovr_state::funkyfig)
+ mmpanic(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(funkyfig_map)
MCFG_CPU_IO_MAP(funkyfig_portmap)
@@ -10258,7 +10270,8 @@ WRITE_LINE_MEMBER(ddenlovr_state::mjmyster_rtc_irq)
}
-MACHINE_CONFIG_DERIVED(ddenlovr_state::mjmyster, quizchq)
+MACHINE_CONFIG_START(ddenlovr_state::mjmyster)
+ quizchq(config);
/* basic machine hardware */
MCFG_DEVICE_REMOVE("maincpu")
@@ -10313,7 +10326,8 @@ WRITE_LINE_MEMBER(ddenlovr_state::hginga_rtc_irq)
}
-MACHINE_CONFIG_DERIVED(ddenlovr_state::hginga, quizchq)
+MACHINE_CONFIG_START(ddenlovr_state::hginga)
+ quizchq(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -10332,7 +10346,8 @@ MACHINE_CONFIG_DERIVED(ddenlovr_state::hginga, quizchq)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ddenlovr_state::hgokou, quizchq)
+MACHINE_CONFIG_START(ddenlovr_state::hgokou)
+ quizchq(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -10351,7 +10366,8 @@ MACHINE_CONFIG_DERIVED(ddenlovr_state::hgokou, quizchq)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ddenlovr_state::hgokbang, hgokou)
+MACHINE_CONFIG_START(ddenlovr_state::hgokbang)
+ hgokou(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -10359,7 +10375,8 @@ MACHINE_CONFIG_DERIVED(ddenlovr_state::hgokbang, hgokou)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ddenlovr_state::mjmywrld, mjmyster)
+MACHINE_CONFIG_START(ddenlovr_state::mjmywrld)
+ mjmyster(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -10367,7 +10384,8 @@ MACHINE_CONFIG_DERIVED(ddenlovr_state::mjmywrld, mjmyster)
MCFG_CPU_IO_MAP(mjmywrld_portmap)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ddenlovr_state::mjmyuniv, quizchq)
+MACHINE_CONFIG_START(ddenlovr_state::mjmyuniv)
+ quizchq(config);
/* basic machine hardware */
MCFG_DEVICE_REMOVE("maincpu")
@@ -10387,7 +10405,8 @@ MACHINE_CONFIG_DERIVED(ddenlovr_state::mjmyuniv, quizchq)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ddenlovr_state::mjmyornt, quizchq)
+MACHINE_CONFIG_START(ddenlovr_state::mjmyornt)
+ quizchq(config);
/* basic machine hardware */
MCFG_DEVICE_REMOVE("maincpu")
@@ -10424,7 +10443,8 @@ WRITE_LINE_MEMBER(ddenlovr_state::mjflove_rtc_irq)
}
-MACHINE_CONFIG_DERIVED(ddenlovr_state::mjflove, quizchq)
+MACHINE_CONFIG_START(ddenlovr_state::mjflove)
+ quizchq(config);
/* basic machine hardware */
MCFG_DEVICE_REMOVE("maincpu")
@@ -10452,7 +10472,8 @@ INTERRUPT_GEN_MEMBER(ddenlovr_state::hparadis_irq)
device.execute().set_input_line_and_vector(0, HOLD_LINE, 0xee);
}
-MACHINE_CONFIG_DERIVED(ddenlovr_state::hparadis, quizchq)
+MACHINE_CONFIG_START(ddenlovr_state::hparadis)
+ quizchq(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -10504,7 +10525,8 @@ MACHINE_CONFIG_START(ddenlovr_state::jongtei)
MCFG_MSM6242_OUT_INT_HANDLER(WRITELINE(ddenlovr_state, hanakanz_rtc_irq))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ddenlovr_state::mjgnight, jongtei)
+MACHINE_CONFIG_START(ddenlovr_state::mjgnight)
+ jongtei(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(mjgnight_portmap)
@@ -10607,7 +10629,8 @@ MACHINE_CONFIG_START(ddenlovr_state::janshinp)
MACHINE_CONFIG_END
// Same PCB as janshinp
-MACHINE_CONFIG_DERIVED(ddenlovr_state::dtoyoken, janshinp)
+MACHINE_CONFIG_START(ddenlovr_state::dtoyoken)
+ janshinp(config);
MCFG_VIDEO_START_OVERRIDE(ddenlovr_state,mjflove) // blitter commands in the roms are shuffled around
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/ddragon.cpp b/src/mame/drivers/ddragon.cpp
index b7a664d0213..d00c1528e75 100644
--- a/src/mame/drivers/ddragon.cpp
+++ b/src/mame/drivers/ddragon.cpp
@@ -989,7 +989,8 @@ MACHINE_CONFIG_START(ddragon_state::ddragon)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ddragon_state::ddragonb, ddragon)
+MACHINE_CONFIG_START(ddragon_state::ddragonb)
+ ddragon(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("sub", M6809, MAIN_CLOCK / 8) /* 1.5MHz */
@@ -997,7 +998,8 @@ MACHINE_CONFIG_DERIVED(ddragon_state::ddragonb, ddragon)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ddragon_state::ddragonba, ddragon)
+MACHINE_CONFIG_START(ddragon_state::ddragonba)
+ ddragon(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("sub", M6803, MAIN_CLOCK / 2) /* 6MHz / 4 internally */
@@ -1105,7 +1107,8 @@ MACHINE_CONFIG_START(ddragon_state::ddragon2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(darktowr_state::darktowr, ddragon)
+MACHINE_CONFIG_START(darktowr_state::darktowr)
+ ddragon(config);
/* basic machine hardware */
MCFG_CPU_ADD("mcu", M68705P3, XTAL(4'000'000))
@@ -1115,7 +1118,8 @@ MACHINE_CONFIG_DERIVED(darktowr_state::darktowr, ddragon)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(toffy_state::toffy, ddragon)
+MACHINE_CONFIG_START(toffy_state::toffy)
+ ddragon(config);
/* basic machine hardware */
MCFG_DEVICE_REMOVE("sub")
diff --git a/src/mame/drivers/ddragon3.cpp b/src/mame/drivers/ddragon3.cpp
index 917257dd536..dc92e9dbaea 100644
--- a/src/mame/drivers/ddragon3.cpp
+++ b/src/mame/drivers/ddragon3.cpp
@@ -853,7 +853,8 @@ MACHINE_CONFIG_START(ddragon3_state::ddragon3)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.50)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ddragon3_state::ddragon3b, ddragon3)
+MACHINE_CONFIG_START(ddragon3_state::ddragon3b)
+ ddragon3(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(dd3b_map)
@@ -862,7 +863,8 @@ MACHINE_CONFIG_DERIVED(ddragon3_state::ddragon3b, ddragon3)
MCFG_SCREEN_VBLANK_CALLBACK(NOOP)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ddragon3_state::ctribe, ddragon3)
+MACHINE_CONFIG_START(ddragon3_state::ctribe)
+ ddragon3(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(ctribe_map)
@@ -927,7 +929,8 @@ MACHINE_CONFIG_START(wwfwfest_state::wwfwfest)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.90)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(wwfwfest_state::wwfwfstb, wwfwfest)
+MACHINE_CONFIG_START(wwfwfest_state::wwfwfstb)
+ wwfwfest(config);
MCFG_VIDEO_START_OVERRIDE(wwfwfest_state,wwfwfstb)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/de_2.cpp b/src/mame/drivers/de_2.cpp
index 2e4846fc900..1b914c4f9cc 100644
--- a/src/mame/drivers/de_2.cpp
+++ b/src/mame/drivers/de_2.cpp
@@ -553,8 +553,8 @@ MACHINE_CONFIG_START(de_2_state::de_type1)
/* Video */
MCFG_DEFAULT_LAYOUT(layout_de2)
- MCFG_FRAGMENT_ADD(genpin_audio)
- MCFG_FRAGMENT_ADD(de_bg_audio)
+ genpin_audio(config);
+ de_bg_audio(config);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(de_2_state::de_type2)
@@ -569,8 +569,8 @@ MACHINE_CONFIG_START(de_2_state::de_type2)
/* Video */
MCFG_DEFAULT_LAYOUT(layout_de2)
- MCFG_FRAGMENT_ADD(genpin_audio)
- MCFG_FRAGMENT_ADD(de_bg_audio)
+ genpin_audio(config);
+ de_bg_audio(config);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(de_2_state::de_type2_alpha3)
@@ -585,8 +585,8 @@ MACHINE_CONFIG_START(de_2_state::de_type2_alpha3)
/* Video */
MCFG_DEFAULT_LAYOUT(layout_de2a3)
- MCFG_FRAGMENT_ADD(genpin_audio)
- MCFG_FRAGMENT_ADD(de_bg_audio)
+ genpin_audio(config);
+ de_bg_audio(config);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(de_2_state::de_type3)
@@ -601,8 +601,8 @@ MACHINE_CONFIG_START(de_2_state::de_type3)
/* Video */
MCFG_DEFAULT_LAYOUT(layout_de2a3)
- MCFG_FRAGMENT_ADD(genpin_audio)
- MCFG_FRAGMENT_ADD(de_bg_audio)
+ genpin_audio(config);
+ de_bg_audio(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/de_3.cpp b/src/mame/drivers/de_3.cpp
index ee99eedf465..aa99f0d6bbd 100644
--- a/src/mame/drivers/de_3.cpp
+++ b/src/mame/drivers/de_3.cpp
@@ -403,17 +403,19 @@ MACHINE_CONFIG_START(de_3_state::de_3)
MCFG_DECOCPU_LAMP(WRITE8(de_3_state,lamps_w))
MCFG_DECOCPU_DMDSTATUS(READ8(de_3_state,dmd_status_r))
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MCFG_DECOBSMT_ADD(DECOBSMT_TAG)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(de_3_state::de_3_dmd2, de_3)
+MACHINE_CONFIG_START(de_3_state::de_3_dmd2)
+ de_3(config);
MCFG_DECODMD_TYPE2_ADD("decodmd2",":gfx3")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(de_3_state::de_3_dmd1, de_3)
+MACHINE_CONFIG_START(de_3_state::de_3_dmd1)
+ de_3(config);
MCFG_DECODMD_TYPE1_ADD("decodmd1",":gfx3")
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/de_3b.cpp b/src/mame/drivers/de_3b.cpp
index e27c43956c6..1ee84484284 100644
--- a/src/mame/drivers/de_3b.cpp
+++ b/src/mame/drivers/de_3b.cpp
@@ -250,7 +250,7 @@ MACHINE_CONFIG_START(de_3b_state::de_3b)
MCFG_DECOCPU_LAMP(WRITE8(de_3b_state,lamps_w))
MCFG_DECOCPU_DMDSTATUS(READ8(de_3b_state,dmd_status_r))
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
/* sound hardware */
MCFG_DECOBSMT_ADD(DECOBSMT_TAG)
@@ -263,7 +263,7 @@ MACHINE_CONFIG_START(de_3b_state::detest)
/* basic machine hardware */
MCFG_DECOCPU_TYPE3B_ADD("decocpu",XTAL(8'000'000) / 2, ":maincpu")
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MACHINE_CONFIG_END
/*-------------------------------------------------------------
diff --git a/src/mame/drivers/dec0.cpp b/src/mame/drivers/dec0.cpp
index eee2b1c859c..a97bb810c75 100644
--- a/src/mame/drivers/dec0.cpp
+++ b/src/mame/drivers/dec0.cpp
@@ -1630,7 +1630,8 @@ MACHINE_CONFIG_START(dec0_state::dec0_base)
MCFG_GENERIC_LATCH_DATA_PENDING_CB(INPUTLINE("audiocpu", INPUT_LINE_NMI))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dec0_state::dec0, dec0_base)
+MACHINE_CONFIG_START(dec0_state::dec0)
+ dec0_base(config);
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", M68000, XTAL(20'000'000) / 2)
@@ -1664,7 +1665,8 @@ MACHINE_CONFIG_DERIVED(dec0_state::dec0, dec0_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dec0_state::dec1, dec0_base)
+MACHINE_CONFIG_START(dec0_state::dec1)
+ dec0_base(config);
/* basic machine hardware */
/* maincpu and audiocpu clocks and address maps differ per game */
@@ -1867,7 +1869,8 @@ MACHINE_CONFIG_START(dec0_automat_state::secretab)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dec0_state::hbarrel, dec0)
+MACHINE_CONFIG_START(dec0_state::hbarrel)
+ dec0(config);
MCFG_CPU_ADD("mcu", I8751, XTAL(8'000'000))
MCFG_CPU_IO_MAP(mcu_io_map)
@@ -1877,7 +1880,8 @@ MACHINE_CONFIG_DERIVED(dec0_state::hbarrel, dec0)
MCFG_SCREEN_UPDATE_DRIVER(dec0_state, screen_update_hbarrel)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dec0_state::baddudes, dec0)
+MACHINE_CONFIG_START(dec0_state::baddudes)
+ dec0(config);
MCFG_CPU_ADD("mcu", I8751, XTAL(8'000'000))
MCFG_CPU_IO_MAP(mcu_io_map)
@@ -1887,21 +1891,24 @@ MACHINE_CONFIG_DERIVED(dec0_state::baddudes, dec0)
MCFG_SCREEN_UPDATE_DRIVER(dec0_state, screen_update_baddudes)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dec0_state::drgninjab, dec0)
+MACHINE_CONFIG_START(dec0_state::drgninjab)
+ dec0(config);
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(dec0_state, screen_update_baddudes)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dec0_state::birdtry, dec0)
+MACHINE_CONFIG_START(dec0_state::birdtry)
+ dec0(config);
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(dec0_state, screen_update_birdtry)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dec0_state::robocop, dec0)
+MACHINE_CONFIG_START(dec0_state::robocop)
+ dec0(config);
MCFG_CPU_ADD("sub", H6280, XTAL(21'477'272) / 16)
MCFG_CPU_PROGRAM_MAP(robocop_sub_map)
@@ -1913,14 +1920,16 @@ MACHINE_CONFIG_DERIVED(dec0_state::robocop, dec0)
MCFG_SCREEN_UPDATE_DRIVER(dec0_state, screen_update_robocop)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dec0_state::robocopb, dec0)
+MACHINE_CONFIG_START(dec0_state::robocopb)
+ dec0(config);
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(dec0_state, screen_update_robocop)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dec0_state::hippodrm, dec0)
+MACHINE_CONFIG_START(dec0_state::hippodrm)
+ dec0(config);
MCFG_CPU_ADD("sub", H6280, XTAL(21'477'272) / 16)
MCFG_CPU_PROGRAM_MAP(hippodrm_sub_map)
@@ -1932,7 +1941,8 @@ MACHINE_CONFIG_DERIVED(dec0_state::hippodrm, dec0)
MCFG_SCREEN_UPDATE_DRIVER(dec0_state, screen_update_hippodrm)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dec0_state::ffantasybl, dec0)
+MACHINE_CONFIG_START(dec0_state::ffantasybl)
+ dec0(config);
// MCFG_CPU_ADD("sub", H6280, XTAL(21'477'272) / 16)
// MCFG_CPU_PROGRAM_MAP(hippodrm_sub_map)
@@ -1953,7 +1963,8 @@ MACHINE_RESET_MEMBER(dec0_state,slyspy)
m_sndprotect->set_bank(m_slyspy_sound_state);
}
-MACHINE_CONFIG_DERIVED(dec0_state::slyspy, dec1)
+MACHINE_CONFIG_START(dec0_state::slyspy)
+ dec1(config);
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", M68000, XTAL(20'000'000)/2) /* verified on pcb (20MHZ OSC) 68000P12 running at 10Mhz */
@@ -1986,7 +1997,8 @@ MACHINE_CONFIG_DERIVED(dec0_state::slyspy, dec1)
MCFG_MACHINE_RESET_OVERRIDE(dec0_state,slyspy)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dec0_state::midres, dec1)
+MACHINE_CONFIG_START(dec0_state::midres)
+ dec1(config);
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", M68000, XTAL(20'000'000)/2) /* verified on pcb (20MHZ OSC) 68000P12 running at 10Mhz */
@@ -2003,7 +2015,8 @@ MACHINE_CONFIG_DERIVED(dec0_state::midres, dec1)
MCFG_GFXDECODE_MODIFY("gfxdecode", midres)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dec0_state::midresb, midres)
+MACHINE_CONFIG_START(dec0_state::midresb)
+ midres(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(midresb_map)
@@ -2029,7 +2042,8 @@ MACHINE_CONFIG_DERIVED(dec0_state::midresb, midres)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dec0_state::midresbj, midresb)
+MACHINE_CONFIG_START(dec0_state::midresbj)
+ midresb(config);
MCFG_DEVICE_REMOVE("mcu")
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/dec8.cpp b/src/mame/drivers/dec8.cpp
index e3943ba54a3..021b461713b 100644
--- a/src/mame/drivers/dec8.cpp
+++ b/src/mame/drivers/dec8.cpp
@@ -2225,7 +2225,8 @@ MACHINE_CONFIG_START(dec8_state::ghostb)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.70)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dec8_state::meikyuh, ghostb)
+MACHINE_CONFIG_START(dec8_state::meikyuh)
+ ghostb(config);
MCFG_CPU_REPLACE("audiocpu", M6502, 1500000)
MCFG_CPU_PROGRAM_MAP(dec8_s_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/deco32.cpp b/src/mame/drivers/deco32.cpp
index 6a9da88d3ef..8b02a1fcb8c 100644
--- a/src/mame/drivers/deco32.cpp
+++ b/src/mame/drivers/deco32.cpp
@@ -2021,7 +2021,8 @@ MACHINE_CONFIG_START(fghthist_state::fghthist)
MACHINE_CONFIG_END
// DE-0395-1
-MACHINE_CONFIG_DERIVED(fghthist_state::fghthsta, fghthist)
+MACHINE_CONFIG_START(fghthist_state::fghthsta)
+ fghthist(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(fghthsta_memmap)
@@ -2035,7 +2036,8 @@ MACHINE_CONFIG_DERIVED(fghthist_state::fghthsta, fghthist)
MACHINE_CONFIG_END
// DE-0396-0
-MACHINE_CONFIG_DERIVED(fghthist_state::fghthistu, fghthsta)
+MACHINE_CONFIG_START(fghthist_state::fghthistu)
+ fghthsta(config);
MCFG_DEVICE_REMOVE("audiocpu")
MCFG_CPU_ADD("audiocpu", Z80, XTAL(32'220'000) / 9)
@@ -2159,7 +2161,8 @@ MACHINE_CONFIG_START(dragngun_state::dragngun)
MCFG_LC7535_VOLUME_CB(dragngun_state, volume_gun_changed)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dragngun_state::lockloadu, dragngun)
+MACHINE_CONFIG_START(dragngun_state::lockloadu)
+ dragngun(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(lockloadu_map)
@@ -2446,7 +2449,8 @@ MACHINE_CONFIG_START(nslasher_state::nslasher)
MACHINE_CONFIG_END
// the US release uses a H6280 instead of a Z80, much like Lock 'n' Loaded
-MACHINE_CONFIG_DERIVED(nslasher_state::nslasheru, nslasher)
+MACHINE_CONFIG_START(nslasher_state::nslasheru)
+ nslasher(config);
MCFG_CPU_REPLACE("audiocpu", H6280, 32220000/8)
MCFG_CPU_PROGRAM_MAP(h6280_sound_map)
diff --git a/src/mame/drivers/deco_mlc.cpp b/src/mame/drivers/deco_mlc.cpp
index 94000b22433..681b9304a37 100644
--- a/src/mame/drivers/deco_mlc.cpp
+++ b/src/mame/drivers/deco_mlc.cpp
@@ -563,11 +563,13 @@ MACHINE_CONFIG_START(deco_mlc_state::mlc)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(deco_mlc_state::mlc_6bpp, mlc)
+MACHINE_CONFIG_START(deco_mlc_state::mlc_6bpp)
+ mlc(config);
MCFG_GFXDECODE_MODIFY("gfxdecode", 6bpp)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(deco_mlc_state::mlc_5bpp, mlc)
+MACHINE_CONFIG_START(deco_mlc_state::mlc_5bpp)
+ mlc(config);
MCFG_GFXDECODE_MODIFY("gfxdecode", 5bpp)
// TODO: mono? ch.0 doesn't output any sound in-game
diff --git a/src/mame/drivers/decocass.cpp b/src/mame/drivers/decocass.cpp
index 49b8f3afc1c..0757326f443 100644
--- a/src/mame/drivers/decocass.cpp
+++ b/src/mame/drivers/decocass.cpp
@@ -997,118 +997,136 @@ MACHINE_CONFIG_START(decocass_state::decocass)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(decocass_type1_state::ctsttape, decocass)
+MACHINE_CONFIG_START(decocass_type1_state::ctsttape)
+ decocass(config);
/* basic machine hardware */
MCFG_MACHINE_RESET_OVERRIDE(decocass_type1_state,ctsttape)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(decocass_type1_state::cprogolfj, decocass)
+MACHINE_CONFIG_START(decocass_type1_state::cprogolfj)
+ decocass(config);
/* basic machine hardware */
MCFG_MACHINE_RESET_OVERRIDE(decocass_type1_state,cprogolfj)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(decocass_type1_state::cdsteljn, decocass)
+MACHINE_CONFIG_START(decocass_type1_state::cdsteljn)
+ decocass(config);
/* basic machine hardware */
MCFG_MACHINE_RESET_OVERRIDE(decocass_type1_state,cdsteljn)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(decocass_type1_state::cmanhat, decocass)
+MACHINE_CONFIG_START(decocass_type1_state::cmanhat)
+ decocass(config);
/* basic machine hardware */
MCFG_MACHINE_RESET_OVERRIDE(decocass_type1_state,cmanhat)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(decocass_type3_state::cfishing, decocass)
+MACHINE_CONFIG_START(decocass_type3_state::cfishing)
+ decocass(config);
/* basic machine hardware */
MCFG_MACHINE_RESET_OVERRIDE(decocass_type3_state,cfishing)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(decocass_type1_state::chwy, decocass)
+MACHINE_CONFIG_START(decocass_type1_state::chwy)
+ decocass(config);
/* basic machine hardware */
MCFG_MACHINE_RESET_OVERRIDE(decocass_type1_state,chwy)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(decocass_type1_state::cterrani, decocass)
+MACHINE_CONFIG_START(decocass_type1_state::cterrani)
+ decocass(config);
/* basic machine hardware */
MCFG_MACHINE_RESET_OVERRIDE(decocass_type1_state,cterrani)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(decocass_type1_state::castfant, decocass)
+MACHINE_CONFIG_START(decocass_type1_state::castfant)
+ decocass(config);
/* basic machine hardware */
MCFG_MACHINE_RESET_OVERRIDE(decocass_type1_state,castfant)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(decocass_type1_state::csuperas, decocass)
+MACHINE_CONFIG_START(decocass_type1_state::csuperas)
+ decocass(config);
/* basic machine hardware */
MCFG_MACHINE_RESET_OVERRIDE(decocass_type1_state,csuperas)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(decocass_type1_state::cocean1a, decocass) /* 10 */
+MACHINE_CONFIG_START(decocass_type1_state::cocean1a) /* 10 */
+ decocass(config);
/* basic machine hardware */
MCFG_MACHINE_RESET_OVERRIDE(decocass_type1_state,cocean1a)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(decocass_type1_state::clocknch, decocass)
+MACHINE_CONFIG_START(decocass_type1_state::clocknch)
+ decocass(config);
/* basic machine hardware */
MCFG_MACHINE_RESET_OVERRIDE(decocass_type1_state,clocknch)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(decocass_type1_state::clocknchj, decocass)
+MACHINE_CONFIG_START(decocass_type1_state::clocknchj)
+ decocass(config);
/* basic machine hardware */
MCFG_MACHINE_RESET_OVERRIDE(decocass_type1_state,clocknchj)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(decocass_type1_state::cfboy0a1, decocass) /* 12 */
+MACHINE_CONFIG_START(decocass_type1_state::cfboy0a1) /* 12 */
+ decocass(config);
/* basic machine hardware */
MCFG_MACHINE_RESET_OVERRIDE(decocass_type1_state,cfboy0a1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(decocass_type1_state::cprogolf, decocass)
+MACHINE_CONFIG_START(decocass_type1_state::cprogolf)
+ decocass(config);
/* basic machine hardware */
MCFG_MACHINE_RESET_OVERRIDE(decocass_type1_state,cprogolf)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(decocass_type1_state::cluckypo, decocass)
+MACHINE_CONFIG_START(decocass_type1_state::cluckypo)
+ decocass(config);
/* basic machine hardware */
MCFG_MACHINE_RESET_OVERRIDE(decocass_type1_state,cluckypo)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(decocass_type1_state::ctisland, decocass)
+MACHINE_CONFIG_START(decocass_type1_state::ctisland)
+ decocass(config);
/* basic machine hardware */
MCFG_MACHINE_RESET_OVERRIDE(decocass_type1_state,ctisland)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(decocass_type1_state::ctisland3, decocass)
+MACHINE_CONFIG_START(decocass_type1_state::ctisland3)
+ decocass(config);
/* basic machine hardware */
MCFG_MACHINE_RESET_OVERRIDE(decocass_type1_state,ctisland3)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(decocass_type1_state::cexplore, decocass)
+MACHINE_CONFIG_START(decocass_type1_state::cexplore)
+ decocass(config);
/* basic machine hardware */
MCFG_MACHINE_RESET_OVERRIDE(decocass_type1_state,cexplore)
@@ -1117,91 +1135,104 @@ MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(decocass_type3_state::cbtime, decocass)
+MACHINE_CONFIG_START(decocass_type3_state::cbtime)
+ decocass(config);
/* basic machine hardware */
MCFG_MACHINE_RESET_OVERRIDE(decocass_type3_state,cbtime)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(decocass_type3_state::cburnrub, decocass)
+MACHINE_CONFIG_START(decocass_type3_state::cburnrub)
+ decocass(config);
/* basic machine hardware */
MCFG_MACHINE_RESET_OVERRIDE(decocass_type3_state,cburnrub)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(decocass_type3_state::cgraplop, decocass)
+MACHINE_CONFIG_START(decocass_type3_state::cgraplop)
+ decocass(config);
/* basic machine hardware */
MCFG_MACHINE_RESET_OVERRIDE(decocass_type3_state,cgraplop)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(decocass_type3_state::cgraplop2, decocass)
+MACHINE_CONFIG_START(decocass_type3_state::cgraplop2)
+ decocass(config);
/* basic machine hardware */
MCFG_MACHINE_RESET_OVERRIDE(decocass_type3_state,cgraplop2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(decocass_type3_state::clapapa, decocass)
+MACHINE_CONFIG_START(decocass_type3_state::clapapa)
+ decocass(config);
/* basic machine hardware */
MCFG_MACHINE_RESET_OVERRIDE(decocass_type3_state,clapapa)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(decocass_type3_state::cskater, decocass)
+MACHINE_CONFIG_START(decocass_type3_state::cskater)
+ decocass(config);
/* basic machine hardware */
MCFG_MACHINE_RESET_OVERRIDE(decocass_type3_state,cskater)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(decocass_type3_state::cprobowl, decocass)
+MACHINE_CONFIG_START(decocass_type3_state::cprobowl)
+ decocass(config);
/* basic machine hardware */
MCFG_MACHINE_RESET_OVERRIDE(decocass_type3_state,cprobowl)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(decocass_type3_state::cnightst, decocass)
+MACHINE_CONFIG_START(decocass_type3_state::cnightst)
+ decocass(config);
/* basic machine hardware */
MCFG_MACHINE_RESET_OVERRIDE(decocass_type3_state,cnightst)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(decocass_type3_state::cpsoccer, decocass)
+MACHINE_CONFIG_START(decocass_type3_state::cpsoccer)
+ decocass(config);
/* basic machine hardware */
MCFG_MACHINE_RESET_OVERRIDE(decocass_type3_state,cpsoccer)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(decocass_type3_state::csdtenis, decocass)
+MACHINE_CONFIG_START(decocass_type3_state::csdtenis)
+ decocass(config);
/* basic machine hardware */
MCFG_MACHINE_RESET_OVERRIDE(decocass_type3_state,csdtenis)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(decocass_type3_state::czeroize, decocass)
+MACHINE_CONFIG_START(decocass_type3_state::czeroize)
+ decocass(config);
/* basic machine hardware */
MCFG_MACHINE_RESET_OVERRIDE(decocass_type3_state,czeroize)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(decocass_type3_state::cppicf, decocass)
+MACHINE_CONFIG_START(decocass_type3_state::cppicf)
+ decocass(config);
/* basic machine hardware */
MCFG_MACHINE_RESET_OVERRIDE(decocass_type3_state,cppicf)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(decocass_type3_state::cfghtice, decocass)
+MACHINE_CONFIG_START(decocass_type3_state::cfghtice)
+ decocass(config);
/* basic machine hardware */
MCFG_MACHINE_RESET_OVERRIDE(decocass_type3_state,cfghtice)
diff --git a/src/mame/drivers/digel804.cpp b/src/mame/drivers/digel804.cpp
index 4f94ed32236..aebd0280a42 100644
--- a/src/mame/drivers/digel804.cpp
+++ b/src/mame/drivers/digel804.cpp
@@ -634,7 +634,8 @@ MACHINE_CONFIG_START(digel804_state::digel804)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(digel804_state::ep804, digel804)
+MACHINE_CONFIG_START(digel804_state::ep804)
+ digel804(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu") /* Z80, X1(aka E0 on schematics): 3.6864Mhz */
MCFG_CPU_PROGRAM_MAP(z80_mem_804_1_2)
diff --git a/src/mame/drivers/djmain.cpp b/src/mame/drivers/djmain.cpp
index b7d4d6c4b1e..4fc3ca3c570 100644
--- a/src/mame/drivers/djmain.cpp
+++ b/src/mame/drivers/djmain.cpp
@@ -1417,12 +1417,14 @@ MACHINE_CONFIG_START(djmain_state::djmainj)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(djmain_state::djmainu, djmainj)
+MACHINE_CONFIG_START(djmain_state::djmainu)
+ djmainj(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(maincpu_djmainu)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(djmain_state::djmaina, djmainj)
+MACHINE_CONFIG_START(djmain_state::djmaina)
+ djmainj(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(maincpu_djmaina)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/dkong.cpp b/src/mame/drivers/dkong.cpp
index 9548ba42328..a2bd9eac689 100644
--- a/src/mame/drivers/dkong.cpp
+++ b/src/mame/drivers/dkong.cpp
@@ -1743,7 +1743,8 @@ MACHINE_CONFIG_START(dkong_state::dkong_base)
MCFG_VIDEO_START_OVERRIDE(dkong_state,dkong)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dkong_state::radarscp, dkong_base)
+MACHINE_CONFIG_START(dkong_state::radarscp)
+ dkong_base(config);
/* basic machine hardware */
MCFG_MACHINE_START_OVERRIDE(dkong_state,radarscp)
@@ -1752,10 +1753,11 @@ MACHINE_CONFIG_DERIVED(dkong_state::radarscp, dkong_base)
MCFG_PALETTE_INIT_OWNER(dkong_state,radarscp)
/* sound hardware */
- MCFG_FRAGMENT_ADD(radarscp_audio)
+ radarscp_audio(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dkong_state::radarscp1, dkong_base)
+MACHINE_CONFIG_START(dkong_state::radarscp1)
+ dkong_base(config);
/* basic machine hardware */
MCFG_MACHINE_START_OVERRIDE(dkong_state,radarscp1)
@@ -1764,11 +1766,12 @@ MACHINE_CONFIG_DERIVED(dkong_state::radarscp1, dkong_base)
MCFG_PALETTE_INIT_OWNER(dkong_state,radarscp1)
/* sound hardware */
- MCFG_FRAGMENT_ADD(radarscp1_audio)
+ radarscp1_audio(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dkong_state::dkong2b, dkong_base)
+MACHINE_CONFIG_START(dkong_state::dkong2b)
+ dkong_base(config);
/* basic machine hardware */
MCFG_MACHINE_START_OVERRIDE(dkong_state,dkong2b)
@@ -1776,27 +1779,31 @@ MACHINE_CONFIG_DERIVED(dkong_state::dkong2b, dkong_base)
MCFG_PALETTE_ENTRIES(DK2B_PALETTE_LENGTH)
/* sound hardware */
- MCFG_FRAGMENT_ADD(dkong2b_audio)
+ dkong2b_audio(config);
MCFG_WATCHDOG_ADD("watchdog")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dkong_state::dk_braze, dkong2b)
+MACHINE_CONFIG_START(dkong_state::dk_braze)
+ dkong2b(config);
MCFG_EEPROM_SERIAL_93C46_8BIT_ADD("eeprom")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dkong_state::dkj_braze, dkongjr)
+MACHINE_CONFIG_START(dkong_state::dkj_braze)
+ dkongjr(config);
MCFG_EEPROM_SERIAL_93C46_8BIT_ADD("eeprom")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dkong_state::ddk_braze, dkj_braze)
+MACHINE_CONFIG_START(dkong_state::ddk_braze)
+ dkj_braze(config);
MCFG_MACHINE_RESET_OVERRIDE(dkong_state,ddk)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dkong_state::dk3_braze, dkong3)
+MACHINE_CONFIG_START(dkong_state::dk3_braze)
+ dkong3(config);
MCFG_EEPROM_SERIAL_93C46_8BIT_ADD("eeprom")
MACHINE_CONFIG_END
@@ -1829,21 +1836,23 @@ MACHINE_CONFIG_START(dkong_state::dkong3)
MCFG_VIDEO_START_OVERRIDE(dkong_state,dkong)
/* sound hardware */
- MCFG_FRAGMENT_ADD(dkong3_audio)
+ dkong3_audio(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dkong_state::dkongjr, dkong_base)
+MACHINE_CONFIG_START(dkong_state::dkongjr)
+ dkong_base(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(dkongjr_map)
/* sound hardware */
- MCFG_FRAGMENT_ADD(dkongjr_audio)
+ dkongjr_audio(config);
MCFG_WATCHDOG_ADD("watchdog")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dkong_state::pestplce, dkongjr)
+MACHINE_CONFIG_START(dkong_state::pestplce)
+ dkongjr(config);
/* video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", pestplce)
@@ -1854,7 +1863,8 @@ MACHINE_CONFIG_DERIVED(dkong_state::pestplce, dkongjr)
MCFG_SCREEN_UPDATE_DRIVER(dkong_state, screen_update_pestplce)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dkong_state::dkong3b, dkongjr)
+MACHINE_CONFIG_START(dkong_state::dkong3b)
+ dkongjr(config);
/* basic machine hardware */
MCFG_PALETTE_MODIFY("palette")
@@ -1867,7 +1877,8 @@ MACHINE_CONFIG_END
*
*************************************/
-MACHINE_CONFIG_DERIVED(dkong_state::s2650, dkong2b)
+MACHINE_CONFIG_START(dkong_state::s2650)
+ dkong2b(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", S2650, CLOCK_1H / 2) /* ??? */
@@ -1885,12 +1896,14 @@ MACHINE_CONFIG_DERIVED(dkong_state::s2650, dkong2b)
MCFG_MACHINE_START_OVERRIDE(dkong_state,s2650)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dkong_state::herbiedk, s2650)
+MACHINE_CONFIG_START(dkong_state::herbiedk)
+ s2650(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_S2650_SENSE_INPUT(DEVREADLINE("screen", screen_device, vblank)) MCFG_DEVCB_INVERT // ???
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dkong_state::spclforc, herbiedk)
+MACHINE_CONFIG_START(dkong_state::spclforc)
+ herbiedk(config);
/* basic machine hardware */
MCFG_DEVICE_REMOVE("soundcpu")
@@ -1906,7 +1919,8 @@ MACHINE_CONFIG_END
*
*************************************/
-MACHINE_CONFIG_DERIVED(dkong_state::strtheat, dkong2b)
+MACHINE_CONFIG_START(dkong_state::strtheat)
+ dkong2b(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1915,7 +1929,8 @@ MACHINE_CONFIG_DERIVED(dkong_state::strtheat, dkong2b)
MCFG_MACHINE_RESET_OVERRIDE(dkong_state,strtheat)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dkong_state::drakton, dkong2b)
+MACHINE_CONFIG_START(dkong_state::drakton)
+ dkong2b(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1924,7 +1939,8 @@ MACHINE_CONFIG_DERIVED(dkong_state::drakton, dkong2b)
MCFG_MACHINE_RESET_OVERRIDE(dkong_state,drakton)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dkong_state::drktnjr, dkongjr)
+MACHINE_CONFIG_START(dkong_state::drktnjr)
+ dkongjr(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/dlair.cpp b/src/mame/drivers/dlair.cpp
index 43baef0ea2f..fa234128fd2 100644
--- a/src/mame/drivers/dlair.cpp
+++ b/src/mame/drivers/dlair.cpp
@@ -734,7 +734,8 @@ MACHINE_CONFIG_START(dlair_state::dlair_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dlair_state::dlair_pr7820, dlair_base)
+MACHINE_CONFIG_START(dlair_state::dlair_pr7820)
+ dlair_base(config);
MCFG_LASERDISC_PR7820_ADD("ld_pr7820")
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
@@ -742,7 +743,8 @@ MACHINE_CONFIG_DERIVED(dlair_state::dlair_pr7820, dlair_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dlair_state::dlair_ldv1000, dlair_base)
+MACHINE_CONFIG_START(dlair_state::dlair_ldv1000)
+ dlair_base(config);
MCFG_LASERDISC_LDV1000_ADD("ld_ldv1000")
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
diff --git a/src/mame/drivers/docastle.cpp b/src/mame/drivers/docastle.cpp
index 21b05f613e7..9be86dd759d 100644
--- a/src/mame/drivers/docastle.cpp
+++ b/src/mame/drivers/docastle.cpp
@@ -640,7 +640,8 @@ MACHINE_CONFIG_START(docastle_state::docastle)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(docastle_state::dorunrun, docastle)
+MACHINE_CONFIG_START(docastle_state::dorunrun)
+ docastle(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -653,7 +654,8 @@ MACHINE_CONFIG_DERIVED(docastle_state::dorunrun, docastle)
MCFG_VIDEO_START_OVERRIDE(docastle_state,dorunrun)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(docastle_state::idsoccer, docastle)
+MACHINE_CONFIG_START(docastle_state::idsoccer)
+ docastle(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/dooyong.cpp b/src/mame/drivers/dooyong.cpp
index da5c0cdd12a..ea16296f3ac 100644
--- a/src/mame/drivers/dooyong.cpp
+++ b/src/mame/drivers/dooyong.cpp
@@ -1573,7 +1573,7 @@ MACHINE_CONFIG_START(dooyong_z80_ym2203_state::gulfstrm)
MCFG_VIDEO_START_OVERRIDE(dooyong_z80_ym2203_state, gulfstrm)
/* sound hardware */
- MCFG_FRAGMENT_ADD( sound_2203 ) /* 3.579545MHz */
+ sound_2203(config); /* 3.579545MHz */
MACHINE_CONFIG_END
MACHINE_CONFIG_START(dooyong_z80_ym2203_state::pollux)
@@ -1612,7 +1612,7 @@ MACHINE_CONFIG_START(dooyong_z80_ym2203_state::pollux)
MCFG_VIDEO_START_OVERRIDE(dooyong_z80_ym2203_state, pollux)
/* sound hardware */
- MCFG_FRAGMENT_ADD( sound_2203 ) /* 3.579545MHz or 4Mhz ??? */
+ sound_2203(config); /* 3.579545MHz or 4Mhz ??? */
MACHINE_CONFIG_END
MACHINE_CONFIG_START(dooyong_z80_state::bluehawk)
@@ -1652,7 +1652,7 @@ MACHINE_CONFIG_START(dooyong_z80_state::bluehawk)
MCFG_VIDEO_START_OVERRIDE(dooyong_z80_state, bluehawk)
/* sound hardware */
- MCFG_FRAGMENT_ADD( sound_2151 ) /* 3.579545MHz or 4Mhz ??? */
+ sound_2151(config); /* 3.579545MHz or 4Mhz ??? */
MACHINE_CONFIG_END
MACHINE_CONFIG_START(dooyong_z80_state::flytiger)
@@ -1691,7 +1691,7 @@ MACHINE_CONFIG_START(dooyong_z80_state::flytiger)
MCFG_VIDEO_START_OVERRIDE(dooyong_z80_state, flytiger)
/* sound hardware */
- MCFG_FRAGMENT_ADD( sound_2151 )
+ sound_2151(config);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(dooyong_z80_state::primella)
@@ -1728,7 +1728,7 @@ MACHINE_CONFIG_START(dooyong_z80_state::primella)
MCFG_VIDEO_START_OVERRIDE(dooyong_z80_state, primella)
/* sound hardware */
- MCFG_FRAGMENT_ADD( sound_2151_4mhz ) /* PCB has only 1 OSC at 16Mhz */
+ sound_2151_4mhz(config); /* PCB has only 1 OSC at 16Mhz */
MACHINE_CONFIG_END
@@ -1780,15 +1780,17 @@ MACHINE_CONFIG_START(rshark_state::dooyong_68k)
MCFG_VIDEO_START_OVERRIDE(rshark_state, rshark)
// sound hardware
- MCFG_FRAGMENT_ADD(sound_2151_4mhz)
+ sound_2151_4mhz(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(rshark_state::rshark, dooyong_68k)
+MACHINE_CONFIG_START(rshark_state::rshark)
+ dooyong_68k(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(rshark_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(rshark_state::superx, dooyong_68k)
+MACHINE_CONFIG_START(rshark_state::superx)
+ dooyong_68k(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(superx_map)
MACHINE_CONFIG_END
@@ -1827,7 +1829,7 @@ MACHINE_CONFIG_START(popbingo_state::popbingo)
MCFG_VIDEO_START_OVERRIDE(popbingo_state, popbingo)
// sound hardware
- MCFG_FRAGMENT_ADD(sound_2151_4mhz)
+ sound_2151_4mhz(config);
MACHINE_CONFIG_END
} // anonymous namespace
diff --git a/src/mame/drivers/dragon.cpp b/src/mame/drivers/dragon.cpp
index e0c7c12cd87..223a107765c 100644
--- a/src/mame/drivers/dragon.cpp
+++ b/src/mame/drivers/dragon.cpp
@@ -224,10 +224,10 @@ MACHINE_CONFIG_START(dragon_state::dragon_base)
MCFG_MC6847_INPUT_CALLBACK(DEVREAD8(SAM_TAG, sam6883_device, display_read))
// sound hardware
- MCFG_FRAGMENT_ADD( coco_sound )
+ coco_sound(config);
// floating space
- MCFG_FRAGMENT_ADD( coco_floating )
+ coco_floating(config);
// software lists
MCFG_SOFTWARE_LIST_ADD("dragon_cart_list", "dragon_cart")
@@ -236,7 +236,8 @@ MACHINE_CONFIG_START(dragon_state::dragon_base)
MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("coco_cart_list", "coco_cart")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dragon_state::dragon32, dragon_base)
+MACHINE_CONFIG_START(dragon_state::dragon32)
+ dragon_base(config);
// internal ram
MCFG_RAM_ADD(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("32K")
@@ -249,7 +250,8 @@ MACHINE_CONFIG_DERIVED(dragon_state::dragon32, dragon_base)
MCFG_COCO_CARTRIDGE_HALT_CB(INPUTLINE(MAINCPU_TAG, INPUT_LINE_HALT))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dragon64_state::dragon64, dragon_base)
+MACHINE_CONFIG_START(dragon64_state::dragon64)
+ dragon_base(config);
// internal ram
MCFG_RAM_ADD(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("64K")
@@ -269,13 +271,15 @@ MACHINE_CONFIG_DERIVED(dragon64_state::dragon64, dragon_base)
MCFG_SOFTWARE_LIST_ADD("dragon_os9_list", "dragon_os9")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dragon200e_state::dragon200e, dragon64)
+MACHINE_CONFIG_START(dragon200e_state::dragon200e)
+ dragon64(config);
// video hardware
MCFG_DEVICE_MODIFY(VDG_TAG)
MCFG_MC6847_CHARROM_CALLBACK(dragon200e_state, char_rom_r)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(d64plus_state::d64plus, dragon64)
+MACHINE_CONFIG_START(d64plus_state::d64plus)
+ dragon64(config);
// video hardware
MCFG_SCREEN_ADD("plus_screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(50)
@@ -292,7 +296,8 @@ MACHINE_CONFIG_DERIVED(d64plus_state::d64plus, dragon64)
MCFG_MC6845_UPDATE_ROW_CB(d64plus_state, crtc_update_row)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dragon_alpha_state::dgnalpha, dragon_base)
+MACHINE_CONFIG_START(dragon_alpha_state::dgnalpha)
+ dragon_base(config);
// internal ram
MCFG_RAM_ADD(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("64K")
@@ -339,7 +344,8 @@ MACHINE_CONFIG_DERIVED(dragon_alpha_state::dgnalpha, dragon_base)
MCFG_SOFTWARE_LIST_ADD("dragon_os9_list", "dragon_os9")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dragon64_state::tanodr64, dragon64)
+MACHINE_CONFIG_START(dragon64_state::tanodr64)
+ dragon64(config);
MCFG_DEVICE_MODIFY(":")
MCFG_DEVICE_CLOCK(XTAL(14'318'181) / 4)
diff --git a/src/mame/drivers/dreamwld.cpp b/src/mame/drivers/dreamwld.cpp
index f6a2bb19533..c3f92107b6d 100644
--- a/src/mame/drivers/dreamwld.cpp
+++ b/src/mame/drivers/dreamwld.cpp
@@ -829,7 +829,8 @@ MACHINE_CONFIG_START(dreamwld_state::baryon)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dreamwld_state::dreamwld, baryon)
+MACHINE_CONFIG_START(dreamwld_state::dreamwld)
+ baryon(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/dwarfd.cpp b/src/mame/drivers/dwarfd.cpp
index a6b07103e65..a29453b7a59 100644
--- a/src/mame/drivers/dwarfd.cpp
+++ b/src/mame/drivers/dwarfd.cpp
@@ -757,7 +757,8 @@ MACHINE_CONFIG_START(dwarfd_state::dwarfd)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dwarfd_state::pokeresp, dwarfd)
+MACHINE_CONFIG_START(dwarfd_state::pokeresp)
+ dwarfd(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(pokeresp_map)
MCFG_CPU_IO_MAP(io_map)
@@ -766,7 +767,8 @@ MACHINE_CONFIG_DERIVED(dwarfd_state::pokeresp, dwarfd)
MCFG_I8275_DRAW_CHARACTER_CALLBACK_OWNER(dwarfd_state, pesp_display_pixels)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dwarfd_state::qc, dwarfd)
+MACHINE_CONFIG_START(dwarfd_state::qc)
+ dwarfd(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(qc_map)
diff --git a/src/mame/drivers/dynax.cpp b/src/mame/drivers/dynax.cpp
index 5c66725b9af..c4bc96cc585 100644
--- a/src/mame/drivers/dynax.cpp
+++ b/src/mame/drivers/dynax.cpp
@@ -4518,7 +4518,8 @@ MACHINE_CONFIG_END
Mahjong Dial Q2
***************************************************************************/
-MACHINE_CONFIG_DERIVED(dynax_state::mjdialq2, mjfriday)
+MACHINE_CONFIG_START(dynax_state::mjdialq2)
+ mjfriday(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -4546,7 +4547,8 @@ INTERRUPT_GEN_MEMBER(dynax_state::yarunara_clock_interrupt)
sprtmtch_update_irq();
}
-MACHINE_CONFIG_DERIVED(dynax_state::yarunara, hnoridur)
+MACHINE_CONFIG_START(dynax_state::yarunara)
+ hnoridur(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -4568,13 +4570,15 @@ MACHINE_CONFIG_DERIVED(dynax_state::yarunara, hnoridur)
MCFG_DEVICE_ADD("rtc", MSM6242, XTAL(32'768))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dynax_state::mjangels, yarunara)
+MACHINE_CONFIG_START(dynax_state::mjangels)
+ yarunara(config);
MCFG_DEVICE_MODIFY("bankdev")
MCFG_DEVICE_PROGRAM_MAP(mjangels_banked_map)
MCFG_ADDRESS_MAP_BANK_ADDR_WIDTH(21)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dynax_state::quiztvqq, mjangels)
+MACHINE_CONFIG_START(dynax_state::quiztvqq)
+ mjangels(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -4586,7 +4590,8 @@ MACHINE_CONFIG_END
Mahjong Campus Hunting
***************************************************************************/
-MACHINE_CONFIG_DERIVED(dynax_state::mcnpshnt, hnoridur)
+MACHINE_CONFIG_START(dynax_state::mcnpshnt)
+ hnoridur(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(mcnpshnt_mem_map)
MCFG_CPU_IO_MAP(mcnpshnt_io_map)
@@ -4599,7 +4604,8 @@ MACHINE_CONFIG_END
7jigen
***************************************************************************/
-MACHINE_CONFIG_DERIVED(dynax_state::nanajign, hnoridur)
+MACHINE_CONFIG_START(dynax_state::nanajign)
+ hnoridur(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(nanajign_mem_map)
MCFG_CPU_IO_MAP(nanajign_io_map)
@@ -4697,7 +4703,8 @@ MACHINE_CONFIG_START(dynax_state::jantouki)
MCFG_DEVICE_ADD("rtc", MSM6242, XTAL(32'768))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dynax_state::janyuki, jantouki)
+MACHINE_CONFIG_START(dynax_state::janyuki)
+ jantouki(config);
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_INIT_OWNER(dynax_state,janyuki) // static palette
MACHINE_CONFIG_END
@@ -4720,7 +4727,8 @@ void dynax_state::mjelctrn_update_irq()
cpu.trg2(1);
}
-MACHINE_CONFIG_DERIVED(dynax_state::mjelctrn, hnoridur)
+MACHINE_CONFIG_START(dynax_state::mjelctrn)
+ hnoridur(config);
MCFG_CPU_REPLACE("maincpu", TMPZ84C015, XTAL(22'000'000) / 4)
MCFG_CPU_PROGRAM_MAP(nanajign_mem_map)
MCFG_CPU_IO_MAP(mjelctrn_io_map)
@@ -4740,7 +4748,8 @@ MACHINE_CONFIG_DERIVED(dynax_state::mjelctrn, hnoridur)
MCFG_VIDEO_START_OVERRIDE(dynax_state,mjelctrn)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dynax_state::mjembase, mjelctrn)
+MACHINE_CONFIG_START(dynax_state::mjembase)
+ mjelctrn(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(mjembase_io_map)
MCFG_TMPZ84C015_IN_PA_CB(IOPORT("DSW1"))
@@ -4764,7 +4773,8 @@ MACHINE_CONFIG_END
0x40 is vblank
0x46 is a periodic irq? */
-MACHINE_CONFIG_DERIVED(dynax_state::neruton, mjelctrn)
+MACHINE_CONFIG_START(dynax_state::neruton)
+ mjelctrn(config);
MCFG_VIDEO_START_OVERRIDE(dynax_state,neruton)
MACHINE_CONFIG_END
@@ -4854,13 +4864,15 @@ MACHINE_CONFIG_START(dynax_state::tenkai)
MCFG_MSM6242_OUT_INT_HANDLER(INPUTLINE("maincpu", INPUT_LINE_IRQ2))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dynax_state::majrjhdx, tenkai)
+MACHINE_CONFIG_START(dynax_state::majrjhdx)
+ tenkai(config);
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_ENTRIES(512)
MCFG_PALETTE_INIT_OWNER(dynax_state,sprtmtch) // static palette
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dynax_state::mjreach, tenkai)
+MACHINE_CONFIG_START(dynax_state::mjreach)
+ tenkai(config);
MCFG_DEVICE_MODIFY("mainlatch")
MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(WRITELINE(dynax_state, flipscreen_w)) // not inverted
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/dynduke.cpp b/src/mame/drivers/dynduke.cpp
index 164be6f5a8e..da9c00c2496 100644
--- a/src/mame/drivers/dynduke.cpp
+++ b/src/mame/drivers/dynduke.cpp
@@ -357,7 +357,8 @@ MACHINE_CONFIG_START(dynduke_state::dynduke)
MCFG_SEIBU_SOUND_YM_WRITE_CB(DEVWRITE8("ymsnd", ym3812_device, write))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(dynduke_state::dbldyn, dynduke)
+MACHINE_CONFIG_START(dynduke_state::dbldyn)
+ dynduke(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(masterj_map)
diff --git a/src/mame/drivers/electron.cpp b/src/mame/drivers/electron.cpp
index 97f509a7796..c9adf5059bf 100644
--- a/src/mame/drivers/electron.cpp
+++ b/src/mame/drivers/electron.cpp
@@ -237,7 +237,8 @@ MACHINE_CONFIG_START(electron_state::electron)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(electron_state::btm2105, electron)
+MACHINE_CONFIG_START(electron_state::btm2105)
+ electron(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_COLOR(rgb_t::amber())
diff --git a/src/mame/drivers/eolith.cpp b/src/mame/drivers/eolith.cpp
index 77b04c642b2..207aa1b5cb0 100644
--- a/src/mame/drivers/eolith.cpp
+++ b/src/mame/drivers/eolith.cpp
@@ -589,12 +589,14 @@ MACHINE_CONFIG_START(eolith_state::eolith45)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(eolith_state::eolith50, eolith45)
+MACHINE_CONFIG_START(eolith_state::eolith50)
+ eolith45(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(50000000) /* 50 MHz */
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(eolith_state::ironfort, eolith45)
+MACHINE_CONFIG_START(eolith_state::ironfort)
+ eolith45(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(44900000) /* Normally 45MHz??? but PCB actually had a 44.9MHz OSC, so it's value is used */
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/ep64.cpp b/src/mame/drivers/ep64.cpp
index 65c083d3b5e..c0ab98d949f 100644
--- a/src/mame/drivers/ep64.cpp
+++ b/src/mame/drivers/ep64.cpp
@@ -618,7 +618,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( ep128 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(ep64_state::ep128, ep64)
+MACHINE_CONFIG_START(ep64_state::ep128)
+ ep64(config);
MCFG_DEVICE_MODIFY(DAVE_TAG)
MCFG_DEVICE_ADDRESS_MAP(AS_PROGRAM, dave_128k_mem)
diff --git a/src/mame/drivers/equites.cpp b/src/mame/drivers/equites.cpp
index fe01ce433af..3f4e606b93d 100644
--- a/src/mame/drivers/equites.cpp
+++ b/src/mame/drivers/equites.cpp
@@ -1138,7 +1138,7 @@ MACHINE_CONFIG_START(equites_state::equites)
MCFG_ADDRESSABLE_LATCH_Q2_OUT_CB(WRITELINE(equites_state, mcu_start_w))
MCFG_ADDRESSABLE_LATCH_Q3_OUT_CB(WRITELINE(equites_state, mcu_switch_w))
- MCFG_FRAGMENT_ADD(common_sound)
+ common_sound(config);
MCFG_DEVICE_ADD("alpha_8201", ALPHA_8201, 4000000/8) // 8303 or 8304 (same device!)
MCFG_QUANTUM_PERFECT_CPU("alpha_8201:mcu")
@@ -1161,7 +1161,8 @@ MACHINE_CONFIG_START(equites_state::equites)
MCFG_VIDEO_START_OVERRIDE(equites_state,equites)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(equites_state::gekisou, equites)
+MACHINE_CONFIG_START(equites_state::gekisou)
+ equites(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1189,7 +1190,7 @@ MACHINE_CONFIG_START(equites_state::splndrbt)
MCFG_ADDRESSABLE_LATCH_Q2_OUT_CB(WRITELINE(equites_state, mcu_switch_w))
MCFG_ADDRESSABLE_LATCH_Q3_OUT_CB(WRITELINE(equites_state, splndrbt_selchar_w))
- MCFG_FRAGMENT_ADD(common_sound)
+ common_sound(config);
MCFG_DEVICE_ADD("alpha_8201", ALPHA_8201, 4000000/8) // 8303 or 8304 (same device!)
MCFG_QUANTUM_PERFECT_CPU("alpha_8201:mcu")
@@ -1210,7 +1211,8 @@ MACHINE_CONFIG_START(equites_state::splndrbt)
MCFG_VIDEO_START_OVERRIDE(equites_state,splndrbt)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(equites_state::hvoltage, splndrbt)
+MACHINE_CONFIG_START(equites_state::hvoltage)
+ splndrbt(config);
// mcu not dumped, so add simulated mcu
MCFG_CPU_ADD("mcu", ALPHA8301L, 4000000/8)
diff --git a/src/mame/drivers/esd16.cpp b/src/mame/drivers/esd16.cpp
index f91fa12965a..5ab9872759a 100644
--- a/src/mame/drivers/esd16.cpp
+++ b/src/mame/drivers/esd16.cpp
@@ -652,7 +652,8 @@ MACHINE_CONFIG_START(esd16_state::esd16)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(esd16_state::jumppop, esd16)
+MACHINE_CONFIG_START(esd16_state::jumppop)
+ esd16(config);
/* basic machine hardware */
@@ -673,7 +674,8 @@ MACHINE_CONFIG_END
/* The ESD 05-28-99 PCB adds an EEPROM */
-MACHINE_CONFIG_DERIVED(esd16_state::hedpanio, esd16)
+MACHINE_CONFIG_START(esd16_state::hedpanio)
+ esd16(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(hedpanic_map)
@@ -683,19 +685,22 @@ MACHINE_CONFIG_END
/* The ESD 08-26-1999 PCBs take that further and modify the sprite offsets */
-MACHINE_CONFIG_DERIVED(esd16_state::hedpanic, hedpanio)
+MACHINE_CONFIG_START(esd16_state::hedpanic)
+ hedpanio(config);
MCFG_DEVICE_MODIFY("spritegen")
MCFG_DECO_SPRITE_OFFSETS(-0x18, -0x100)
MACHINE_CONFIG_END
/* ESD 08-26-1999 PCBs with different memory maps */
-MACHINE_CONFIG_DERIVED(esd16_state::mchampdx, hedpanic)
+MACHINE_CONFIG_START(esd16_state::mchampdx)
+ hedpanic(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(mchampdx_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(esd16_state::tangtang, hedpanic)
+MACHINE_CONFIG_START(esd16_state::tangtang)
+ hedpanic(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(tangtang_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/espial.cpp b/src/mame/drivers/espial.cpp
index 3d2c69a03e9..a8eafd7fe8b 100644
--- a/src/mame/drivers/espial.cpp
+++ b/src/mame/drivers/espial.cpp
@@ -352,7 +352,8 @@ MACHINE_CONFIG_START(espial_state::espial)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(espial_state::netwars, espial)
+MACHINE_CONFIG_START(espial_state::netwars)
+ espial(config);
/* basic machine hardware */
diff --git a/src/mame/drivers/esprit.cpp b/src/mame/drivers/esprit.cpp
index 9d11fdcc67f..64a5b0f5aa4 100644
--- a/src/mame/drivers/esprit.cpp
+++ b/src/mame/drivers/esprit.cpp
@@ -137,7 +137,8 @@ MACHINE_CONFIG_START(esprit_state::esprit)
MCFG_MC6845_UPDATE_ROW_CB(esprit_state, crtc_update_row)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(esprit_state::esprit3, esprit)
+MACHINE_CONFIG_START(esprit_state::esprit3)
+ esprit(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(mem3_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/esq1.cpp b/src/mame/drivers/esq1.cpp
index 5da25191d24..a07f82d9080 100644
--- a/src/mame/drivers/esq1.cpp
+++ b/src/mame/drivers/esq1.cpp
@@ -623,7 +623,8 @@ MACHINE_CONFIG_START(esq1_state::esq1)
MCFG_SOUND_ROUTE_EX(7, "filters", 1.0, 7)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(esq1_state::sq80, esq1)
+MACHINE_CONFIG_START(esq1_state::sq80)
+ esq1(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(sq80_map)
diff --git a/src/mame/drivers/esq5505.cpp b/src/mame/drivers/esq5505.cpp
index 12b61fae460..8c06421f5ef 100644
--- a/src/mame/drivers/esq5505.cpp
+++ b/src/mame/drivers/esq5505.cpp
@@ -659,7 +659,8 @@ MACHINE_CONFIG_START(esq5505_state::vfx)
MCFG_SOUND_ROUTE_EX(7, "pump", 1.0, 7)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(esq5505_state::eps, vfx)
+MACHINE_CONFIG_START(esq5505_state::eps)
+ vfx(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(eps_map)
@@ -681,7 +682,8 @@ MACHINE_CONFIG_DERIVED(esq5505_state::eps, vfx)
MCFG_HD63450_DMA_WRITE_0_CB(WRITE8(esq5505_state, fdc_write_byte))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(esq5505_state::vfxsd, vfx)
+MACHINE_CONFIG_START(esq5505_state::vfxsd)
+ vfx(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(vfxsd_map)
@@ -739,7 +741,8 @@ MACHINE_CONFIG_START(esq5505_state::vfx32)
MCFG_FLOPPY_DRIVE_ADD("wd1772:0", ensoniq_floppies, "35dd", esq5505_state::floppy_formats)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(esq5505_state::sq1, vfx)
+MACHINE_CONFIG_START(esq5505_state::sq1)
+ vfx(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(sq1_map)
diff --git a/src/mame/drivers/eurocom2.cpp b/src/mame/drivers/eurocom2.cpp
index 5944abfb31c..db78bfcaa18 100644
--- a/src/mame/drivers/eurocom2.cpp
+++ b/src/mame/drivers/eurocom2.cpp
@@ -473,7 +473,8 @@ MACHINE_CONFIG_START(eurocom2_state::eurocom2)
// MCFG_FLOPPY_DRIVE_SOUND(true)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(waveterm_state::waveterm, eurocom2)
+MACHINE_CONFIG_START(waveterm_state::waveterm)
+ eurocom2(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(waveterm_map)
diff --git a/src/mame/drivers/europc.cpp b/src/mame/drivers/europc.cpp
index 6dde362ff24..ee390c6ff53 100644
--- a/src/mame/drivers/europc.cpp
+++ b/src/mame/drivers/europc.cpp
@@ -548,13 +548,15 @@ MACHINE_CONFIG_START(europc_pc_state::europc)
MACHINE_CONFIG_END
//Euro PC II
-MACHINE_CONFIG_DERIVED(europc_pc_state::europc2, europc)
+MACHINE_CONFIG_START(europc_pc_state::europc2)
+ europc(config);
MCFG_DEVICE_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("768K") // could be configured by the BIOS as 640K, 640K+128K EMS or 512K+256K EMS
MACHINE_CONFIG_END
//Euro XT
-MACHINE_CONFIG_DERIVED(europc_pc_state::euroxt, europc)
+MACHINE_CONFIG_START(europc_pc_state::euroxt)
+ europc(config);
MCFG_DEVICE_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("768K")
MCFG_DEVICE_MODIFY("isa2")
diff --git a/src/mame/drivers/eva.cpp b/src/mame/drivers/eva.cpp
index ff670e0515d..eee5c7d7bdc 100644
--- a/src/mame/drivers/eva.cpp
+++ b/src/mame/drivers/eva.cpp
@@ -183,7 +183,7 @@ MACHINE_CONFIG_START(eva_state::eva24)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("tms5100", TMS5110A, 640_kHz_XTAL)
- MCFG_FRAGMENT_ADD(tms5110_route)
+ tms5110_route(config);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(eva_state::eva11)
@@ -199,7 +199,7 @@ MACHINE_CONFIG_START(eva_state::eva11)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("tms5100", TMS5110A, 640_kHz_XTAL)
- MCFG_FRAGMENT_ADD(tms5110_route)
+ tms5110_route(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/exidy.cpp b/src/mame/drivers/exidy.cpp
index 1b2757739a8..774178478a3 100644
--- a/src/mame/drivers/exidy.cpp
+++ b/src/mame/drivers/exidy.cpp
@@ -832,40 +832,44 @@ MACHINE_CONFIG_START(exidy_state::base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(exidy_state::sidetrac, base)
+MACHINE_CONFIG_START(exidy_state::sidetrac)
+ base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(sidetrac_map)
/* audio hardware */
- MCFG_FRAGMENT_ADD(spectar_audio)
+ spectar_audio(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(exidy_state::targ, base)
+MACHINE_CONFIG_START(exidy_state::targ)
+ base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(targ_map)
/* audio hardware */
- MCFG_FRAGMENT_ADD(targ_audio)
+ targ_audio(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(exidy_state::spectar, base)
+MACHINE_CONFIG_START(exidy_state::spectar)
+ base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(spectar_map)
/* audio hardware */
- MCFG_FRAGMENT_ADD(spectar_audio)
+ spectar_audio(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(exidy_state::rallys, spectar)
+MACHINE_CONFIG_START(exidy_state::rallys)
+ spectar(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -873,7 +877,8 @@ MACHINE_CONFIG_DERIVED(exidy_state::rallys, spectar)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(exidy_state::venture, base)
+MACHINE_CONFIG_START(exidy_state::venture)
+ base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -882,11 +887,12 @@ MACHINE_CONFIG_DERIVED(exidy_state::venture, base)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
/* audio hardware */
- MCFG_FRAGMENT_ADD(venture_audio)
+ venture_audio(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(exidy_state::teetert, venture)
+MACHINE_CONFIG_START(exidy_state::teetert)
+ venture(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -897,18 +903,20 @@ MACHINE_CONFIG_DERIVED(exidy_state::teetert, venture)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(exidy_state::mtrap, venture)
+MACHINE_CONFIG_START(exidy_state::mtrap)
+ venture(config);
/* basic machine hardware */
MCFG_QUANTUM_TIME(attotime::from_hz(1920))
/* audio hardware */
- MCFG_FRAGMENT_ADD(mtrap_cvsd_audio)
+ mtrap_cvsd_audio(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(exidy_state::pepper2, venture)
+MACHINE_CONFIG_START(exidy_state::pepper2)
+ venture(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -916,7 +924,8 @@ MACHINE_CONFIG_DERIVED(exidy_state::pepper2, venture)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(exidy_state::fax, pepper2)
+MACHINE_CONFIG_START(exidy_state::fax)
+ pepper2(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/exidy440.cpp b/src/mame/drivers/exidy440.cpp
index d1d8eefcc2e..dda7d46f43d 100644
--- a/src/mame/drivers/exidy440.cpp
+++ b/src/mame/drivers/exidy440.cpp
@@ -1002,19 +1002,20 @@ MACHINE_CONFIG_START(exidy440_state::exidy440)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
- MCFG_FRAGMENT_ADD(exidy440_video)
+ exidy440_video(config);
/* audio hardware */
- MCFG_FRAGMENT_ADD(exidy440_audio)
+ exidy440_audio(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(exidy440_state::topsecex, exidy440)
+MACHINE_CONFIG_START(exidy440_state::topsecex)
+ exidy440(config);
/* basic machine hardware */
/* video hardware */
- MCFG_FRAGMENT_ADD(topsecex_video)
+ topsecex_video(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/expro02.cpp b/src/mame/drivers/expro02.cpp
index 9918c346fea..2e27f905203 100644
--- a/src/mame/drivers/expro02.cpp
+++ b/src/mame/drivers/expro02.cpp
@@ -948,7 +948,8 @@ MACHINE_CONFIG_START(expro02_state::expro02)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(expro02_state::comad, expro02)
+MACHINE_CONFIG_START(expro02_state::comad)
+ expro02(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(fantasia_map)
@@ -964,20 +965,23 @@ MACHINE_CONFIG_DERIVED(expro02_state::comad, expro02)
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(0)) /* a guess, and certainly wrong */
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(expro02_state::comad_noview2, comad)
+MACHINE_CONFIG_START(expro02_state::comad_noview2)
+ comad(config);
MCFG_DEVICE_REMOVE("view2_0")
MCFG_GFXDECODE_MODIFY("gfxdecode", expro02_noview2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(expro02_state::fantasia, comad_noview2)
+MACHINE_CONFIG_START(expro02_state::fantasia)
+ comad_noview2(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(10000000)
MCFG_CPU_PROGRAM_MAP(comad_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(expro02_state::supmodel, comad_noview2)
+MACHINE_CONFIG_START(expro02_state::supmodel)
+ comad_noview2(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(supmodel_map)
MCFG_OKIM6295_REPLACE("oki", 1584000, PIN7_HIGH) // clock frequency & pin 7 not verified
@@ -985,17 +989,20 @@ MACHINE_CONFIG_DERIVED(expro02_state::supmodel, comad_noview2)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(expro02_state::smissw, comad_noview2) // 951127 PCB, 12 & 16 clocks
+MACHINE_CONFIG_START(expro02_state::smissw) // 951127 PCB, 12 & 16 clocks
+ comad_noview2(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(smissw_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(expro02_state::fantsia2, comad_noview2)
+MACHINE_CONFIG_START(expro02_state::fantsia2)
+ comad_noview2(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(fantsia2_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(expro02_state::galhustl, comad_noview2)
+MACHINE_CONFIG_START(expro02_state::galhustl)
+ comad_noview2(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(galhustl_map)
MCFG_OKIM6295_REPLACE("oki", 1056000, PIN7_HIGH) // clock frequency & pin 7 not verified
@@ -1006,7 +1013,8 @@ MACHINE_CONFIG_DERIVED(expro02_state::galhustl, comad_noview2)
MCFG_SCREEN_UPDATE_DRIVER(expro02_state, screen_update_zipzap)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(expro02_state::zipzap, comad_noview2)
+MACHINE_CONFIG_START(expro02_state::zipzap)
+ comad_noview2(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(zipzap_map)
diff --git a/src/mame/drivers/exprraid.cpp b/src/mame/drivers/exprraid.cpp
index b345595dda1..b89138e8d12 100644
--- a/src/mame/drivers/exprraid.cpp
+++ b/src/mame/drivers/exprraid.cpp
@@ -527,7 +527,8 @@ MACHINE_CONFIG_START(exprraid_state::exprraid)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(exprraid_state::exprboot, exprraid)
+MACHINE_CONFIG_START(exprraid_state::exprboot)
+ exprraid(config);
MCFG_CPU_REPLACE("maincpu", M6502, 1500000) /* 1.5 MHz ??? */
MCFG_CPU_PROGRAM_MAP(master_map)
diff --git a/src/mame/drivers/f1gp.cpp b/src/mame/drivers/f1gp.cpp
index 895a28f8897..734024e7f78 100644
--- a/src/mame/drivers/f1gp.cpp
+++ b/src/mame/drivers/f1gp.cpp
@@ -510,7 +510,8 @@ MACHINE_CONFIG_START(f1gp_state::f1gpb)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(f1gp_state::f1gp2, f1gp)
+MACHINE_CONFIG_START(f1gp_state::f1gp2)
+ f1gp(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/fanucspmg.cpp b/src/mame/drivers/fanucspmg.cpp
index a59565aec9b..98c780fcd36 100644
--- a/src/mame/drivers/fanucspmg.cpp
+++ b/src/mame/drivers/fanucspmg.cpp
@@ -1026,7 +1026,8 @@ MACHINE_CONFIG_START(fanucspmg_state::fanucspmg)
MCFG_MC6845_OUT_VSYNC_CB(WRITELINE(fanucspmg_state, vsync_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(fanucspmg_state::fanucspmgm, fanucspmg)
+MACHINE_CONFIG_START(fanucspmg_state::fanucspmgm)
+ fanucspmg(config);
MCFG_DEVICE_REMOVE( CRTC_TAG )
MCFG_MC6845_ADD( CRTC_TAG, HD6845, SCREEN_TAG, XTAL(8'000'000)/2)
diff --git a/src/mame/drivers/fastfred.cpp b/src/mame/drivers/fastfred.cpp
index afb15051256..5b4e58e1569 100644
--- a/src/mame/drivers/fastfred.cpp
+++ b/src/mame/drivers/fastfred.cpp
@@ -676,7 +676,8 @@ MACHINE_CONFIG_START(fastfred_state::fastfred)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(fastfred_state::jumpcoas, fastfred)
+MACHINE_CONFIG_START(fastfred_state::jumpcoas)
+ fastfred(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -692,7 +693,8 @@ MACHINE_CONFIG_DERIVED(fastfred_state::jumpcoas, fastfred)
MCFG_DEVICE_REMOVE("ay8910.2")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(fastfred_state::imago, fastfred)
+MACHINE_CONFIG_START(fastfred_state::imago)
+ fastfred(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/fastinvaders.cpp b/src/mame/drivers/fastinvaders.cpp
index 54108d8e50f..37bb256e017 100644
--- a/src/mame/drivers/fastinvaders.cpp
+++ b/src/mame/drivers/fastinvaders.cpp
@@ -678,7 +678,8 @@ MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", fastinvaders_state, scanline_timer,
// TODO
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(fastinvaders_state::fastinvaders_8275, fastinvaders)
+MACHINE_CONFIG_START(fastinvaders_state::fastinvaders_8275)
+ fastinvaders(config);
MCFG_CPU_MODIFY("maincpu" ) // guess
MCFG_CPU_IO_MAP(fastinvaders_8275_io)
@@ -688,7 +689,8 @@ MACHINE_CONFIG_DERIVED(fastinvaders_state::fastinvaders_8275, fastinvaders)
// MCFG_I8275_DRQ_CALLBACK(DEVWRITELINE("dma8257",i8257_device, dreq2_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(fastinvaders_state::fastinvaders_6845, fastinvaders)
+MACHINE_CONFIG_START(fastinvaders_state::fastinvaders_6845)
+ fastinvaders(config);
MCFG_CPU_MODIFY("maincpu" ) // guess
MCFG_CPU_IO_MAP(fastinvaders_6845_io)
diff --git a/src/mame/drivers/fccpu30.cpp b/src/mame/drivers/fccpu30.cpp
index 52509f1b4f7..e62c2c74026 100644
--- a/src/mame/drivers/fccpu30.cpp
+++ b/src/mame/drivers/fccpu30.cpp
@@ -759,7 +759,8 @@ MACHINE_CONFIG_START(cpu30_state::cpu30)
MACHINE_CONFIG_END
/* SYS68K/CPU-30X Part No.1 01300: 16.7 MHz 68030 based CPU board with 68882 FPCP, DMAC, 1 Mbyte Dual Ported RAM capacity and VMEPROM. */
-MACHINE_CONFIG_DERIVED(cpu30_state::cpu30x, cpu30)
+MACHINE_CONFIG_START(cpu30_state::cpu30x)
+ cpu30(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_CLOCK(XTAL(16'777'216)) /* 16.7 MHz from description, crystal needs verification */
@@ -772,13 +773,15 @@ MACHINE_CONFIG_DERIVED(cpu30_state::cpu30x, cpu30)
MACHINE_CONFIG_END
/* SYS68K/CPU-30XA Part No.1 01301: 20.0 MHz 68030 based CPU board with 68882 FPCP, DMAC, 1 Mbyte Dual Ported RAM capacity and VMEPROM. Documentation included.*/
-MACHINE_CONFIG_DERIVED(cpu30_state::cpu30xa, cpu30x)
+MACHINE_CONFIG_START(cpu30_state::cpu30xa)
+ cpu30x(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_CLOCK(XTAL(20'000'000)) /* 20.0 MHz from description, crystal needs verification */
MACHINE_CONFIG_END
/* SYS68K/CPU-30ZA Part No.1 01302: 20.0 MHz 68030 based CPU board with 68882 FPCP, DMAC, 4 Mbyte Dual Ported RAM capacity and VMEPROM. Documentation included.*/
-MACHINE_CONFIG_DERIVED(cpu30_state::cpu30za, cpu30xa)
+MACHINE_CONFIG_START(cpu30_state::cpu30za)
+ cpu30xa(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_CLOCK(XTAL(20'000'000)) /* 20.0 MHz from description, crystal needs verification */
@@ -789,7 +792,8 @@ MACHINE_CONFIG_DERIVED(cpu30_state::cpu30za, cpu30xa)
MACHINE_CONFIG_END
/* SYS68K/CPU-30ZBE 68030/68882 CPU, 25 MHz, 4 Mbyte shared DRAM, 4 Mbyte Flash, SCSI, Ethernet, Floppy disk, 4 serial I/O ports, 32-bit VMEbus interface */
-MACHINE_CONFIG_DERIVED(cpu30_state::cpu30zbe, cpu30za)
+MACHINE_CONFIG_START(cpu30_state::cpu30zbe)
+ cpu30za(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_CLOCK(XTAL(25'000'000)) /* 25.0 MHz from description, crystal needs verification */
@@ -800,7 +804,8 @@ MACHINE_CONFIG_DERIVED(cpu30_state::cpu30zbe, cpu30za)
MACHINE_CONFIG_END
/* SYS68K/CPU-33 */
-MACHINE_CONFIG_DERIVED(cpu30_state::cpu33, cpu30zbe)
+MACHINE_CONFIG_START(cpu30_state::cpu33)
+ cpu30zbe(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_CLOCK(XTAL(25'000'000)) /* 25.0 MHz from description, crystal needs verification */
@@ -811,7 +816,8 @@ MACHINE_CONFIG_DERIVED(cpu30_state::cpu33, cpu30zbe)
MACHINE_CONFIG_END
/* SYS68K/CPU-30BE/8 68030/68882 CPU, 25 MHz, 8 Mbyte shared DRAM, 4 Mbyte Flash, SCSI, Ethernet, Floppy disk, 4 serial I/O ports, 32-bit VMEbus interface, VMEPROM firmware*/
-MACHINE_CONFIG_DERIVED(cpu30_state::cpu30be8, cpu30zbe)
+MACHINE_CONFIG_START(cpu30_state::cpu30be8)
+ cpu30zbe(config);
// dual ported ram
MCFG_RAM_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("8M")
@@ -819,7 +825,8 @@ MACHINE_CONFIG_DERIVED(cpu30_state::cpu30be8, cpu30zbe)
MACHINE_CONFIG_END
/* SYS68K/CPU-30BE/16 68030/68882 CPU, 25 MHz, 16 Mbyte shared DRAM, 4 Mbyte Flash, SCSI, Ethernet, Floppy disk, 4 serial I/O ports, 32-bit VMEbus interface, VMEPROM firmware*/
-MACHINE_CONFIG_DERIVED(cpu30_state::cpu30be16, cpu30zbe)
+MACHINE_CONFIG_START(cpu30_state::cpu30be16)
+ cpu30zbe(config);
// dual ported ram
MCFG_RAM_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("16M")
@@ -827,7 +834,8 @@ MACHINE_CONFIG_DERIVED(cpu30_state::cpu30be16, cpu30zbe)
MACHINE_CONFIG_END
/* SYS68K/CPU-30Lite/4 68030 CPU, 25 MHz, 4 Mbyte shared DRAM, 4 Mbyte Flash, 4 serial ports, 32-bit VMEbus interface, VMEPROM firmware. */
-MACHINE_CONFIG_DERIVED(cpu30_state::cpu30lite4, cpu30zbe)
+MACHINE_CONFIG_START(cpu30_state::cpu30lite4)
+ cpu30zbe(config);
// Enable these when added to main config
// MCFG_DEVICE_REMOVE("fpu")
// MCFG_DEVICE_REMOVE("scsi")
@@ -840,7 +848,8 @@ MACHINE_CONFIG_DERIVED(cpu30_state::cpu30lite4, cpu30zbe)
MACHINE_CONFIG_END
/* SYS68K/CPU-30Lite/8 68030 CPU, 25 MHz, 4 Mbyte shared DRAM, 8 Mbyte Flash, 4 serial ports, 32-bit VMEbus interface, VMEPROM firmware. */
-MACHINE_CONFIG_DERIVED(cpu30_state::cpu30lite8, cpu30lite4)
+MACHINE_CONFIG_START(cpu30_state::cpu30lite8)
+ cpu30lite4(config);
// dual ported ram
MCFG_RAM_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("8M")
diff --git a/src/mame/drivers/fcrash.cpp b/src/mame/drivers/fcrash.cpp
index b8721ba98a5..75e155aacfd 100644
--- a/src/mame/drivers/fcrash.cpp
+++ b/src/mame/drivers/fcrash.cpp
@@ -1655,7 +1655,8 @@ MACHINE_CONFIG_START(cps_state::fcrash)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cps_state::cawingbl, fcrash)
+MACHINE_CONFIG_START(cps_state::cawingbl)
+ fcrash(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_VBLANK_INT_DRIVER("screen", cps_state, irq6_line_hold) /* needed to write to scroll values */
@@ -1755,7 +1756,8 @@ MACHINE_CONFIG_START(cps_state::sf2mdt)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cps_state::sf2b, sf2mdt)
+MACHINE_CONFIG_START(cps_state::sf2b)
+ sf2mdt(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(sf2b_map)
MACHINE_CONFIG_END
@@ -2380,7 +2382,8 @@ ROM_START( sgyxz )
ROM_LOAD( "sgyxz_snd1.bin", 0x00000, 0x40000, CRC(c15ac0f2) SHA1(8d9e5519d9820e4ac4f70555088c80e64d052c9d) )
ROM_END
-MACHINE_CONFIG_DERIVED(cps_state::wofabl, sgyxz)
+MACHINE_CONFIG_START(cps_state::wofabl)
+ sgyxz(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(wofabl_map)
diff --git a/src/mame/drivers/fidel6502.cpp b/src/mame/drivers/fidel6502.cpp
index 5c7e8519e34..cc980394b0a 100644
--- a/src/mame/drivers/fidel6502.cpp
+++ b/src/mame/drivers/fidel6502.cpp
@@ -1714,7 +1714,8 @@ MACHINE_CONFIG_START(fidel6502_state::csc)
MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(fidel6502_state::su9, csc)
+MACHINE_CONFIG_START(fidel6502_state::su9)
+ csc(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1760,7 +1761,8 @@ MACHINE_CONFIG_START(fidel6502_state::eas)
MCFG_SOFTWARE_LIST_ADD("cart_list", "fidel_scc")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(fidel6502_state::eag, eas)
+MACHINE_CONFIG_START(fidel6502_state::eag)
+ eas(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", R65C02, 5_MHz_XTAL) // R65C02P4
@@ -1795,20 +1797,23 @@ MACHINE_CONFIG_START(fidel6502_state::sc9d)
MCFG_SOFTWARE_LIST_ADD("cart_list", "fidel_scc")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(fidel6502_state::sc9b, sc9d)
+MACHINE_CONFIG_START(fidel6502_state::sc9b)
+ sc9d(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", M6502, 1500000) // from ceramic resonator "681 JSA", measured
MCFG_CPU_PROGRAM_MAP(sc9_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(fidel6502_state::sc9c, sc9b)
+MACHINE_CONFIG_START(fidel6502_state::sc9c)
+ sc9b(config);
/* basic machine hardware */
MCFG_MACHINE_RESET_OVERRIDE(fidel6502_state, sc9c)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(fidel6502_state::playmatic, sc9b)
+MACHINE_CONFIG_START(fidel6502_state::playmatic)
+ sc9b(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1850,7 +1855,8 @@ MACHINE_CONFIG_START(fidel6502_state::sc12)
MCFG_SOFTWARE_LIST_ADD("cart_list", "fidel_scc")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(fidel6502_state::sc12b, sc12)
+MACHINE_CONFIG_START(fidel6502_state::sc12b)
+ sc12(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1886,35 +1892,40 @@ MACHINE_CONFIG_START(fidel6502_state::fexcel)
MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(fidel6502_state::fexcel4, fexcel)
+MACHINE_CONFIG_START(fidel6502_state::fexcel4)
+ fexcel(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", R65C02, 4_MHz_XTAL) // R65C02P4
MCFG_CPU_PROGRAM_MAP(fexcel_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(fidel6502_state::fexcelb, fexcel)
+MACHINE_CONFIG_START(fidel6502_state::fexcelb)
+ fexcel(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(fexcelb_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(fidel6502_state::fexcelp, fexcel)
+MACHINE_CONFIG_START(fidel6502_state::fexcelp)
+ fexcel(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", R65C02, 5_MHz_XTAL) // R65C02P4
MCFG_CPU_PROGRAM_MAP(fexcelp_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(fidel6502_state::granits, fexcelp)
+MACHINE_CONFIG_START(fidel6502_state::granits)
+ fexcelp(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_DEVICE_CLOCK(8_MHz_XTAL) // overclocked
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(fidel6502_state::fdes2100, fexcel)
+MACHINE_CONFIG_START(fidel6502_state::fdes2100)
+ fexcel(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", M65C02, 5_MHz_XTAL) // WDC 65C02
@@ -1930,14 +1941,16 @@ MACHINE_CONFIG_DERIVED(fidel6502_state::fdes2100, fexcel)
MCFG_DEFAULT_LAYOUT(layout_fidel_des)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(fidel6502_state::fdes2000, fdes2100)
+MACHINE_CONFIG_START(fidel6502_state::fdes2000)
+ fdes2100(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", R65C02, 3_MHz_XTAL) // RP65C02G
MCFG_CPU_PROGRAM_MAP(fexcelp_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(fidel6502_state::fexcelv, fexcelb)
+MACHINE_CONFIG_START(fidel6502_state::fexcelv)
+ fexcelb(config);
/* sound hardware */
MCFG_SOUND_ADD("speech", S14001A, 25000) // R/C circuit, around 25khz
@@ -1945,7 +1958,8 @@ MACHINE_CONFIG_DERIVED(fidel6502_state::fexcelv, fexcelb)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.75)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(fidel6502_state::fexceld, fexcelb)
+MACHINE_CONFIG_START(fidel6502_state::fexceld)
+ fexcelb(config);
/* basic machine hardware */
MCFG_DEFAULT_LAYOUT(layout_fidel_exd)
@@ -1970,7 +1984,8 @@ MACHINE_CONFIG_START(fidel6502_state::fdes2100d)
MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(fidel6502_state::fdes2000d, fdes2100d)
+MACHINE_CONFIG_START(fidel6502_state::fdes2000d)
+ fdes2100d(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", R65C02, 3_MHz_XTAL) // R65C02P3
@@ -2016,7 +2031,8 @@ MACHINE_CONFIG_START(fidel6502_state::chesster)
MCFG_SOUND_ROUTE_EX(0, "dac8", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac8", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(fidel6502_state::kishon, chesster)
+MACHINE_CONFIG_START(fidel6502_state::kishon)
+ chesster(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/fidel68k.cpp b/src/mame/drivers/fidel68k.cpp
index 6e30eb9491c..324523b9f20 100644
--- a/src/mame/drivers/fidel68k.cpp
+++ b/src/mame/drivers/fidel68k.cpp
@@ -566,14 +566,16 @@ MACHINE_CONFIG_START(fidel68k_state::fex68k)
MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(fidel68k_state::fex68km2, fex68k)
+MACHINE_CONFIG_START(fidel68k_state::fex68km2)
+ fex68k(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(fex68km2_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(fidel68k_state::fex68km3, fex68k)
+MACHINE_CONFIG_START(fidel68k_state::fex68km3)
+ fex68k(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -600,7 +602,8 @@ MACHINE_CONFIG_START(fidel68k_state::fdes2265)
MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(fidel68k_state::fdes2325, fdes2265)
+MACHINE_CONFIG_START(fidel68k_state::fdes2325)
+ fdes2265(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", M68EC020, 20_MHz_XTAL) // MC68EC020RP25
@@ -640,7 +643,8 @@ MACHINE_CONFIG_START(fidel68k_state::eag)
MCFG_SOFTWARE_LIST_ADD("cart_list", "fidel_scc")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(fidel68k_state::eagv7, eag)
+MACHINE_CONFIG_START(fidel68k_state::eagv7)
+ eag(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", M68020, 20_MHz_XTAL)
@@ -649,21 +653,24 @@ MACHINE_CONFIG_DERIVED(fidel68k_state::eagv7, eag)
MCFG_RAM_REMOVE("ram")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(fidel68k_state::eagv9, eagv7)
+MACHINE_CONFIG_START(fidel68k_state::eagv9)
+ eagv7(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", M68030, 32_MHz_XTAL)
MCFG_CPU_PROGRAM_MAP(eagv7_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(fidel68k_state::eagv10, eagv7)
+MACHINE_CONFIG_START(fidel68k_state::eagv10)
+ eagv7(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", M68040, 25_MHz_XTAL)
MCFG_CPU_PROGRAM_MAP(eagv11_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(fidel68k_state::eagv11, eagv7)
+MACHINE_CONFIG_START(fidel68k_state::eagv11)
+ eagv7(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", M68EC040, 36_MHz_XTAL*2*2) // wrong! should be M68EC060 @ 72MHz
diff --git a/src/mame/drivers/firebeat.cpp b/src/mame/drivers/firebeat.cpp
index 748ad07070e..47d80763f18 100644
--- a/src/mame/drivers/firebeat.cpp
+++ b/src/mame/drivers/firebeat.cpp
@@ -1416,7 +1416,8 @@ MACHINE_CONFIG_START(firebeat_state::firebeat2)
MCFG_MIDI_KBD_ADD("kbd1", DEVWRITELINE("duart_midi:chan1", ins8250_uart_device, rx_w), 31250)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(firebeat_state::firebeat_spu, firebeat)
+MACHINE_CONFIG_START(firebeat_state::firebeat_spu)
+ firebeat(config);
/* basic machine hardware */
MCFG_CPU_ADD("audiocpu", M68000, 16000000)
diff --git a/src/mame/drivers/firetrk.cpp b/src/mame/drivers/firetrk.cpp
index a7b7bb5d3f9..cc5a3402041 100644
--- a/src/mame/drivers/firetrk.cpp
+++ b/src/mame/drivers/firetrk.cpp
@@ -881,7 +881,8 @@ MACHINE_CONFIG_START(firetrk_state::firetrk)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(firetrk_state::superbug, firetrk)
+MACHINE_CONFIG_START(firetrk_state::superbug)
+ firetrk(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -905,7 +906,8 @@ MACHINE_CONFIG_DERIVED(firetrk_state::superbug, firetrk)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(firetrk_state::montecar, firetrk)
+MACHINE_CONFIG_START(firetrk_state::montecar)
+ firetrk(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/flicker.cpp b/src/mame/drivers/flicker.cpp
index 991ce34105c..58b1c689bcb 100644
--- a/src/mame/drivers/flicker.cpp
+++ b/src/mame/drivers/flicker.cpp
@@ -400,7 +400,7 @@ MACHINE_CONFIG_START(flicker_state::flicker)
MCFG_DEFAULT_LAYOUT(layout_flicker)
// sound
- MCFG_FRAGMENT_ADD(genpin_audio)
+ genpin_audio(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/flstory.cpp b/src/mame/drivers/flstory.cpp
index 1b0ef8c3004..5c0cee327b5 100644
--- a/src/mame/drivers/flstory.cpp
+++ b/src/mame/drivers/flstory.cpp
@@ -866,7 +866,8 @@ MACHINE_CONFIG_START(flstory_state::onna34ro)
MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(flstory_state::onna34ro_mcu, onna34ro)
+MACHINE_CONFIG_START(flstory_state::onna34ro_mcu)
+ onna34ro(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(onna34ro_mcu_map)
diff --git a/src/mame/drivers/fmtowns.cpp b/src/mame/drivers/fmtowns.cpp
index becdc303453..774d922a346 100644
--- a/src/mame/drivers/fmtowns.cpp
+++ b/src/mame/drivers/fmtowns.cpp
@@ -2892,12 +2892,12 @@ MACHINE_CONFIG_START(towns_state::towns_base)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(towns_state::towns)
- MCFG_FRAGMENT_ADD(towns_base)
+ towns_base(config);
MCFG_NVRAM_ADD_0FILL("nvram")
MACHINE_CONFIG_END
MACHINE_CONFIG_START(towns16_state::townsux)
- MCFG_FRAGMENT_ADD(towns_base)
+ towns_base(config);
MCFG_CPU_REPLACE("maincpu",I386SX, 16000000)
MCFG_CPU_PROGRAM_MAP(ux_mem)
@@ -2912,7 +2912,8 @@ MACHINE_CONFIG_START(towns16_state::townsux)
MCFG_NVRAM_ADD_0FILL("nvram16")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(towns_state::townssj, towns)
+MACHINE_CONFIG_START(towns_state::townssj)
+ towns(config);
MCFG_CPU_REPLACE("maincpu",PENTIUM, 66000000)
MCFG_CPU_PROGRAM_MAP(towns_mem)
@@ -2925,7 +2926,8 @@ MACHINE_CONFIG_DERIVED(towns_state::townssj, towns)
MCFG_RAM_EXTRA_OPTIONS("40M,72M")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(towns_state::townshr, towns)
+MACHINE_CONFIG_START(towns_state::townshr)
+ towns(config);
MCFG_CPU_REPLACE("maincpu",I486, 20000000)
MCFG_CPU_PROGRAM_MAP(towns_mem)
MCFG_CPU_IO_MAP(towns_io)
@@ -2937,7 +2939,8 @@ MACHINE_CONFIG_DERIVED(towns_state::townshr, towns)
MCFG_RAM_EXTRA_OPTIONS("12M,20M,28M")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(towns_state::townsftv, towns)
+MACHINE_CONFIG_START(towns_state::townsftv)
+ towns(config);
MCFG_CPU_REPLACE("maincpu",I486, 33000000)
MCFG_CPU_PROGRAM_MAP(towns_mem)
MCFG_CPU_IO_MAP(towns_io)
@@ -2950,7 +2953,7 @@ MACHINE_CONFIG_DERIVED(towns_state::townsftv, towns)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(marty_state::marty)
- MCFG_FRAGMENT_ADD(towns_base)
+ towns_base(config);
MCFG_CPU_REPLACE("maincpu",I386SX, 16000000)
MCFG_CPU_PROGRAM_MAP(marty_mem)
diff --git a/src/mame/drivers/force68k.cpp b/src/mame/drivers/force68k.cpp
index d3e60ad6772..01e5332994e 100644
--- a/src/mame/drivers/force68k.cpp
+++ b/src/mame/drivers/force68k.cpp
@@ -597,7 +597,7 @@ MACHINE_CONFIG_START(force68k_state::fccpu1)
MCFG_CENTRONICS_OUTPUT_LATCH_ADD ("cent_data_out", "centronics")
// EPROM sockets
- MCFG_FRAGMENT_ADD(fccpu1_eprom_sockets)
+ fccpu1_eprom_sockets(config);
// VME interface
MCFG_VME_DEVICE_ADD("vme")
diff --git a/src/mame/drivers/freekick.cpp b/src/mame/drivers/freekick.cpp
index 99ae8a12c8b..929a9f7f560 100644
--- a/src/mame/drivers/freekick.cpp
+++ b/src/mame/drivers/freekick.cpp
@@ -795,7 +795,8 @@ MACHINE_CONFIG_START(freekick_state::base)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(freekick_state::pbillrd, base)
+MACHINE_CONFIG_START(freekick_state::pbillrd)
+ base(config);
MCFG_DEVICE_MODIFY("outlatch") // 10K
MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(WRITELINE(freekick_state, flipscreen_x_w))
MCFG_ADDRESSABLE_LATCH_Q1_OUT_CB(WRITELINE(freekick_state, flipscreen_y_w))
@@ -805,7 +806,8 @@ MACHINE_CONFIG_DERIVED(freekick_state::pbillrd, base)
MCFG_MACHINE_RESET_OVERRIDE(freekick_state,freekick)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(freekick_state::pbillrdm, pbillrd)
+MACHINE_CONFIG_START(freekick_state::pbillrdm)
+ pbillrd(config);
MCFG_CPU_REPLACE("maincpu", MC8123, XTAL(12'000'000)/4)
MCFG_CPU_PROGRAM_MAP(pbillrd_map)
MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
@@ -813,7 +815,8 @@ MACHINE_CONFIG_DERIVED(freekick_state::pbillrdm, pbillrd)
MCFG_CPU_VBLANK_INT_DRIVER("screen", freekick_state, freekick_irqgen)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(freekick_state::freekick, base)
+MACHINE_CONFIG_START(freekick_state::freekick)
+ base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -842,7 +845,8 @@ MACHINE_CONFIG_DERIVED(freekick_state::freekick, base)
MCFG_SCREEN_UPDATE_DRIVER(freekick_state, screen_update_freekick)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(freekick_state::gigas, base)
+MACHINE_CONFIG_START(freekick_state::gigas)
+ base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -862,7 +866,8 @@ MACHINE_CONFIG_DERIVED(freekick_state::gigas, base)
MCFG_SCREEN_UPDATE_DRIVER(freekick_state, screen_update_gigas)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(freekick_state::gigasm, base)
+MACHINE_CONFIG_START(freekick_state::gigasm)
+ base(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", MC8123, XTAL(12'000'000)/4)
@@ -884,7 +889,8 @@ MACHINE_CONFIG_DERIVED(freekick_state::gigasm, base)
MCFG_SCREEN_UPDATE_DRIVER(freekick_state, screen_update_gigas)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(freekick_state::oigas, gigas)
+MACHINE_CONFIG_START(freekick_state::oigas)
+ gigas(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/fruitpc.cpp b/src/mame/drivers/fruitpc.cpp
index e14b07a4f4a..c811e8f4d68 100644
--- a/src/mame/drivers/fruitpc.cpp
+++ b/src/mame/drivers/fruitpc.cpp
@@ -133,13 +133,13 @@ MACHINE_CONFIG_START(fruitpc_state::fruitpc)
MCFG_CPU_IO_MAP(fruitpc_io)
MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb)
- MCFG_FRAGMENT_ADD( pcat_common )
+ pcat_common(config);
MCFG_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", nullptr, true)
MCFG_ATA_INTERFACE_IRQ_HANDLER(DEVWRITELINE("pic8259_2", pic8259_device, ir6_w))
/* video hardware */
- MCFG_FRAGMENT_ADD( pcvideo_vga )
+ pcvideo_vga(config);
MCFG_DEVICE_MODIFY("dma8237_1")
MCFG_I8237_OUT_IOW_1_CB(WRITE8(fruitpc_state, dma8237_1_dack_w))
diff --git a/src/mame/drivers/funkball.cpp b/src/mame/drivers/funkball.cpp
index 63c5ceb7504..5375982341f 100644
--- a/src/mame/drivers/funkball.cpp
+++ b/src/mame/drivers/funkball.cpp
@@ -774,7 +774,7 @@ MACHINE_CONFIG_START(funkball_state::funkball)
MCFG_CPU_IO_MAP(funkball_io)
MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb)
- MCFG_FRAGMENT_ADD( pcat_common )
+ pcat_common(config);
MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0)
MCFG_PCI_BUS_LEGACY_DEVICE(7, "voodoo_0", voodoo_0_pci_r, voodoo_0_pci_w)
diff --git a/src/mame/drivers/funworld.cpp b/src/mame/drivers/funworld.cpp
index 04e07955910..b41ac5fc564 100644
--- a/src/mame/drivers/funworld.cpp
+++ b/src/mame/drivers/funworld.cpp
@@ -3101,7 +3101,8 @@ MACHINE_CONFIG_START(funworld_state::fw1stpal)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(funworld_state::fw2ndpal, fw1stpal)
+MACHINE_CONFIG_START(funworld_state::fw2ndpal)
+ fw1stpal(config);
MCFG_CPU_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */
MCFG_CPU_PROGRAM_MAP(funworld_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", funworld_state, nmi_line_pulse)
@@ -3110,8 +3111,9 @@ MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(funworld_state::funquiz, fw1stpal)
-// MCFG_FRAGMENT_ADD(fw2ndpal)
+MACHINE_CONFIG_START(funworld_state::funquiz)
+ fw1stpal(config);
+// fw2ndpal(config);
MCFG_CPU_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */
MCFG_CPU_PROGRAM_MAP(funquiz_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", funworld_state, nmi_line_pulse)
@@ -3124,7 +3126,8 @@ MACHINE_CONFIG_DERIVED(funworld_state::funquiz, fw1stpal)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(funworld_state::magicrd2, fw1stpal)
+MACHINE_CONFIG_START(funworld_state::magicrd2)
+ fw1stpal(config);
MCFG_CPU_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */
MCFG_CPU_PROGRAM_MAP(magicrd2_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", funworld_state, nmi_line_pulse)
@@ -3143,42 +3146,48 @@ MACHINE_CONFIG_DERIVED(funworld_state::magicrd2, fw1stpal)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(funworld_state::royalcd1, fw1stpal)
+MACHINE_CONFIG_START(funworld_state::royalcd1)
+ fw1stpal(config);
MCFG_CPU_REPLACE("maincpu", R65C02, CPU_CLOCK) /* (G65SC02P in pro version) 2MHz */
MCFG_CPU_PROGRAM_MAP(magicrd2_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", funworld_state, nmi_line_pulse)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(funworld_state::royalcd2, fw2ndpal)
+MACHINE_CONFIG_START(funworld_state::royalcd2)
+ fw2ndpal(config);
MCFG_CPU_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */
MCFG_CPU_PROGRAM_MAP(magicrd2_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", funworld_state, nmi_line_pulse)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(funworld_state::cuoreuno, fw1stpal)
+MACHINE_CONFIG_START(funworld_state::cuoreuno)
+ fw1stpal(config);
MCFG_CPU_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */
MCFG_CPU_PROGRAM_MAP(cuoreuno_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", funworld_state, nmi_line_pulse)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(funworld_state::saloon, fw1stpal)
+MACHINE_CONFIG_START(funworld_state::saloon)
+ fw1stpal(config);
MCFG_CPU_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */
MCFG_CPU_PROGRAM_MAP(saloon_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", funworld_state, nmi_line_pulse)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(funworld_state::witchryl, fw1stpal)
+MACHINE_CONFIG_START(funworld_state::witchryl)
+ fw1stpal(config);
MCFG_CPU_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */
MCFG_CPU_PROGRAM_MAP(witchryl_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", funworld_state, nmi_line_pulse)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(funworld_state::lunapark, fw1stpal)
+MACHINE_CONFIG_START(funworld_state::lunapark)
+ fw1stpal(config);
MCFG_CPU_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */
MCFG_CPU_PROGRAM_MAP(lunapark_map) // mirrored video RAM (4000/5000 to 6000/7000).
MCFG_CPU_VBLANK_INT_DRIVER("screen", funworld_state, nmi_line_pulse)
@@ -3187,14 +3196,16 @@ MACHINE_CONFIG_DERIVED(funworld_state::lunapark, fw1stpal)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(funworld_state::chinatow, fw2ndpal)
+MACHINE_CONFIG_START(funworld_state::chinatow)
+ fw2ndpal(config);
MCFG_CPU_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */
MCFG_CPU_PROGRAM_MAP(chinatow_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", funworld_state, nmi_line_pulse)
MCFG_VIDEO_START_OVERRIDE(funworld_state, chinatow)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(funworld_state::rcdino4, fw1stpal)
+MACHINE_CONFIG_START(funworld_state::rcdino4)
+ fw1stpal(config);
MCFG_CPU_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */
MCFG_CPU_PROGRAM_MAP(chinatow_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", funworld_state, nmi_line_pulse)
@@ -3202,7 +3213,8 @@ MACHINE_CONFIG_DERIVED(funworld_state::rcdino4, fw1stpal)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(funworld_state::intrgmes, fw1stpal)
+MACHINE_CONFIG_START(funworld_state::intrgmes)
+ fw1stpal(config);
MCFG_CPU_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */
MCFG_CPU_PROGRAM_MAP(intergames_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", funworld_state, nmi_line_pulse)
@@ -3210,7 +3222,8 @@ MACHINE_CONFIG_DERIVED(funworld_state::intrgmes, fw1stpal)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(funworld_state::fw_a7_11, fw1stpal)
+MACHINE_CONFIG_START(funworld_state::fw_a7_11)
+ fw1stpal(config);
MCFG_CPU_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */
MCFG_CPU_PROGRAM_MAP(fw_a7_11_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", funworld_state, nmi_line_pulse)
diff --git a/src/mame/drivers/g627.cpp b/src/mame/drivers/g627.cpp
index 78d76514253..0611d59d17d 100644
--- a/src/mame/drivers/g627.cpp
+++ b/src/mame/drivers/g627.cpp
@@ -304,7 +304,7 @@ MACHINE_CONFIG_START(g627_state::g627)
MCFG_NVRAM_ADD_0FILL("nvram")
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("astrocade", ASTROCADE, 14138000/8) // 0066-117XX audio chip
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
diff --git a/src/mame/drivers/gaelco2.cpp b/src/mame/drivers/gaelco2.cpp
index 2cbe00b7920..9fb81c41b0d 100644
--- a/src/mame/drivers/gaelco2.cpp
+++ b/src/mame/drivers/gaelco2.cpp
@@ -208,7 +208,8 @@ MACHINE_CONFIG_START(gaelco2_state::maniacsq)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gaelco2_state::maniacsq_d5002fp, maniacsq)
+MACHINE_CONFIG_START(gaelco2_state::maniacsq_d5002fp)
+ maniacsq(config);
MCFG_DEVICE_ADD("gaelco_ds5002fp", GAELCO_DS5002FP, XTAL(24'000'000) / 2) /* ? */
MCFG_DEVICE_ADDRESS_MAP(0, mcu_hostmem_map)
MACHINE_CONFIG_END
@@ -966,7 +967,8 @@ MACHINE_CONFIG_START(gaelco2_state::alighunt)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gaelco2_state::alighunt_d5002fp, alighunt)
+MACHINE_CONFIG_START(gaelco2_state::alighunt_d5002fp)
+ alighunt(config);
MCFG_DEVICE_ADD("gaelco_ds5002fp", GAELCO_DS5002FP, XTAL(24'000'000) / 2) /* 12 MHz */
MCFG_DEVICE_ADDRESS_MAP(0, mcu_hostmem_map)
MACHINE_CONFIG_END
@@ -1278,7 +1280,8 @@ MACHINE_CONFIG_START(gaelco2_state::touchgo)
MCFG_SOUND_ROUTE(1, "lspeaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gaelco2_state::touchgo_d5002fp, touchgo)
+MACHINE_CONFIG_START(gaelco2_state::touchgo_d5002fp)
+ touchgo(config);
MCFG_DEVICE_ADD("gaelco_ds5002fp", GAELCO_DS5002FP, XTAL(40'000'000) / 4) /* 10MHz? - Not verified */
MCFG_DEVICE_ADDRESS_MAP(0, mcu_hostmem_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/gaelco3d.cpp b/src/mame/drivers/gaelco3d.cpp
index 9fcb139d1d2..52dcefd9df4 100644
--- a/src/mame/drivers/gaelco3d.cpp
+++ b/src/mame/drivers/gaelco3d.cpp
@@ -983,7 +983,8 @@ MACHINE_CONFIG_START(gaelco3d_state::gaelco3d)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gaelco3d_state::gaelco3d2, gaelco3d)
+MACHINE_CONFIG_START(gaelco3d_state::gaelco3d2)
+ gaelco3d(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", M68EC020, 25000000)
@@ -996,7 +997,8 @@ MACHINE_CONFIG_DERIVED(gaelco3d_state::gaelco3d2, gaelco3d)
MCFG_MACHINE_RESET_OVERRIDE(gaelco3d_state,gaelco3d2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gaelco3d_state::footbpow, gaelco3d2)
+MACHINE_CONFIG_START(gaelco3d_state::footbpow)
+ gaelco3d2(config);
MCFG_DEVICE_MODIFY("outlatch")
MCFG_ADDRESSABLE_LATCH_Q5_OUT_CB(WRITELINE(gaelco3d_state, fp_analog_clock_w))
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/gaiden.cpp b/src/mame/drivers/gaiden.cpp
index 7ea5df25b43..4c0f314133a 100644
--- a/src/mame/drivers/gaiden.cpp
+++ b/src/mame/drivers/gaiden.cpp
@@ -805,7 +805,8 @@ MACHINE_CONFIG_START(gaiden_state::shadoww)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gaiden_state::raiga, shadoww)
+MACHINE_CONFIG_START(gaiden_state::raiga)
+ shadoww(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(gaiden_state, screen_update_raiga)
diff --git a/src/mame/drivers/galaga.cpp b/src/mame/drivers/galaga.cpp
index 1c6798794da..ebbdac9bc9d 100644
--- a/src/mame/drivers/galaga.cpp
+++ b/src/mame/drivers/galaga.cpp
@@ -1732,7 +1732,8 @@ MACHINE_CONFIG_START(galaga_state::galaga)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.90)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaga_state::galagab, galaga)
+MACHINE_CONFIG_START(galaga_state::galagab)
+ galaga(config);
/* basic machine hardware */
@@ -1752,7 +1753,8 @@ MACHINE_CONFIG_DERIVED(galaga_state::galagab, galaga)
MCFG_DEVICE_REMOVE("discrete")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaga_state::gatsbee, galaga)
+MACHINE_CONFIG_START(galaga_state::gatsbee)
+ galaga(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(gatsbee_main_map)
@@ -1836,7 +1838,8 @@ MACHINE_CONFIG_START(xevious_state::xevious)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.90)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(xevious_state::battles, xevious)
+MACHINE_CONFIG_START(xevious_state::battles)
+ xevious(config);
/* basic machine hardware */
@@ -1949,7 +1952,8 @@ MACHINE_CONFIG_START(digdug_state::digdug)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.90 * 10.0 / 16.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(digdug_state::dzigzag, digdug)
+MACHINE_CONFIG_START(digdug_state::dzigzag)
+ digdug(config);
/* basic machine hardware */
diff --git a/src/mame/drivers/galaxi.cpp b/src/mame/drivers/galaxi.cpp
index f5bfbe25034..be98062dd6b 100644
--- a/src/mame/drivers/galaxi.cpp
+++ b/src/mame/drivers/galaxi.cpp
@@ -480,7 +480,8 @@ MACHINE_CONFIG_START(galaxi_state::galaxi)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxi_state::magjoker, galaxi)
+MACHINE_CONFIG_START(galaxi_state::magjoker)
+ galaxi(config);
/* sound hardware */
MCFG_SOUND_MODIFY("oki")
@@ -491,7 +492,8 @@ MACHINE_CONFIG_DERIVED(galaxi_state::magjoker, galaxi)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxi_state::lastfour, galaxi)
+MACHINE_CONFIG_START(galaxi_state::lastfour)
+ galaxi(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/galaxian.cpp b/src/mame/drivers/galaxian.cpp
index 5a42a489a23..7b26ed35cfa 100644
--- a/src/mame/drivers/galaxian.cpp
+++ b/src/mame/drivers/galaxian.cpp
@@ -5708,7 +5708,8 @@ MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::konami_base, galaxian_base)
+MACHINE_CONFIG_START(galaxian_state::konami_base)
+ galaxian_base(config);
MCFG_DEVICE_ADD("ppi8255_0", I8255A, 0)
MCFG_I8255_IN_PORTA_CB(IOPORT("IN0"))
@@ -5781,8 +5782,9 @@ MACHINE_CONFIG_START(galaxian_state::konami_sound_2x_ay8910)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::scramble_base, konami_base)
- MCFG_FRAGMENT_ADD(konami_sound_2x_ay8910)
+MACHINE_CONFIG_START(galaxian_state::scramble_base)
+ konami_base(config);
+ konami_sound_2x_ay8910(config);
/* blinking frequency is determined by 555 counter with Ra=100k, Rb=10k, C=10uF */
MCFG_TIMER_DRIVER_ADD_PERIODIC("stars", galaxian_state, scramble_stars_blink_timer, PERIOD_OF_555_ASTABLE(100000, 10000, 0.00001))
@@ -5796,24 +5798,28 @@ MACHINE_CONFIG_END
*
*************************************/
-MACHINE_CONFIG_DERIVED(galaxian_state::galaxian, galaxian_base)
- MCFG_FRAGMENT_ADD(galaxian_audio)
+MACHINE_CONFIG_START(galaxian_state::galaxian)
+ galaxian_base(config);
+ galaxian_audio(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::spactrai, galaxian)
+MACHINE_CONFIG_START(galaxian_state::spactrai)
+ galaxian(config);
/* strange memory map with RAM in the middle of ROM, there's a large block on the ROM board */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(spactrai_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::pacmanbl, galaxian)
+MACHINE_CONFIG_START(galaxian_state::pacmanbl)
+ galaxian(config);
/* separate tile/sprite ROMs */
MCFG_GFXDECODE_MODIFY("gfxdecode", pacmanbl)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::tenspot, galaxian)
+MACHINE_CONFIG_START(galaxian_state::tenspot)
+ galaxian(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_VBLANK_INT_DRIVER("screen", galaxian_state, fakechange_interrupt_gen)
@@ -5827,7 +5833,8 @@ MACHINE_CONFIG_DERIVED(galaxian_state::tenspot, galaxian)
MCFG_GFXDECODE_MODIFY("gfxdecode", tenspot)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::zigzag, galaxian_base)
+MACHINE_CONFIG_START(galaxian_state::zigzag)
+ galaxian_base(config);
/* separate tile/sprite ROMs */
MCFG_GFXDECODE_MODIFY("gfxdecode", pacmanbl)
@@ -5842,7 +5849,8 @@ MACHINE_CONFIG_DERIVED(galaxian_state::zigzag, galaxian_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::gmgalax, galaxian)
+MACHINE_CONFIG_START(galaxian_state::gmgalax)
+ galaxian(config);
/* banked video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", gmgalax)
@@ -5852,22 +5860,25 @@ MACHINE_CONFIG_DERIVED(galaxian_state::gmgalax, galaxian)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::mooncrst, galaxian_base)
+MACHINE_CONFIG_START(galaxian_state::mooncrst)
+ galaxian_base(config);
/* alternate memory map */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(mooncrst_map)
- MCFG_FRAGMENT_ADD(mooncrst_audio)
+ mooncrst_audio(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::moonqsr, mooncrst)
+MACHINE_CONFIG_START(galaxian_state::moonqsr)
+ mooncrst(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_OPCODES_MAP(moonqsr_decrypted_opcodes_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::fantastc, galaxian_base)
+MACHINE_CONFIG_START(galaxian_state::fantastc)
+ galaxian_base(config);
/* alternate memory map */
MCFG_CPU_MODIFY("maincpu")
@@ -5895,7 +5906,8 @@ TIMER_DEVICE_CALLBACK_MEMBER(galaxian_state::timefgtr_scanline)
}
}
-MACHINE_CONFIG_DERIVED(galaxian_state::timefgtr, galaxian_base)
+MACHINE_CONFIG_START(galaxian_state::timefgtr)
+ galaxian_base(config);
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", galaxian_state, timefgtr_scanline, "screen", 0, 1)
@@ -5912,7 +5924,8 @@ MACHINE_CONFIG_DERIVED(galaxian_state::timefgtr, galaxian_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::jumpbug, galaxian_base)
+MACHINE_CONFIG_START(galaxian_state::jumpbug)
+ galaxian_base(config);
MCFG_DEVICE_REMOVE("watchdog")
@@ -5926,7 +5939,8 @@ MACHINE_CONFIG_DERIVED(galaxian_state::jumpbug, galaxian_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::checkman, mooncrst)
+MACHINE_CONFIG_START(galaxian_state::checkman)
+ mooncrst(config);
/* basic machine hardware */
MCFG_CPU_ADD("audiocpu", Z80, 1620000) /* 1.62 MHz */
@@ -5942,7 +5956,8 @@ MACHINE_CONFIG_DERIVED(galaxian_state::checkman, mooncrst)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::checkmaj, galaxian_base)
+MACHINE_CONFIG_START(galaxian_state::checkmaj)
+ galaxian_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -5963,7 +5978,8 @@ MACHINE_CONFIG_DERIVED(galaxian_state::checkmaj, galaxian_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::mshuttle, galaxian_base)
+MACHINE_CONFIG_START(galaxian_state::mshuttle)
+ galaxian_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -5976,7 +5992,8 @@ MACHINE_CONFIG_DERIVED(galaxian_state::mshuttle, galaxian_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::kingball, mooncrst)
+MACHINE_CONFIG_START(galaxian_state::kingball)
+ mooncrst(config);
/* basic machine hardware */
MCFG_CPU_ADD("audiocpu", Z80,5000000/2)
@@ -5992,8 +6009,9 @@ MACHINE_CONFIG_DERIVED(galaxian_state::kingball, mooncrst)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::frogger, konami_base)
- MCFG_FRAGMENT_ADD(konami_sound_1x_ay8910)
+MACHINE_CONFIG_START(galaxian_state::frogger)
+ konami_base(config);
+ konami_sound_1x_ay8910(config);
/* alternate memory map */
MCFG_CPU_MODIFY("maincpu")
@@ -6001,8 +6019,9 @@ MACHINE_CONFIG_DERIVED(galaxian_state::frogger, konami_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::froggermc, galaxian_base)
- MCFG_FRAGMENT_ADD(konami_sound_1x_ay8910)
+MACHINE_CONFIG_START(galaxian_state::froggermc)
+ galaxian_base(config);
+ konami_sound_1x_ay8910(config);
/* alternate memory map */
MCFG_CPU_MODIFY("maincpu")
@@ -6013,8 +6032,9 @@ MACHINE_CONFIG_DERIVED(galaxian_state::froggermc, galaxian_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::froggers, konami_base)
- MCFG_FRAGMENT_ADD(konami_sound_1x_ay8910)
+MACHINE_CONFIG_START(galaxian_state::froggers)
+ konami_base(config);
+ konami_sound_1x_ay8910(config);
/* alternate memory map */
MCFG_CPU_MODIFY("maincpu")
@@ -6022,8 +6042,9 @@ MACHINE_CONFIG_DERIVED(galaxian_state::froggers, konami_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::frogf, konami_base)
- MCFG_FRAGMENT_ADD(konami_sound_1x_ay8910)
+MACHINE_CONFIG_START(galaxian_state::frogf)
+ konami_base(config);
+ konami_sound_1x_ay8910(config);
/* alternate memory map */
MCFG_CPU_MODIFY("maincpu")
@@ -6031,24 +6052,27 @@ MACHINE_CONFIG_DERIVED(galaxian_state::frogf, konami_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::turtles, konami_base)
- MCFG_FRAGMENT_ADD(konami_sound_2x_ay8910)
+MACHINE_CONFIG_START(galaxian_state::turtles)
+ konami_base(config);
+ konami_sound_2x_ay8910(config);
/* alternate memory map */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(turtles_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::amigo2, galaxian_base) // bootleg has no i8255s
+MACHINE_CONFIG_START(galaxian_state::amigo2) // bootleg has no i8255s
+ galaxian_base(config);
/* alternate memory map */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(amigo2_map)
- MCFG_FRAGMENT_ADD(konami_sound_2x_ay8910)
+ konami_sound_2x_ay8910(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::turpins, turtles)
+MACHINE_CONFIG_START(galaxian_state::turpins)
+ turtles(config);
// the ROMs came from a blister, so there aren't PCB infos available. Chip types and clocks are guessed.
@@ -6061,8 +6085,9 @@ MACHINE_CONFIG_DERIVED(galaxian_state::turpins, turtles)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::theend, konami_base)
- MCFG_FRAGMENT_ADD(konami_sound_2x_ay8910)
+MACHINE_CONFIG_START(galaxian_state::theend)
+ konami_base(config);
+ konami_sound_2x_ay8910(config);
/* alternate memory map */
MCFG_CPU_MODIFY("maincpu")
@@ -6073,7 +6098,8 @@ MACHINE_CONFIG_DERIVED(galaxian_state::theend, konami_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::scramble, scramble_base)
+MACHINE_CONFIG_START(galaxian_state::scramble)
+ scramble_base(config);
/* alternate memory map */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(theend_map)
@@ -6084,7 +6110,8 @@ MACHINE_CONFIG_DERIVED(galaxian_state::scramble, scramble_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::explorer, galaxian_base)
+MACHINE_CONFIG_START(galaxian_state::explorer)
+ galaxian_base(config);
/* alternate memory map */
MCFG_CPU_MODIFY("maincpu")
@@ -6107,7 +6134,8 @@ MACHINE_CONFIG_DERIVED(galaxian_state::explorer, galaxian_base)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::takeoff, explorer) // takeoff shares the same main map as explorer, but uses only one AY8912 for sound.
+MACHINE_CONFIG_START(galaxian_state::takeoff) // takeoff shares the same main map as explorer, but uses only one AY8912 for sound.
+ explorer(config);
MCFG_SOUND_MODIFY("maincpu")
MCFG_DEVICE_CLOCK(XTAL(12'000'000) / 8) // XTAL verified, divider not verified
@@ -6127,7 +6155,8 @@ MACHINE_CONFIG_DERIVED(galaxian_state::takeoff, explorer) // takeoff shares the
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::scorpion, scramble_base)
+MACHINE_CONFIG_START(galaxian_state::scorpion)
+ scramble_base(config);
/* alternate memory map */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(theend_map)
@@ -6147,7 +6176,8 @@ MACHINE_CONFIG_DERIVED(galaxian_state::scorpion, scramble_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::sfx, scramble_base)
+MACHINE_CONFIG_START(galaxian_state::sfx)
+ scramble_base(config);
MCFG_DEVICE_REMOVE("watchdog")
/* alternate memory map */
@@ -6176,7 +6206,8 @@ MACHINE_CONFIG_DERIVED(galaxian_state::sfx, scramble_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::monsterz, sfx)
+MACHINE_CONFIG_START(galaxian_state::monsterz)
+ sfx(config);
/* alternate memory map */
MCFG_CPU_MODIFY("maincpu")
@@ -6192,13 +6223,15 @@ MACHINE_CONFIG_DERIVED(galaxian_state::monsterz, sfx)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::scobra, scramble_base)
+MACHINE_CONFIG_START(galaxian_state::scobra)
+ scramble_base(config);
/* alternate memory map */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(scobra_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::anteatergg, galaxian)
+MACHINE_CONFIG_START(galaxian_state::anteatergg)
+ galaxian(config);
/* alternate memory map */
MCFG_CPU_MODIFY("maincpu")
@@ -6253,8 +6286,9 @@ Silkscreened label: "10041"
*/
-MACHINE_CONFIG_DERIVED(galaxian_state::quaak, konami_base)
- MCFG_FRAGMENT_ADD(konami_sound_2x_ay8910)
+MACHINE_CONFIG_START(galaxian_state::quaak)
+ konami_base(config);
+ konami_sound_2x_ay8910(config);
MCFG_DEVICE_MODIFY("8910.0")
MCFG_AY8910_PORT_B_READ_CB(READ8(galaxian_state, frogger_sound_timer_r))
@@ -6264,8 +6298,9 @@ MACHINE_CONFIG_DERIVED(galaxian_state::quaak, konami_base)
MCFG_CPU_PROGRAM_MAP(scobra_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::froggeram, konami_base)
- MCFG_FRAGMENT_ADD(konami_sound_2x_ay8910)
+MACHINE_CONFIG_START(galaxian_state::froggeram)
+ konami_base(config);
+ konami_sound_2x_ay8910(config);
MCFG_DEVICE_MODIFY("8910.0")
MCFG_AY8910_PORT_B_READ_CB(READ8(galaxian_state, frogger_sound_timer_r))
@@ -6276,7 +6311,8 @@ MACHINE_CONFIG_DERIVED(galaxian_state::froggeram, konami_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::anteater, scobra)
+MACHINE_CONFIG_START(galaxian_state::anteater)
+ scobra(config);
/* quiet down the sounds */
MCFG_SOUND_MODIFY("konami")
@@ -6285,7 +6321,8 @@ MACHINE_CONFIG_DERIVED(galaxian_state::anteater, scobra)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::anteateruk, anteater)
+MACHINE_CONFIG_START(galaxian_state::anteateruk)
+ anteater(config);
/* strange memory map, maybe a kind of protection */
MCFG_CPU_MODIFY("maincpu")
@@ -6293,7 +6330,8 @@ MACHINE_CONFIG_DERIVED(galaxian_state::anteateruk, anteater)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::anteaterg, anteater)
+MACHINE_CONFIG_START(galaxian_state::anteaterg)
+ anteater(config);
/* strange memory map, maybe a kind of protection */
MCFG_CPU_MODIFY("maincpu")
@@ -6301,7 +6339,8 @@ MACHINE_CONFIG_DERIVED(galaxian_state::anteaterg, anteater)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxian_state::moonwar, scobra)
+MACHINE_CONFIG_START(galaxian_state::moonwar)
+ scobra(config);
MCFG_DEVICE_MODIFY("ppi8255_0")
MCFG_I8255_OUT_PORTC_CB(WRITE8(galaxian_state, moonwar_port_select_w))
diff --git a/src/mame/drivers/galaxold.cpp b/src/mame/drivers/galaxold.cpp
index e276f25de76..00afafb7665 100644
--- a/src/mame/drivers/galaxold.cpp
+++ b/src/mame/drivers/galaxold.cpp
@@ -2248,16 +2248,18 @@ MACHINE_CONFIG_START(galaxold_state::galaxold_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxold_state::galaxian, galaxold_base)
+MACHINE_CONFIG_START(galaxold_state::galaxian)
+ galaxold_base(config);
/* basic machine hardware */
/* sound hardware */
- MCFG_FRAGMENT_ADD(galaxian_audio)
+ galaxian_audio(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxold_state::mooncrst, galaxold_base)
+MACHINE_CONFIG_START(galaxold_state::mooncrst)
+ galaxold_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2267,7 +2269,7 @@ MACHINE_CONFIG_DERIVED(galaxold_state::mooncrst, galaxold_base)
MCFG_VIDEO_START_OVERRIDE(galaxold_state,mooncrst)
/* sound hardware */
- MCFG_FRAGMENT_ADD(mooncrst_audio)
+ mooncrst_audio(config);
MACHINE_CONFIG_END
// 'Videotron'
@@ -2276,7 +2278,8 @@ MACHINE_CONFIG_END
// but neither of the games we have (froggerv and hustlerb3) make use of either. There are a number
// of unpopulated positions on the game board which presumably can be populated with code for the
// 2nd Z80.
-MACHINE_CONFIG_DERIVED(galaxold_state::videotron, galaxian)
+MACHINE_CONFIG_START(galaxold_state::videotron)
+ galaxian(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2287,14 +2290,16 @@ MACHINE_CONFIG_DERIVED(galaxold_state::videotron, galaxian)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxold_state::porter, mooncrst)
+MACHINE_CONFIG_START(galaxold_state::porter)
+ mooncrst(config);
/* video hardware */
MCFG_VIDEO_START_OVERRIDE(galaxold_state, pisces)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxold_state::scramblb, galaxian)
+MACHINE_CONFIG_START(galaxold_state::scramblb)
+ galaxian(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2309,7 +2314,8 @@ MACHINE_CONFIG_DERIVED(galaxold_state::scramblb, galaxian)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxold_state::scramb2, galaxian)
+MACHINE_CONFIG_START(galaxold_state::scramb2)
+ galaxian(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2324,7 +2330,8 @@ MACHINE_CONFIG_DERIVED(galaxold_state::scramb2, galaxian)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxold_state::scrambler, galaxian)
+MACHINE_CONFIG_START(galaxold_state::scrambler)
+ galaxian(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2339,7 +2346,8 @@ MACHINE_CONFIG_DERIVED(galaxold_state::scrambler, galaxian)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxold_state::guttang, galaxian)
+MACHINE_CONFIG_START(galaxold_state::guttang)
+ galaxian(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2355,7 +2363,8 @@ MACHINE_CONFIG_DERIVED(galaxold_state::guttang, galaxian)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxold_state::_4in1, galaxian)
+MACHINE_CONFIG_START(galaxold_state::_4in1)
+ galaxian(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2368,7 +2377,8 @@ MACHINE_CONFIG_DERIVED(galaxold_state::_4in1, galaxian)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxold_state::bagmanmc, mooncrst)
+MACHINE_CONFIG_START(galaxold_state::bagmanmc)
+ mooncrst(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2381,7 +2391,8 @@ MACHINE_CONFIG_DERIVED(galaxold_state::bagmanmc, mooncrst)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxold_state::dkongjrm, mooncrst)
+MACHINE_CONFIG_START(galaxold_state::dkongjrm)
+ mooncrst(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2392,7 +2403,8 @@ MACHINE_CONFIG_DERIVED(galaxold_state::dkongjrm, mooncrst)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxold_state::dkongjrmc, mooncrst)
+MACHINE_CONFIG_START(galaxold_state::dkongjrmc)
+ mooncrst(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(dkongjrmc_map)
@@ -2400,7 +2412,8 @@ MACHINE_CONFIG_DERIVED(galaxold_state::dkongjrmc, mooncrst)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxold_state::rockclim, mooncrst)
+MACHINE_CONFIG_START(galaxold_state::rockclim)
+ mooncrst(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2418,7 +2431,8 @@ MACHINE_CONFIG_DERIVED(galaxold_state::rockclim, mooncrst)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxold_state::ozon1, galaxold_base)
+MACHINE_CONFIG_START(galaxold_state::ozon1)
+ galaxold_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2467,11 +2481,12 @@ MACHINE_CONFIG_START(galaxold_state::drivfrcg)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("speaker")
- MCFG_FRAGMENT_ADD(galaxian_audio)
+ galaxian_audio(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxold_state::bongo, galaxold_base)
+MACHINE_CONFIG_START(galaxold_state::bongo)
+ galaxold_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2490,7 +2505,8 @@ MACHINE_CONFIG_DERIVED(galaxold_state::bongo, galaxold_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxold_state::hunchbkg, galaxold_base)
+MACHINE_CONFIG_START(galaxold_state::hunchbkg)
+ galaxold_base(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", S2650, PIXEL_CLOCK / 4)
@@ -2505,11 +2521,12 @@ MACHINE_CONFIG_DERIVED(galaxold_state::hunchbkg, galaxold_base)
MCFG_MACHINE_RESET_OVERRIDE(galaxold_state,hunchbkg)
- MCFG_FRAGMENT_ADD(galaxian_audio)
+ galaxian_audio(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxold_state::spcwarp, hunchbkg)
+MACHINE_CONFIG_START(galaxold_state::spcwarp)
+ hunchbkg(config);
/* hunchbkg, but with a different memory map */
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2517,7 +2534,8 @@ MACHINE_CONFIG_DERIVED(galaxold_state::spcwarp, hunchbkg)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxold_state::tazzmang, galaxian)
+MACHINE_CONFIG_START(galaxold_state::tazzmang)
+ galaxian(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2581,7 +2599,8 @@ MACHINE_CONFIG_START(galaxold_state::hexpoola)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxold_state::ckongg, galaxian)
+MACHINE_CONFIG_START(galaxold_state::ckongg)
+ galaxian(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2593,7 +2612,8 @@ MACHINE_CONFIG_DERIVED(galaxold_state::ckongg, galaxian)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxold_state::ckongmc, mooncrst)
+MACHINE_CONFIG_START(galaxold_state::ckongmc)
+ mooncrst(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2605,7 +2625,8 @@ MACHINE_CONFIG_DERIVED(galaxold_state::ckongmc, mooncrst)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxold_state::bullsdrtg, hexpoola)
+MACHINE_CONFIG_START(galaxold_state::bullsdrtg)
+ hexpoola(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_DATA_MAP(bullsdrtg_data_map)
diff --git a/src/mame/drivers/galgames.cpp b/src/mame/drivers/galgames.cpp
index 7e5764b130f..6445b2bd59f 100644
--- a/src/mame/drivers/galgames.cpp
+++ b/src/mame/drivers/galgames.cpp
@@ -1005,21 +1005,24 @@ MACHINE_CONFIG_START(galgames_state::galgames_base)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galgames_state::galgbios, galgames_base)
+MACHINE_CONFIG_START(galgames_state::galgbios)
+ galgames_base(config);
MCFG_GALGAMES_EMPTY_CART_ADD("cart1", 1)
MCFG_GALGAMES_EMPTY_CART_ADD("cart2", 2)
MCFG_GALGAMES_EMPTY_CART_ADD("cart3", 3)
MCFG_GALGAMES_EMPTY_CART_ADD("cart4", 4)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galgames_state::galgame2, galgames_base)
+MACHINE_CONFIG_START(galgames_state::galgame2)
+ galgames_base(config);
MCFG_GALGAMES_STARPAK2_CART_ADD("cart1", 1)
MCFG_GALGAMES_EMPTY_CART_ADD("cart2", 2)
MCFG_GALGAMES_EMPTY_CART_ADD("cart3", 3)
MCFG_GALGAMES_EMPTY_CART_ADD("cart4", 4)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galgames_state::galgame3, galgames_base)
+MACHINE_CONFIG_START(galgames_state::galgame3)
+ galgames_base(config);
MCFG_GALGAMES_STARPAK3_CART_ADD("cart1", 1)
MCFG_GALGAMES_EMPTY_CART_ADD("cart2", 2)
MCFG_GALGAMES_EMPTY_CART_ADD("cart3", 3)
diff --git a/src/mame/drivers/galivan.cpp b/src/mame/drivers/galivan.cpp
index e715d58e5b2..b5781e48fac 100644
--- a/src/mame/drivers/galivan.cpp
+++ b/src/mame/drivers/galivan.cpp
@@ -521,7 +521,8 @@ MACHINE_CONFIG_START(galivan_state::ninjemak)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galivan_state::youmab, ninjemak)
+MACHINE_CONFIG_START(galivan_state::youmab)
+ ninjemak(config);
MCFG_DEVICE_REMOVE("nb1414m4")
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/galpanic.cpp b/src/mame/drivers/galpanic.cpp
index 8fba54894a1..178d8be56c7 100644
--- a/src/mame/drivers/galpanic.cpp
+++ b/src/mame/drivers/galpanic.cpp
@@ -266,7 +266,8 @@ MACHINE_CONFIG_START(galpanic_state::galpanic)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galpanic_state::galpanica, galpanic)
+MACHINE_CONFIG_START(galpanic_state::galpanica)
+ galpanic(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(galpanica_map)
diff --git a/src/mame/drivers/gamecstl.cpp b/src/mame/drivers/gamecstl.cpp
index 2c8d5f44a39..22dfabe0dda 100644
--- a/src/mame/drivers/gamecstl.cpp
+++ b/src/mame/drivers/gamecstl.cpp
@@ -438,7 +438,7 @@ MACHINE_CONFIG_START(gamecstl_state::gamecstl)
MCFG_CPU_IO_MAP(gamecstl_io)
MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb)
- MCFG_FRAGMENT_ADD( pcat_common )
+ pcat_common(config);
MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0)
MCFG_PCI_BUS_LEGACY_DEVICE(0, nullptr, intel82439tx_pci_r, intel82439tx_pci_w)
diff --git a/src/mame/drivers/gameking.cpp b/src/mame/drivers/gameking.cpp
index 8255ef8fcfa..b205eb639e8 100644
--- a/src/mame/drivers/gameking.cpp
+++ b/src/mame/drivers/gameking.cpp
@@ -303,11 +303,13 @@ MACHINE_CONFIG_START(gameking_state::gameking)
MCFG_GENERIC_LOAD(gameking_state, gameking_cart)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gameking_state::gameking1, gameking)
+MACHINE_CONFIG_START(gameking_state::gameking1)
+ gameking(config);
MCFG_SOFTWARE_LIST_ADD("cart_list", "gameking")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gameking_state::gameking3, gameking)
+MACHINE_CONFIG_START(gameking_state::gameking3)
+ gameking(config);
MCFG_SOFTWARE_LIST_ADD("cart_list", "gameking")
MCFG_SOFTWARE_LIST_ADD("cart_list_3", "gameking3")
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/gameplan.cpp b/src/mame/drivers/gameplan.cpp
index 9757dfebff9..fde843f09bc 100644
--- a/src/mame/drivers/gameplan.cpp
+++ b/src/mame/drivers/gameplan.cpp
@@ -973,7 +973,7 @@ MACHINE_CONFIG_START(gameplan_state::gameplan)
MCFG_MACHINE_RESET_OVERRIDE(gameplan_state,gameplan)
/* video hardware */
- MCFG_FRAGMENT_ADD(gameplan_video)
+ gameplan_video(config);
/* audio hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1005,7 +1005,8 @@ MACHINE_CONFIG_START(gameplan_state::gameplan)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gameplan_state::leprechn, gameplan)
+MACHINE_CONFIG_START(gameplan_state::leprechn)
+ gameplan(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(LEPRECHAUN_MAIN_CPU_CLOCK)
@@ -1014,7 +1015,7 @@ MACHINE_CONFIG_DERIVED(gameplan_state::leprechn, gameplan)
MCFG_CPU_PROGRAM_MAP(leprechn_audio_map)
/* video hardware */
- MCFG_FRAGMENT_ADD(leprechn_video)
+ leprechn_video(config);
/* via */
MCFG_DEVICE_MODIFY("via6522_0")
diff --git a/src/mame/drivers/gammagic.cpp b/src/mame/drivers/gammagic.cpp
index 5ab99ffd906..85167b30d57 100644
--- a/src/mame/drivers/gammagic.cpp
+++ b/src/mame/drivers/gammagic.cpp
@@ -132,7 +132,7 @@ MACHINE_CONFIG_START(gammagic_state::gammagic)
MCFG_CPU_IO_MAP(gammagic_io)
MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb)
- MCFG_FRAGMENT_ADD( pcat_common )
+ pcat_common(config);
// MCFG_I82371SB_ADD("i82371sb")
// MCFG_I82439TX_ADD("i82439tx", "maincpu", "user")
@@ -140,7 +140,7 @@ MACHINE_CONFIG_START(gammagic_state::gammagic)
// MCFG_PCI_BUS_DEVICE(0, "i82439tx", i82439tx_pci_read, i82439tx_pci_write)
// MCFG_PCI_BUS_DEVICE(1, "i82371sb", i82371sb_pci_read, i82371sb_pci_write)
/* video hardware */
- MCFG_FRAGMENT_ADD( pcvideo_vga )
+ pcvideo_vga(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/gaplus.cpp b/src/mame/drivers/gaplus.cpp
index 670b8b64391..8f2899596fa 100644
--- a/src/mame/drivers/gaplus.cpp
+++ b/src/mame/drivers/gaplus.cpp
@@ -581,7 +581,8 @@ MACHINE_CONFIG_START(gaplus_state::gaplus)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gaplus_state::gaplusd, gaplus)
+MACHINE_CONFIG_START(gaplus_state::gaplusd)
+ gaplus(config);
MCFG_DEVICE_REPLACE("namcoio_1", NAMCO_58XX, 0)
MCFG_NAMCO58XX_IN_0_CB(IOPORT("COINS"))
@@ -596,7 +597,8 @@ MACHINE_CONFIG_DERIVED(gaplus_state::gaplusd, gaplus)
MCFG_NAMCO56XX_IN_3_CB(IOPORT("DSWA_LOW"))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gaplus_state::gapluso, gaplusd)
+MACHINE_CONFIG_START(gaplus_state::gapluso)
+ gaplusd(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/gauntlet.cpp b/src/mame/drivers/gauntlet.cpp
index 6ad6c2c6e57..8c2dfbc7470 100644
--- a/src/mame/drivers/gauntlet.cpp
+++ b/src/mame/drivers/gauntlet.cpp
@@ -551,22 +551,26 @@ MACHINE_CONFIG_START(gauntlet_state::gauntlet_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gauntlet_state::gauntlet, gauntlet_base)
+MACHINE_CONFIG_START(gauntlet_state::gauntlet)
+ gauntlet_base(config);
MCFG_SLAPSTIC_ADD("slapstic", 104)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gauntlet_state::gaunt2p, gauntlet_base)
+MACHINE_CONFIG_START(gauntlet_state::gaunt2p)
+ gauntlet_base(config);
MCFG_SLAPSTIC_ADD("slapstic", 107)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gauntlet_state::gauntlet2, gauntlet_base)
+MACHINE_CONFIG_START(gauntlet_state::gauntlet2)
+ gauntlet_base(config);
MCFG_SLAPSTIC_ADD("slapstic", 106)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gauntlet_state::vindctr2, gauntlet_base)
+MACHINE_CONFIG_START(gauntlet_state::vindctr2)
+ gauntlet_base(config);
MCFG_SLAPSTIC_ADD("slapstic", 118)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/gb.cpp b/src/mame/drivers/gb.cpp
index 07b1fcf2f56..3ea855c177e 100644
--- a/src/mame/drivers/gb.cpp
+++ b/src/mame/drivers/gb.cpp
@@ -685,7 +685,8 @@ MACHINE_CONFIG_START(gb_state::supergb)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gb_state::supergb2, gameboy)
+MACHINE_CONFIG_START(gb_state::supergb2)
+ gameboy(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(sgb_map)
@@ -709,7 +710,8 @@ MACHINE_CONFIG_DERIVED(gb_state::supergb2, gameboy)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gb_state::gbpocket, gameboy)
+MACHINE_CONFIG_START(gb_state::gbpocket)
+ gameboy(config);
/* video hardware */
MCFG_PALETTE_MODIFY("palette")
diff --git a/src/mame/drivers/gberet.cpp b/src/mame/drivers/gberet.cpp
index eb7b908c666..e84e83e2635 100644
--- a/src/mame/drivers/gberet.cpp
+++ b/src/mame/drivers/gberet.cpp
@@ -438,7 +438,8 @@ MACHINE_CONFIG_START(gberet_state::gberet)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gberet_state::mrgoemon, gberet)
+MACHINE_CONFIG_START(gberet_state::mrgoemon)
+ gberet(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/gei.cpp b/src/mame/drivers/gei.cpp
index 4620ab26b0e..e373b294c18 100644
--- a/src/mame/drivers/gei.cpp
+++ b/src/mame/drivers/gei.cpp
@@ -998,7 +998,8 @@ MACHINE_CONFIG_START(gei_state::getrivia)
MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gei_state::findout, getrivia)
+MACHINE_CONFIG_START(gei_state::findout)
+ getrivia(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(findout_map)
@@ -1010,7 +1011,8 @@ MACHINE_CONFIG_DERIVED(gei_state::findout, getrivia)
MCFG_I8255_IN_PORTC_CB(READ8(gei_state, portC_r))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gei_state::quizvid, findout)
+MACHINE_CONFIG_START(gei_state::quizvid)
+ findout(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(quizvid_map)
@@ -1019,7 +1021,8 @@ MACHINE_CONFIG_DERIVED(gei_state::quizvid, findout)
MCFG_PALETTE_ADD_3BIT_GRB("palette")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gei_state::gselect, getrivia)
+MACHINE_CONFIG_START(gei_state::gselect)
+ getrivia(config);
/* basic machine hardware */
@@ -1043,7 +1046,8 @@ MACHINE_CONFIG_DERIVED(gei_state::gselect, getrivia)
MCFG_I8255_OUT_PORTC_CB(WRITE8(gei_state, nmi_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gei_state::jokpokera, getrivia)
+MACHINE_CONFIG_START(gei_state::jokpokera)
+ getrivia(config);
/* basic machine hardware */
@@ -1053,7 +1057,8 @@ MACHINE_CONFIG_DERIVED(gei_state::jokpokera, getrivia)
MCFG_CPU_PROGRAM_MAP(gselect_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gei_state::amuse, getrivia)
+MACHINE_CONFIG_START(gei_state::amuse)
+ getrivia(config);
/* basic machine hardware */
@@ -1061,7 +1066,8 @@ MACHINE_CONFIG_DERIVED(gei_state::amuse, getrivia)
MCFG_CPU_PROGRAM_MAP(amuse_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gei_state::gepoker, getrivia)
+MACHINE_CONFIG_START(gei_state::gepoker)
+ getrivia(config);
/* basic machine hardware */
@@ -1069,19 +1075,22 @@ MACHINE_CONFIG_DERIVED(gei_state::gepoker, getrivia)
MCFG_CPU_PROGRAM_MAP(gepoker_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gei_state::amuse1, getrivia)
+MACHINE_CONFIG_START(gei_state::amuse1)
+ getrivia(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(amuse1_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gei_state::suprpokr, getrivia)
+MACHINE_CONFIG_START(gei_state::suprpokr)
+ getrivia(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(suprpokr_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gei_state::sprtauth, getrivia)
+MACHINE_CONFIG_START(gei_state::sprtauth)
+ getrivia(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(sprtauth_map)
diff --git a/src/mame/drivers/geniusiq.cpp b/src/mame/drivers/geniusiq.cpp
index 5747007752e..289b9f9f066 100644
--- a/src/mame/drivers/geniusiq.cpp
+++ b/src/mame/drivers/geniusiq.cpp
@@ -722,7 +722,8 @@ MACHINE_CONFIG_START(geniusiq_state::iq128)
MCFG_SOFTWARE_LIST_ADD("cart_list", "iq128")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(geniusiq_state::iqtv512, iq128)
+MACHINE_CONFIG_START(geniusiq_state::iqtv512)
+ iq128(config);
/* internal flash */
MCFG_DEVICE_REMOVE("flash")
MCFG_AMD_29F040_ADD("flash")
diff --git a/src/mame/drivers/genpc.cpp b/src/mame/drivers/genpc.cpp
index 6f110ba5a60..6f6a8ee9e22 100644
--- a/src/mame/drivers/genpc.cpp
+++ b/src/mame/drivers/genpc.cpp
@@ -79,13 +79,15 @@ MACHINE_CONFIG_START(genpc_state::pcmda)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(genpc_state::pcherc, pcmda)
+MACHINE_CONFIG_START(genpc_state::pcherc)
+ pcmda(config);
MCFG_DEVICE_MODIFY("isa1")
MCFG_DEVICE_SLOT_INTERFACE(pc_isa8_cards, "hercules", false)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(genpc_state::pccga, pcmda)
+MACHINE_CONFIG_START(genpc_state::pccga)
+ pcmda(config);
MCFG_DEVICE_MODIFY("mb")
MCFG_DEVICE_INPUT_DEFAULTS(cga)
MCFG_DEVICE_MODIFY("isa1")
@@ -93,7 +95,8 @@ MACHINE_CONFIG_DERIVED(genpc_state::pccga, pcmda)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(genpc_state::pcega, pccga)
+MACHINE_CONFIG_START(genpc_state::pcega)
+ pccga(config);
MCFG_DEVICE_MODIFY("isa1")
MCFG_DEVICE_SLOT_INTERFACE(pc_isa8_cards, "ega", false)
MCFG_DEVICE_MODIFY("mb")
@@ -101,7 +104,8 @@ MACHINE_CONFIG_DERIVED(genpc_state::pcega, pccga)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(genpc_state::pcvga, pcega)
+MACHINE_CONFIG_START(genpc_state::pcvga)
+ pcega(config);
MCFG_DEVICE_MODIFY("isa1")
MCFG_DEVICE_SLOT_INTERFACE(pc_isa8_cards, "vga", false)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/ghosteo.cpp b/src/mame/drivers/ghosteo.cpp
index c85a4dbf423..955295cac7a 100644
--- a/src/mame/drivers/ghosteo.cpp
+++ b/src/mame/drivers/ghosteo.cpp
@@ -665,14 +665,16 @@ MACHINE_CONFIG_START(ghosteo_state::ghosteo)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ghosteo_state::bballoon, ghosteo)
+MACHINE_CONFIG_START(ghosteo_state::bballoon)
+ ghosteo(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(bballoon_map)
MCFG_I2CMEM_ADD("i2cmem")
MCFG_I2CMEM_DATA_SIZE(256)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ghosteo_state::touryuu, ghosteo)
+MACHINE_CONFIG_START(ghosteo_state::touryuu)
+ ghosteo(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(touryuu_map)
MCFG_I2CMEM_ADD("i2cmem")
diff --git a/src/mame/drivers/gkigt.cpp b/src/mame/drivers/gkigt.cpp
index cce62f3143d..2009ed09ca4 100644
--- a/src/mame/drivers/gkigt.cpp
+++ b/src/mame/drivers/gkigt.cpp
@@ -642,7 +642,8 @@ MACHINE_CONFIG_START(igt_gameking_state::igt_gameking)
MCFG_NVRAM_ADD_1FILL("nvram")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(igt_gameking_state::igt_ms72c, igt_gameking)
+MACHINE_CONFIG_START(igt_gameking_state::igt_ms72c)
+ igt_gameking(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(igt_ms72c_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/glasgow.cpp b/src/mame/drivers/glasgow.cpp
index b3a4a16a6b1..aab161e606f 100644
--- a/src/mame/drivers/glasgow.cpp
+++ b/src/mame/drivers/glasgow.cpp
@@ -728,13 +728,15 @@ MACHINE_CONFIG_START(glasgow_state::glasgow)
MCFG_TIMER_DRIVER_ADD_PERIODIC("nmi_timer", glasgow_state, update_nmi, attotime::from_hz(50))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(glasgow_state::amsterd, glasgow)
+MACHINE_CONFIG_START(glasgow_state::amsterd)
+ glasgow(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(amsterd_mem)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(glasgow_state::dallas32, glasgow)
+MACHINE_CONFIG_START(glasgow_state::dallas32)
+ glasgow(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", M68020, 14000000)
MCFG_CPU_PROGRAM_MAP(dallas32_mem)
diff --git a/src/mame/drivers/glass.cpp b/src/mame/drivers/glass.cpp
index 9571ef39bca..9955867a9bc 100644
--- a/src/mame/drivers/glass.cpp
+++ b/src/mame/drivers/glass.cpp
@@ -263,7 +263,8 @@ MACHINE_CONFIG_START(glass_state::glass)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(glass_state::glass_ds5002fp, glass)
+MACHINE_CONFIG_START(glass_state::glass_ds5002fp)
+ glass(config);
MCFG_DEVICE_ADD("gaelco_ds5002fp", GAELCO_DS5002FP, XTAL(24'000'000) / 2) /* verified on pcb */
MCFG_DEVICE_ADDRESS_MAP(0, mcu_hostmem_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/gng.cpp b/src/mame/drivers/gng.cpp
index 9b8d156b83c..a91bff687c3 100644
--- a/src/mame/drivers/gng.cpp
+++ b/src/mame/drivers/gng.cpp
@@ -438,7 +438,8 @@ MACHINE_CONFIG_START(gng_state::gng)
MCFG_SOUND_ROUTE(3, "mono", 0.20)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gng_state::diamond, gng)
+MACHINE_CONFIG_START(gng_state::diamond)
+ gng(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(diamond_map)
diff --git a/src/mame/drivers/goldngam.cpp b/src/mame/drivers/goldngam.cpp
index 1abe473d1e4..f13a4c05210 100644
--- a/src/mame/drivers/goldngam.cpp
+++ b/src/mame/drivers/goldngam.cpp
@@ -579,7 +579,8 @@ MACHINE_CONFIG_START(goldngam_state::swisspkr)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(goldngam_state::moviecrd, swisspkr)
+MACHINE_CONFIG_START(goldngam_state::moviecrd)
+ swisspkr(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/goldnpkr.cpp b/src/mame/drivers/goldnpkr.cpp
index c7d01c48928..82655adcf4d 100644
--- a/src/mame/drivers/goldnpkr.cpp
+++ b/src/mame/drivers/goldnpkr.cpp
@@ -4317,7 +4317,8 @@ MACHINE_CONFIG_START(goldnpkr_state::goldnpkr_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(goldnpkr_state::goldnpkr, goldnpkr_base)
+MACHINE_CONFIG_START(goldnpkr_state::goldnpkr)
+ goldnpkr_base(config);
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -4327,7 +4328,8 @@ MACHINE_CONFIG_DERIVED(goldnpkr_state::goldnpkr, goldnpkr_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(goldnpkr_state::pottnpkr, goldnpkr_base)
+MACHINE_CONFIG_START(goldnpkr_state::pottnpkr)
+ goldnpkr_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -4345,7 +4347,8 @@ MACHINE_CONFIG_DERIVED(goldnpkr_state::pottnpkr, goldnpkr_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(goldnpkr_state::witchcrd, goldnpkr_base)
+MACHINE_CONFIG_START(goldnpkr_state::witchcrd)
+ goldnpkr_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -4367,7 +4370,8 @@ MACHINE_CONFIG_DERIVED(goldnpkr_state::witchcrd, goldnpkr_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(goldnpkr_state::wcfalcon, goldnpkr_base)
+MACHINE_CONFIG_START(goldnpkr_state::wcfalcon)
+ goldnpkr_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -4390,7 +4394,8 @@ MACHINE_CONFIG_DERIVED(goldnpkr_state::wcfalcon, goldnpkr_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(goldnpkr_state::wildcard, goldnpkr_base)
+MACHINE_CONFIG_START(goldnpkr_state::wildcard)
+ goldnpkr_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -4414,7 +4419,8 @@ MACHINE_CONFIG_DERIVED(goldnpkr_state::wildcard, goldnpkr_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(goldnpkr_state::wcrdxtnd, goldnpkr_base)
+MACHINE_CONFIG_START(goldnpkr_state::wcrdxtnd)
+ goldnpkr_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -4438,7 +4444,8 @@ MACHINE_CONFIG_DERIVED(goldnpkr_state::wcrdxtnd, goldnpkr_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(goldnpkr_state::wildcrdb, goldnpkr_base)
+MACHINE_CONFIG_START(goldnpkr_state::wildcrdb)
+ goldnpkr_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -4467,7 +4474,8 @@ MACHINE_CONFIG_DERIVED(goldnpkr_state::wildcrdb, goldnpkr_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(goldnpkr_state::genie, goldnpkr_base)
+MACHINE_CONFIG_START(goldnpkr_state::genie)
+ goldnpkr_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -4489,7 +4497,8 @@ MACHINE_CONFIG_DERIVED(goldnpkr_state::genie, goldnpkr_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(goldnpkr_state::geniea, goldnpkr_base)
+MACHINE_CONFIG_START(goldnpkr_state::geniea)
+ goldnpkr_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -4511,7 +4520,8 @@ MACHINE_CONFIG_DERIVED(goldnpkr_state::geniea, goldnpkr_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(goldnpkr_state::mondial, goldnpkr_base)
+MACHINE_CONFIG_START(goldnpkr_state::mondial)
+ goldnpkr_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -4527,7 +4537,8 @@ MACHINE_CONFIG_DERIVED(goldnpkr_state::mondial, goldnpkr_base)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(goldnpkr_state::bchancep, goldnpkr_base)
+MACHINE_CONFIG_START(goldnpkr_state::bchancep)
+ goldnpkr_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/goldstar.cpp b/src/mame/drivers/goldstar.cpp
index 8fd767811e7..d6ef9482f94 100644
--- a/src/mame/drivers/goldstar.cpp
+++ b/src/mame/drivers/goldstar.cpp
@@ -8134,11 +8134,13 @@ MACHINE_CONFIG_START(goldstar_state::goldstbl)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(goldstar_state::moonlght, goldstbl)
+MACHINE_CONFIG_START(goldstar_state::moonlght)
+ goldstbl(config);
MCFG_GFXDECODE_MODIFY("gfxdecode", ml)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(goldstar_state::goldfrui, goldstbl)
+MACHINE_CONFIG_START(goldstar_state::goldfrui)
+ goldstbl(config);
MCFG_GFXDECODE_MODIFY("gfxdecode", goldfrui)
MACHINE_CONFIG_END
@@ -8329,23 +8331,28 @@ MACHINE_CONFIG_START(cb3_state::ncb3)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cb3_state::cb3c, ncb3)
+MACHINE_CONFIG_START(cb3_state::cb3c)
+ ncb3(config);
MCFG_GFXDECODE_MODIFY("gfxdecode", cb3c)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cb3_state::cb3e, ncb3)
+MACHINE_CONFIG_START(cb3_state::cb3e)
+ ncb3(config);
MCFG_GFXDECODE_MODIFY("gfxdecode", cb3e)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cb3_state::chrygld, ncb3)
+MACHINE_CONFIG_START(cb3_state::chrygld)
+ ncb3(config);
MCFG_GFXDECODE_MODIFY("gfxdecode", chry10)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cb3_state::cherrys, ncb3)
+MACHINE_CONFIG_START(cb3_state::cherrys)
+ ncb3(config);
MCFG_GFXDECODE_MODIFY("gfxdecode", cherrys)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cb3_state::cm97, ncb3)
+MACHINE_CONFIG_START(cb3_state::cm97)
+ ncb3(config);
MCFG_GFXDECODE_MODIFY("gfxdecode", cm97)
MACHINE_CONFIG_END
@@ -8441,7 +8448,8 @@ MACHINE_CONFIG_START(cmaster_state::cm)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cmaster_state::cmasterc, cm)
+MACHINE_CONFIG_START(cmaster_state::cmasterc)
+ cm(config);
MCFG_GFXDECODE_MODIFY("gfxdecode", cmasterc)
MACHINE_CONFIG_END
@@ -8605,12 +8613,14 @@ MACHINE_CONFIG_START(wingco_state::bingowng)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(wingco_state::bingownga, bingowng)
+MACHINE_CONFIG_START(wingco_state::bingownga)
+ bingowng(config);
MCFG_GFXDECODE_MODIFY("gfxdecode", bingownga)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(wingco_state::flam7_w4, lucky8)
+MACHINE_CONFIG_START(wingco_state::flam7_w4)
+ lucky8(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(flaming7_map)
@@ -8621,7 +8631,8 @@ MACHINE_CONFIG_DERIVED(wingco_state::flam7_w4, lucky8)
MCFG_DS2401_ADD("fl7w4_id")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(wingco_state::flaming7, lucky8)
+MACHINE_CONFIG_START(wingco_state::flaming7)
+ lucky8(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(flaming7_map)
@@ -8635,7 +8646,8 @@ MACHINE_CONFIG_DERIVED(wingco_state::flaming7, lucky8)
MCFG_DS2401_ADD("fl7w4_id")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(wingco_state::flam7_tw, lucky8)
+MACHINE_CONFIG_START(wingco_state::flam7_tw)
+ lucky8(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(flaming7_map)
@@ -8649,7 +8661,8 @@ MACHINE_CONFIG_DERIVED(wingco_state::flam7_tw, lucky8)
MCFG_DS2401_ADD("fl7w4_id")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(wingco_state::mbstar, lucky8)
+MACHINE_CONFIG_START(wingco_state::mbstar)
+ lucky8(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(mbstar_map)
@@ -8919,7 +8932,8 @@ MACHINE_CONFIG_END
/* diff with cm machine driver: gfxdecode, OKI, portmap & tilemaps rect size/position */
-MACHINE_CONFIG_DERIVED(cmaster_state::amcoe1a, amcoe1)
+MACHINE_CONFIG_START(cmaster_state::amcoe1a)
+ amcoe1(config);
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -8970,7 +8984,8 @@ MACHINE_CONFIG_START(cmaster_state::amcoe2)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 2.00) /* analyzed for clips */
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cmaster_state::nfm, amcoe2)
+MACHINE_CONFIG_START(cmaster_state::nfm)
+ amcoe2(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/goodejan.cpp b/src/mame/drivers/goodejan.cpp
index ec5c28d5be6..e87a9b275a3 100644
--- a/src/mame/drivers/goodejan.cpp
+++ b/src/mame/drivers/goodejan.cpp
@@ -683,7 +683,8 @@ MACHINE_CONFIG_START(goodejan_state::goodejan)
MCFG_SEIBU_SOUND_YM_WRITE_CB(DEVWRITE8("ymsnd", ym3812_device, write))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(goodejan_state::totmejan, goodejan)
+MACHINE_CONFIG_START(goodejan_state::totmejan)
+ goodejan(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(totmejan_io_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/gottlieb.cpp b/src/mame/drivers/gottlieb.cpp
index 5ca6c75369f..17da3a6cf63 100644
--- a/src/mame/drivers/gottlieb.cpp
+++ b/src/mame/drivers/gottlieb.cpp
@@ -1789,19 +1789,22 @@ MACHINE_CONFIG_START(gottlieb_state::gottlieb_core)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gottlieb_state::gottlieb1, gottlieb_core)
+MACHINE_CONFIG_START(gottlieb_state::gottlieb1)
+ gottlieb_core(config);
MCFG_SOUND_ADD("r1sound", GOTTLIEB_SOUND_REV1, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gottlieb_state::gottlieb2, gottlieb_core)
+MACHINE_CONFIG_START(gottlieb_state::gottlieb2)
+ gottlieb_core(config);
MCFG_SOUND_ADD("r2sound", GOTTLIEB_SOUND_REV2, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gottlieb_state::g2laser, gottlieb_core)
+MACHINE_CONFIG_START(gottlieb_state::g2laser)
+ gottlieb_core(config);
MCFG_SOUND_ADD("r2sound", GOTTLIEB_SOUND_REV2, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
@@ -1826,13 +1829,15 @@ MACHINE_CONFIG_END
*************************************/
-MACHINE_CONFIG_DERIVED(gottlieb_state::gottlieb1_votrax, gottlieb_core)
+MACHINE_CONFIG_START(gottlieb_state::gottlieb1_votrax)
+ gottlieb_core(config);
MCFG_SOUND_ADD("r1sound", GOTTLIEB_SOUND_REV1_VOTRAX, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gottlieb_state::reactor, gottlieb1_votrax)
+MACHINE_CONFIG_START(gottlieb_state::reactor)
+ gottlieb1_votrax(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1842,23 +1847,27 @@ MACHINE_CONFIG_DERIVED(gottlieb_state::reactor, gottlieb1_votrax)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gottlieb_state::qbert, gottlieb1_votrax)
+MACHINE_CONFIG_START(gottlieb_state::qbert)
+ gottlieb1_votrax(config);
/* sound hardware */
- MCFG_FRAGMENT_ADD(qbert_knocker)
+ qbert_knocker(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gottlieb_state::tylz, gottlieb1_votrax)
+MACHINE_CONFIG_START(gottlieb_state::tylz)
+ gottlieb1_votrax(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gottlieb_state::screwloo, gottlieb2)
+MACHINE_CONFIG_START(gottlieb_state::screwloo)
+ gottlieb2(config);
MCFG_VIDEO_START_OVERRIDE(gottlieb_state,screwloo)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gottlieb_state::cobram3, gottlieb_core)
+MACHINE_CONFIG_START(gottlieb_state::cobram3)
+ gottlieb_core(config);
MCFG_SOUND_ADD("r2sound", GOTTLIEB_SOUND_REV2, 0)
MCFG_GOTTLIEB_ENABLE_COBRAM3_MODS()
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
diff --git a/src/mame/drivers/gp_1.cpp b/src/mame/drivers/gp_1.cpp
index 9522c84e68e..f6602dd54c9 100644
--- a/src/mame/drivers/gp_1.cpp
+++ b/src/mame/drivers/gp_1.cpp
@@ -438,7 +438,7 @@ MACHINE_CONFIG_START(gp_1_state::gp_1)
MCFG_DEFAULT_LAYOUT(layout_gp_1)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
/* Devices */
MCFG_DEVICE_ADD("ppi", I8255A, 0 )
@@ -451,7 +451,8 @@ MACHINE_CONFIG_START(gp_1_state::gp_1)
MCFG_TIMER_DRIVER_ADD_PERIODIC("gp1", gp_1_state, zero_timer, attotime::from_hz(120)) // mains freq*2
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gp_1_state::gp_1s, gp_1)
+MACHINE_CONFIG_START(gp_1_state::gp_1s)
+ gp_1(config);
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("snsnd", SN76477, 0)
MCFG_SN76477_NOISE_PARAMS(0, 0, 0) // noise + filter: N/C
diff --git a/src/mame/drivers/gp_2.cpp b/src/mame/drivers/gp_2.cpp
index e5d4bf22788..ad57905dd6c 100644
--- a/src/mame/drivers/gp_2.cpp
+++ b/src/mame/drivers/gp_2.cpp
@@ -587,7 +587,7 @@ MACHINE_CONFIG_START(gp_2_state::gp_2)
MCFG_DEFAULT_LAYOUT(layout_gp_2)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
/* Devices */
MCFG_DEVICE_ADD("ppi", I8255A, 0 )
diff --git a/src/mame/drivers/gridcomp.cpp b/src/mame/drivers/gridcomp.cpp
index 8055d4a9bf7..04e46f1ba34 100644
--- a/src/mame/drivers/gridcomp.cpp
+++ b/src/mame/drivers/gridcomp.cpp
@@ -401,29 +401,34 @@ MACHINE_CONFIG_START(gridcomp_state::grid1101)
MCFG_RAM_DEFAULT_VALUE(0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gridcomp_state::grid1109, grid1101)
+MACHINE_CONFIG_START(gridcomp_state::grid1109)
+ grid1101(config);
MCFG_DEVICE_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("512K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gridcomp_state::grid1121, grid1101)
+MACHINE_CONFIG_START(gridcomp_state::grid1121)
+ grid1101(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(XTAL(24'000'000) / 3) // XXX
MCFG_CPU_PROGRAM_MAP(grid1121_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gridcomp_state::grid1129, grid1121)
+MACHINE_CONFIG_START(gridcomp_state::grid1129)
+ grid1121(config);
MCFG_DEVICE_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("512K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gridcomp_state::grid1131, grid1121)
+MACHINE_CONFIG_START(gridcomp_state::grid1131)
+ grid1121(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(gridcomp_state, screen_update_113x)
MCFG_SCREEN_RAW_PARAMS(XTAL(15'000'000)/2, 720, 0, 512, 262, 0, 240) // XXX
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gridcomp_state::grid1139, grid1131)
+MACHINE_CONFIG_START(gridcomp_state::grid1139)
+ grid1131(config);
MCFG_DEVICE_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("512K")
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/gstriker.cpp b/src/mame/drivers/gstriker.cpp
index 1692731e0bc..0bab83e941d 100644
--- a/src/mame/drivers/gstriker.cpp
+++ b/src/mame/drivers/gstriker.cpp
@@ -558,7 +558,8 @@ MACHINE_CONFIG_START(gstriker_state::gstriker)
MCFG_SOUND_ROUTE(2, "rspeaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gstriker_state::twc94, gstriker)
+MACHINE_CONFIG_START(gstriker_state::twc94)
+ gstriker(config);
MCFG_CPU_REPLACE("maincpu", M68000, 16000000)
MCFG_CPU_PROGRAM_MAP(twcup94_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", gstriker_state, irq1_line_hold)
@@ -571,7 +572,8 @@ MACHINE_CONFIG_DERIVED(gstriker_state::twc94, gstriker)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gstriker_state::vgoal, twc94)
+MACHINE_CONFIG_START(gstriker_state::vgoal)
+ twc94(config);
MCFG_DEVICE_MODIFY("vsystem_spr")
MCFG_VSYSTEM_SPR_SET_TRANSPEN(0xf) // different vs. the other games, find register
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/gticlub.cpp b/src/mame/drivers/gticlub.cpp
index 709804c21da..f9006f2a805 100644
--- a/src/mame/drivers/gticlub.cpp
+++ b/src/mame/drivers/gticlub.cpp
@@ -1017,7 +1017,8 @@ MACHINE_CONFIG_START(gticlub_state::gticlub)
MCFG_KONPPC_CGBOARD_TYPE(GTICLUB)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gticlub_state::thunderh, gticlub)
+MACHINE_CONFIG_START(gticlub_state::thunderh)
+ gticlub(config);
MCFG_DEVICE_REMOVE("adc1038")
MCFG_DEVICE_ADD("adc1038", ADC1038, 0)
@@ -1029,7 +1030,8 @@ MACHINE_CONFIG_DERIVED(gticlub_state::thunderh, gticlub)
MCFG_K056230_HACK(1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gticlub_state::slrasslt, gticlub)
+MACHINE_CONFIG_START(gticlub_state::slrasslt)
+ gticlub(config);
MCFG_DEVICE_REMOVE("adc1038")
MCFG_DEVICE_ADD("adc1038", ADC1038, 0)
diff --git a/src/mame/drivers/gts1.cpp b/src/mame/drivers/gts1.cpp
index 8c386de3a12..93458345dbd 100644
--- a/src/mame/drivers/gts1.cpp
+++ b/src/mame/drivers/gts1.cpp
@@ -721,7 +721,7 @@ MACHINE_CONFIG_START(gts1_state::gts1)
MCFG_DEFAULT_LAYOUT( layout_gts1 )
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/gts3.cpp b/src/mame/drivers/gts3.cpp
index 0b72559796f..e9f69e03ab1 100644
--- a/src/mame/drivers/gts3.cpp
+++ b/src/mame/drivers/gts3.cpp
@@ -286,7 +286,7 @@ MACHINE_CONFIG_START(gts3_state::gts3)
MCFG_DEFAULT_LAYOUT(layout_gts3)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MCFG_DEVICE_ADD("u4", VIA6522, XTAL(4'000'000) / 2)
MCFG_VIA6522_IRQ_HANDLER(INPUTLINE("maincpu", M65C02_IRQ_LINE))
diff --git a/src/mame/drivers/gts3a.cpp b/src/mame/drivers/gts3a.cpp
index 0026c61ca8c..d882b2f0ef6 100644
--- a/src/mame/drivers/gts3a.cpp
+++ b/src/mame/drivers/gts3a.cpp
@@ -358,7 +358,7 @@ MACHINE_CONFIG_START(gts3a_state::gts3a)
MCFG_MC6845_UPDATE_ROW_CB(gts3a_state, crtc_update_row)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MCFG_DEVICE_ADD("u4", VIA6522, XTAL(4'000'000) / 2)
MCFG_VIA6522_IRQ_HANDLER(INPUTLINE("maincpu", M65C02_IRQ_LINE))
diff --git a/src/mame/drivers/gts80.cpp b/src/mame/drivers/gts80.cpp
index 8ffea73ee72..8ba2a76543c 100644
--- a/src/mame/drivers/gts80.cpp
+++ b/src/mame/drivers/gts80.cpp
@@ -380,21 +380,24 @@ MACHINE_CONFIG_START(gts80_state::gts80)
MCFG_RIOT6532_IRQ_CB(INPUTLINE("maincpu", M6502_IRQ_LINE))
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MCFG_SPEAKER_STANDARD_MONO("speaker")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gts80_state::gts80_s, gts80)
+MACHINE_CONFIG_START(gts80_state::gts80_s)
+ gts80(config);
MCFG_SOUND_ADD("r0sound", GOTTLIEB_SOUND_REV0, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gts80_state::gts80_hh, gts80)
+MACHINE_CONFIG_START(gts80_state::gts80_hh)
+ gts80(config);
MCFG_SOUND_ADD("r1sound", GOTTLIEB_SOUND_REV1, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gts80_state::gts80_ss, gts80)
+MACHINE_CONFIG_START(gts80_state::gts80_ss)
+ gts80(config);
MCFG_SOUND_ADD("r1sound", GOTTLIEB_SOUND_REV1, 0)
//MCFG_SOUND_ADD("r1sound", GOTTLIEB_SOUND_REV1_WITH_VOTRAX, 0) // votrax crashes
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
diff --git a/src/mame/drivers/gts80a.cpp b/src/mame/drivers/gts80a.cpp
index 4e8ae503bc9..5220692f3f7 100644
--- a/src/mame/drivers/gts80a.cpp
+++ b/src/mame/drivers/gts80a.cpp
@@ -370,16 +370,18 @@ MACHINE_CONFIG_START(gts80a_state::gts80a)
MCFG_RIOT6532_IRQ_CB(INPUTLINE("maincpu", M6502_IRQ_LINE))
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MCFG_SPEAKER_STANDARD_MONO("speaker")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gts80a_state::gts80a_s, gts80a)
+MACHINE_CONFIG_START(gts80a_state::gts80a_s)
+ gts80a(config);
MCFG_SOUND_ADD("r0sound", GOTTLIEB_SOUND_REV0, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gts80a_state::gts80a_ss, gts80a)
+MACHINE_CONFIG_START(gts80a_state::gts80a_ss)
+ gts80a(config);
MCFG_SOUND_ADD("r1sound", GOTTLIEB_SOUND_REV1, 0)
//MCFG_SOUND_ADD("r1sound", GOTTLIEB_SOUND_REV1_WITH_VOTRAX, 0) // votrax crashes
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
@@ -448,7 +450,8 @@ ADDRESS_MAP_START(caveman_state::video_io_map)
ADDRESS_MAP_END
-MACHINE_CONFIG_DERIVED(caveman_state::caveman, gts80a_ss)
+MACHINE_CONFIG_START(caveman_state::caveman)
+ gts80a_ss(config);
MCFG_CPU_ADD("video_cpu", I8088, 5000000)
MCFG_CPU_PROGRAM_MAP(video_map)
MCFG_CPU_IO_MAP(video_io_map)
diff --git a/src/mame/drivers/gts80b.cpp b/src/mame/drivers/gts80b.cpp
index 56d02387b0d..c342ff3c37e 100644
--- a/src/mame/drivers/gts80b.cpp
+++ b/src/mame/drivers/gts80b.cpp
@@ -412,40 +412,46 @@ MACHINE_CONFIG_START(gts80b_state::gts80b)
MCFG_RIOT6532_IRQ_CB(INPUTLINE("maincpu", M6502_IRQ_LINE))
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MCFG_SPEAKER_STANDARD_MONO("speaker")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gts80b_state::gts80b_s, gts80b)
+MACHINE_CONFIG_START(gts80b_state::gts80b_s)
+ gts80b(config);
MCFG_SOUND_ADD("r0sound", GOTTLIEB_SOUND_REV0, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
MACHINE_CONFIG_END
-//static MACHINE_CONFIG_DERIVED( gts80b_ss, gts80b )
+//static MACHINE_CONFIG_START( gts80b_ss )
+//static gts80b(config);
// MCFG_SOUND_ADD("r1sound", GOTTLIEB_SOUND_REV1, 0)
// //MCFG_SOUND_ADD("r1sound", GOTTLIEB_SOUND_REV1_WITH_VOTRAX, 0) // votrax crashes
// MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
//MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gts80b_state::gts80b_s1, gts80b)
+MACHINE_CONFIG_START(gts80b_state::gts80b_s1)
+ gts80b(config);
/* related to src/mame/audio/gottlieb.c? */
// MCFG_IMPORT_FROM(gts80s_b1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gts80b_state::gts80b_s2, gts80b)
+MACHINE_CONFIG_START(gts80b_state::gts80b_s2)
+ gts80b(config);
/* related to src/mame/audio/gottlieb.c? */
// MCFG_IMPORT_FROM(gts80s_b2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gts80b_state::gts80b_s3, gts80b)
+MACHINE_CONFIG_START(gts80b_state::gts80b_s3)
+ gts80b(config);
/* related to src/mame/audio/gottlieb.c? */
// MCFG_IMPORT_FROM(gts80s_b3)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gts80b_state::bonebstr, gts80b)
+MACHINE_CONFIG_START(gts80b_state::bonebstr)
+ gts80b(config);
/* related to src/mame/audio/gottlieb.c? */
// MCFG_IMPORT_FROM(gts80s_b3a)
diff --git a/src/mame/drivers/gumbo.cpp b/src/mame/drivers/gumbo.cpp
index c2255f381b1..83db81692d0 100644
--- a/src/mame/drivers/gumbo.cpp
+++ b/src/mame/drivers/gumbo.cpp
@@ -259,13 +259,15 @@ MACHINE_CONFIG_START(gumbo_state::gumbo)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.47)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gumbo_state::mspuzzle, gumbo)
+MACHINE_CONFIG_START(gumbo_state::mspuzzle)
+ gumbo(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(mspuzzle_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gumbo_state::dblpoint, gumbo)
+MACHINE_CONFIG_START(gumbo_state::dblpoint)
+ gumbo(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(dblpoint_map)
diff --git a/src/mame/drivers/gundealr.cpp b/src/mame/drivers/gundealr.cpp
index a1b00358c42..62f83f3a063 100644
--- a/src/mame/drivers/gundealr.cpp
+++ b/src/mame/drivers/gundealr.cpp
@@ -517,14 +517,16 @@ TIMER_DEVICE_CALLBACK_MEMBER(gundealr_state::yamyam_mcu_sim)
m_rambase[0x006] = ioport("IN0")->read();
}
-MACHINE_CONFIG_DERIVED(gundealr_state::yamyam, gundealr)
+MACHINE_CONFIG_START(gundealr_state::yamyam)
+ gundealr(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(yamyam_main_map)
MCFG_TIMER_DRIVER_ADD_PERIODIC("mcusim", gundealr_state, yamyam_mcu_sim, attotime::from_hz(6000000/60)) /* 6mhz confirmed */
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gundealr_state::gundealrbl, yamyam)
+MACHINE_CONFIG_START(gundealr_state::gundealrbl)
+ yamyam(config);
MCFG_DEVICE_REMOVE("mcusim")
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/halleys.cpp b/src/mame/drivers/halleys.cpp
index d6f1685c8d1..d6517e6ac7d 100644
--- a/src/mame/drivers/halleys.cpp
+++ b/src/mame/drivers/halleys.cpp
@@ -1968,7 +1968,8 @@ MACHINE_CONFIG_START(halleys_state::halleys)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(halleys_state::benberob, halleys)
+MACHINE_CONFIG_START(halleys_state::benberob)
+ halleys(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(XTAL(19'968'000)/12) /* not verified but pcb identical to halley's comet */
MCFG_TIMER_MODIFY("scantimer")
diff --git a/src/mame/drivers/hankin.cpp b/src/mame/drivers/hankin.cpp
index 27a4d9add02..c9d204145b0 100644
--- a/src/mame/drivers/hankin.cpp
+++ b/src/mame/drivers/hankin.cpp
@@ -508,7 +508,7 @@ MACHINE_CONFIG_START(hankin_state::hankin)
MCFG_DEFAULT_LAYOUT(layout_hankin)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
diff --git a/src/mame/drivers/harddriv.cpp b/src/mame/drivers/harddriv.cpp
index 32cd051c2b1..7bb67bd0893 100644
--- a/src/mame/drivers/harddriv.cpp
+++ b/src/mame/drivers/harddriv.cpp
@@ -1481,7 +1481,7 @@ MACHINE_CONFIG_END
/* Driver board with MSP (used by Hard Drivin' cockpit) */
MACHINE_CONFIG_START(harddriv_state::driver_msp)
- MCFG_FRAGMENT_ADD( driver_nomsp )
+ driver_nomsp(config);
/* basic machine hardware */
MCFG_CPU_ADD("msp", TMS34010, XTAL(50'000'000))
@@ -1499,7 +1499,7 @@ MACHINE_CONFIG_END
/* Multisync board without MSP (used by STUN Runner, Steel Talons, Race Drivin' compact) */
MACHINE_CONFIG_START(harddriv_state::multisync_nomsp)
- MCFG_FRAGMENT_ADD( driver_nomsp )
+ driver_nomsp(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1520,7 +1520,7 @@ MACHINE_CONFIG_END
/* Multisync board with MSP (used by Hard Drivin' compact) */
MACHINE_CONFIG_START(harddriv_state::multisync_msp)
- MCFG_FRAGMENT_ADD( multisync_nomsp )
+ multisync_nomsp(config);
/* basic machine hardware */
MCFG_CPU_ADD("msp", TMS34010, XTAL(50'000'000))
@@ -1538,7 +1538,7 @@ MACHINE_CONFIG_END
/* Multisync II board (used by Hard Drivin's Airborne) */
MACHINE_CONFIG_START(harddriv_state::multisync2)
- MCFG_FRAGMENT_ADD( multisync_nomsp )
+ multisync_nomsp(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1654,9 +1654,9 @@ harddriv_board_device_state::harddriv_board_device_state(const machine_config &m
}
MACHINE_CONFIG_START(harddriv_board_device_state::device_add_mconfig)
- MCFG_FRAGMENT_ADD( driver_msp )
+ driver_msp(config);
/* basic machine hardware */ /* original driver board with MSP */
- MCFG_FRAGMENT_ADD( adsp ) /* ADSP board */
+ adsp(config); /* ADSP board */
MCFG_DEVICE_ADD("harddriv_sound", HARDDRIV_SOUND_BOARD, 0) /* driver sound board */
MACHINE_CONFIG_END
@@ -1682,10 +1682,10 @@ harddrivc_board_device_state::harddrivc_board_device_state(const machine_config
}
MACHINE_CONFIG_START(harddrivc_board_device_state::device_add_mconfig)
- MCFG_FRAGMENT_ADD( multisync_msp )
+ multisync_msp(config);
/* basic machine hardware */ /* multisync board with MSP */
- MCFG_FRAGMENT_ADD( adsp ) /* ADSP board */
+ adsp(config); /* ADSP board */
MCFG_DEVICE_ADD("harddriv_sound", HARDDRIV_SOUND_BOARD, 0) /* driver sound board */
MACHINE_CONFIG_END
@@ -1723,11 +1723,11 @@ racedrivb1_board_device_state::racedrivb1_board_device_state(const machine_confi
}
MACHINE_CONFIG_START(racedriv_board_device_state::device_add_mconfig)
- MCFG_FRAGMENT_ADD( driver_nomsp )
+ driver_nomsp(config);
/* basic machine hardware */ /* original driver board without MSP */
- MCFG_FRAGMENT_ADD( adsp ) /* ADSP board */
- MCFG_FRAGMENT_ADD( dsk ) /* DSK board */
+ adsp(config); /* ADSP board */
+ dsk(config); /* DSK board */
MCFG_DEVICE_ADD("harddriv_sound", HARDDRIV_SOUND_BOARD, 0) /* driver sound board */
MACHINE_CONFIG_END
@@ -1779,21 +1779,21 @@ racedrivc_panorama_side_board_device_state::racedrivc_panorama_side_board_device
MACHINE_CONFIG_START(racedrivc_board_device_state::device_add_mconfig)
- MCFG_FRAGMENT_ADD( multisync_nomsp )
+ multisync_nomsp(config);
/* basic machine hardware */ /* multisync board without MSP */
- MCFG_FRAGMENT_ADD( adsp ) /* ADSP board */
- MCFG_FRAGMENT_ADD( dsk ) /* DSK board */
+ adsp(config); /* ADSP board */
+ dsk(config); /* DSK board */
MCFG_DEVICE_ADD("harddriv_sound", HARDDRIV_SOUND_BOARD, 0) /* driver sound board */
MACHINE_CONFIG_END
MACHINE_CONFIG_START(racedrivc_panorama_side_board_device_state::device_add_mconfig)
- MCFG_FRAGMENT_ADD( multisync_nomsp )
+ multisync_nomsp(config);
/* basic machine hardware */ /* multisync board without MSP */
- MCFG_FRAGMENT_ADD( adsp ) /* ADSP board */
-// MCFG_FRAGMENT_ADD( dsk ) /* DSK board */
+ adsp(config); /* ADSP board */
+// dsk(config); /* DSK board */
// MCFG_DEVICE_ADD("sound_board", HARDDRIV_SOUND_BOARD, 0) /* driver sound board */
MACHINE_CONFIG_END
@@ -1814,12 +1814,12 @@ stunrun_board_device_state::stunrun_board_device_state(const machine_config &mco
MACHINE_CONFIG_START(stunrun_board_device_state::device_add_mconfig)
- MCFG_FRAGMENT_ADD( multisync_nomsp )
+ multisync_nomsp(config);
/* basic machine hardware */ /* multisync board without MSP */
MCFG_CPU_MODIFY("gsp")
MCFG_TMS340X0_PIXEL_CLOCK(5000000) /* pixel clock */
- MCFG_FRAGMENT_ADD( adsp ) /* ADSP board */
+ adsp(config); /* ADSP board */
MCFG_DEVICE_REMOVE("slapstic")
/* video hardware */
@@ -1879,10 +1879,10 @@ steeltalp_board_device_state::steeltalp_board_device_state(const machine_config
}
MACHINE_CONFIG_START(steeltal_board_device_state::device_add_mconfig)
- MCFG_FRAGMENT_ADD( multisync_msp )
+ multisync_msp(config);
/* basic machine hardware */ /* multisync board with MSP */
- MCFG_FRAGMENT_ADD( ds3 ) /* DS III board */
+ ds3(config); /* DS III board */
MCFG_DEVICE_REMOVE("ds3sdsp") /* DS III sound components are not present */
MCFG_DEVICE_REMOVE("ds3xdsp")
MCFG_DEVICE_REMOVE("ldac")
@@ -1918,14 +1918,14 @@ strtdriv_board_device_state::strtdriv_board_device_state(const machine_config &m
MACHINE_CONFIG_START(strtdriv_board_device_state::device_add_mconfig)
- MCFG_FRAGMENT_ADD( multisync_nomsp )
+ multisync_nomsp(config);
/* basic machine hardware */ /* multisync board */
- MCFG_FRAGMENT_ADD( ds3 ) /* DS III board */
+ ds3(config); /* DS III board */
MCFG_CPU_MODIFY("ds3xdsp") /* DS III auxiliary sound DSP has no code */
MCFG_DEVICE_DISABLE()
- MCFG_FRAGMENT_ADD( dsk ) /* DSK board */
+ dsk(config); /* DSK board */
MACHINE_CONFIG_END
/* Hard Drivin' Airbourne */
@@ -1962,11 +1962,11 @@ hdrivairp_board_device_state::hdrivairp_board_device_state(const machine_config
MACHINE_CONFIG_START(hdrivair_board_device_state::device_add_mconfig)
- MCFG_FRAGMENT_ADD( multisync2 )
+ multisync2(config);
/* basic machine hardware */ /* multisync II board */
- MCFG_FRAGMENT_ADD( ds3 ) /* DS IV board */
- MCFG_FRAGMENT_ADD( dsk2 ) /* DSK II board */
+ ds3(config); /* DS IV board */
+ dsk2(config); /* DSK II board */
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/hec2hrp.cpp b/src/mame/drivers/hec2hrp.cpp
index 1925a86e00b..b6be3061763 100644
--- a/src/mame/drivers/hec2hrp.cpp
+++ b/src/mame/drivers/hec2hrp.cpp
@@ -423,7 +423,7 @@ MACHINE_CONFIG_START(hec2hrp_state::hec2hr)
MCFG_PALETTE_ADD("palette", 16)
MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp)
- MCFG_FRAGMENT_ADD(hector_audio)
+ hector_audio(config);
/* Gestion cassette*/
MCFG_CASSETTE_ADD( "cassette" )
@@ -458,7 +458,7 @@ MACHINE_CONFIG_START(hec2hrp_state::hec2hrp)
MCFG_PALETTE_ADD("palette", 16)
MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp)
- MCFG_FRAGMENT_ADD(hector_audio)
+ hector_audio(config);
/* Gestion cassette*/
MCFG_CASSETTE_ADD( "cassette" )
@@ -507,7 +507,7 @@ MACHINE_CONFIG_START(hec2hrp_state::hec2mx40)
MCFG_PALETTE_ADD("palette", 16)
MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp)
- MCFG_FRAGMENT_ADD(hector_audio)
+ hector_audio(config);
/* Gestion cassette*/
MCFG_CASSETTE_ADD( "cassette" )
@@ -551,7 +551,7 @@ MACHINE_CONFIG_START(hec2hrp_state::hec2hrx)
MCFG_PALETTE_ADD("palette", 16)
MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp)
- MCFG_FRAGMENT_ADD(hector_audio)
+ hector_audio(config);
// Gestion cassette
MCFG_CASSETTE_ADD( "cassette" )
@@ -592,7 +592,7 @@ MACHINE_CONFIG_START(hec2hrp_state::hec2mdhrx)
MCFG_PALETTE_ADD("palette", 16)
MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp)
- MCFG_FRAGMENT_ADD(hector_audio)
+ hector_audio(config);
// Gestion cassette
MCFG_CASSETTE_ADD( "cassette" )
@@ -637,7 +637,7 @@ MACHINE_CONFIG_START(hec2hrp_state::hec2mx80)
MCFG_PALETTE_ADD("palette", 16)
MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp)
- MCFG_FRAGMENT_ADD(hector_audio)
+ hector_audio(config);
/* Gestion cassette*/
MCFG_CASSETTE_ADD( "cassette" )
diff --git a/src/mame/drivers/hexion.cpp b/src/mame/drivers/hexion.cpp
index 7ae6580caea..dca86457b7e 100644
--- a/src/mame/drivers/hexion.cpp
+++ b/src/mame/drivers/hexion.cpp
@@ -289,7 +289,8 @@ MACHINE_CONFIG_START(hexion_state::hexion)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(hexion_state::hexionb, hexion)
+MACHINE_CONFIG_START(hexion_state::hexionb)
+ hexion(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(hexionb_map)
diff --git a/src/mame/drivers/hh_cop400.cpp b/src/mame/drivers/hh_cop400.cpp
index c64148690f7..a98d8bee67d 100644
--- a/src/mame/drivers/hh_cop400.cpp
+++ b/src/mame/drivers/hh_cop400.cpp
@@ -475,13 +475,15 @@ MACHINE_CONFIG_START(h2hbaskbc_state::h2hbaskbc)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(h2hbaskbc_state::h2hhockeyc, h2hbaskbc)
+MACHINE_CONFIG_START(h2hbaskbc_state::h2hhockeyc)
+ h2hbaskbc(config);
/* basic machine hardware */
MCFG_DEFAULT_LAYOUT(layout_h2hhockeyc)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(h2hbaskbc_state::h2hsoccerc, h2hbaskbc)
+MACHINE_CONFIG_START(h2hbaskbc_state::h2hsoccerc)
+ h2hbaskbc(config);
/* basic machine hardware */
MCFG_DEFAULT_LAYOUT(layout_h2hsoccerc)
diff --git a/src/mame/drivers/hh_hmcs40.cpp b/src/mame/drivers/hh_hmcs40.cpp
index 404dba8901f..32d3b9a35d3 100644
--- a/src/mame/drivers/hh_hmcs40.cpp
+++ b/src/mame/drivers/hh_hmcs40.cpp
@@ -2821,7 +2821,8 @@ static INPUT_PORTS_START( epacman2 )
PORT_CONFSETTING( 0x00, "2" )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(epacman2_state::epacman2, egalaxn2)
+MACHINE_CONFIG_START(epacman2_state::epacman2)
+ egalaxn2(config);
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
diff --git a/src/mame/drivers/hh_sm510.cpp b/src/mame/drivers/hh_sm510.cpp
index 7818371d23d..4ca7200d100 100644
--- a/src/mame/drivers/hh_sm510.cpp
+++ b/src/mame/drivers/hh_sm510.cpp
@@ -1091,7 +1091,8 @@ MACHINE_CONFIG_START(gnw_mmouse_state::gnw_mmouse)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gnw_mmouse_state::gnw_egg, gnw_mmouse)
+MACHINE_CONFIG_START(gnw_mmouse_state::gnw_egg)
+ gnw_mmouse(config);
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -1099,7 +1100,8 @@ MACHINE_CONFIG_DERIVED(gnw_mmouse_state::gnw_egg, gnw_mmouse)
MCFG_SCREEN_VISIBLE_AREA(0, 1694-1, 0, 1080-1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gnw_mmouse_state::nupogodi, gnw_mmouse)
+MACHINE_CONFIG_START(gnw_mmouse_state::nupogodi)
+ gnw_mmouse(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", KB1013VK12, 32.768_kHz_XTAL)
@@ -1115,7 +1117,8 @@ MACHINE_CONFIG_DERIVED(gnw_mmouse_state::nupogodi, gnw_mmouse)
MCFG_SCREEN_VISIBLE_AREA(0, 1715-1, 0, 1080-1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gnw_mmouse_state::exospace, nupogodi)
+MACHINE_CONFIG_START(gnw_mmouse_state::exospace)
+ nupogodi(config);
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -1839,7 +1842,8 @@ MACHINE_CONFIG_START(tgaunt_state::tgaunt)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tgaunt_state::trobhood, tgaunt)
+MACHINE_CONFIG_START(tgaunt_state::trobhood)
+ tgaunt(config);
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
diff --git a/src/mame/drivers/hh_ucom4.cpp b/src/mame/drivers/hh_ucom4.cpp
index e4644c633bf..f32419d881e 100644
--- a/src/mame/drivers/hh_ucom4.cpp
+++ b/src/mame/drivers/hh_ucom4.cpp
@@ -1427,7 +1427,8 @@ MACHINE_CONFIG_START(galaxy2_state::galaxy2)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(galaxy2_state::galaxy2b, galaxy2)
+MACHINE_CONFIG_START(galaxy2_state::galaxy2b)
+ galaxy2(config);
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
diff --git a/src/mame/drivers/highvdeo.cpp b/src/mame/drivers/highvdeo.cpp
index 352bc239360..4dae4b7705c 100644
--- a/src/mame/drivers/highvdeo.cpp
+++ b/src/mame/drivers/highvdeo.cpp
@@ -1177,7 +1177,8 @@ MACHINE_CONFIG_START(highvdeo_state::tv_vcf)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(highvdeo_state::tv_ncf, tv_vcf)
+MACHINE_CONFIG_START(highvdeo_state::tv_ncf)
+ tv_vcf(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(tv_ncf_map)
@@ -1185,7 +1186,8 @@ MACHINE_CONFIG_DERIVED(highvdeo_state::tv_ncf, tv_vcf)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(highvdeo_state::nyjoker, tv_vcf)
+MACHINE_CONFIG_START(highvdeo_state::nyjoker)
+ tv_vcf(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(nyjoker_map)
@@ -1193,7 +1195,8 @@ MACHINE_CONFIG_DERIVED(highvdeo_state::nyjoker, tv_vcf)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(highvdeo_state::tv_tcf, tv_vcf)
+MACHINE_CONFIG_START(highvdeo_state::tv_tcf)
+ tv_vcf(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(tv_tcf_map)
@@ -1206,7 +1209,8 @@ MACHINE_CONFIG_DERIVED(highvdeo_state::tv_tcf, tv_vcf)
MCFG_PALETTE_FORMAT(RRRRRGGGGGGBBBBB)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(highvdeo_state::newmcard, tv_tcf)
+MACHINE_CONFIG_START(highvdeo_state::newmcard)
+ tv_tcf(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(newmcard_map)
@@ -1216,7 +1220,8 @@ MACHINE_CONFIG_DERIVED(highvdeo_state::newmcard, tv_tcf)
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 200-1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(highvdeo_state::ciclone, tv_tcf)
+MACHINE_CONFIG_START(highvdeo_state::ciclone)
+ tv_tcf(config);
MCFG_DEVICE_REMOVE("maincpu")
diff --git a/src/mame/drivers/hitme.cpp b/src/mame/drivers/hitme.cpp
index a052289871d..fc127657b3e 100644
--- a/src/mame/drivers/hitme.cpp
+++ b/src/mame/drivers/hitme.cpp
@@ -348,7 +348,8 @@ MACHINE_CONFIG_END
Barricade or is the resolution set by a dip switch?
*/
-MACHINE_CONFIG_DERIVED(hitme_state::barricad, hitme)
+MACHINE_CONFIG_START(hitme_state::barricad)
+ hitme(config);
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
diff --git a/src/mame/drivers/hnayayoi.cpp b/src/mame/drivers/hnayayoi.cpp
index 3d4e41ff393..34ade4ad1e0 100644
--- a/src/mame/drivers/hnayayoi.cpp
+++ b/src/mame/drivers/hnayayoi.cpp
@@ -584,7 +584,8 @@ MACHINE_CONFIG_START(hnayayoi_state::hnayayoi)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(hnayayoi_state::hnfubuki, hnayayoi)
+MACHINE_CONFIG_START(hnayayoi_state::hnfubuki)
+ hnayayoi(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(hnfubuki_map)
MCFG_DEVICE_REMOVE_ADDRESS_MAP(AS_IO)
@@ -593,7 +594,8 @@ MACHINE_CONFIG_DERIVED(hnayayoi_state::hnfubuki, hnayayoi)
MCFG_ADDRESSABLE_LATCH_Q4_OUT_CB(WRITELINE(hnayayoi_state, nmi_enable_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(hnayayoi_state::untoucha, hnayayoi)
+MACHINE_CONFIG_START(hnayayoi_state::untoucha)
+ hnayayoi(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(untoucha_map)
MCFG_CPU_IO_MAP(untoucha_io_map)
diff --git a/src/mame/drivers/hng64.cpp b/src/mame/drivers/hng64.cpp
index 5026b3caea6..a8c90b7edb0 100644
--- a/src/mame/drivers/hng64.cpp
+++ b/src/mame/drivers/hng64.cpp
@@ -1553,8 +1553,8 @@ MACHINE_CONFIG_START(hng64_state::hng64)
MCFG_PALETTE_ADD("palette", 0x1000)
MCFG_PALETTE_FORMAT(XRGB)
- MCFG_FRAGMENT_ADD( hng64_audio )
- MCFG_FRAGMENT_ADD( hng64_network )
+ hng64_audio(config);
+ hng64_network(config);
MCFG_CPU_ADD("iomcu", TMP87PH40AN, 8000000)
MCFG_DEVICE_DISABLE() // work in progress
diff --git a/src/mame/drivers/homedata.cpp b/src/mame/drivers/homedata.cpp
index fa07bb8ba50..454b84cec39 100644
--- a/src/mame/drivers/homedata.cpp
+++ b/src/mame/drivers/homedata.cpp
@@ -1364,13 +1364,15 @@ MACHINE_CONFIG_START(homedata_state::pteacher)
MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(homedata_state::mjkinjas, pteacher)
+MACHINE_CONFIG_START(homedata_state::mjkinjas)
+ pteacher(config);
MCFG_CPU_MODIFY("audiocpu")
MCFG_CPU_CLOCK(11000000) /* 11MHz ? */
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(homedata_state::lemnangl, pteacher)
+MACHINE_CONFIG_START(homedata_state::lemnangl)
+ pteacher(config);
/* video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", lemnangl)
diff --git a/src/mame/drivers/homerun.cpp b/src/mame/drivers/homerun.cpp
index 626fbcefd7d..de637e51421 100644
--- a/src/mame/drivers/homerun.cpp
+++ b/src/mame/drivers/homerun.cpp
@@ -382,7 +382,8 @@ MACHINE_CONFIG_START(homerun_state::dynashot)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(homerun_state::homerun, dynashot)
+MACHINE_CONFIG_START(homerun_state::homerun)
+ dynashot(config);
/* sound hardware */
MCFG_SOUND_ADD("d7756", UPD7756, UPD7759_STANDARD_CLOCK)
@@ -394,7 +395,8 @@ MACHINE_CONFIG_DERIVED(homerun_state::homerun, dynashot)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(homerun_state::ganjaja, dynashot)
+MACHINE_CONFIG_START(homerun_state::ganjaja)
+ dynashot(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/horizon.cpp b/src/mame/drivers/horizon.cpp
index caef58d53cb..d26c93061b0 100644
--- a/src/mame/drivers/horizon.cpp
+++ b/src/mame/drivers/horizon.cpp
@@ -220,7 +220,8 @@ MACHINE_CONFIG_START(horizon_state::horizon)
MCFG_SOFTWARE_LIST_ADD("flop_list", "horizon")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(horizon_state::horizon2mhz, horizon)
+MACHINE_CONFIG_START(horizon_state::horizon2mhz)
+ horizon(config);
MCFG_CPU_MODIFY("z80")
MCFG_CPU_CLOCK(XTAL(4'000'000) / 2)
diff --git a/src/mame/drivers/hornet.cpp b/src/mame/drivers/hornet.cpp
index 1fcec11eba1..07574e0436f 100644
--- a/src/mame/drivers/hornet.cpp
+++ b/src/mame/drivers/hornet.cpp
@@ -1076,7 +1076,8 @@ MACHINE_CONFIG_START(hornet_state::hornet)
MCFG_KONPPC_CGBOARD_TYPE(HORNET)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(hornet_state::hornet_2board, hornet)
+MACHINE_CONFIG_START(hornet_state::hornet_2board)
+ hornet(config);
MCFG_CPU_ADD("dsp2", ADSP21062, XTAL(36'000'000))
MCFG_SHARC_BOOT_MODE(BOOT_MODE_EPROM)
@@ -1133,13 +1134,15 @@ MACHINE_CONFIG_DERIVED(hornet_state::hornet_2board, hornet)
MCFG_KONPPC_CGBOARD_TYPE(HORNET)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(hornet_state::terabrst, hornet)
+MACHINE_CONFIG_START(hornet_state::terabrst)
+ hornet(config);
MCFG_CPU_ADD("gn680", M68000, XTAL(32'000'000)/2) /* 16MHz */
MCFG_CPU_PROGRAM_MAP(gn680_memmap