summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
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)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(hornet_state::hornet_2board_v2, hornet_2board)
+MACHINE_CONFIG_START(hornet_state::hornet_2board_v2)
+ hornet_2board(config);
MCFG_DEVICE_REMOVE("voodoo0")
MCFG_DEVICE_ADD("voodoo0", VOODOO_2, STD_VOODOO_2_CLOCK)
MCFG_VOODOO_FBMEM(2)
@@ -1157,7 +1160,8 @@ MACHINE_CONFIG_DERIVED(hornet_state::hornet_2board_v2, hornet_2board)
MCFG_VOODOO_VBLANK_CB(WRITELINE(hornet_state,voodoo_vblank_1))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(hornet_state::sscope2, hornet_2board_v2)
+MACHINE_CONFIG_START(hornet_state::sscope2)
+ hornet_2board_v2(config);
MCFG_DS2401_ADD("lan_serial_id")
MCFG_EEPROM_SERIAL_93C46_ADD("lan_eeprom")
diff --git a/src/mame/drivers/hp48.cpp b/src/mame/drivers/hp48.cpp
index a1fad9b012c..a2b0b7b9248 100644
--- a/src/mame/drivers/hp48.cpp
+++ b/src/mame/drivers/hp48.cpp
@@ -1289,7 +1289,8 @@ MACHINE_CONFIG_START(hp48_state::hp48_common)
MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(hp48_state::hp48gx, hp48_common)
+MACHINE_CONFIG_START(hp48_state::hp48gx)
+ hp48_common(config);
MCFG_MACHINE_START_OVERRIDE (hp48_state, hp48gx )
/* expansion ports */
@@ -1301,7 +1302,8 @@ MACHINE_CONFIG_DERIVED(hp48_state::hp48gx, hp48_common)
//MCFG_KERMIT_ADD( "rs232_k", hp48_kermit_rs232_conf )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(hp48_state::hp48g, hp48_common)
+MACHINE_CONFIG_START(hp48_state::hp48g)
+ hp48_common(config);
MCFG_MACHINE_START_OVERRIDE (hp48_state, hp48g )
/* serial I/O */
@@ -1310,7 +1312,8 @@ MACHINE_CONFIG_DERIVED(hp48_state::hp48g, hp48_common)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(hp48_state::hp48gp, hp48_common)
+MACHINE_CONFIG_START(hp48_state::hp48gp)
+ hp48_common(config);
MCFG_MACHINE_START_OVERRIDE (hp48_state, hp48gp )
/* serial I/O */
@@ -1319,7 +1322,8 @@ MACHINE_CONFIG_DERIVED(hp48_state::hp48gp, hp48_common)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(hp48_state::hp48sx, hp48_common)
+MACHINE_CONFIG_START(hp48_state::hp48sx)
+ hp48_common(config);
MCFG_CPU_MODIFY ( "maincpu" )
MCFG_CPU_CLOCK ( 2000000 )
MCFG_MACHINE_START_OVERRIDE (hp48_state, hp48sx )
@@ -1332,7 +1336,8 @@ MACHINE_CONFIG_DERIVED(hp48_state::hp48sx, hp48_common)
//MCFG_KERMIT_ADD( "rs232_k", hp48_kermit_rs232_conf )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(hp48_state::hp48s, hp48_common)
+MACHINE_CONFIG_START(hp48_state::hp48s)
+ hp48_common(config);
MCFG_CPU_MODIFY ( "maincpu" )
MCFG_CPU_CLOCK ( 2000000 )
MCFG_MACHINE_START_OVERRIDE (hp48_state, hp48s )
@@ -1341,7 +1346,8 @@ MACHINE_CONFIG_DERIVED(hp48_state::hp48s, hp48_common)
//MCFG_KERMIT_ADD( "rs232_k", hp48_kermit_rs232_conf )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(hp48_state::hp49g, hp48_common)
+MACHINE_CONFIG_START(hp48_state::hp49g)
+ hp48_common(config);
MCFG_CPU_MODIFY ( "maincpu" )
MCFG_MACHINE_START_OVERRIDE (hp48_state, hp49g )
diff --git a/src/mame/drivers/hp9845.cpp b/src/mame/drivers/hp9845.cpp
index ff8923dad02..9953ccecf98 100644
--- a/src/mame/drivers/hp9845.cpp
+++ b/src/mame/drivers/hp9845.cpp
@@ -3834,7 +3834,7 @@ MACHINE_CONFIG_START(hp9845_base_state::hp9845_base)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(hp9845b_state::hp9845b)
- MCFG_FRAGMENT_ADD(hp9845_base)
+ hp9845_base(config);
// video hardware
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(hp9845b_state, screen_update)
@@ -3852,7 +3852,7 @@ MACHINE_CONFIG_START(hp9845b_state::hp9845b)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(hp9845c_state::hp9845c)
- MCFG_FRAGMENT_ADD(hp9845_base)
+ hp9845_base(config);
// video hardware
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(hp9845c_state, screen_update)
@@ -3866,7 +3866,7 @@ MACHINE_CONFIG_START(hp9845c_state::hp9845c)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(hp9845t_state::hp9845t)
- MCFG_FRAGMENT_ADD(hp9845_base)
+ hp9845_base(config);
// video hardware
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(hp9845t_state, screen_update)
diff --git a/src/mame/drivers/hp9k_3xx.cpp b/src/mame/drivers/hp9k_3xx.cpp
index ab751759538..5a8a4c8c84d 100644
--- a/src/mame/drivers/hp9k_3xx.cpp
+++ b/src/mame/drivers/hp9k_3xx.cpp
@@ -434,7 +434,8 @@ MACHINE_CONFIG_START(hp9k3xx_state::hp9k320)
MCFG_DIO32_SLOT_ADD("diobus", "sl3", dio16_cards, nullptr, false)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(hp9k3xx_state::hp9k330, hp9k320)
+MACHINE_CONFIG_START(hp9k3xx_state::hp9k330)
+ hp9k320(config);
/* basic machine hardware */
MCFG_CPU_REPLACE(MAINCPU_TAG, M68020PMMU, 16670000)
MCFG_CPU_PROGRAM_MAP(hp9k330_map)
@@ -469,25 +470,29 @@ MACHINE_CONFIG_START(hp9k3xx_state::hp9k332)
MCFG_SCREEN_REFRESH_RATE(70)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(hp9k3xx_state::hp9k340, hp9k320)
+MACHINE_CONFIG_START(hp9k3xx_state::hp9k340)
+ hp9k320(config);
/* basic machine hardware */
MCFG_CPU_REPLACE(MAINCPU_TAG, M68030, 16670000)
MCFG_CPU_PROGRAM_MAP(hp9k330_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(hp9k3xx_state::hp9k370, hp9k320)
+MACHINE_CONFIG_START(hp9k3xx_state::hp9k370)
+ hp9k320(config);
/* basic machine hardware */
MCFG_CPU_REPLACE(MAINCPU_TAG, M68030, 33000000)
MCFG_CPU_PROGRAM_MAP(hp9k370_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(hp9k3xx_state::hp9k380, hp9k320)
+MACHINE_CONFIG_START(hp9k3xx_state::hp9k380)
+ hp9k320(config);
/* basic machine hardware */
MCFG_CPU_REPLACE(MAINCPU_TAG, M68040, 25000000)
MCFG_CPU_PROGRAM_MAP(hp9k380_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(hp9k3xx_state::hp9k382, hp9k320)
+MACHINE_CONFIG_START(hp9k3xx_state::hp9k382)
+ hp9k320(config);
/* basic machine hardware */
MCFG_CPU_REPLACE(MAINCPU_TAG, M68040, 25000000)
MCFG_CPU_PROGRAM_MAP(hp9k382_map)
diff --git a/src/mame/drivers/hprot1.cpp b/src/mame/drivers/hprot1.cpp
index 25914afcd33..c262c62aff0 100644
--- a/src/mame/drivers/hprot1.cpp
+++ b/src/mame/drivers/hprot1.cpp
@@ -334,7 +334,8 @@ MACHINE_CONFIG_START(hprot1_state::hprot1)
/* TODO: emulate the ADM695AN chip (watchdog/brownout reset)*/
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(hprot1_state::hprotr8a, hprot1)
+MACHINE_CONFIG_START(hprot1_state::hprotr8a)
+ hprot1(config);
MCFG_CPU_REPLACE("maincpu", I80C31, 11059200) // value of X1 cristal on the PCB
MCFG_CPU_PROGRAM_MAP(i80c31_prg)
MCFG_CPU_IO_MAP(i80c31_io)
@@ -350,7 +351,8 @@ MACHINE_CONFIG_DERIVED(hprot1_state::hprotr8a, hprot1)
/* TODO: add an I2C interface (the board has GND/VCC/SDA/SCL pins available in a connector) */
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(hprot1_state::hprot2r6, hprot1)
+MACHINE_CONFIG_START(hprot1_state::hprot2r6)
+ hprot1(config);
MCFG_CPU_REPLACE("maincpu", I80C31, 11059200) // value of X1 cristal on the PCB
MCFG_CPU_PROGRAM_MAP(i80c31_prg)
MCFG_CPU_IO_MAP(i80c31_io)
diff --git a/src/mame/drivers/hx20.cpp b/src/mame/drivers/hx20.cpp
index 9f8b5df0e54..e1f807263e5 100644
--- a/src/mame/drivers/hx20.cpp
+++ b/src/mame/drivers/hx20.cpp
@@ -953,7 +953,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( hx20 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(hx20_state::cm6000, hx20)
+MACHINE_CONFIG_START(hx20_state::cm6000)
+ hx20(config);
// basic machine hardware
MCFG_CPU_MODIFY(HD6301V1_MAIN_TAG)
MCFG_CPU_PROGRAM_MAP(cm6000_mem)
diff --git a/src/mame/drivers/hyhoo.cpp b/src/mame/drivers/hyhoo.cpp
index 784bbaf5048..e2350e9a91c 100644
--- a/src/mame/drivers/hyhoo.cpp
+++ b/src/mame/drivers/hyhoo.cpp
@@ -260,7 +260,8 @@ MACHINE_CONFIG_START(hyhoo_state::hyhoo)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(hyhoo_state::hyhoo2, hyhoo)
+MACHINE_CONFIG_START(hyhoo_state::hyhoo2)
+ hyhoo(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_HYHOO2 )
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/hyperspt.cpp b/src/mame/drivers/hyperspt.cpp
index 9676b2446ae..d44ecd5840d 100644
--- a/src/mame/drivers/hyperspt.cpp
+++ b/src/mame/drivers/hyperspt.cpp
@@ -366,7 +366,8 @@ ADDRESS_MAP_START(hyperspt_state::hyprolyb_adpcm_map)
ADDRESS_MAP_END
-MACHINE_CONFIG_DERIVED(hyperspt_state::hypersptb, hyperspt)
+MACHINE_CONFIG_START(hyperspt_state::hypersptb)
+ hyperspt(config);
MCFG_DEVICE_REMOVE("vlm")
MCFG_CPU_MODIFY("audiocpu")
@@ -386,7 +387,8 @@ MACHINE_CONFIG_DERIVED(hyperspt_state::hypersptb, hyperspt)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(hyperspt_state::roadf, hyperspt)
+MACHINE_CONFIG_START(hyperspt_state::roadf)
+ hyperspt(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(roadf_map)
diff --git a/src/mame/drivers/ibmpc.cpp b/src/mame/drivers/ibmpc.cpp
index 32aa288f76e..18e1f2b83a7 100644
--- a/src/mame/drivers/ibmpc.cpp
+++ b/src/mame/drivers/ibmpc.cpp
@@ -321,7 +321,8 @@ MACHINE_CONFIG_START(ibmpc_state::ibm5150)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ibmpc_state::ibm5140, ibm5150)
+MACHINE_CONFIG_START(ibmpc_state::ibm5140)
+ ibm5150(config);
/* software lists */
MCFG_DEVICE_REMOVE( "disk_list" )
MCFG_SOFTWARE_LIST_ADD("disk_list","ibm5140")
diff --git a/src/mame/drivers/ibmpcjr.cpp b/src/mame/drivers/ibmpcjr.cpp
index 10e74ecd390..2492da2af95 100644
--- a/src/mame/drivers/ibmpcjr.cpp
+++ b/src/mame/drivers/ibmpcjr.cpp
@@ -676,7 +676,8 @@ static GFXDECODE_START( ibmpcjx )
GFXDECODE_ENTRY( "kanji", 0x0000, kanji_layout, 3, 1 )
GFXDECODE_END
-MACHINE_CONFIG_DERIVED(pcjr_state::ibmpcjx, ibmpcjr)
+MACHINE_CONFIG_START(pcjr_state::ibmpcjx)
+ ibmpcjr(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(ibmpcjx_map)
MCFG_CPU_IO_MAP(ibmpcjx_io)
diff --git a/src/mame/drivers/idsa.cpp b/src/mame/drivers/idsa.cpp
index c6eb7183609..24965d3a565 100644
--- a/src/mame/drivers/idsa.cpp
+++ b/src/mame/drivers/idsa.cpp
@@ -341,7 +341,7 @@ MACHINE_CONFIG_START(idsa_state::idsa)
//MCFG_DEFAULT_LAYOUT()
/* sound hardware */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_SOUND_ADD("speech", SP0256, 3120000) // unknown variant
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.5)
@@ -357,7 +357,8 @@ MACHINE_CONFIG_START(idsa_state::idsa)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.75)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(idsa_state::bsktbllp, idsa)
+MACHINE_CONFIG_START(idsa_state::bsktbllp)
+ idsa(config);
MCFG_DEVICE_MODIFY("aysnd1")
MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(idsa_state, ppi_control_w))
MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(idsa_state, ppi_data_w))
diff --git a/src/mame/drivers/igs009.cpp b/src/mame/drivers/igs009.cpp
index cc5bb8d2b16..b99a7495e7c 100644
--- a/src/mame/drivers/igs009.cpp
+++ b/src/mame/drivers/igs009.cpp
@@ -855,7 +855,8 @@ MACHINE_CONFIG_START(igs009_state::jingbell)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(igs009_state::gp98, jingbell)
+MACHINE_CONFIG_START(igs009_state::gp98)
+ jingbell(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(gp98_portmap)
diff --git a/src/mame/drivers/igs011.cpp b/src/mame/drivers/igs011.cpp
index 7e5f5fa1f29..de1938637a5 100644
--- a/src/mame/drivers/igs011.cpp
+++ b/src/mame/drivers/igs011.cpp
@@ -4192,7 +4192,8 @@ TIMER_DEVICE_CALLBACK_MEMBER( igs011_state::lev5_timer_irq_cb )
m_maincpu->set_input_line(5, HOLD_LINE);
}
-MACHINE_CONFIG_DERIVED(igs011_state::drgnwrld, igs011_base)
+MACHINE_CONFIG_START(igs011_state::drgnwrld)
+ igs011_base(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(drgnwrld)
MCFG_CPU_VBLANK_INT_DRIVER("screen", igs011_state, irq6_line_hold)
@@ -4202,7 +4203,8 @@ MACHINE_CONFIG_DERIVED(igs011_state::drgnwrld, igs011_base)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 2.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(igs011_state::drgnwrld_igs012, drgnwrld)
+MACHINE_CONFIG_START(igs011_state::drgnwrld_igs012)
+ drgnwrld(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(drgnwrld_igs012)
MACHINE_CONFIG_END
@@ -4225,7 +4227,8 @@ TIMER_DEVICE_CALLBACK_MEMBER( igs011_state::lhb_timer_irq_cb )
m_maincpu->set_input_line(5, HOLD_LINE);
}
-MACHINE_CONFIG_DERIVED(igs011_state::lhb, igs011_base)
+MACHINE_CONFIG_START(igs011_state::lhb)
+ igs011_base(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(lhb)
MCFG_CPU_VBLANK_INT_DRIVER("screen", igs011_state, lhb_vblank_irq)
@@ -4241,7 +4244,8 @@ TIMER_DEVICE_CALLBACK_MEMBER( igs011_state::lev3_timer_irq_cb )
}
-MACHINE_CONFIG_DERIVED(igs011_state::wlcc, igs011_base)
+MACHINE_CONFIG_START(igs011_state::wlcc)
+ igs011_base(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(wlcc)
MCFG_CPU_VBLANK_INT_DRIVER("screen", igs011_state, irq6_line_hold)
@@ -4250,7 +4254,8 @@ MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(igs011_state::xymg, igs011_base)
+MACHINE_CONFIG_START(igs011_state::xymg)
+ igs011_base(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(xymg)
MCFG_CPU_VBLANK_INT_DRIVER("screen", igs011_state, irq6_line_hold)
@@ -4259,7 +4264,8 @@ MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(igs011_state::lhb2, igs011_base)
+MACHINE_CONFIG_START(igs011_state::lhb2)
+ igs011_base(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(lhb2)
MCFG_CPU_VBLANK_INT_DRIVER("screen", igs011_state, irq6_line_hold)
@@ -4273,7 +4279,8 @@ MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(igs011_state::nkishusp, igs011_base)
+MACHINE_CONFIG_START(igs011_state::nkishusp)
+ igs011_base(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(nkishusp)
MCFG_CPU_VBLANK_INT_DRIVER("screen", igs011_state, irq6_line_hold)
@@ -4294,7 +4301,8 @@ WRITE_LINE_MEMBER(igs011_state::sound_irq)
// m_maincpu->set_input_line(3, state);
}
-MACHINE_CONFIG_DERIVED(igs011_state::vbowl, igs011_base)
+MACHINE_CONFIG_START(igs011_state::vbowl)
+ igs011_base(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(vbowl)
MCFG_CPU_VBLANK_INT_DRIVER("screen", igs011_state, irq6_line_hold)
@@ -4312,7 +4320,8 @@ MACHINE_CONFIG_DERIVED(igs011_state::vbowl, igs011_base)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 5.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(igs011_state::vbowlhk, vbowl)
+MACHINE_CONFIG_START(igs011_state::vbowlhk)
+ vbowl(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(vbowlhk)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/igs017.cpp b/src/mame/drivers/igs017.cpp
index a65d91302ad..95d920b8677 100644
--- a/src/mame/drivers/igs017.cpp
+++ b/src/mame/drivers/igs017.cpp
@@ -3311,7 +3311,8 @@ MACHINE_CONFIG_START(igs017_state::iqblocka)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(igs017_state::starzan, iqblocka)
+MACHINE_CONFIG_START(igs017_state::starzan)
+ iqblocka(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/igspoker.cpp b/src/mame/drivers/igspoker.cpp
index 71a2b90104b..c419fdde62e 100644
--- a/src/mame/drivers/igspoker.cpp
+++ b/src/mame/drivers/igspoker.cpp
@@ -1936,19 +1936,23 @@ MACHINE_CONFIG_START(igspoker_state::igspoker)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(igspoker_state::csk227it, igspoker)
+MACHINE_CONFIG_START(igspoker_state::csk227it)
+ igspoker(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(igspoker_state::csk234it, igspoker)
+MACHINE_CONFIG_START(igspoker_state::csk234it)
+ igspoker(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(igspoker_state::igs_ncs, igspoker)
+MACHINE_CONFIG_START(igspoker_state::igs_ncs)
+ igspoker(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(igspoker_state::number10, igspoker)
+MACHINE_CONFIG_START(igspoker_state::number10)
+ igspoker(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(number10_io_map)
@@ -1962,14 +1966,16 @@ MACHINE_CONFIG_DERIVED(igspoker_state::number10, igspoker)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(igspoker_state::cpokerpk, number10)
+MACHINE_CONFIG_START(igspoker_state::cpokerpk)
+ number10(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(cpokerpk_io_map)
MCFG_GFXDECODE_MODIFY("gfxdecode", cpokerpk)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(igspoker_state::pktetris, igspoker)
+MACHINE_CONFIG_START(igspoker_state::pktetris)
+ igspoker(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/inder.cpp b/src/mame/drivers/inder.cpp
index d47509eb6c7..77820a8aa3e 100644
--- a/src/mame/drivers/inder.cpp
+++ b/src/mame/drivers/inder.cpp
@@ -1357,7 +1357,7 @@ MACHINE_CONFIG_START(inder_state::brvteam)
MCFG_DEFAULT_LAYOUT(layout_inder)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MCFG_SPEAKER_STANDARD_MONO("snvol")
MCFG_SOUND_ADD("sn", SN76489, XTAL(8'000'000) / 2) // jumper choice of 2 or 4 MHz
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "snvol", 2.0)
@@ -1375,7 +1375,7 @@ MACHINE_CONFIG_START(inder_state::canasta)
MCFG_DEFAULT_LAYOUT(layout_inder)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MCFG_SPEAKER_STANDARD_MONO("ayvol")
MCFG_SOUND_ADD("ay", AY8910, XTAL(4'000'000) / 2)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "ayvol", 1.0)
@@ -1396,7 +1396,7 @@ MACHINE_CONFIG_START(inder_state::lapbylap)
MCFG_DEFAULT_LAYOUT(layout_inder)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MCFG_SPEAKER_STANDARD_MONO("ayvol")
MCFG_SOUND_ADD("ay1", AY8910, XTAL(2'000'000)) // same xtal that drives subcpu
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "ayvol", 1.0)
@@ -1420,7 +1420,7 @@ MACHINE_CONFIG_START(inder_state::inder)
MCFG_DEFAULT_LAYOUT(layout_inder)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MCFG_SPEAKER_STANDARD_MONO("msmvol")
MCFG_SOUND_ADD("msm", MSM5205, XTAL(384'000))
MCFG_MSM5205_VCK_CALLBACK(DEVWRITELINE("9a", ttl7474_device, clock_w))
diff --git a/src/mame/drivers/inderp.cpp b/src/mame/drivers/inderp.cpp
index c120a9cfd4c..9c7dc5b9d8b 100644
--- a/src/mame/drivers/inderp.cpp
+++ b/src/mame/drivers/inderp.cpp
@@ -207,7 +207,7 @@ MACHINE_CONFIG_START(inderp_state::inderp)
/* sound hardware */
//discrete ?
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/indigo.cpp b/src/mame/drivers/indigo.cpp
index acfb503a170..bb8773854af 100644
--- a/src/mame/drivers/indigo.cpp
+++ b/src/mame/drivers/indigo.cpp
@@ -611,7 +611,8 @@ MACHINE_CONFIG_START(indigo_state::indigo3k)
MCFG_EEPROM_SERIAL_93C56_ADD("eeprom")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(indigo_state::indigo4k, indigo3k)
+MACHINE_CONFIG_START(indigo_state::indigo4k)
+ indigo3k(config);
MCFG_CPU_REPLACE("maincpu", R4600BE, 150000000) // Should be R4400
MCFG_MIPS3_ICACHE_SIZE(32768)
MCFG_MIPS3_DCACHE_SIZE(32768)
diff --git a/src/mame/drivers/indy_indigo2.cpp b/src/mame/drivers/indy_indigo2.cpp
index a0da4719e65..27ef3a4111b 100644
--- a/src/mame/drivers/indy_indigo2.cpp
+++ b/src/mame/drivers/indy_indigo2.cpp
@@ -1523,14 +1523,16 @@ MACHINE_CONFIG_START(ip22_state::ip225015)
MCFG_DS1386_8K_ADD(RTC_TAG, 32768)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ip22_state::ip224613, ip225015)
+MACHINE_CONFIG_START(ip22_state::ip224613)
+ ip225015(config);
MCFG_CPU_REPLACE( "maincpu", R4600BE, 133333333 )
//MCFG_MIPS3_ICACHE_SIZE(32768)
//MCFG_MIPS3_DCACHE_SIZE(32768)
MCFG_CPU_PROGRAM_MAP( ip225015_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ip22_state::ip244415, ip225015)
+MACHINE_CONFIG_START(ip22_state::ip244415)
+ ip225015(config);
MCFG_CPU_REPLACE( "maincpu", R4600BE, 150000000 )
//MCFG_MIPS3_ICACHE_SIZE(32768)
//MCFG_MIPS3_DCACHE_SIZE(32768)
diff --git a/src/mame/drivers/intellec4.cpp b/src/mame/drivers/intellec4.cpp
index ae78faffa76..d84be918581 100644
--- a/src/mame/drivers/intellec4.cpp
+++ b/src/mame/drivers/intellec4.cpp
@@ -1113,7 +1113,8 @@ INPUT_CHANGED_MEMBER(mod4_state::sw_one_shot)
MOD 4-specific configuration
----------------------------------*/
-MACHINE_CONFIG_DERIVED(mod4_state::mod4, intellec4)
+MACHINE_CONFIG_START(mod4_state::mod4)
+ intellec4(config);
MCFG_CPU_ADD("maincpu", I4004, 5.185_MHz_XTAL / 7)
MCFG_I4004_ROM_MAP(intellec4_rom)
MCFG_I4004_RAM_MEMORY_MAP(intellec4_ram_memory)
@@ -1337,7 +1338,8 @@ INPUT_CHANGED_MEMBER(mod40_state::sw_single_step)
MOD 40-specific configuration
----------------------------------*/
-MACHINE_CONFIG_DERIVED(mod40_state::mod40, intellec4)
+MACHINE_CONFIG_START(mod40_state::mod40)
+ intellec4(config);
MCFG_CPU_ADD("maincpu", I4040, 5.185_MHz_XTAL / 7)
MCFG_I4040_ROM_MAP(intellec4_rom)
MCFG_I4040_RAM_MEMORY_MAP(intellec4_ram_memory)
diff --git a/src/mame/drivers/interact.cpp b/src/mame/drivers/interact.cpp
index 43692e7f52c..02847bd56a3 100644
--- a/src/mame/drivers/interact.cpp
+++ b/src/mame/drivers/interact.cpp
@@ -146,7 +146,7 @@ MACHINE_CONFIG_START(interact_state::interact)
MCFG_VIDEO_START_OVERRIDE(interact_state,hec2hrp)
- MCFG_FRAGMENT_ADD(hector_audio)
+ hector_audio(config);
MCFG_CASSETTE_ADD("cassette")
MCFG_CASSETTE_FORMATS(hector_cassette_formats)
@@ -183,7 +183,7 @@ MACHINE_CONFIG_START(interact_state::hector1)
MCFG_VIDEO_START_OVERRIDE(interact_state,hec2hrp)
- MCFG_FRAGMENT_ADD(hector_audio)
+ hector_audio(config);
MCFG_CASSETTE_ADD("cassette")
MCFG_CASSETTE_FORMATS(hector_cassette_formats)
diff --git a/src/mame/drivers/interpro.cpp b/src/mame/drivers/interpro.cpp
index c0dd2e7f77b..dfcd73e612c 100644
--- a/src/mame/drivers/interpro.cpp
+++ b/src/mame/drivers/interpro.cpp
@@ -575,7 +575,8 @@ MACHINE_CONFIG_START(interpro_state::interpro)
MCFG_DEFAULT_LAYOUT(layout_interpro)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(turquoise_state::turquoise, interpro)
+MACHINE_CONFIG_START(turquoise_state::turquoise)
+ interpro(config);
MCFG_CPU_ADD(INTERPRO_CPU_TAG, CLIPPER_C300, XTAL(12'500'000))
MCFG_CPU_PROGRAM_MAP(c300_insn_map)
MCFG_CPU_DATA_MAP(c300_data_map)
@@ -616,8 +617,8 @@ MACHINE_CONFIG_DERIVED(turquoise_state::turquoise, interpro)
MCFG_FLOPPY_DRIVE_SOUND(false)
// serial controllers and ports
- MCFG_FRAGMENT_ADD(interpro_serial1)
- MCFG_FRAGMENT_ADD(interpro_serial2)
+ interpro_serial1(config);
+ interpro_serial2(config);
// scsi controller
MCFG_NSCSI_ADD(INTERPRO_SCSI_TAG ":7", turquoise_scsi_devices, INTERPRO_SCSI_ADAPTER_TAG, true)
@@ -631,13 +632,14 @@ MACHINE_CONFIG_DERIVED(turquoise_state::turquoise, interpro)
// i/o gate array
MCFG_DEVICE_ADD(INTERPRO_IOGA_TAG, TURQUOISE_IOGA, 0)
MCFG_INTERPRO_IOGA_MEMORY(INTERPRO_MMU_TAG "_d", 0)
- MCFG_FRAGMENT_ADD(ioga)
+ ioga(config);
MCFG_DEVICE_MODIFY(INTERPRO_SRBUS_TAG)
MCFG_SR_MEMORY(INTERPRO_MMU_TAG "_d", 0, 1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sapphire_state::sapphire, interpro)
+MACHINE_CONFIG_START(sapphire_state::sapphire)
+ interpro(config);
MCFG_CPU_ADD(INTERPRO_CPU_TAG, CLIPPER_C400, XTAL(12'500'000))
MCFG_CPU_PROGRAM_MAP(c400_insn_map)
MCFG_CPU_DATA_MAP(c400_data_map)
@@ -664,8 +666,8 @@ MACHINE_CONFIG_DERIVED(sapphire_state::sapphire, interpro)
MCFG_FLOPPY_DRIVE_SOUND(false)
// serial controllers and ports
- MCFG_FRAGMENT_ADD(interpro_serial1)
- MCFG_FRAGMENT_ADD(interpro_serial2)
+ interpro_serial1(config);
+ interpro_serial2(config);
// scsi controller
MCFG_NSCSI_ADD(INTERPRO_SCSI_TAG ":7", sapphire_scsi_devices, INTERPRO_SCSI_ADAPTER_TAG, true)
@@ -679,7 +681,7 @@ MACHINE_CONFIG_DERIVED(sapphire_state::sapphire, interpro)
// i/o gate array
MCFG_DEVICE_ADD(INTERPRO_IOGA_TAG, SAPPHIRE_IOGA, 0)
MCFG_INTERPRO_IOGA_MEMORY(INTERPRO_MMU_TAG, 0)
- MCFG_FRAGMENT_ADD(ioga)
+ ioga(config);
// flash memory
MCFG_DEVICE_ADD(INTERPRO_FLASH_TAG "_lo", INTEL_28F010, 0)
@@ -690,27 +692,32 @@ MACHINE_CONFIG_DERIVED(sapphire_state::sapphire, interpro)
MCFG_SR_MEMORY(INTERPRO_MMU_TAG, 0, 1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(turquoise_state::ip2000, turquoise)
+MACHINE_CONFIG_START(turquoise_state::ip2000)
+ turquoise(config);
//MCFG_DEVICE_MODIFY(INTERPRO_CPU_TAG)
//MCFG_DEVICE_CLOCK(XTAL(40'000'000))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sapphire_state::ip2400, sapphire)
+MACHINE_CONFIG_START(sapphire_state::ip2400)
+ sapphire(config);
//MCFG_DEVICE_MODIFY(INTERPRO_CPU_TAG)
//MCFG_DEVICE_CLOCK(XTAL(40'000'000))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sapphire_state::ip2500, sapphire)
+MACHINE_CONFIG_START(sapphire_state::ip2500)
+ sapphire(config);
//MCFG_DEVICE_MODIFY(INTERPRO_CPU_TAG)
//MCFG_DEVICE_CLOCK(XTAL(50'000'000))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sapphire_state::ip2700, sapphire)
+MACHINE_CONFIG_START(sapphire_state::ip2700)
+ sapphire(config);
//MCFG_DEVICE_MODIFY(INTERPRO_CPU_TAG)
//MCFG_DEVICE_CLOCK(XTAL_70MHz)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sapphire_state::ip2800, sapphire)
+MACHINE_CONFIG_START(sapphire_state::ip2800)
+ sapphire(config);
//MCFG_DEVICE_MODIFY(INTERPRO_CPU_TAG)
//MCFG_DEVICE_CLOCK(XTAL_80MHz)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/intv.cpp b/src/mame/drivers/intv.cpp
index 4070e39ec97..b6169b6fa1c 100644
--- a/src/mame/drivers/intv.cpp
+++ b/src/mame/drivers/intv.cpp
@@ -496,12 +496,14 @@ MACHINE_CONFIG_START(intv_state::intv)
MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("ecs_list", "intvecs")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(intv_state::intv2, intv)
+MACHINE_CONFIG_START(intv_state::intv2)
+ intv(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(intv2_mem)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(intv_state::intvoice, intv)
+MACHINE_CONFIG_START(intv_state::intvoice)
+ intv(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(intvoice_mem)
@@ -509,7 +511,8 @@ MACHINE_CONFIG_DERIVED(intv_state::intvoice, intv)
MCFG_DEVICE_ADD("voice", INTV_ROM_VOICE, 0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(intv_state::intvecs, intv)
+MACHINE_CONFIG_START(intv_state::intvecs)
+ intv(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(intvecs_mem)
@@ -530,7 +533,8 @@ MACHINE_CONFIG_DERIVED(intv_state::intvecs, intv)
MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("intv_list", "intv")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(intv_state::intvkbd, intv)
+MACHINE_CONFIG_START(intv_state::intvkbd)
+ intv(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(intvkbd_mem)
diff --git a/src/mame/drivers/inufuku.cpp b/src/mame/drivers/inufuku.cpp
index df93a669411..fdc511cc557 100644
--- a/src/mame/drivers/inufuku.cpp
+++ b/src/mame/drivers/inufuku.cpp
@@ -381,7 +381,8 @@ MACHINE_CONFIG_START(inufuku_state::inufuku)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(inufuku_state::_3on3dunk, inufuku)
+MACHINE_CONFIG_START(inufuku_state::_3on3dunk)
+ inufuku(config);
MCFG_GFXDECODE_MODIFY("gfxdecode", _3on3dunk)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/ironhors.cpp b/src/mame/drivers/ironhors.cpp
index 083d386f48a..a9f159f7e51 100644
--- a/src/mame/drivers/ironhors.cpp
+++ b/src/mame/drivers/ironhors.cpp
@@ -440,7 +440,8 @@ READ8_MEMBER(ironhors_state::farwest_soundlatch_r)
return m_soundlatch->read(m_soundcpu->space(AS_PROGRAM), 0);
}
-MACHINE_CONFIG_DERIVED(ironhors_state::farwest, ironhors)
+MACHINE_CONFIG_START(ironhors_state::farwest)
+ ironhors(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(farwest_master_map)
diff --git a/src/mame/drivers/isbc.cpp b/src/mame/drivers/isbc.cpp
index 49018eff004..5701d05e84e 100644
--- a/src/mame/drivers/isbc.cpp
+++ b/src/mame/drivers/isbc.cpp
@@ -415,7 +415,8 @@ MACHINE_CONFIG_START(isbc_state::rpc86)
//MCFG_ISBX_SLOT_MINTR1_CALLBACK(DEVWRITELINE("pic_0", pic8259_device, ir6_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(isbc_state::isbc8605, rpc86)
+MACHINE_CONFIG_START(isbc_state::isbc8605)
+ rpc86(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(isbc8605_io)
@@ -424,7 +425,8 @@ MACHINE_CONFIG_DERIVED(isbc_state::isbc8605, rpc86)
MCFG_ISBC_208_IRQ(DEVWRITELINE("pic_0", pic8259_device, ir5_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(isbc_state::isbc8630, rpc86)
+MACHINE_CONFIG_START(isbc_state::isbc8630)
+ rpc86(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(isbc8630_io)
@@ -537,7 +539,8 @@ MACHINE_CONFIG_START(isbc_state::isbc286)
MCFG_ISBC_215_IRQ(DEVWRITELINE("pic_0", pic8259_device, ir5_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(isbc_state::isbc2861, isbc286)
+MACHINE_CONFIG_START(isbc_state::isbc2861)
+ isbc286(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(isbc2861_mem)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/isbc8010.cpp b/src/mame/drivers/isbc8010.cpp
index 50494ff9326..42359545d11 100644
--- a/src/mame/drivers/isbc8010.cpp
+++ b/src/mame/drivers/isbc8010.cpp
@@ -229,13 +229,15 @@ MACHINE_CONFIG_START(isbc8010_state::isbc8010)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(isbc8010_state::isbc8010a, isbc8010)
+MACHINE_CONFIG_START(isbc8010_state::isbc8010a)
+ isbc8010(config);
/* basic machine hardware */
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(isbc8010a_mem)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(isbc8010_state::isbc8010b, isbc8010)
+MACHINE_CONFIG_START(isbc8010_state::isbc8010b)
+ isbc8010(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(isbc8010b_mem)
diff --git a/src/mame/drivers/iskr103x.cpp b/src/mame/drivers/iskr103x.cpp
index 03805f2c763..7f42fed0b94 100644
--- a/src/mame/drivers/iskr103x.cpp
+++ b/src/mame/drivers/iskr103x.cpp
@@ -89,7 +89,8 @@ MACHINE_CONFIG_START(iskr103x_state::iskr1030m)
MCFG_RAM_EXTRA_OPTIONS("64K, 128K, 256K, 512K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(iskr103x_state::iskr1031, iskr1030m)
+MACHINE_CONFIG_START(iskr103x_state::iskr1031)
+ iskr1030m(config);
MCFG_DEVICE_MODIFY("mb")
MCFG_DEVICE_INPUT_DEFAULTS(iskr1031)
MCFG_DEVICE_MODIFY("isa1")
diff --git a/src/mame/drivers/iteagle.cpp b/src/mame/drivers/iteagle.cpp
index a7cb8504e2e..d05a13958be 100644
--- a/src/mame/drivers/iteagle.cpp
+++ b/src/mame/drivers/iteagle.cpp
@@ -196,56 +196,64 @@ MACHINE_CONFIG_START(iteagle_state::iteagle)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(iteagle_state::gtfore01, iteagle)
+MACHINE_CONFIG_START(iteagle_state::gtfore01)
+ iteagle(config);
MCFG_DEVICE_MODIFY(PCI_ID_FPGA)
MCFG_ITEAGLE_FPGA_INIT(0x01000401, 0x0b0b0b)
MCFG_DEVICE_MODIFY(PCI_ID_EEPROM)
MCFG_ITEAGLE_EEPROM_INIT(0x0401, 0x7)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(iteagle_state::gtfore02, iteagle)
+MACHINE_CONFIG_START(iteagle_state::gtfore02)
+ iteagle(config);
MCFG_DEVICE_MODIFY(PCI_ID_FPGA)
MCFG_ITEAGLE_FPGA_INIT(0x01000402, 0x020201)
MCFG_DEVICE_MODIFY(PCI_ID_EEPROM)
MCFG_ITEAGLE_EEPROM_INIT(0x0402, 0x7)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(iteagle_state::gtfore03, iteagle)
+MACHINE_CONFIG_START(iteagle_state::gtfore03)
+ iteagle(config);
MCFG_DEVICE_MODIFY(PCI_ID_FPGA)
MCFG_ITEAGLE_FPGA_INIT(0x01000403, 0x0a0b0a)
MCFG_DEVICE_MODIFY(PCI_ID_EEPROM)
MCFG_ITEAGLE_EEPROM_INIT(0x0403, 0x7)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(iteagle_state::gtfore04, iteagle)
+MACHINE_CONFIG_START(iteagle_state::gtfore04)
+ iteagle(config);
MCFG_DEVICE_MODIFY(PCI_ID_FPGA)
MCFG_ITEAGLE_FPGA_INIT(0x01000404, 0x0a020b)
MCFG_DEVICE_MODIFY(PCI_ID_EEPROM)
MCFG_ITEAGLE_EEPROM_INIT(0x0404, 0x7)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(iteagle_state::gtfore05, iteagle)
+MACHINE_CONFIG_START(iteagle_state::gtfore05)
+ iteagle(config);
MCFG_DEVICE_MODIFY(PCI_ID_FPGA)
MCFG_ITEAGLE_FPGA_INIT(0x01000405, 0x0b0a0c)
MCFG_DEVICE_MODIFY(PCI_ID_EEPROM)
MCFG_ITEAGLE_EEPROM_INIT(0x0405, 0x7);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(iteagle_state::gtfore06, iteagle)
+MACHINE_CONFIG_START(iteagle_state::gtfore06)
+ iteagle(config);
MCFG_DEVICE_MODIFY(PCI_ID_FPGA)
MCFG_ITEAGLE_FPGA_INIT(0x01000406, 0x0c0b0d)
MCFG_DEVICE_MODIFY(PCI_ID_EEPROM)
MCFG_ITEAGLE_EEPROM_INIT(0x0406, 0x9);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(iteagle_state::carnking, iteagle)
+MACHINE_CONFIG_START(iteagle_state::carnking)
+ iteagle(config);
MCFG_DEVICE_MODIFY(PCI_ID_FPGA)
MCFG_ITEAGLE_FPGA_INIT(0x01000a01, 0x0e0a0a)
MCFG_DEVICE_MODIFY(PCI_ID_EEPROM)
MCFG_ITEAGLE_EEPROM_INIT(0x0a01, 0x9)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(iteagle_state::bbhsc, iteagle)
+MACHINE_CONFIG_START(iteagle_state::bbhsc)
+ iteagle(config);
MCFG_DEVICE_MODIFY(PCI_ID_FPGA)
// 0xXX01XXXX = tournament board
MCFG_ITEAGLE_FPGA_INIT(0x02010600, 0x0c0a0a)
@@ -253,21 +261,24 @@ MACHINE_CONFIG_DERIVED(iteagle_state::bbhsc, iteagle)
MCFG_ITEAGLE_EEPROM_INIT(0x0000, 0x7)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(iteagle_state::bbh2sp, iteagle)
+MACHINE_CONFIG_START(iteagle_state::bbh2sp)
+ iteagle(config);
MCFG_DEVICE_MODIFY(PCI_ID_FPGA)
MCFG_ITEAGLE_FPGA_INIT(0x02010602, 0x0d0a0a)
MCFG_DEVICE_MODIFY(PCI_ID_EEPROM)
MCFG_ITEAGLE_EEPROM_INIT(0x0000, 0x7)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(iteagle_state::bbhcotw, iteagle)
+MACHINE_CONFIG_START(iteagle_state::bbhcotw)
+ iteagle(config);
MCFG_DEVICE_MODIFY(PCI_ID_FPGA)
MCFG_ITEAGLE_FPGA_INIT(0x02010603, 0x080704)
MCFG_DEVICE_MODIFY(PCI_ID_EEPROM)
MCFG_ITEAGLE_EEPROM_INIT(0x0603, 0x9)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(iteagle_state::virtpool, iteagle)
+MACHINE_CONFIG_START(iteagle_state::virtpool)
+ iteagle(config);
// Not sure what the actual value should be
// Setting a lower frequency helps delay the tutorial screen premature cut-out
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/itech32.cpp b/src/mame/drivers/itech32.cpp
index ee227812cad..771e2fd0d94 100644
--- a/src/mame/drivers/itech32.cpp
+++ b/src/mame/drivers/itech32.cpp
@@ -1717,7 +1717,8 @@ MACHINE_CONFIG_START(itech32_state::timekill)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(itech32_state::bloodstm, timekill)
+MACHINE_CONFIG_START(itech32_state::bloodstm)
+ timekill(config);
/* basic machine hardware */
@@ -1732,7 +1733,8 @@ MACHINE_CONFIG_DERIVED(itech32_state::bloodstm, timekill)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(itech32_state::drivedge, timekill)
+MACHINE_CONFIG_START(itech32_state::drivedge)
+ timekill(config);
/* basic machine hardware */
@@ -1760,7 +1762,8 @@ MACHINE_CONFIG_DERIVED(itech32_state::drivedge, timekill)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(itech32_state::sftm, timekill)
+MACHINE_CONFIG_START(itech32_state::sftm)
+ timekill(config);
/* basic machine hardware */
@@ -1781,7 +1784,8 @@ MACHINE_CONFIG_DERIVED(itech32_state::sftm, timekill)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(itech32_state::tourny, sftm)
+MACHINE_CONFIG_START(itech32_state::tourny)
+ sftm(config);
/* basic machine hardware */
diff --git a/src/mame/drivers/itech8.cpp b/src/mame/drivers/itech8.cpp
index 5c64f8acc82..b5cb20b991b 100644
--- a/src/mame/drivers/itech8.cpp
+++ b/src/mame/drivers/itech8.cpp
@@ -1699,7 +1699,8 @@ MACHINE_CONFIG_START(itech8_state::itech8_core_lo)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(itech8_state::itech8_core_hi, itech8_core_lo)
+MACHINE_CONFIG_START(itech8_state::itech8_core_hi)
+ itech8_core_lo(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1780,10 +1781,11 @@ MACHINE_CONFIG_END
/************* full drivers ******************/
-MACHINE_CONFIG_DERIVED(itech8_state::wfortune, itech8_core_hi)
+MACHINE_CONFIG_START(itech8_state::wfortune)
+ itech8_core_hi(config);
/* basic machine hardware */
- MCFG_FRAGMENT_ADD(itech8_sound_ym2203)
+ itech8_sound_ym2203(config);
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -1794,10 +1796,11 @@ MACHINE_CONFIG_DERIVED(itech8_state::wfortune, itech8_core_hi)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(itech8_state::grmatch, itech8_core_hi)
+MACHINE_CONFIG_START(itech8_state::grmatch)
+ itech8_core_hi(config);
/* basic machine hardware */
- MCFG_FRAGMENT_ADD(itech8_sound_ym2608b)
+ itech8_sound_ym2608b(config);
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -1810,10 +1813,11 @@ MACHINE_CONFIG_DERIVED(itech8_state::grmatch, itech8_core_hi)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(itech8_state::stratab_hi, itech8_core_hi)
+MACHINE_CONFIG_START(itech8_state::stratab_hi)
+ itech8_core_hi(config);
/* basic machine hardware */
- MCFG_FRAGMENT_ADD(itech8_sound_ym2203)
+ itech8_sound_ym2203(config);
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -1823,10 +1827,11 @@ MACHINE_CONFIG_DERIVED(itech8_state::stratab_hi, itech8_core_hi)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(itech8_state::stratab_lo, itech8_core_lo)
+MACHINE_CONFIG_START(itech8_state::stratab_lo)
+ itech8_core_lo(config);
/* basic machine hardware */
- MCFG_FRAGMENT_ADD(itech8_sound_ym2203)
+ itech8_sound_ym2203(config);
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -1835,10 +1840,11 @@ MACHINE_CONFIG_DERIVED(itech8_state::stratab_lo, itech8_core_lo)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(itech8_state::slikshot_hi, itech8_core_hi)
+MACHINE_CONFIG_START(itech8_state::slikshot_hi)
+ itech8_core_hi(config);
/* basic machine hardware */
- MCFG_FRAGMENT_ADD(itech8_sound_ym2203)
+ itech8_sound_ym2203(config);
MCFG_CPU_ADD("sub", Z80, CLOCK_8MHz/2)
MCFG_CPU_PROGRAM_MAP(slikz80_mem_map)
@@ -1852,10 +1858,11 @@ MACHINE_CONFIG_DERIVED(itech8_state::slikshot_hi, itech8_core_hi)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(itech8_state::slikshot_lo, itech8_core_lo)
+MACHINE_CONFIG_START(itech8_state::slikshot_lo)
+ itech8_core_lo(config);
/* basic machine hardware */
- MCFG_FRAGMENT_ADD(itech8_sound_ym2203)
+ itech8_sound_ym2203(config);
MCFG_CPU_ADD("sub", Z80, CLOCK_8MHz/2)
MCFG_CPU_PROGRAM_MAP(slikz80_mem_map)
@@ -1869,10 +1876,11 @@ MACHINE_CONFIG_DERIVED(itech8_state::slikshot_lo, itech8_core_lo)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(itech8_state::slikshot_lo_noz80, itech8_core_lo)
+MACHINE_CONFIG_START(itech8_state::slikshot_lo_noz80)
+ itech8_core_lo(config);
/* basic machine hardware */
- MCFG_FRAGMENT_ADD(itech8_sound_ym2203)
+ itech8_sound_ym2203(config);
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -1881,7 +1889,8 @@ MACHINE_CONFIG_DERIVED(itech8_state::slikshot_lo_noz80, itech8_core_lo)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(itech8_state::sstrike, slikshot_lo)
+MACHINE_CONFIG_START(itech8_state::sstrike)
+ slikshot_lo(config);
/* basic machine hardware */
MCFG_MACHINE_START_OVERRIDE(itech8_state,sstrike)
@@ -1889,10 +1898,11 @@ MACHINE_CONFIG_DERIVED(itech8_state::sstrike, slikshot_lo)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(itech8_state::hstennis_hi, itech8_core_hi)
+MACHINE_CONFIG_START(itech8_state::hstennis_hi)
+ itech8_core_hi(config);
/* basic machine hardware */
- MCFG_FRAGMENT_ADD(itech8_sound_ym3812)
+ itech8_sound_ym3812(config);
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -1901,10 +1911,11 @@ MACHINE_CONFIG_DERIVED(itech8_state::hstennis_hi, itech8_core_hi)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(itech8_state::hstennis_lo, itech8_core_lo)
+MACHINE_CONFIG_START(itech8_state::hstennis_lo)
+ itech8_core_lo(config);
/* basic machine hardware */
- MCFG_FRAGMENT_ADD(itech8_sound_ym3812)
+ itech8_sound_ym3812(config);
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -1913,10 +1924,11 @@ MACHINE_CONFIG_DERIVED(itech8_state::hstennis_lo, itech8_core_lo)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(itech8_state::rimrockn, itech8_core_hi)
+MACHINE_CONFIG_START(itech8_state::rimrockn)
+ itech8_core_hi(config);
/* basic machine hardware */
- MCFG_FRAGMENT_ADD(itech8_sound_ym3812_external)
+ itech8_sound_ym3812_external(config);
MCFG_CPU_REPLACE("maincpu", HD6309, CLOCK_12MHz)
MCFG_CPU_PROGRAM_MAP(tmshi_map)
@@ -1929,10 +1941,11 @@ MACHINE_CONFIG_DERIVED(itech8_state::rimrockn, itech8_core_hi)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(itech8_state::ninclown, itech8_core_hi)
+MACHINE_CONFIG_START(itech8_state::ninclown)
+ itech8_core_hi(config);
/* basic machine hardware */
- MCFG_FRAGMENT_ADD(itech8_sound_ym3812_external)
+ itech8_sound_ym3812_external(config);
MCFG_CPU_REPLACE("maincpu", M68000, CLOCK_12MHz)
MCFG_CPU_PROGRAM_MAP(ninclown_map)
@@ -1946,10 +1959,11 @@ MACHINE_CONFIG_DERIVED(itech8_state::ninclown, itech8_core_hi)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(itech8_state::gtg2, itech8_core_lo)
+MACHINE_CONFIG_START(itech8_state::gtg2)
+ itech8_core_lo(config);
/* basic machine hardware */
- MCFG_FRAGMENT_ADD(itech8_sound_ym3812_external)
+ itech8_sound_ym3812_external(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(gtg2_map)
diff --git a/src/mame/drivers/itgamble.cpp b/src/mame/drivers/itgamble.cpp
index 2f49385b182..37c4de2bb89 100644
--- a/src/mame/drivers/itgamble.cpp
+++ b/src/mame/drivers/itgamble.cpp
@@ -236,7 +236,8 @@ MACHINE_CONFIG_START(itgamble_state::itgamble)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(itgamble_state::mnumber, itgamble)
+MACHINE_CONFIG_START(itgamble_state::mnumber)
+ itgamble(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(MNUMBER_MAIN_CLOCK/2) /* probably the wrong CPU */
@@ -246,7 +247,8 @@ MACHINE_CONFIG_END
#ifdef UNUSED_CODE
-static MACHINE_CONFIG_DERIVED( ejollyx5, itgamble )
+static MACHINE_CONFIG_START( ejollyx5 )
+ itgamble(config);
/* wrong CPU. we need a Renesas M16/62A 16bit microcomputer core */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(EJOLLYX5_MAIN_CLOCK/2) /* up to 10MHz.*/
diff --git a/src/mame/drivers/jack.cpp b/src/mame/drivers/jack.cpp
index be814afa2ca..cea51a0a83b 100644
--- a/src/mame/drivers/jack.cpp
+++ b/src/mame/drivers/jack.cpp
@@ -941,13 +941,15 @@ MACHINE_CONFIG_START(jack_state::jack)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(jack_state::treahunt, jack)
+MACHINE_CONFIG_START(jack_state::treahunt)
+ jack(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(jack_state::striv, jack)
+MACHINE_CONFIG_START(jack_state::striv)
+ jack(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -970,7 +972,8 @@ INTERRUPT_GEN_MEMBER(jack_state::joinem_vblank_irq)
device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
}
-MACHINE_CONFIG_DERIVED(jack_state::joinem, jack)
+MACHINE_CONFIG_START(jack_state::joinem)
+ jack(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -995,7 +998,8 @@ MACHINE_CONFIG_DERIVED(jack_state::joinem, jack)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(jack_state::unclepoo, joinem)
+MACHINE_CONFIG_START(jack_state::unclepoo)
+ joinem(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/jaguar.cpp b/src/mame/drivers/jaguar.cpp
index 5bc12633083..1bdbe2256cd 100644
--- a/src/mame/drivers/jaguar.cpp
+++ b/src/mame/drivers/jaguar.cpp
@@ -1838,12 +1838,14 @@ MACHINE_CONFIG_START(jaguar_state::cojagr3k)
MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(jaguar_state::cojagr3k_rom, cojagr3k)
+MACHINE_CONFIG_START(jaguar_state::cojagr3k_rom)
+ cojagr3k(config);
MCFG_DEVICE_MODIFY("ide:0")
MCFG_SLOT_DEFAULT_OPTION(nullptr)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(jaguar_state::cojag68k, cojagr3k)
+MACHINE_CONFIG_START(jaguar_state::cojag68k)
+ cojagr3k(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", M68EC020, M68K_CLOCK/2)
@@ -1896,7 +1898,8 @@ MACHINE_CONFIG_START(jaguar_state::jaguar)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(jaguar_state::jaguarcd, jaguar)
+MACHINE_CONFIG_START(jaguar_state::jaguarcd)
+ jaguar(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(jaguarcd_map)
diff --git a/src/mame/drivers/jalmah.cpp b/src/mame/drivers/jalmah.cpp
index 5923ea99b4c..95be516b5c9 100644
--- a/src/mame/drivers/jalmah.cpp
+++ b/src/mame/drivers/jalmah.cpp
@@ -1449,7 +1449,8 @@ MACHINE_CONFIG_START(jalmah_state::jalmah)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(jalmah_state::urashima, jalmah)
+MACHINE_CONFIG_START(jalmah_state::urashima)
+ jalmah(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(urashima)
diff --git a/src/mame/drivers/jangou.cpp b/src/mame/drivers/jangou.cpp
index cb3d223d0e4..6b674b8a08e 100644
--- a/src/mame/drivers/jangou.cpp
+++ b/src/mame/drivers/jangou.cpp
@@ -891,7 +891,8 @@ MACHINE_CONFIG_START(jangou_state::jangou)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(jangou_state::jngolady, jangou)
+MACHINE_CONFIG_START(jangou_state::jngolady)
+ jangou(config);
/* basic machine hardware */
@@ -917,7 +918,8 @@ MACHINE_CONFIG_DERIVED(jangou_state::jngolady, jangou)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(jangou_state::cntrygrl, jangou)
+MACHINE_CONFIG_START(jangou_state::cntrygrl)
+ jangou(config);
/* basic machine hardware */
@@ -935,7 +937,8 @@ MACHINE_CONFIG_DERIVED(jangou_state::cntrygrl, jangou)
MCFG_DEVICE_REMOVE("soundlatch")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(jangou_state::roylcrdn, jangou)
+MACHINE_CONFIG_START(jangou_state::roylcrdn)
+ jangou(config);
/* basic machine hardware */
diff --git a/src/mame/drivers/jedi.cpp b/src/mame/drivers/jedi.cpp
index 76904028678..5b594abfd7b 100644
--- a/src/mame/drivers/jedi.cpp
+++ b/src/mame/drivers/jedi.cpp
@@ -357,10 +357,10 @@ MACHINE_CONFIG_START(jedi_state::jedi)
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */
- MCFG_FRAGMENT_ADD(jedi_video)
+ jedi_video(config);
/* audio hardware */
- MCFG_FRAGMENT_ADD(jedi_audio)
+ jedi_audio(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/jeutel.cpp b/src/mame/drivers/jeutel.cpp
index 2deb428b4ff..5fe75747604 100644
--- a/src/mame/drivers/jeutel.cpp
+++ b/src/mame/drivers/jeutel.cpp
@@ -203,7 +203,7 @@ MACHINE_CONFIG_START(jeutel_state::jeutel)
MCFG_DEFAULT_LAYOUT(layout_jeutel)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/joctronic.cpp b/src/mame/drivers/joctronic.cpp
index 8f35c410a4c..ff4d699d4be 100644
--- a/src/mame/drivers/joctronic.cpp
+++ b/src/mame/drivers/joctronic.cpp
@@ -422,7 +422,8 @@ MACHINE_CONFIG_START(joctronic_state::slalom03)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(joctronic_state::bldyrolr, slalom03)
+MACHINE_CONFIG_START(joctronic_state::bldyrolr)
+ slalom03(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(bldyrolr_maincpu_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/jollyjgr.cpp b/src/mame/drivers/jollyjgr.cpp
index 4d3892a5ac9..a73af899233 100644
--- a/src/mame/drivers/jollyjgr.cpp
+++ b/src/mame/drivers/jollyjgr.cpp
@@ -700,7 +700,8 @@ MACHINE_CONFIG_START(jollyjgr_state::jollyjgr)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.45)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(jollyjgr_state::fspider, jollyjgr)
+MACHINE_CONFIG_START(jollyjgr_state::fspider)
+ jollyjgr(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(fspider_map)
diff --git a/src/mame/drivers/jp.cpp b/src/mame/drivers/jp.cpp
index 0a6ecb3c56b..04ebc8733d8 100644
--- a/src/mame/drivers/jp.cpp
+++ b/src/mame/drivers/jp.cpp
@@ -364,7 +364,7 @@ MACHINE_CONFIG_START(jp_state::jp)
MCFG_DEFAULT_LAYOUT(layout_jp)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MCFG_SPEAKER_STANDARD_MONO("ayvol")
MCFG_SOUND_ADD("ay", AY8910, XTAL(8'000'000) / 4)
MCFG_AY8910_PORT_A_READ_CB(READ8(jp_state, porta_r))
@@ -399,7 +399,8 @@ IRQ_CALLBACK_MEMBER(jp_state::sound_int_cb)
return 0xff;
}
-MACHINE_CONFIG_DERIVED(jp_state::jps, jp)
+MACHINE_CONFIG_START(jp_state::jps)
+ jp(config);
MCFG_CPU_ADD("soundcpu", Z80, XTAL(8'000'000) / 2)
MCFG_CPU_PROGRAM_MAP(jp_sound_map)
MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(jp_state, sound_int_cb)
diff --git a/src/mame/drivers/jtc.cpp b/src/mame/drivers/jtc.cpp
index f728bb9c396..ec4ae25d00e 100644
--- a/src/mame/drivers/jtc.cpp
+++ b/src/mame/drivers/jtc.cpp
@@ -746,7 +746,8 @@ MACHINE_CONFIG_START(jtc_state::basic)
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(jtc_state, write_centronics_busy))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(jtc_state::jtc, basic)
+MACHINE_CONFIG_START(jtc_state::jtc)
+ basic(config);
/* video hardware */
MCFG_SCREEN_ADD(SCREEN_TAG, RASTER)
MCFG_SCREEN_REFRESH_RATE(50)
@@ -763,7 +764,8 @@ MACHINE_CONFIG_DERIVED(jtc_state::jtc, basic)
MCFG_RAM_DEFAULT_SIZE("2K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(jtces88_state::jtces88, jtc)
+MACHINE_CONFIG_START(jtces88_state::jtces88)
+ jtc(config);
/* basic machine hardware */
MCFG_CPU_MODIFY(UB8830D_TAG)
MCFG_CPU_PROGRAM_MAP(jtc_es1988_mem)
@@ -773,7 +775,8 @@ MACHINE_CONFIG_DERIVED(jtces88_state::jtces88, jtc)
MCFG_RAM_DEFAULT_SIZE("4K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(jtces23_state::jtces23, basic)
+MACHINE_CONFIG_START(jtces23_state::jtces23)
+ basic(config);
/* basic machine hardware */
MCFG_CPU_MODIFY(UB8830D_TAG)
MCFG_CPU_PROGRAM_MAP(jtc_es23_mem)
@@ -795,7 +798,8 @@ MACHINE_CONFIG_DERIVED(jtces23_state::jtces23, basic)
MCFG_RAM_DEFAULT_SIZE("4K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(jtces40_state::jtces40, basic)
+MACHINE_CONFIG_START(jtces40_state::jtces40)
+ basic(config);
/* basic machine hardware */
MCFG_CPU_MODIFY(UB8830D_TAG)
MCFG_CPU_PROGRAM_MAP(jtc_es40_mem)
diff --git a/src/mame/drivers/kaneko16.cpp b/src/mame/drivers/kaneko16.cpp
index ead915916b1..dba608a0694 100644
--- a/src/mame/drivers/kaneko16.cpp
+++ b/src/mame/drivers/kaneko16.cpp
@@ -2179,7 +2179,8 @@ MACHINE_CONFIG_START(kaneko16_gtmr_state::gtmr)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(kaneko16_gtmr_state::gtmre, gtmr)
+MACHINE_CONFIG_START(kaneko16_gtmr_state::gtmre)
+ gtmr(config);
MCFG_DEVICE_MODIFY("toybox")
MCFG_TOYBOX_TABLE_TYPE(ALT)
MACHINE_CONFIG_END
@@ -2188,7 +2189,8 @@ MACHINE_CONFIG_END
Great 1000 Miles Rally 2
***************************************************************************/
-MACHINE_CONFIG_DERIVED(kaneko16_gtmr_state::gtmr2, gtmre)
+MACHINE_CONFIG_START(kaneko16_gtmr_state::gtmr2)
+ gtmre(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2199,7 +2201,8 @@ MACHINE_CONFIG_END
Blood Warrior
***************************************************************************/
-MACHINE_CONFIG_DERIVED(kaneko16_gtmr_state::bloodwar, gtmr)
+MACHINE_CONFIG_START(kaneko16_gtmr_state::bloodwar)
+ gtmr(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2220,7 +2223,8 @@ MACHINE_CONFIG_END
Bonk's Adventure
***************************************************************************/
-MACHINE_CONFIG_DERIVED(kaneko16_gtmr_state::bonkadv, gtmr)
+MACHINE_CONFIG_START(kaneko16_gtmr_state::bonkadv)
+ gtmr(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2449,7 +2453,8 @@ ADDRESS_MAP_START(kaneko16_shogwarr_state::brapboys_oki2_map)
AM_RANGE(0x20000, 0x3ffff) AM_ROMBANK("bank11")
ADDRESS_MAP_END
-MACHINE_CONFIG_DERIVED(kaneko16_shogwarr_state::brapboys, shogwarr)
+MACHINE_CONFIG_START(kaneko16_shogwarr_state::brapboys)
+ shogwarr(config);
MCFG_SOUND_MODIFY("oki2")
MCFG_DEVICE_ADDRESS_MAP(0, brapboys_oki2_map)
diff --git a/src/mame/drivers/kangaroo.cpp b/src/mame/drivers/kangaroo.cpp
index 4d395ee5ff4..08515c3c18a 100644
--- a/src/mame/drivers/kangaroo.cpp
+++ b/src/mame/drivers/kangaroo.cpp
@@ -457,7 +457,8 @@ MACHINE_CONFIG_START(kangaroo_state::nomcu)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(kangaroo_state::mcu, nomcu)
+MACHINE_CONFIG_START(kangaroo_state::mcu)
+ nomcu(config);
MCFG_MACHINE_START_OVERRIDE(kangaroo_state,kangaroo_mcu)
diff --git a/src/mame/drivers/karnov.cpp b/src/mame/drivers/karnov.cpp
index c5ee575e6a4..04ed9d86a25 100644
--- a/src/mame/drivers/karnov.cpp
+++ b/src/mame/drivers/karnov.cpp
@@ -847,7 +847,8 @@ MACHINE_CONFIG_START(karnov_state::karnov)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(karnov_state::karnovjbl, karnov)
+MACHINE_CONFIG_START(karnov_state::karnovjbl)
+ karnov(config);
/* X-TALs:
Top board next to #9 is 20.000 MHz
Top board next to the microcontroller is 6.000 MHz
@@ -872,7 +873,8 @@ ADDRESS_MAP_START(karnov_state::chelnovjbl_mcu_io_map)
ADDRESS_MAP_END
-MACHINE_CONFIG_DERIVED(karnov_state::chelnovjbl, karnov)
+MACHINE_CONFIG_START(karnov_state::chelnovjbl)
+ karnov(config);
MCFG_CPU_ADD("mcu", I8031, 2000000) // ??mhz
MCFG_CPU_PROGRAM_MAP(chelnovjbl_mcu_map)
MCFG_CPU_IO_MAP(chelnovjbl_mcu_io_map)
diff --git a/src/mame/drivers/kaypro.cpp b/src/mame/drivers/kaypro.cpp
index 81f045d0a7e..d3900706c50 100644
--- a/src/mame/drivers/kaypro.cpp
+++ b/src/mame/drivers/kaypro.cpp
@@ -269,7 +269,8 @@ MACHINE_CONFIG_START(kaypro_state::kayproii)
MCFG_SOFTWARE_LIST_ADD("flop_list","kayproii")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(kaypro_state::kayproiv, kayproii)
+MACHINE_CONFIG_START(kaypro_state::kayproiv)
+ kayproii(config);
MCFG_DEVICE_REMOVE("z80pio_s")
MCFG_DEVICE_ADD("z80pio_s", Z80PIO, 2500000)
MCFG_Z80PIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
@@ -367,16 +368,19 @@ MACHINE_CONFIG_START(kaypro_state::kaypro484)
MCFG_FLOPPY_DRIVE_SOUND(true)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(kaypro_state::kaypro10, kaypro484)
+MACHINE_CONFIG_START(kaypro_state::kaypro10)
+ kaypro484(config);
MCFG_DEVICE_REMOVE("fdc:1") // only has 1 floppy drive
// need to add hard drive & controller
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(kaypro_state::kaypronew2, kaypro484)
+MACHINE_CONFIG_START(kaypro_state::kaypronew2)
+ kaypro484(config);
MCFG_DEVICE_REMOVE("fdc:1") // only has 1 floppy drive
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(kaypro_state::kaypro284, kaypro484)
+MACHINE_CONFIG_START(kaypro_state::kaypro284)
+ kaypro484(config);
MCFG_DEVICE_REMOVE("fdc:0")
MCFG_DEVICE_REMOVE("fdc:1")
MCFG_FLOPPY_DRIVE_ADD("fdc:0", kaypro_floppies, "525ssdd", floppy_image_device::default_floppy_formats)
@@ -385,7 +389,8 @@ MACHINE_CONFIG_DERIVED(kaypro_state::kaypro284, kaypro484)
MCFG_FLOPPY_DRIVE_SOUND(true)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(kaypro_state::omni2, kayproiv)
+MACHINE_CONFIG_START(kaypro_state::omni2)
+ kayproiv(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(kaypro_state, screen_update_omni2)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/kc.cpp b/src/mame/drivers/kc.cpp
index 8798dbe0764..1d54a6ead80 100644
--- a/src/mame/drivers/kc.cpp
+++ b/src/mame/drivers/kc.cpp
@@ -257,7 +257,8 @@ MACHINE_CONFIG_START(kc85_4_state::kc85_4)
MCFG_RAM_DEFAULT_SIZE("64K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(kc85_4_state::kc85_5, kc85_4)
+MACHINE_CONFIG_START(kc85_4_state::kc85_5)
+ kc85_4(config);
/* internal ram */
MCFG_RAM_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("256K")
diff --git a/src/mame/drivers/kenseim.cpp b/src/mame/drivers/kenseim.cpp
index c506cc28d2a..0762db86c46 100644
--- a/src/mame/drivers/kenseim.cpp
+++ b/src/mame/drivers/kenseim.cpp
@@ -473,7 +473,8 @@ static const z80_daisy_config daisy_chain_gamecpu[] =
{ nullptr }
};
-MACHINE_CONFIG_DERIVED(kenseim_state::kenseim, cps1_12MHz)
+MACHINE_CONFIG_START(kenseim_state::kenseim)
+ cps1_12MHz(config);
/* basic machine hardware */
MCFG_CPU_ADD("gamecpu", TMPZ84C011, XTAL(16'000'000)/2) // tmpz84c011-8
diff --git a/src/mame/drivers/kingdrby.cpp b/src/mame/drivers/kingdrby.cpp
index 367adcebde6..0afc83e0307 100644
--- a/src/mame/drivers/kingdrby.cpp
+++ b/src/mame/drivers/kingdrby.cpp
@@ -994,7 +994,8 @@ MACHINE_CONFIG_START(kingdrby_state::kingdrby)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(kingdrby_state::kingdrbb, kingdrby)
+MACHINE_CONFIG_START(kingdrby_state::kingdrbb)
+ kingdrby(config);
MCFG_CPU_MODIFY("slave")
MCFG_CPU_PROGRAM_MAP(slave_1986_map)
@@ -1017,7 +1018,8 @@ MACHINE_CONFIG_DERIVED(kingdrby_state::kingdrbb, kingdrby)
/* actually unused */
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(kingdrby_state::cowrace, kingdrbb)
+MACHINE_CONFIG_START(kingdrby_state::cowrace)
+ kingdrbb(config);
MCFG_CPU_MODIFY("soundcpu")
MCFG_CPU_PROGRAM_MAP(cowrace_sound_map)
diff --git a/src/mame/drivers/klax.cpp b/src/mame/drivers/klax.cpp
index e95d6fc2fa4..94cc87677a6 100644
--- a/src/mame/drivers/klax.cpp
+++ b/src/mame/drivers/klax.cpp
@@ -236,7 +236,8 @@ ADDRESS_MAP_START(klax_state::bootleg_sound_map)
AM_RANGE(0x0000, 0x7fff) AM_ROM
ADDRESS_MAP_END
-MACHINE_CONFIG_DERIVED(klax_state::klax2bl, klax)
+MACHINE_CONFIG_START(klax_state::klax2bl)
+ klax(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(klax2bl_map)
diff --git a/src/mame/drivers/konamigv.cpp b/src/mame/drivers/konamigv.cpp
index f2a43917c86..42e744a3044 100644
--- a/src/mame/drivers/konamigv.cpp
+++ b/src/mame/drivers/konamigv.cpp
@@ -484,7 +484,8 @@ DRIVER_INIT_MEMBER(konamigv_state,simpbowl)
m_flash8[3] = machine().device<fujitsu_29f016a_device>("flash3");
}
-MACHINE_CONFIG_DERIVED(konamigv_state::simpbowl, konamigv)
+MACHINE_CONFIG_START(konamigv_state::simpbowl)
+ konamigv(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP( simpbowl_map )
@@ -523,7 +524,8 @@ WRITE16_MEMBER(konamigv_state::btc_trackball_w)
}
}
-MACHINE_CONFIG_DERIVED(konamigv_state::btchamp, konamigv)
+MACHINE_CONFIG_START(konamigv_state::btchamp)
+ konamigv(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP( btchamp_map )
@@ -580,7 +582,8 @@ WRITE16_MEMBER(konamigv_state::tokimeki_serial_w)
}
-MACHINE_CONFIG_DERIVED(konamigv_state::tmosh, konamigv)
+MACHINE_CONFIG_START(konamigv_state::tmosh)
+ konamigv(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP( tmosh_map )
MACHINE_CONFIG_END
@@ -595,7 +598,8 @@ CD:
A01
*/
-MACHINE_CONFIG_DERIVED(konamigv_state::kdeadeye, konamigv)
+MACHINE_CONFIG_START(konamigv_state::kdeadeye)
+ konamigv(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP( kdeadeye_map )
diff --git a/src/mame/drivers/konamigx.cpp b/src/mame/drivers/konamigx.cpp
index cf7d6392032..a1f1a1614e1 100644
--- a/src/mame/drivers/konamigx.cpp
+++ b/src/mame/drivers/konamigx.cpp
@@ -1692,17 +1692,20 @@ MACHINE_CONFIG_START(konamigx_state::konamigx)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(konamigx_state::konamigx_bios, konamigx)
+MACHINE_CONFIG_START(konamigx_state::konamigx_bios)
+ konamigx(config);
MCFG_DEVICE_MODIFY("k056832")
MCFG_K056832_CONFIG("gfx1", K056832_BPP_4, 0, 0, "k055555")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(konamigx_state::gokuparo, konamigx)
+MACHINE_CONFIG_START(konamigx_state::gokuparo)
+ konamigx(config);
MCFG_DEVICE_MODIFY("k055673")
MCFG_K055673_CONFIG("gfx2", K055673_LAYOUT_GX, -46, -23)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(konamigx_state::sexyparo, konamigx)
+MACHINE_CONFIG_START(konamigx_state::sexyparo)
+ konamigx(config);
MCFG_DEVICE_MODIFY("k056832")
MCFG_K056832_CB(konamigx_state, alpha_tile_callback)
@@ -1710,12 +1713,14 @@ MACHINE_CONFIG_DERIVED(konamigx_state::sexyparo, konamigx)
MCFG_K055673_CONFIG("gfx2", K055673_LAYOUT_GX, -42, -23)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(konamigx_state::tbyahhoo, konamigx)
+MACHINE_CONFIG_START(konamigx_state::tbyahhoo)
+ konamigx(config);
MCFG_DEVICE_MODIFY("k056832")
MCFG_K056832_CONFIG("gfx1", K056832_BPP_5, 0, 0, "k055555")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(konamigx_state::dragoonj, konamigx)
+MACHINE_CONFIG_START(konamigx_state::dragoonj)
+ konamigx(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_VIDEO_START_OVERRIDE(konamigx_state, dragoonj)
@@ -1730,7 +1735,8 @@ MACHINE_CONFIG_DERIVED(konamigx_state::dragoonj, konamigx)
MCFG_K055673_CONFIG("gfx2", K055673_LAYOUT_RNG, -53, -23)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(konamigx_state::le2, konamigx)
+MACHINE_CONFIG_START(konamigx_state::le2)
+ konamigx(config);
MCFG_VIDEO_START_OVERRIDE(konamigx_state, le2)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", konamigx_state, konamigx_type2_scanline, "screen", 0, 1)
@@ -1742,7 +1748,8 @@ MACHINE_CONFIG_DERIVED(konamigx_state::le2, konamigx)
MCFG_K055673_CONFIG("gfx2", K055673_LAYOUT_LE2, -46, -23)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(konamigx_state::konamigx_6bpp, konamigx)
+MACHINE_CONFIG_START(konamigx_state::konamigx_6bpp)
+ konamigx(config);
MCFG_VIDEO_START_OVERRIDE(konamigx_state, konamigx_6bpp)
MCFG_DEVICE_MODIFY("k056832")
@@ -1752,7 +1759,8 @@ MACHINE_CONFIG_DERIVED(konamigx_state::konamigx_6bpp, konamigx)
MCFG_K055673_CONFIG("gfx2", K055673_LAYOUT_GX, -46, -23)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(konamigx_state::salmndr2, konamigx)
+MACHINE_CONFIG_START(konamigx_state::salmndr2)
+ konamigx(config);
MCFG_DEVICE_MODIFY("k056832")
MCFG_K056832_CONFIG("gfx1", K056832_BPP_6, 1, 0, "none")
@@ -1761,7 +1769,8 @@ MACHINE_CONFIG_DERIVED(konamigx_state::salmndr2, konamigx)
MCFG_K055673_CONFIG("gfx2", K055673_LAYOUT_GX6, -48, -23)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(konamigx_state::opengolf, konamigx)
+MACHINE_CONFIG_START(konamigx_state::opengolf)
+ konamigx(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_RAW_PARAMS(8000000, 384+24+64+40, 0, 383, 224+16+8+16, 0, 223)
MCFG_SCREEN_VISIBLE_AREA(40, 40+384-1, 16, 16+224-1)
@@ -1779,7 +1788,8 @@ MACHINE_CONFIG_DERIVED(konamigx_state::opengolf, konamigx)
MCFG_ADC083X_INPUT_CB(konamigx_state, adc0834_callback)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(konamigx_state::racinfrc, konamigx)
+MACHINE_CONFIG_START(konamigx_state::racinfrc)
+ konamigx(config);
MCFG_SCREEN_MODIFY("screen")
//MCFG_SCREEN_RAW_PARAMS(6000000, 384+24+64+40, 0, 383, 224+16+8+16, 0, 223)
//MCFG_SCREEN_VISIBLE_AREA(32, 32+384-1, 16, 16+224-1)
@@ -1803,7 +1813,8 @@ MACHINE_CONFIG_DERIVED(konamigx_state::racinfrc, konamigx)
MCFG_ADC083X_INPUT_CB(konamigx_state, adc0834_callback)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(konamigx_state::gxtype3, konamigx)
+MACHINE_CONFIG_START(konamigx_state::gxtype3)
+ konamigx(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(gx_type3_map)
@@ -1843,7 +1854,8 @@ MACHINE_CONFIG_DERIVED(konamigx_state::gxtype3, konamigx)
MCFG_SCREEN_UPDATE_DRIVER(konamigx_state, screen_update_konamigx_right)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(konamigx_state::gxtype4, konamigx)
+MACHINE_CONFIG_START(konamigx_state::gxtype4)
+ konamigx(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(gx_type4_map)
@@ -1884,7 +1896,8 @@ MACHINE_CONFIG_DERIVED(konamigx_state::gxtype4, konamigx)
MCFG_K055673_CONFIG("gfx2", K055673_LAYOUT_GX6, -79, -24) // -23 looks better in intro
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(konamigx_state::gxtype4_vsn, gxtype4)
+MACHINE_CONFIG_START(konamigx_state::gxtype4_vsn)
+ gxtype4(config);
MCFG_DEFAULT_LAYOUT(layout_dualhsxs)
//MCFG_SCREEN_MODIFY("screen")
@@ -1908,14 +1921,16 @@ MACHINE_CONFIG_DERIVED(konamigx_state::gxtype4_vsn, gxtype4)
MCFG_K055673_CONFIG("gfx2", K055673_LAYOUT_GX6, -132, -23)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(konamigx_state::gxtype4sd2, gxtype4)
+MACHINE_CONFIG_START(konamigx_state::gxtype4sd2)
+ gxtype4(config);
MCFG_VIDEO_START_OVERRIDE(konamigx_state, konamigx_type4_sd2)
MCFG_DEVICE_MODIFY("k055673")
MCFG_K055673_CONFIG("gfx2", K055673_LAYOUT_GX6, -81, -23)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(konamigx_state::winspike, konamigx)
+MACHINE_CONFIG_START(konamigx_state::winspike)
+ konamigx(config);
//MCFG_SCREEN_MODIFY("screen")
//MCFG_SCREEN_VISIBLE_AREA(38, 38+384-1, 16, 16+224-1)
diff --git a/src/mame/drivers/konamim2.cpp b/src/mame/drivers/konamim2.cpp
index 42641f1be4b..eececad4fcb 100644
--- a/src/mame/drivers/konamim2.cpp
+++ b/src/mame/drivers/konamim2.cpp
@@ -1325,7 +1325,8 @@ MACHINE_CONFIG_START(konamim2_state::m2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(konamim2_state::_3do_m2, m2)
+MACHINE_CONFIG_START(konamim2_state::_3do_m2)
+ m2(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(_3do_m2_main_m)
diff --git a/src/mame/drivers/ksys573.cpp b/src/mame/drivers/ksys573.cpp
index 6b422383c95..6498134920f 100644
--- a/src/mame/drivers/ksys573.cpp
+++ b/src/mame/drivers/ksys573.cpp
@@ -2128,14 +2128,16 @@ MACHINE_CONFIG_START(ksys573_state::konami573)
MACHINE_CONFIG_END
// Variants with additional digital sound board
-MACHINE_CONFIG_DERIVED(ksys573_state::k573d, konami573)
+MACHINE_CONFIG_START(ksys573_state::k573d)
+ konami573(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP( konami573d_map )
MCFG_KONAMI_573_DIGITAL_IO_BOARD_ADD( "k573dio", XTAL(19'660'800) )
MACHINE_CONFIG_END
// Variants with additional analogue i/o board
-MACHINE_CONFIG_DERIVED(ksys573_state::k573a, konami573)
+MACHINE_CONFIG_START(ksys573_state::k573a)
+ konami573(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP( konami573a_map )
MACHINE_CONFIG_END
@@ -2221,229 +2223,263 @@ MACHINE_CONFIG_END
// Dance Dance Revolution
-MACHINE_CONFIG_DERIVED(ksys573_state::ddr, k573a)
- MCFG_FRAGMENT_ADD( cassx )
+MACHINE_CONFIG_START(ksys573_state::ddr)
+ k573a(config);
+ cassx(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ksys573_state::ddr2ml, k573a)
+MACHINE_CONFIG_START(ksys573_state::ddr2ml)
+ k573a(config);
MCFG_DEVICE_ADD( "k573mcr", KONAMI_573_MEMORY_CARD_READER, 0 )
- MCFG_FRAGMENT_ADD( pccard1_16mb )
- MCFG_FRAGMENT_ADD( cassx )
+ pccard1_16mb(config);
+ cassx(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ksys573_state::ddr3m, k573d)
+MACHINE_CONFIG_START(ksys573_state::ddr3m)
+ k573d(config);
MCFG_DEVICE_MODIFY( "k573dio" )
MCFG_KONAMI_573_DIGITAL_IO_BOARD_OUTPUT_CALLBACK( WRITE8( ksys573_state, ddr_output_callback ) )
- MCFG_FRAGMENT_ADD( pccard2_32mb )
- MCFG_FRAGMENT_ADD( cassyyi )
+ pccard2_32mb(config);
+ cassyyi(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ksys573_state::ddr3mp, k573d)
+MACHINE_CONFIG_START(ksys573_state::ddr3mp)
+ k573d(config);
MCFG_DEVICE_MODIFY( "k573dio" )
MCFG_KONAMI_573_DIGITAL_IO_BOARD_OUTPUT_CALLBACK( WRITE8( ksys573_state, ddr_output_callback ) )
- MCFG_FRAGMENT_ADD( pccard2_32mb )
- MCFG_FRAGMENT_ADD( cassxzi )
+ pccard2_32mb(config);
+ cassxzi(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ksys573_state::ddrusa, k573d)
+MACHINE_CONFIG_START(ksys573_state::ddrusa)
+ k573d(config);
MCFG_DEVICE_MODIFY( "k573dio" )
MCFG_KONAMI_573_DIGITAL_IO_BOARD_OUTPUT_CALLBACK( WRITE8( ksys573_state, ddr_output_callback ) )
- MCFG_FRAGMENT_ADD( casszi )
+ casszi(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ksys573_state::ddr5m, k573d)
+MACHINE_CONFIG_START(ksys573_state::ddr5m)
+ k573d(config);
MCFG_DEVICE_MODIFY( "k573dio" )
MCFG_KONAMI_573_DIGITAL_IO_BOARD_OUTPUT_CALLBACK( WRITE8( ksys573_state, ddr_output_callback ) )
- MCFG_FRAGMENT_ADD( pccard2_32mb )
- MCFG_FRAGMENT_ADD( casszi )
+ pccard2_32mb(config);
+ casszi(config);
MACHINE_CONFIG_END
// Dancing Stage
-MACHINE_CONFIG_DERIVED(ksys573_state::dsfdcta, k573a)
- MCFG_FRAGMENT_ADD( pccard2_32mb )
- MCFG_FRAGMENT_ADD( cassyyi )
+MACHINE_CONFIG_START(ksys573_state::dsfdcta)
+ k573a(config);
+ pccard2_32mb(config);
+ cassyyi(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ksys573_state::dsftkd, k573a)
- MCFG_FRAGMENT_ADD( cassyi )
+MACHINE_CONFIG_START(ksys573_state::dsftkd)
+ k573a(config);
+ cassyi(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ksys573_state::dsfdr, k573d)
+MACHINE_CONFIG_START(ksys573_state::dsfdr)
+ k573d(config);
MCFG_DEVICE_MODIFY( "k573dio" )
MCFG_KONAMI_573_DIGITAL_IO_BOARD_OUTPUT_CALLBACK( WRITE8( ksys573_state, ddr_output_callback ) )
- MCFG_FRAGMENT_ADD( cassxzi )
+ cassxzi(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ksys573_state::dsem, k573d)
+MACHINE_CONFIG_START(ksys573_state::dsem)
+ k573d(config);
MCFG_DEVICE_MODIFY( "k573dio" )
MCFG_KONAMI_573_DIGITAL_IO_BOARD_OUTPUT_CALLBACK( WRITE8( ksys573_state, ddr_output_callback ) )
- MCFG_FRAGMENT_ADD( cassxi )
+ cassxi(config);
MACHINE_CONFIG_END
// Dance Dance Revolution Solo
-MACHINE_CONFIG_DERIVED(ksys573_state::ddrsolo, k573d)
+MACHINE_CONFIG_START(ksys573_state::ddrsolo)
+ k573d(config);
MCFG_DEVICE_MODIFY( "k573dio" )
MCFG_KONAMI_573_DIGITAL_IO_BOARD_OUTPUT_CALLBACK( WRITE8( ksys573_state, ddrsolo_output_callback ) )
- MCFG_FRAGMENT_ADD( cassyi )
+ cassyi(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ksys573_state::ddrs2k, k573d)
+MACHINE_CONFIG_START(ksys573_state::ddrs2k)
+ k573d(config);
MCFG_DEVICE_MODIFY( "k573dio" )
MCFG_KONAMI_573_DIGITAL_IO_BOARD_OUTPUT_CALLBACK( WRITE8( ksys573_state, ddrsolo_output_callback ) )
- MCFG_FRAGMENT_ADD( cassyyi )
+ cassyyi(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ksys573_state::ddr4ms, k573d)
+MACHINE_CONFIG_START(ksys573_state::ddr4ms)
+ k573d(config);
MCFG_DEVICE_MODIFY( "k573dio" )
MCFG_KONAMI_573_DIGITAL_IO_BOARD_OUTPUT_CALLBACK( WRITE8( ksys573_state, ddrsolo_output_callback ) )
- MCFG_FRAGMENT_ADD( pccard2_32mb )
- MCFG_FRAGMENT_ADD( cassxzi )
+ pccard2_32mb(config);
+ cassxzi(config);
MACHINE_CONFIG_END
// DrumMania
-MACHINE_CONFIG_DERIVED(ksys573_state::drmn, k573a)
- MCFG_FRAGMENT_ADD( cassx )
+MACHINE_CONFIG_START(ksys573_state::drmn)
+ k573a(config);
+ cassx(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ksys573_state::drmn2m, k573d)
+MACHINE_CONFIG_START(ksys573_state::drmn2m)
+ k573d(config);
MCFG_DEVICE_MODIFY( "k573dio" )
MCFG_KONAMI_573_DIGITAL_IO_BOARD_OUTPUT_CALLBACK( WRITE8( ksys573_state, drmn_output_callback ) )
- MCFG_FRAGMENT_ADD( cassxzi )
+ cassxzi(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ksys573_state::drmn4m, k573d)
+MACHINE_CONFIG_START(ksys573_state::drmn4m)
+ k573d(config);
MCFG_DEVICE_MODIFY( "k573dio" )
MCFG_KONAMI_573_DIGITAL_IO_BOARD_OUTPUT_CALLBACK( WRITE8( ksys573_state, drmn_output_callback ) )
- MCFG_FRAGMENT_ADD( casszi )
+ casszi(config);
MCFG_DEVICE_ADD( "k573msu", KONAMI_573_MULTI_SESSION_UNIT, 0 )
MACHINE_CONFIG_END
// Guitar Freaks
-MACHINE_CONFIG_DERIVED(ksys573_state::gtrfrks, k573a)
- MCFG_FRAGMENT_ADD( cassx )
+MACHINE_CONFIG_START(ksys573_state::gtrfrks)
+ k573a(config);
+ cassx(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ksys573_state::gtrfrk2m, k573a)
- MCFG_FRAGMENT_ADD( cassyi )
- MCFG_FRAGMENT_ADD( pccard1_32mb ) // HACK: The installation tries to check and erase 32mb but only flashes 16mb.
+MACHINE_CONFIG_START(ksys573_state::gtrfrk2m)
+ k573a(config);
+ cassyi(config);
+ pccard1_32mb(config); // HACK: The installation tries to check and erase 32mb but only flashes 16mb.
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ksys573_state::gtrfrk3m, k573d)
- MCFG_FRAGMENT_ADD( cassxzi )
- MCFG_FRAGMENT_ADD( pccard1_16mb )
+MACHINE_CONFIG_START(ksys573_state::gtrfrk3m)
+ k573d(config);
+ cassxzi(config);
+ pccard1_16mb(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ksys573_state::gtrfrk5m, k573d)
- MCFG_FRAGMENT_ADD( casszi )
- MCFG_FRAGMENT_ADD( pccard1_32mb )
+MACHINE_CONFIG_START(ksys573_state::gtrfrk5m)
+ k573d(config);
+ casszi(config);
+ pccard1_32mb(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ksys573_state::gtrfrk7m, k573d)
- MCFG_FRAGMENT_ADD( casszi )
- MCFG_FRAGMENT_ADD( pccard1_32mb )
+MACHINE_CONFIG_START(ksys573_state::gtrfrk7m)
+ k573d(config);
+ casszi(config);
+ pccard1_32mb(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ksys573_state::gtfrk10mb, gtrfrk7m)
+MACHINE_CONFIG_START(ksys573_state::gtfrk10mb)
+ gtrfrk7m(config);
MCFG_DEVICE_ADD( "k573npu", KONAMI_573_NETWORK_PCB_UNIT, 0 )
MACHINE_CONFIG_END
// Miscellaneous
-MACHINE_CONFIG_DERIVED(ksys573_state::konami573x, konami573)
- MCFG_FRAGMENT_ADD( cassx )
+MACHINE_CONFIG_START(ksys573_state::konami573x)
+ konami573(config);
+ cassx(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ksys573_state::fbaitbc, konami573)
+MACHINE_CONFIG_START(ksys573_state::fbaitbc)
+ konami573(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP( fbaitbc_map )
MCFG_DEVICE_ADD("upd4701", UPD4701A, 0)
MCFG_UPD4701_PORTY("uPD4701_y")
- MCFG_FRAGMENT_ADD( cassx )
+ cassx(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ksys573_state::hyperbbc, konami573)
- MCFG_FRAGMENT_ADD( cassy ) // The game doesn't check the security chip
+MACHINE_CONFIG_START(ksys573_state::hyperbbc)
+ konami573(config);
+ cassy(config); // The game doesn't check the security chip
MCFG_DEVICE_MODIFY( "cassette" )
MCFG_DEVICE_CARD_MACHINE_CONFIG( "game", hyperbbc_cassette_install )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ksys573_state::hypbbc2p, konami573)
- MCFG_FRAGMENT_ADD( cassy )
+MACHINE_CONFIG_START(ksys573_state::hypbbc2p)
+ konami573(config);
+ cassy(config);
MCFG_DEVICE_MODIFY( "cassette" )
MCFG_DEVICE_CARD_MACHINE_CONFIG( "game", hypbbc2p_cassette_install )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ksys573_state::salarymc, konami573)
- MCFG_FRAGMENT_ADD( cassyi )
+MACHINE_CONFIG_START(ksys573_state::salarymc)
+ konami573(config);
+ cassyi(config);
MCFG_DEVICE_MODIFY( "cassette" )
MCFG_DEVICE_CARD_MACHINE_CONFIG( "game", salarymc_cassette_install )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ksys573_state::gchgchmp, konami573)
- MCFG_FRAGMENT_ADD( pccard1_16mb )
- MCFG_FRAGMENT_ADD( cassx )
+MACHINE_CONFIG_START(ksys573_state::gchgchmp)
+ konami573(config);
+ pccard1_16mb(config);
+ cassx(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ksys573_state::pnchmn, konami573)
+MACHINE_CONFIG_START(ksys573_state::pnchmn)
+ konami573(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP( konami573a_map )
- MCFG_FRAGMENT_ADD( cassxi )
- MCFG_FRAGMENT_ADD( pccard1_32mb )
+ cassxi(config);
+ pccard1_32mb(config);
MCFG_DEVICE_MODIFY( "cassette" )
MCFG_DEVICE_CARD_MACHINE_CONFIG( "game", punchmania_cassette_install )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ksys573_state::pnchmn2, pnchmn)
- MCFG_FRAGMENT_ADD( pccard2_64mb )
+MACHINE_CONFIG_START(ksys573_state::pnchmn2)
+ pnchmn(config);
+ pccard2_64mb(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ksys573_state::gunmania, konami573)
+MACHINE_CONFIG_START(ksys573_state::gunmania)
+ konami573(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP( gunmania_map )
MCFG_DS2401_ADD( "gunmania_id" )
- MCFG_FRAGMENT_ADD( pccard2_32mb )
+ pccard2_32mb(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ksys573_state::dmx, k573d)
+MACHINE_CONFIG_START(ksys573_state::dmx)
+ k573d(config);
MCFG_DEVICE_MODIFY( "k573dio" )
MCFG_KONAMI_573_DIGITAL_IO_BOARD_OUTPUT_CALLBACK( WRITE8( ksys573_state, dmx_output_callback ) )
- MCFG_FRAGMENT_ADD( casszi )
+ casszi(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ksys573_state::mamboagg, k573d)
+MACHINE_CONFIG_START(ksys573_state::mamboagg)
+ k573d(config);
MCFG_DEVICE_MODIFY( "k573dio" )
MCFG_KONAMI_573_DIGITAL_IO_BOARD_OUTPUT_CALLBACK( WRITE8( ksys573_state, mamboagg_output_callback ) )
- MCFG_FRAGMENT_ADD( casszi )
+ casszi(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ksys573_state::mamboagga, mamboagg)
+MACHINE_CONFIG_START(ksys573_state::mamboagga)
+ mamboagg(config);
MCFG_DEVICE_ADD( "k573npu", KONAMI_573_NETWORK_PCB_UNIT, 0 )
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/kyocera.cpp b/src/mame/drivers/kyocera.cpp
index 78a807f0258..84a36b6e0ac 100644
--- a/src/mame/drivers/kyocera.cpp
+++ b/src/mame/drivers/kyocera.cpp
@@ -1348,7 +1348,7 @@ MACHINE_CONFIG_START(kc85_state::kc85)
MCFG_I8085A_SOD(WRITELINE(kc85_state,kc85_sod_w))
/* video hardware */
- MCFG_FRAGMENT_ADD(kc85_video)
+ kc85_video(config);
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1398,7 +1398,7 @@ MACHINE_CONFIG_START(pc8201_state::pc8201)
MCFG_I8085A_SOD(WRITELINE(kc85_state,kc85_sod_w))
/* video hardware */
- MCFG_FRAGMENT_ADD(kc85_video)
+ kc85_video(config);
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1443,7 +1443,8 @@ MACHINE_CONFIG_START(pc8201_state::pc8201)
MCFG_RAM_EXTRA_OPTIONS("32K,64K,96K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pc8201_state::pc8300, pc8201)
+MACHINE_CONFIG_START(pc8201_state::pc8300)
+ pc8201(config);
MCFG_RAM_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("32K")
MCFG_RAM_EXTRA_OPTIONS("64K,96K")
@@ -1458,7 +1459,7 @@ MACHINE_CONFIG_START(trsm100_state::trsm100)
MCFG_I8085A_SOD(WRITELINE(kc85_state,kc85_sod_w))
/* video hardware */
- MCFG_FRAGMENT_ADD(kc85_video)
+ kc85_video(config);
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1498,7 +1499,8 @@ MACHINE_CONFIG_START(trsm100_state::trsm100)
MCFG_RAM_EXTRA_OPTIONS("16K,24K,32K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(trsm100_state::tandy102, trsm100)
+MACHINE_CONFIG_START(trsm100_state::tandy102)
+ trsm100(config);
MCFG_RAM_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("24K")
MCFG_RAM_EXTRA_OPTIONS("32K")
@@ -1513,7 +1515,7 @@ MACHINE_CONFIG_START(tandy200_state::tandy200)
MCFG_I8085A_SOD(WRITELINE(tandy200_state,kc85_sod_w))
/* video hardware */
- MCFG_FRAGMENT_ADD(tandy200_video)
+ tandy200_video(config);
/* TP timer */
MCFG_TIMER_DRIVER_ADD_PERIODIC("tp", tandy200_state, tandy200_tp_tick, attotime::from_hz(XTAL(4'915'200)/2/8192))
diff --git a/src/mame/drivers/kyugo.cpp b/src/mame/drivers/kyugo.cpp
index 4c179c841b0..5fba40bc999 100644
--- a/src/mame/drivers/kyugo.cpp
+++ b/src/mame/drivers/kyugo.cpp
@@ -551,14 +551,16 @@ MACHINE_CONFIG_START(kyugo_state::kyugo_base)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(kyugo_state::gyrodine, kyugo_base)
+MACHINE_CONFIG_START(kyugo_state::gyrodine)
+ kyugo_base(config);
/* add watchdog */
MCFG_WATCHDOG_ADD("watchdog")
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(gyrodine_main_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(kyugo_state::repulse, kyugo_base)
+MACHINE_CONFIG_START(kyugo_state::repulse)
+ kyugo_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("sub")
@@ -566,7 +568,8 @@ MACHINE_CONFIG_DERIVED(kyugo_state::repulse, kyugo_base)
MCFG_CPU_IO_MAP(repulse_sub_portmap)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(kyugo_state::srdmissn, kyugo_base)
+MACHINE_CONFIG_START(kyugo_state::srdmissn)
+ kyugo_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("sub")
@@ -574,7 +577,8 @@ MACHINE_CONFIG_DERIVED(kyugo_state::srdmissn, kyugo_base)
MCFG_CPU_IO_MAP(srdmissn_sub_portmap)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(kyugo_state::flashgala, kyugo_base)
+MACHINE_CONFIG_START(kyugo_state::flashgala)
+ kyugo_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("sub")
@@ -582,7 +586,8 @@ MACHINE_CONFIG_DERIVED(kyugo_state::flashgala, kyugo_base)
MCFG_CPU_IO_MAP(flashgala_sub_portmap)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(kyugo_state::legend, kyugo_base)
+MACHINE_CONFIG_START(kyugo_state::legend)
+ kyugo_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("sub")
diff --git a/src/mame/drivers/ladybug.cpp b/src/mame/drivers/ladybug.cpp
index 2e5358c085f..e513e301372 100644
--- a/src/mame/drivers/ladybug.cpp
+++ b/src/mame/drivers/ladybug.cpp
@@ -551,7 +551,8 @@ MACHINE_CONFIG_START(ladybug_state::ladybug)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ladybug_state::dorodon, ladybug)
+MACHINE_CONFIG_START(ladybug_state::dorodon)
+ ladybug(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/ladyfrog.cpp b/src/mame/drivers/ladyfrog.cpp
index 9dc6a69ab09..f3bc789b479 100644
--- a/src/mame/drivers/ladyfrog.cpp
+++ b/src/mame/drivers/ladyfrog.cpp
@@ -343,7 +343,8 @@ MACHINE_CONFIG_START(ladyfrog_state::ladyfrog)
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(ladyfrog_state::toucheme, ladyfrog)
+MACHINE_CONFIG_START(ladyfrog_state::toucheme)
+ ladyfrog(config);
MCFG_VIDEO_START_OVERRIDE(ladyfrog_state,toucheme)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/laserbat.cpp b/src/mame/drivers/laserbat.cpp
index 5e3196b34f9..66d9fba9c0c 100644
--- a/src/mame/drivers/laserbat.cpp
+++ b/src/mame/drivers/laserbat.cpp
@@ -494,7 +494,8 @@ MACHINE_CONFIG_START(laserbat_state_base::laserbat_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(laserbat_state::laserbat, laserbat_base)
+MACHINE_CONFIG_START(laserbat_state::laserbat)
+ laserbat_base(config);
// video hardware
MCFG_PALETTE_ADD("palette", 256)
@@ -526,7 +527,8 @@ MACHINE_CONFIG_DERIVED(laserbat_state::laserbat, laserbat_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(catnmous_state::catnmous, laserbat_base)
+MACHINE_CONFIG_START(catnmous_state::catnmous)
+ laserbat_base(config);
// video hardware
MCFG_PALETTE_ADD("palette", 256)
diff --git a/src/mame/drivers/lasso.cpp b/src/mame/drivers/lasso.cpp
index 066c00d61ed..9bed15a60dc 100644
--- a/src/mame/drivers/lasso.cpp
+++ b/src/mame/drivers/lasso.cpp
@@ -516,7 +516,8 @@ MACHINE_CONFIG_START(lasso_state::base)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(lasso_state::lasso, base)
+MACHINE_CONFIG_START(lasso_state::lasso)
+ base(config);
/* basic machine hardware */
MCFG_CPU_ADD("blitter", M6502, 11289000/16) /* guess */
@@ -526,7 +527,8 @@ MACHINE_CONFIG_DERIVED(lasso_state::lasso, base)
MCFG_PALETTE_INIT_OWNER(lasso_state, lasso)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(lasso_state::chameleo, base)
+MACHINE_CONFIG_START(lasso_state::chameleo)
+ base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -543,7 +545,8 @@ MACHINE_CONFIG_DERIVED(lasso_state::chameleo, base)
MCFG_SCREEN_UPDATE_DRIVER(lasso_state, screen_update_chameleo)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(lasso_state::wwjgtin, base)
+MACHINE_CONFIG_START(lasso_state::wwjgtin)
+ base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -572,7 +575,8 @@ MACHINE_CONFIG_DERIVED(lasso_state::wwjgtin, base)
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(lasso_state::pinbo, base)
+MACHINE_CONFIG_START(lasso_state::pinbo)
+ base(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", M6502, XTAL(18'000'000)/24)
diff --git a/src/mame/drivers/lc80.cpp b/src/mame/drivers/lc80.cpp
index 1857209024b..83c612162b9 100644
--- a/src/mame/drivers/lc80.cpp
+++ b/src/mame/drivers/lc80.cpp
@@ -404,7 +404,8 @@ MACHINE_CONFIG_START(lc80_state::lc80_2)
MACHINE_CONFIG_END
#if 0
-static MACHINE_CONFIG_DERIVED( sc80, lc80_2 )
+static MACHINE_CONFIG_START( sc80 )
+ lc80_2(config);
/* basic machine hardware */
MCFG_CPU_MODIFY(Z80_TAG)
diff --git a/src/mame/drivers/ldplayer.cpp b/src/mame/drivers/ldplayer.cpp
index 34214b9457c..a54f578b9b8 100644
--- a/src/mame/drivers/ldplayer.cpp
+++ b/src/mame/drivers/ldplayer.cpp
@@ -628,7 +628,8 @@ MACHINE_CONFIG_START(ldplayer_state::ldplayer_ntsc)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ldv1000_state::ldv1000, ldplayer_ntsc)
+MACHINE_CONFIG_START(ldv1000_state::ldv1000)
+ ldplayer_ntsc(config);
MCFG_LASERDISC_LDV1000_ADD("laserdisc")
MCFG_LASERDISC_GET_DISC(laserdisc_device::get_disc_delegate(&ldplayer_state::get_disc_static, device))
MCFG_LASERDISC_SCREEN_ADD_NTSC("screen", "laserdisc")
@@ -640,7 +641,8 @@ MACHINE_CONFIG_DERIVED(ldv1000_state::ldv1000, ldplayer_ntsc)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pr8210_state::pr8210, ldplayer_ntsc)
+MACHINE_CONFIG_START(pr8210_state::pr8210)
+ ldplayer_ntsc(config);
MCFG_LASERDISC_PR8210_ADD("laserdisc")
MCFG_LASERDISC_GET_DISC(laserdisc_device::get_disc_delegate(&ldplayer_state::get_disc_static, device))
MCFG_LASERDISC_SCREEN_ADD_NTSC("screen", "laserdisc")
diff --git a/src/mame/drivers/legionna.cpp b/src/mame/drivers/legionna.cpp
index 456fbe86def..7e371e86539 100644
--- a/src/mame/drivers/legionna.cpp
+++ b/src/mame/drivers/legionna.cpp
@@ -1462,7 +1462,8 @@ MACHINE_CONFIG_START(legionna_state::cupsoc)
MCFG_SEIBU_SOUND_YM_WRITE_CB(DEVWRITE8("ymsnd", ym3812_device, write))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(legionna_state::cupsocs, cupsoc)
+MACHINE_CONFIG_START(legionna_state::cupsocs)
+ cupsoc(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(cupsocs_mem)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/leland.cpp b/src/mame/drivers/leland.cpp
index 639fb44ec59..6ce5f08dbe2 100644
--- a/src/mame/drivers/leland.cpp
+++ b/src/mame/drivers/leland.cpp
@@ -1007,7 +1007,7 @@ MACHINE_CONFIG_START(leland_state::leland)
MCFG_NVRAM_ADD_0FILL("battery")
/* video hardware */
- MCFG_FRAGMENT_ADD(leland_video)
+ leland_video(config);
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("speaker")
@@ -1034,7 +1034,8 @@ MACHINE_CONFIG_START(leland_state::leland)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(leland_state::redline, leland)
+MACHINE_CONFIG_START(leland_state::redline)
+ leland(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("master")
@@ -1050,7 +1051,8 @@ MACHINE_CONFIG_DERIVED(leland_state::redline, leland)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(leland_state::quarterb, redline)
+MACHINE_CONFIG_START(leland_state::quarterb)
+ redline(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("audiocpu")
@@ -1062,7 +1064,8 @@ MACHINE_CONFIG_DERIVED(leland_state::quarterb, redline)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(leland_state::lelandi, quarterb)
+MACHINE_CONFIG_START(leland_state::lelandi)
+ quarterb(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("slave")
@@ -1096,14 +1099,15 @@ MACHINE_CONFIG_START(leland_state::ataxx)
MCFG_NVRAM_ADD_0FILL("battery")
/* video hardware */
- MCFG_FRAGMENT_ADD(ataxx_video)
+ ataxx_video(config);
/* sound hardware */
MCFG_DEVICE_ADD("custom", ATAXX_80186, 0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(leland_state::wsf, ataxx)
+MACHINE_CONFIG_START(leland_state::wsf)
+ ataxx(config);
MCFG_CPU_MODIFY("audiocpu")
MCFG_80186_TMROUT1_HANDLER(DEVWRITELINE("custom", leland_80186_sound_device, i80186_tmr1_w))
diff --git a/src/mame/drivers/lethal.cpp b/src/mame/drivers/lethal.cpp
index 9a7b97e882a..d691ffbb061 100644
--- a/src/mame/drivers/lethal.cpp
+++ b/src/mame/drivers/lethal.cpp
@@ -542,7 +542,8 @@ MACHINE_CONFIG_START(lethal_state::lethalen)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(lethal_state::lethalej, lethalen)
+MACHINE_CONFIG_START(lethal_state::lethalej)
+ lethalen(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(224, 512-1, 16, 240-1)
diff --git a/src/mame/drivers/lethalj.cpp b/src/mame/drivers/lethalj.cpp
index 96e76bdaf7a..acbb0897c1c 100644
--- a/src/mame/drivers/lethalj.cpp
+++ b/src/mame/drivers/lethalj.cpp
@@ -663,7 +663,8 @@ MACHINE_CONFIG_START(lethalj_state::gameroom)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(lethalj_state::lethalj, gameroom)
+MACHINE_CONFIG_START(lethalj_state::lethalj)
+ gameroom(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_TMS340X0_PIXEL_CLOCK(VIDEO_CLOCK_LETHALJ) /* pixel clock */
diff --git a/src/mame/drivers/liberate.cpp b/src/mame/drivers/liberate.cpp
index 3b88d451245..2c144667a94 100644
--- a/src/mame/drivers/liberate.cpp
+++ b/src/mame/drivers/liberate.cpp
@@ -772,12 +772,14 @@ MACHINE_CONFIG_START(liberate_state::liberate_base)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(liberate_state::liberate, liberate_base)
+MACHINE_CONFIG_START(liberate_state::liberate)
+ liberate_base(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(liberate_state::liberatb, liberate_base)
+MACHINE_CONFIG_START(liberate_state::liberatb)
+ liberate_base(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", M6502, 2000000)
@@ -785,14 +787,16 @@ MACHINE_CONFIG_DERIVED(liberate_state::liberatb, liberate_base)
MCFG_CPU_VBLANK_INT_DRIVER("screen", liberate_state, deco16_interrupt)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(liberate_state::boomrang, liberate_base)
+MACHINE_CONFIG_START(liberate_state::boomrang)
+ liberate_base(config);
MCFG_VIDEO_START_OVERRIDE(liberate_state,boomrang)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(liberate_state, screen_update_boomrang)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(liberate_state::prosoccr, liberate_base)
+MACHINE_CONFIG_START(liberate_state::prosoccr)
+ liberate_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/liberatr.cpp b/src/mame/drivers/liberatr.cpp
index 9ba2ebad5fe..690ad7267b6 100644
--- a/src/mame/drivers/liberatr.cpp
+++ b/src/mame/drivers/liberatr.cpp
@@ -471,7 +471,8 @@ MACHINE_CONFIG_START(liberatr_state::liberatr)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(liberatr_state::liberat2, liberatr)
+MACHINE_CONFIG_START(liberatr_state::liberat2)
+ liberatr(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/lisa.cpp b/src/mame/drivers/lisa.cpp
index e00810861ed..4f8670c79b7 100644
--- a/src/mame/drivers/lisa.cpp
+++ b/src/mame/drivers/lisa.cpp
@@ -163,7 +163,8 @@ MACHINE_CONFIG_START(lisa_state::lisa)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(lisa_state::lisa210, lisa)
+MACHINE_CONFIG_START(lisa_state::lisa210)
+ lisa(config);
MCFG_CPU_MODIFY( "fdccpu" )
MCFG_CPU_PROGRAM_MAP(lisa210_fdc_map)
@@ -178,7 +179,8 @@ MACHINE_CONFIG_DERIVED(lisa_state::lisa210, lisa)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(lisa_state::macxl, lisa210)
+MACHINE_CONFIG_START(lisa_state::macxl)
+ lisa210(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_SIZE( 768/* ???? */, 447/* ???? */)
MCFG_SCREEN_VISIBLE_AREA(0, 608-1, 0, 431-1)
diff --git a/src/mame/drivers/lsasquad.cpp b/src/mame/drivers/lsasquad.cpp
index 0d5de79829c..2749ac6dadb 100644
--- a/src/mame/drivers/lsasquad.cpp
+++ b/src/mame/drivers/lsasquad.cpp
@@ -606,7 +606,8 @@ MACHINE_CONFIG_START(lsasquad_state::lsasquad)
MCFG_SOUND_ROUTE(3, "mono", 0.63)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(lsasquad_state::storming, lsasquad)
+MACHINE_CONFIG_START(lsasquad_state::storming)
+ lsasquad(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(storming_map)
diff --git a/src/mame/drivers/ltd.cpp b/src/mame/drivers/ltd.cpp
index 7d2455f7f80..c4a52e757e5 100644
--- a/src/mame/drivers/ltd.cpp
+++ b/src/mame/drivers/ltd.cpp
@@ -532,7 +532,7 @@ MACHINE_CONFIG_START(ltd_state::ltd3)
MCFG_DEFAULT_LAYOUT(layout_ltd)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MCFG_TIMER_DRIVER_ADD_PERIODIC("timer_r", ltd_state, timer_r, attotime::from_hz(500))
MACHINE_CONFIG_END
@@ -549,7 +549,7 @@ MACHINE_CONFIG_START(ltd_state::ltd4)
MCFG_DEFAULT_LAYOUT(layout_ltd)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("aysnd_0", AY8910, XTAL(3'579'545)/2) /* guess */
diff --git a/src/mame/drivers/luckgrln.cpp b/src/mame/drivers/luckgrln.cpp
index 24ac7727d52..ef9607377a2 100644
--- a/src/mame/drivers/luckgrln.cpp
+++ b/src/mame/drivers/luckgrln.cpp
@@ -996,7 +996,8 @@ MACHINE_CONFIG_START(luckgrln_state::luckgrln)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(luckgrln_state::_7smash, luckgrln)
+MACHINE_CONFIG_START(luckgrln_state::_7smash)
+ luckgrln(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(_7smash_map)
MCFG_CPU_IO_MAP(_7smash_io)
diff --git a/src/mame/drivers/lvcards.cpp b/src/mame/drivers/lvcards.cpp
index cb296311832..e29e0b73162 100644
--- a/src/mame/drivers/lvcards.cpp
+++ b/src/mame/drivers/lvcards.cpp
@@ -480,7 +480,8 @@ MACHINE_CONFIG_START(lvcards_state::lvcards)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(lvcards_state::lvpoker, lvcards)
+MACHINE_CONFIG_START(lvcards_state::lvpoker)
+ lvcards(config);
// basic machine hardware
MCFG_NVRAM_ADD_1FILL("nvram")
@@ -490,7 +491,8 @@ MACHINE_CONFIG_DERIVED(lvcards_state::lvpoker, lvcards)
MCFG_MACHINE_RESET_OVERRIDE(lvcards_state,lvpoker)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(lvcards_state::ponttehk, lvcards)
+MACHINE_CONFIG_START(lvcards_state::ponttehk)
+ lvcards(config);
// basic machine hardware
MCFG_NVRAM_ADD_1FILL("nvram")
diff --git a/src/mame/drivers/lwings.cpp b/src/mame/drivers/lwings.cpp
index d8e606fbe2d..1460c349a19 100644
--- a/src/mame/drivers/lwings.cpp
+++ b/src/mame/drivers/lwings.cpp
@@ -1014,7 +1014,8 @@ MACHINE_CONFIG_START(lwings_state::fball)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(lwings_state::trojan, lwings)
+MACHINE_CONFIG_START(lwings_state::trojan)
+ lwings(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1045,7 +1046,8 @@ MACHINE_CONFIG_DERIVED(lwings_state::trojan, lwings)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(lwings_state::avengers, trojan)
+MACHINE_CONFIG_START(lwings_state::avengers)
+ trojan(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1059,7 +1061,8 @@ MACHINE_CONFIG_DERIVED(lwings_state::avengers, trojan)
MCFG_VIDEO_START_OVERRIDE(lwings_state,avengers)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(lwings_state::avengersb, avengers)
+MACHINE_CONFIG_START(lwings_state::avengersb)
+ avengers(config);
/* video hardware */
MCFG_VIDEO_START_OVERRIDE(lwings_state,avengersb)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/lynx.cpp b/src/mame/drivers/lynx.cpp
index 8dc06f6394e..24d89a0a289 100644
--- a/src/mame/drivers/lynx.cpp
+++ b/src/mame/drivers/lynx.cpp
@@ -113,7 +113,8 @@ MACHINE_CONFIG_START(lynx_state::lynx)
MACHINE_CONFIG_END
#if 0
-static MACHINE_CONFIG_DERIVED( lynx2, lynx )
+static MACHINE_CONFIG_START( lynx2 )
+ lynx(config);
/* sound hardware */
MCFG_DEVICE_REMOVE("mono")
diff --git a/src/mame/drivers/m10.cpp b/src/mame/drivers/m10.cpp
index ffbc92cfb07..8f6273edc03 100644
--- a/src/mame/drivers/m10.cpp
+++ b/src/mame/drivers/m10.cpp
@@ -862,7 +862,8 @@ MACHINE_CONFIG_START(m10_state::m10)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m10_state::m11, m10)
+MACHINE_CONFIG_START(m10_state::m11)
+ m10(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -906,7 +907,8 @@ MACHINE_CONFIG_START(m10_state::m15)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m10_state::headoni, m15)
+MACHINE_CONFIG_START(m10_state::headoni)
+ m15(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(11730000/16)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/m107.cpp b/src/mame/drivers/m107.cpp
index 627732bf462..16d3bd51900 100644
--- a/src/mame/drivers/m107.cpp
+++ b/src/mame/drivers/m107.cpp
@@ -762,7 +762,8 @@ MACHINE_CONFIG_START(m107_state::firebarr)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m107_state::dsoccr94, firebarr)
+MACHINE_CONFIG_START(m107_state::dsoccr94)
+ firebarr(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -777,7 +778,8 @@ MACHINE_CONFIG_DERIVED(m107_state::dsoccr94, firebarr)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m107_state::wpksoc, firebarr)
+MACHINE_CONFIG_START(m107_state::wpksoc)
+ firebarr(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(wpksoc_map)
MCFG_CPU_IO_MAP(wpksoc_io_map)
@@ -786,7 +788,8 @@ MACHINE_CONFIG_DERIVED(m107_state::wpksoc, firebarr)
MCFG_V25_CONFIG(leagueman_decryption_table)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m107_state::airass, firebarr)
+MACHINE_CONFIG_START(m107_state::airass)
+ firebarr(config);
MCFG_GFXDECODE_MODIFY("gfxdecode", m107)
MCFG_CPU_MODIFY("soundcpu")
diff --git a/src/mame/drivers/m5.cpp b/src/mame/drivers/m5.cpp
index 52bcfb7b66e..b21d99b68e6 100644
--- a/src/mame/drivers/m5.cpp
+++ b/src/mame/drivers/m5.cpp
@@ -1456,10 +1456,11 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// MACHINE_CONFIG_DERIVED( ntsc, m5 )
+// MACHINE_CONFIG_START( ntsc )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(m5_state::ntsc, m5)
+MACHINE_CONFIG_START(m5_state::ntsc)
+ m5(config);
// video hardware
MCFG_DEVICE_ADD( "tms9928a", TMS9928A, XTAL(10'738'635) / 2 )
MCFG_TMS9928A_VRAM_SIZE(0x4000)
@@ -1470,10 +1471,11 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// MACHINE_CONFIG_DERIVED( pal, m5 )
+// MACHINE_CONFIG_START( pal )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(m5_state::pal, m5)
+MACHINE_CONFIG_START(m5_state::pal)
+ m5(config);
// video hardware
MCFG_DEVICE_ADD( "tms9928a", TMS9929A, XTAL(10'738'635) / 2 )
MCFG_TMS9928A_VRAM_SIZE(0x4000)
@@ -1487,7 +1489,8 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(brno_state::brno, m5)
+MACHINE_CONFIG_START(brno_state::brno)
+ m5(config);
// basic machine hardware
MCFG_CPU_MODIFY(Z80_TAG)
diff --git a/src/mame/drivers/m52.cpp b/src/mame/drivers/m52.cpp
index 1e30de508fc..77d7e994e68 100644
--- a/src/mame/drivers/m52.cpp
+++ b/src/mame/drivers/m52.cpp
@@ -412,13 +412,14 @@ MACHINE_CONFIG_START(m52_state::m52)
MCFG_SCREEN_PALETTE("palette")
/* sound hardware */
- //MCFG_FRAGMENT_ADD(m52_sound_c_audio)
+ //m52_sound_c_audio(config);
MCFG_DEVICE_ADD("irem_audio", IREM_M52_SOUNDC_AUDIO, 0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m52_state::alpha1v, m52)
+MACHINE_CONFIG_START(m52_state::alpha1v)
+ m52(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/m57.cpp b/src/mame/drivers/m57.cpp
index bd3dd9eb230..82ca3b04ca0 100644
--- a/src/mame/drivers/m57.cpp
+++ b/src/mame/drivers/m57.cpp
@@ -252,7 +252,7 @@ MACHINE_CONFIG_START(m57_state::m57)
MCFG_PALETTE_INIT_OWNER(m57_state, m57)
/* sound hardware */
- //MCFG_FRAGMENT_ADD(m52_sound_c_audio)
+ //m52_sound_c_audio(config);
MCFG_DEVICE_ADD("irem_audio", IREM_M52_SOUNDC_AUDIO, 0)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/m62.cpp b/src/mame/drivers/m62.cpp
index 3927f8dba70..00f5c273b62 100644
--- a/src/mame/drivers/m62.cpp
+++ b/src/mame/drivers/m62.cpp
@@ -973,13 +973,14 @@ MACHINE_CONFIG_START(m62_state::ldrun)
MCFG_PALETTE_INIT_OWNER(m62_state,m62_spr)
/* sound hardware */
- //MCFG_FRAGMENT_ADD(m62_audio)
+ //m62_audio(config);
MCFG_DEVICE_ADD("irem_audio", IREM_M62_AUDIO, 0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m62_state::kungfum, ldrun)
+MACHINE_CONFIG_START(m62_state::kungfum)
+ ldrun(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -996,7 +997,8 @@ MACHINE_CONFIG_DERIVED(m62_state::kungfum, ldrun)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m62_state::battroad, ldrun)
+MACHINE_CONFIG_START(m62_state::battroad)
+ ldrun(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1020,7 +1022,8 @@ MACHINE_CONFIG_DERIVED(m62_state::battroad, ldrun)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m62_state::ldrun2, ldrun)
+MACHINE_CONFIG_START(m62_state::ldrun2)
+ ldrun(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1033,7 +1036,8 @@ MACHINE_CONFIG_DERIVED(m62_state::ldrun2, ldrun)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m62_state::ldrun3, ldrun)
+MACHINE_CONFIG_START(m62_state::ldrun3)
+ ldrun(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1047,7 +1051,8 @@ MACHINE_CONFIG_DERIVED(m62_state::ldrun3, ldrun)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m62_state::ldrun4, ldrun)
+MACHINE_CONFIG_START(m62_state::ldrun4)
+ ldrun(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1061,7 +1066,8 @@ MACHINE_CONFIG_DERIVED(m62_state::ldrun4, ldrun)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m62_state::lotlot, ldrun)
+MACHINE_CONFIG_START(m62_state::lotlot)
+ ldrun(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1082,7 +1088,8 @@ MACHINE_CONFIG_DERIVED(m62_state::lotlot, ldrun)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m62_state::kidniki, ldrun)
+MACHINE_CONFIG_START(m62_state::kidniki)
+ ldrun(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1098,7 +1105,8 @@ MACHINE_CONFIG_DERIVED(m62_state::kidniki, ldrun)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m62_state::spelunkr, ldrun)
+MACHINE_CONFIG_START(m62_state::spelunkr)
+ ldrun(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1113,7 +1121,8 @@ MACHINE_CONFIG_DERIVED(m62_state::spelunkr, ldrun)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m62_state::spelunk2, ldrun)
+MACHINE_CONFIG_START(m62_state::spelunk2)
+ ldrun(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1134,7 +1143,8 @@ MACHINE_CONFIG_DERIVED(m62_state::spelunk2, ldrun)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m62_state::youjyudn, ldrun)
+MACHINE_CONFIG_START(m62_state::youjyudn)
+ ldrun(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1154,7 +1164,8 @@ MACHINE_CONFIG_DERIVED(m62_state::youjyudn, ldrun)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m62_state::horizon, ldrun)
+MACHINE_CONFIG_START(m62_state::horizon)
+ ldrun(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/m63.cpp b/src/mame/drivers/m63.cpp
index 1360b925612..2d62e2f0e6d 100644
--- a/src/mame/drivers/m63.cpp
+++ b/src/mame/drivers/m63.cpp
@@ -800,7 +800,8 @@ MACHINE_CONFIG_START(m63_state::m63)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m63_state::atomboy, m63)
+MACHINE_CONFIG_START(m63_state::atomboy)
+ m63(config);
MCFG_CPU_MODIFY("soundcpu")
MCFG_CPU_PERIODIC_INT_DRIVER(m63_state, snd_irq, 60/2)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/m68705prg.cpp b/src/mame/drivers/m68705prg.cpp
index 4ba89c0f34c..c88eee8ea07 100644
--- a/src/mame/drivers/m68705prg.cpp
+++ b/src/mame/drivers/m68705prg.cpp
@@ -239,28 +239,32 @@ MACHINE_CONFIG_START(m68705prg_state_base::m68705prg)
MCFG_DEFAULT_LAYOUT(layout_m68705prg)
MACHINE_CONFIG_END
-template<> MACHINE_CONFIG_DERIVED(p3prg_state::prg, m68705prg)
+template<> MACHINE_CONFIG_START(p3prg_state::prg)
+ m68705prg(config);
MCFG_CPU_ADD("mcu", M68705P3, 1_MHz_XTAL)
MCFG_M68705_PORTB_W_CB(WRITE8(p3prg_state, pb_w))
MCFG_MACHINE_RESET_OVERRIDE(p3prg_state, m68705prg)
MACHINE_CONFIG_END
-template<> MACHINE_CONFIG_DERIVED(p5prg_state::prg, m68705prg)
+template<> MACHINE_CONFIG_START(p5prg_state::prg)
+ m68705prg(config);
MCFG_CPU_ADD("mcu", M68705P5, 1_MHz_XTAL)
MCFG_M68705_PORTB_W_CB(WRITE8(p5prg_state, pb_w))
MCFG_MACHINE_RESET_OVERRIDE(p5prg_state, m68705prg)
MACHINE_CONFIG_END
-template<> MACHINE_CONFIG_DERIVED(r3prg_state::prg, m68705prg)
+template<> MACHINE_CONFIG_START(r3prg_state::prg)
+ m68705prg(config);
MCFG_CPU_ADD("mcu", M68705R3, 1_MHz_XTAL)
MCFG_M68705_PORTB_W_CB(WRITE8(r3prg_state, pb_w))
MCFG_MACHINE_RESET_OVERRIDE(r3prg_state, m68705prg)
MACHINE_CONFIG_END
-template<> MACHINE_CONFIG_DERIVED(u3prg_state::prg, m68705prg)
+template<> MACHINE_CONFIG_START(u3prg_state::prg)
+ m68705prg(config);
MCFG_CPU_ADD("mcu", M68705U3, 1_MHz_XTAL)
MCFG_M68705_PORTB_W_CB(WRITE8(u3prg_state, pb_w))
diff --git a/src/mame/drivers/m72.cpp b/src/mame/drivers/m72.cpp
index fe72ec5c2e9..f1c3cb2619e 100644
--- a/src/mame/drivers/m72.cpp
+++ b/src/mame/drivers/m72.cpp
@@ -1881,16 +1881,18 @@ MACHINE_CONFIG_START(m72_state::m72_base)
MCFG_VIDEO_START_OVERRIDE(m72_state,m72)
- MCFG_FRAGMENT_ADD(m72_audio_chips)
+ m72_audio_chips(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m72_state::m72, m72_base)
+MACHINE_CONFIG_START(m72_state::m72)
+ m72_base(config);
MCFG_CPU_MODIFY("soundcpu")
MCFG_CPU_PERIODIC_INT_DRIVER(m72_state, fake_nmi, 128*55) /* clocked by V1? (Vigilante) */
/* IRQs are generated by main Z80 and YM2151 */
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m72_state::m72_8751, m72_base)
+MACHINE_CONFIG_START(m72_state::m72_8751)
+ m72_base(config);
MCFG_CPU_ADD("mcu",I8751, XTAL(8'000'000)) /* Uses its own XTAL */
MCFG_CPU_IO_MAP(mcu_io_map)
@@ -1898,7 +1900,8 @@ MACHINE_CONFIG_DERIVED(m72_state::m72_8751, m72_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m72_state::rtype, m72_base)
+MACHINE_CONFIG_START(m72_state::rtype)
+ m72_base(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(rtype_map)
@@ -1909,7 +1912,8 @@ MACHINE_CONFIG_DERIVED(m72_state::rtype, m72_base)
MCFG_DEVICE_REMOVE("vref")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m72_state::m72_xmultipl, m72_8751)
+MACHINE_CONFIG_START(m72_state::m72_xmultipl)
+ m72_8751(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(xmultiplm72_map)
@@ -1920,7 +1924,8 @@ MACHINE_CONFIG_DERIVED(m72_state::m72_xmultipl, m72_8751)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m72_state::m72_dbreed, m72_base)
+MACHINE_CONFIG_START(m72_state::m72_dbreed)
+ m72_base(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(dbreedm72_map)
@@ -1935,7 +1940,8 @@ MACHINE_CONFIG_END
/****************************************** M81 ***********************************************/
// M81 is closest to M72
-MACHINE_CONFIG_DERIVED(m72_state::m81_hharry, m72_base)
+MACHINE_CONFIG_START(m72_state::m81_hharry)
+ m72_base(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(hharry_map)
MCFG_CPU_IO_MAP(m81_portmap)
@@ -1951,7 +1957,8 @@ MACHINE_CONFIG_DERIVED(m72_state::m81_hharry, m72_base)
MCFG_SCREEN_UPDATE_DRIVER(m72_state, screen_update_m81)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m72_state::m81_xmultipl, m81_hharry)
+MACHINE_CONFIG_START(m72_state::m81_xmultipl)
+ m81_hharry(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(xmultipl_map)
@@ -1959,7 +1966,8 @@ MACHINE_CONFIG_DERIVED(m72_state::m81_xmultipl, m81_hharry)
MCFG_VIDEO_START_OVERRIDE(m72_state,xmultipl) // different offsets
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m72_state::m81_dbreed, m81_xmultipl)
+MACHINE_CONFIG_START(m72_state::m81_dbreed)
+ m81_xmultipl(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(dbreed_map)
MACHINE_CONFIG_END
@@ -1995,11 +2003,12 @@ MACHINE_CONFIG_START(m72_state::rtype2)
MCFG_VIDEO_START_OVERRIDE(m72_state,rtype2)
- MCFG_FRAGMENT_ADD(m72_audio_chips)
+ m72_audio_chips(config);
MACHINE_CONFIG_END
// not m72, different video system (less tiles regions?) (M84? M82?)
-MACHINE_CONFIG_DERIVED(m72_state::hharryu, rtype2)
+MACHINE_CONFIG_START(m72_state::hharryu)
+ rtype2(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(hharryu_map)
@@ -2039,10 +2048,11 @@ MACHINE_CONFIG_START(m72_state::cosmccop)
MCFG_VIDEO_START_OVERRIDE(m72_state,hharryu)
- MCFG_FRAGMENT_ADD(m72_audio_chips)
+ m72_audio_chips(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m72_state::kengo, cosmccop)
+MACHINE_CONFIG_START(m72_state::kengo)
+ cosmccop(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_V25_CONFIG(gunforce_decryption_table)
MACHINE_CONFIG_END
@@ -2083,7 +2093,7 @@ MACHINE_CONFIG_START(m72_state::m82)
MCFG_VIDEO_START_OVERRIDE(m72_state,m82)
- MCFG_FRAGMENT_ADD(m72_audio_chips)
+ m72_audio_chips(config);
MACHINE_CONFIG_END
@@ -2126,7 +2136,7 @@ MACHINE_CONFIG_START(m72_state::poundfor)
MCFG_VIDEO_START_OVERRIDE(m72_state,poundfor)
- MCFG_FRAGMENT_ADD(m72_audio_chips)
+ m72_audio_chips(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/m90.cpp b/src/mame/drivers/m90.cpp
index 2e5dbc60356..f4263036e97 100644
--- a/src/mame/drivers/m90.cpp
+++ b/src/mame/drivers/m90.cpp
@@ -759,54 +759,62 @@ MACHINE_CONFIG_START(m90_state::m90)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m90_state::hasamu, m90)
+MACHINE_CONFIG_START(m90_state::hasamu)
+ m90(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_V25_CONFIG(gunforce_decryption_table)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m90_state::quizf1, m90)
+MACHINE_CONFIG_START(m90_state::quizf1)
+ m90(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_V25_CONFIG(lethalth_decryption_table)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(6*8, 54*8-1, 17*8-8, 47*8-1+8)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m90_state::matchit2, m90)
+MACHINE_CONFIG_START(m90_state::matchit2)
+ m90(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_V25_CONFIG(matchit2_decryption_table)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(6*8, 54*8-1, 17*8-8, 47*8-1+8)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m90_state::riskchal, m90)
+MACHINE_CONFIG_START(m90_state::riskchal)
+ m90(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_V25_CONFIG(gussun_decryption_table)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(10*8, 50*8-1, 17*8, 47*8-1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m90_state::bombrman, m90)
+MACHINE_CONFIG_START(m90_state::bombrman)
+ m90(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_V25_CONFIG(bomberman_decryption_table)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(10*8, 50*8-1, 17*8, 47*8-1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m90_state::bbmanwj, m90)
+MACHINE_CONFIG_START(m90_state::bbmanwj)
+ m90(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_V25_CONFIG(dynablaster_decryption_table)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(10*8, 50*8-1, 17*8, 47*8-1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m90_state::bbmanw, bbmanwj)
+MACHINE_CONFIG_START(m90_state::bbmanw)
+ bbmanwj(config);
MCFG_CPU_MODIFY("soundcpu")
MCFG_CPU_IO_MAP(m99_sound_cpu_io_map)
MCFG_CPU_PERIODIC_INT_DRIVER(m90_state, fake_nmi, 128*60)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m90_state::bomblord, m90)
+MACHINE_CONFIG_START(m90_state::bomblord)
+ m90(config);
MCFG_CPU_REPLACE("maincpu", V30, 32000000/4)
MCFG_CPU_PROGRAM_MAP(bomblord_main_cpu_map)
MCFG_CPU_IO_MAP(m90_main_cpu_io_map)
@@ -824,7 +832,8 @@ MACHINE_CONFIG_DERIVED(m90_state::bomblord, m90)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m90_state::dynablsb, m90)
+MACHINE_CONFIG_START(m90_state::dynablsb)
+ m90(config);
MCFG_CPU_REPLACE("maincpu", V30, 32000000/4)
MCFG_CPU_PROGRAM_MAP(dynablsb_main_cpu_map)
MCFG_CPU_IO_MAP(dynablsb_main_cpu_io_map)
diff --git a/src/mame/drivers/m92.cpp b/src/mame/drivers/m92.cpp
index 73d7cc686d8..6a81d2084ce 100644
--- a/src/mame/drivers/m92.cpp
+++ b/src/mame/drivers/m92.cpp
@@ -978,44 +978,52 @@ MACHINE_CONFIG_START(m92_state::m92)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m92_state::gunforce, m92)
+MACHINE_CONFIG_START(m92_state::gunforce)
+ m92(config);
MCFG_CPU_MODIFY("soundcpu")
MCFG_V25_CONFIG(gunforce_decryption_table)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m92_state::bmaster, m92)
+MACHINE_CONFIG_START(m92_state::bmaster)
+ m92(config);
MCFG_CPU_MODIFY("soundcpu")
MCFG_V25_CONFIG(bomberman_decryption_table)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m92_state::lethalth, m92)
+MACHINE_CONFIG_START(m92_state::lethalth)
+ m92(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(lethalth_map)
MCFG_CPU_MODIFY("soundcpu")
MCFG_V25_CONFIG(lethalth_decryption_table)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m92_state::uccops, m92)
+MACHINE_CONFIG_START(m92_state::uccops)
+ m92(config);
MCFG_CPU_MODIFY("soundcpu")
MCFG_V25_CONFIG(dynablaster_decryption_table)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m92_state::mysticri, m92)
+MACHINE_CONFIG_START(m92_state::mysticri)
+ m92(config);
MCFG_CPU_MODIFY("soundcpu")
MCFG_V25_CONFIG(mysticri_decryption_table)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m92_state::majtitl2, m92)
+MACHINE_CONFIG_START(m92_state::majtitl2)
+ m92(config);
MCFG_CPU_MODIFY("soundcpu")
MCFG_V25_CONFIG(majtitl2_decryption_table)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m92_state::hook, m92)
+MACHINE_CONFIG_START(m92_state::hook)
+ m92(config);
MCFG_CPU_MODIFY("soundcpu")
MCFG_V25_CONFIG(hook_decryption_table)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m92_state::ppan, m92)
+MACHINE_CONFIG_START(m92_state::ppan)
+ m92(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(ppan_portmap)
@@ -1033,24 +1041,28 @@ MACHINE_CONFIG_DERIVED(m92_state::ppan, m92)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m92_state::rtypeleo, m92)
+MACHINE_CONFIG_START(m92_state::rtypeleo)
+ m92(config);
MCFG_CPU_MODIFY("soundcpu")
MCFG_V25_CONFIG(rtypeleo_decryption_table)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m92_state::inthunt, m92)
+MACHINE_CONFIG_START(m92_state::inthunt)
+ m92(config);
MCFG_CPU_MODIFY("soundcpu")
MCFG_V25_CONFIG(inthunt_decryption_table)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m92_state::nbbatman, m92)
+MACHINE_CONFIG_START(m92_state::nbbatman)
+ m92(config);
MCFG_CPU_MODIFY("soundcpu")
MCFG_V25_CONFIG(leagueman_decryption_table)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m92_state::nbbatman2bl, m92)
+MACHINE_CONFIG_START(m92_state::nbbatman2bl)
+ m92(config);
MCFG_DEVICE_REMOVE("soundcpu")
MCFG_DEVICE_REMOVE("ymsnd")
MCFG_DEVICE_REMOVE("irem")
@@ -1062,21 +1074,24 @@ MACHINE_CONFIG_DERIVED(m92_state::nbbatman2bl, m92)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m92_state::psoldier, m92)
+MACHINE_CONFIG_START(m92_state::psoldier)
+ m92(config);
MCFG_CPU_MODIFY("soundcpu")
MCFG_V25_CONFIG(psoldier_decryption_table)
/* video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", psoldier)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m92_state::dsoccr94j, m92)
+MACHINE_CONFIG_START(m92_state::dsoccr94j)
+ m92(config);
MCFG_CPU_MODIFY("soundcpu")
MCFG_V25_CONFIG(dsoccr94_decryption_table)
/* video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", psoldier)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(m92_state::gunforc2, m92)
+MACHINE_CONFIG_START(m92_state::gunforc2)
+ m92(config);
MCFG_CPU_MODIFY("soundcpu")
MCFG_V25_CONFIG(lethalth_decryption_table)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/mac.cpp b/src/mame/drivers/mac.cpp
index 1936032f791..9ce48764347 100644
--- a/src/mame/drivers/mac.cpp
+++ b/src/mame/drivers/mac.cpp
@@ -964,7 +964,8 @@ MACHINE_CONFIG_START(mac_state::mac512ke)
MCFG_RAM_DEFAULT_SIZE("512K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mac_state::macplus, mac512ke)
+MACHINE_CONFIG_START(mac_state::macplus)
+ mac512ke(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(macplus_map)
@@ -988,7 +989,8 @@ MACHINE_CONFIG_DERIVED(mac_state::macplus, mac512ke)
MCFG_SOFTWARE_LIST_ADD("hdd_list", "mac_hdd")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mac_state::macse, macplus)
+MACHINE_CONFIG_START(mac_state::macse)
+ macplus(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(macse_map)
@@ -1012,7 +1014,8 @@ MACHINE_CONFIG_DERIVED(mac_state::macse, macplus)
MCFG_MACPDS_SLOT_ADD("sepds", "pds", mac_sepds_cards, nullptr)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mac_state::macclasc, macplus)
+MACHINE_CONFIG_START(mac_state::macclasc)
+ macplus(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(macse_map)
@@ -1166,7 +1169,8 @@ MACHINE_CONFIG_START(mac_state::macii)
MCFG_SOFTWARE_LIST_ADD("hdd_list", "mac_hdd")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mac_state::maciihmu, macii)
+MACHINE_CONFIG_START(mac_state::maciihmu)
+ macii(config);
MCFG_CPU_REPLACE("maincpu", M68020HMMU, C15M)
MCFG_CPU_PROGRAM_MAP(macii_map)
MCFG_CPU_DISASSEMBLE_OVERRIDE(mac_state, mac_dasm_override)
@@ -1234,7 +1238,8 @@ MACHINE_CONFIG_START(mac_state::maciifx)
MCFG_SOFTWARE_LIST_ADD("hdd_list", "mac_hdd")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mac_state::maclc, macii)
+MACHINE_CONFIG_START(mac_state::maclc)
+ macii(config);
MCFG_CPU_REPLACE("maincpu", M68020HMMU, C15M)
MCFG_CPU_PROGRAM_MAP(maclc_map)
@@ -1291,7 +1296,8 @@ MACHINE_CONFIG_DERIVED(mac_state::maclc, macii)
MCFG_QUANTUM_PERFECT_CPU("maincpu")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mac_state::maclc2, maclc)
+MACHINE_CONFIG_START(mac_state::maclc2)
+ maclc(config);
MCFG_CPU_REPLACE("maincpu", M68030, C15M)
MCFG_CPU_PROGRAM_MAP(maclc_map)
@@ -1303,7 +1309,8 @@ MACHINE_CONFIG_DERIVED(mac_state::maclc2, maclc)
MCFG_RAM_EXTRA_OPTIONS("6M,8M,10M")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mac_state::maccclas, maclc2)
+MACHINE_CONFIG_START(mac_state::maccclas)
+ maclc2(config);
MCFG_EGRET_REMOVE()
MCFG_CUDA_ADD(CUDA_341S0788) // should be 0417, but that version won't sync up properly with the '030 right now
@@ -1316,7 +1323,8 @@ MACHINE_CONFIG_DERIVED(mac_state::maccclas, maclc2)
MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via_out_b_cdadb))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mac_state::maclc3, maclc)
+MACHINE_CONFIG_START(mac_state::maclc3)
+ maclc(config);
MCFG_CPU_REPLACE("maincpu", M68030, 25000000)
MCFG_CPU_PROGRAM_MAP(maclc3_map)
@@ -1344,7 +1352,8 @@ MACHINE_CONFIG_DERIVED(mac_state::maclc3, maclc)
MCFG_EGRET_VIA_DATA_CALLBACK(DEVWRITELINE("via6522_0", via6522_device, write_cb2))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mac_state::maclc520, maclc3)
+MACHINE_CONFIG_START(mac_state::maclc520)
+ maclc3(config);
MCFG_EGRET_REMOVE()
MCFG_CUDA_ADD(CUDA_341S0060)
@@ -1357,7 +1366,8 @@ MACHINE_CONFIG_DERIVED(mac_state::maclc520, maclc3)
MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(mac_state,mac_via_out_b_cdadb))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mac_state::maciivx, maclc)
+MACHINE_CONFIG_START(mac_state::maciivx)
+ maclc(config);
MCFG_CPU_REPLACE("maincpu", M68030, C32M)
MCFG_CPU_PROGRAM_MAP(maclc3_map)
@@ -1393,7 +1403,8 @@ MACHINE_CONFIG_DERIVED(mac_state::maciivx, maclc)
MCFG_EGRET_VIA_DATA_CALLBACK(DEVWRITELINE("via6522_0", via6522_device, write_cb2))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mac_state::maciivi, maclc)
+MACHINE_CONFIG_START(mac_state::maciivi)
+ maclc(config);
MCFG_CPU_REPLACE("maincpu", M68030, C15M)
MCFG_CPU_PROGRAM_MAP(maclc3_map)
@@ -1429,7 +1440,8 @@ MACHINE_CONFIG_DERIVED(mac_state::maciivi, maclc)
MCFG_EGRET_VIA_DATA_CALLBACK(DEVWRITELINE("via6522_0", via6522_device, write_cb2))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mac_state::maciix, macii)
+MACHINE_CONFIG_START(mac_state::maciix)
+ macii(config);
MCFG_CPU_REPLACE("maincpu", M68030, C15M)
MCFG_CPU_PROGRAM_MAP(macii_map)
@@ -1440,7 +1452,8 @@ MACHINE_CONFIG_DERIVED(mac_state::maciix, macii)
MCFG_RAM_EXTRA_OPTIONS("8M,32M,64M,96M,128M")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mac_state::maciicx, maciix) // IIcx is a IIx with only slots 9/a/b
+MACHINE_CONFIG_START(mac_state::maciicx) // IIcx is a IIx with only slots 9/a/b
+ maciix(config);
MCFG_NUBUS_SLOT_REMOVE("nbc")
MCFG_NUBUS_SLOT_REMOVE("nbd")
MCFG_NUBUS_SLOT_REMOVE("nbe")
@@ -1591,7 +1604,8 @@ MACHINE_CONFIG_START(mac_state::macpb140)
MACHINE_CONFIG_END
// PowerBook 145 = 140 @ 25 MHz (still 2MB RAM - the 145B upped that to 4MB)
-MACHINE_CONFIG_DERIVED(mac_state::macpb145, macpb140)
+MACHINE_CONFIG_START(mac_state::macpb145)
+ macpb140(config);
MCFG_CPU_REPLACE("maincpu", M68030, 25000000)
MCFG_CPU_PROGRAM_MAP(macpb140_map)
MCFG_CPU_DISASSEMBLE_OVERRIDE(mac_state, mac_dasm_override)
@@ -1602,7 +1616,8 @@ MACHINE_CONFIG_DERIVED(mac_state::macpb145, macpb140)
MACHINE_CONFIG_END
// PowerBook 170 = 140 @ 25 MHz with an active-matrix LCD (140/145/145B were passive)
-MACHINE_CONFIG_DERIVED(mac_state::macpb170, macpb140)
+MACHINE_CONFIG_START(mac_state::macpb170)
+ macpb140(config);
MCFG_CPU_REPLACE("maincpu", M68030, 25000000)
MCFG_CPU_PROGRAM_MAP(macpb140_map)
MCFG_CPU_DISASSEMBLE_OVERRIDE(mac_state, mac_dasm_override)
@@ -1678,7 +1693,8 @@ MACHINE_CONFIG_START(mac_state::macpb160)
MCFG_SOFTWARE_LIST_ADD("hdd_list", "mac_hdd")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mac_state::macpb180, macpb160)
+MACHINE_CONFIG_START(mac_state::macpb180)
+ macpb160(config);
MCFG_CPU_REPLACE("maincpu", M68030, 33000000)
MCFG_CPU_PROGRAM_MAP(macpb160_map)
MCFG_CPU_DISASSEMBLE_OVERRIDE(mac_state, mac_dasm_override)
@@ -1688,7 +1704,8 @@ MACHINE_CONFIG_DERIVED(mac_state::macpb180, macpb160)
MCFG_RAM_EXTRA_OPTIONS("8M,12M,16M")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mac_state::macpb180c, macpb160)
+MACHINE_CONFIG_START(mac_state::macpb180c)
+ macpb160(config);
MCFG_CPU_REPLACE("maincpu", M68030, 33000000)
MCFG_CPU_PROGRAM_MAP(macpb165c_map)
MCFG_CPU_DISASSEMBLE_OVERRIDE(mac_state, mac_dasm_override)
@@ -1704,7 +1721,8 @@ MACHINE_CONFIG_DERIVED(mac_state::macpb180c, macpb160)
MCFG_RAM_EXTRA_OPTIONS("8M,12M,16M")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mac_state::macpd210, macpb160)
+MACHINE_CONFIG_START(mac_state::macpd210)
+ macpb160(config);
MCFG_CPU_REPLACE("maincpu", M68030, 25000000)
MCFG_CPU_PROGRAM_MAP(macpd210_map)
MCFG_CPU_DISASSEMBLE_OVERRIDE(mac_state, mac_dasm_override)
@@ -1714,7 +1732,8 @@ MACHINE_CONFIG_DERIVED(mac_state::macpd210, macpb160)
MCFG_RAM_EXTRA_OPTIONS("8M,12M,16M,20M,24M")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mac_state::macclas2, maclc)
+MACHINE_CONFIG_START(mac_state::macclas2)
+ maclc(config);
MCFG_CPU_REPLACE("maincpu", M68030, C15M)
MCFG_CPU_PROGRAM_MAP(maclc_map)
MCFG_CPU_VBLANK_INT_DRIVER(MAC_SCREEN_NAME, mac_state, mac_rbv_vbl)
@@ -1743,7 +1762,8 @@ MACHINE_CONFIG_DERIVED(mac_state::macclas2, maclc)
MCFG_EGRET_VIA_DATA_CALLBACK(DEVWRITELINE("via6522_0", via6522_device, write_cb2))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mac_state::maciici, macii)
+MACHINE_CONFIG_START(mac_state::maciici)
+ macii(config);
MCFG_CPU_REPLACE("maincpu", M68030, 25000000)
MCFG_CPU_PROGRAM_MAP(maciici_map)
@@ -1774,7 +1794,8 @@ MACHINE_CONFIG_DERIVED(mac_state::maciici, macii)
MCFG_RAM_EXTRA_OPTIONS("4M,8M,16M,32M,48M,64M,128M")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mac_state::maciisi, macii)
+MACHINE_CONFIG_START(mac_state::maciisi)
+ macii(config);
MCFG_CPU_REPLACE("maincpu", M68030, 20000000)
MCFG_CPU_PROGRAM_MAP(maciici_map)
diff --git a/src/mame/drivers/mac128.cpp b/src/mame/drivers/mac128.cpp
index af6e0c51ae1..82f61b59554 100644
--- a/src/mame/drivers/mac128.cpp
+++ b/src/mame/drivers/mac128.cpp
@@ -1381,7 +1381,8 @@ MACHINE_CONFIG_START(mac128_state::mac512ke)
MCFG_SOFTWARE_LIST_ADD("hdd_list", "mac_hdd")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mac128_state::mac128k, mac512ke)
+MACHINE_CONFIG_START(mac128_state::mac128k)
+ mac512ke(config);
/* internal ram */
MCFG_RAM_MODIFY(RAM_TAG)
@@ -1389,7 +1390,8 @@ MACHINE_CONFIG_DERIVED(mac128_state::mac128k, mac512ke)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mac128_state::macplus, mac512ke)
+MACHINE_CONFIG_START(mac128_state::macplus)
+ mac512ke(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(macplus_map)
diff --git a/src/mame/drivers/macp.cpp b/src/mame/drivers/macp.cpp
index 61333bd8f2f..fd91eb7a048 100644
--- a/src/mame/drivers/macp.cpp
+++ b/src/mame/drivers/macp.cpp
@@ -63,15 +63,17 @@ MACHINE_CONFIG_START(macp_state::macp)
/* sound hardware */
//2x AY8910
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(macp_state::macp0, macp)
+MACHINE_CONFIG_START(macp_state::macp0)
+ macp(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(macp0_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(macp_state::macpmsm, macp)
+MACHINE_CONFIG_START(macp_state::macpmsm)
+ macp(config);
// MSM5205
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/macrossp.cpp b/src/mame/drivers/macrossp.cpp
index c2a5728037c..3a635822a07 100644
--- a/src/mame/drivers/macrossp.cpp
+++ b/src/mame/drivers/macrossp.cpp
@@ -580,7 +580,8 @@ MACHINE_CONFIG_START(macrossp_state::macrossp)
MCFG_SOUND_ROUTE(1, "rspeaker", 0.1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(macrossp_state::quizmoon, macrossp)
+MACHINE_CONFIG_START(macrossp_state::quizmoon)
+ macrossp(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0, 24*16-1, 0*8, 14*16-1)
diff --git a/src/mame/drivers/madalien.cpp b/src/mame/drivers/madalien.cpp
index f13692b8996..9d10066ff00 100644
--- a/src/mame/drivers/madalien.cpp
+++ b/src/mame/drivers/madalien.cpp
@@ -159,7 +159,7 @@ MACHINE_CONFIG_START(madalien_state::madalien)
MCFG_CPU_VBLANK_INT_DRIVER("screen", madalien_state, nmi_line_pulse)
/* video hardware */
- MCFG_FRAGMENT_ADD(madalien_video)
+ madalien_video(config);
/* audio hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/magic10.cpp b/src/mame/drivers/magic10.cpp
index fe0b2f95576..14acd9f563f 100644
--- a/src/mame/drivers/magic10.cpp
+++ b/src/mame/drivers/magic10.cpp
@@ -719,7 +719,8 @@ MACHINE_CONFIG_START(magic10_state::magic10)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(magic10_state::magic10a, magic10)
+MACHINE_CONFIG_START(magic10_state::magic10a)
+ magic10(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -727,7 +728,8 @@ MACHINE_CONFIG_DERIVED(magic10_state::magic10a, magic10)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(magic10_state::magic102, magic10)
+MACHINE_CONFIG_START(magic10_state::magic102)
+ magic10(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -738,7 +740,8 @@ MACHINE_CONFIG_DERIVED(magic10_state::magic102, magic10)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(magic10_state::hotslot, magic10)
+MACHINE_CONFIG_START(magic10_state::hotslot)
+ magic10(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -749,7 +752,8 @@ MACHINE_CONFIG_DERIVED(magic10_state::hotslot, magic10)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(magic10_state::sgsafari, magic10)
+MACHINE_CONFIG_START(magic10_state::sgsafari)
+ magic10(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/magicard.cpp b/src/mame/drivers/magicard.cpp
index 7a157b57c0a..3388370c9c7 100644
--- a/src/mame/drivers/magicard.cpp
+++ b/src/mame/drivers/magicard.cpp
@@ -1009,7 +1009,8 @@ MACHINE_CONFIG_START(magicard_state::magicard)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(magicard_state::hotslots, magicard)
+MACHINE_CONFIG_START(magicard_state::hotslots)
+ magicard(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(hotslots_mem)
diff --git a/src/mame/drivers/magicfly.cpp b/src/mame/drivers/magicfly.cpp
index 48f71e24c9d..7966e4d6b6e 100644
--- a/src/mame/drivers/magicfly.cpp
+++ b/src/mame/drivers/magicfly.cpp
@@ -970,7 +970,8 @@ MACHINE_CONFIG_START(magicfly_state::magicfly)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(magicfly_state::_7mezzo, magicfly)
+MACHINE_CONFIG_START(magicfly_state::_7mezzo)
+ magicfly(config);
/* video hardware */
MCFG_VIDEO_START_OVERRIDE(magicfly_state, 7mezzo)
@@ -978,7 +979,8 @@ MACHINE_CONFIG_DERIVED(magicfly_state::_7mezzo, magicfly)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(magicfly_state::bchance, magicfly)
+MACHINE_CONFIG_START(magicfly_state::bchance)
+ magicfly(config);
/* video hardware */
MCFG_PALETTE_MODIFY("palette")
diff --git a/src/mame/drivers/magtouch.cpp b/src/mame/drivers/magtouch.cpp
index 25ff5a8018f..ec539aa4f15 100644
--- a/src/mame/drivers/magtouch.cpp
+++ b/src/mame/drivers/magtouch.cpp
@@ -195,10 +195,10 @@ MACHINE_CONFIG_START(magtouch_state::magtouch)
MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb)
/* video hardware */
- MCFG_FRAGMENT_ADD( pcvideo_trident_vga )
+ pcvideo_trident_vga(config);
MCFG_DEVICE_REPLACE("vga", TVGA9000_VGA, 0)
- MCFG_FRAGMENT_ADD( pcat_common )
+ pcat_common(config);
MCFG_DEVICE_ADD( "ns16450_0", NS16450, XTAL(1'843'200) )
MCFG_INS8250_OUT_TX_CB(DEVWRITELINE("microtouch", microtouch_device, rx))
MCFG_INS8250_OUT_INT_CB(DEVWRITELINE("pic8259_1", pic8259_device, ir4_w))
diff --git a/src/mame/drivers/malzak.cpp b/src/mame/drivers/malzak.cpp
index 44e2ec9226c..3fa70edfb36 100644
--- a/src/mame/drivers/malzak.cpp
+++ b/src/mame/drivers/malzak.cpp
@@ -365,7 +365,8 @@ MACHINE_CONFIG_START(malzak_state::malzak)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(malzak_state::malzak2, malzak)
+MACHINE_CONFIG_START(malzak_state::malzak2)
+ malzak(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(malzak2_map)
diff --git a/src/mame/drivers/mappy.cpp b/src/mame/drivers/mappy.cpp
index 827044bb198..ca752acf0ac 100644
--- a/src/mame/drivers/mappy.cpp
+++ b/src/mame/drivers/mappy.cpp
@@ -1364,7 +1364,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(mappy_state::superpac)
- MCFG_FRAGMENT_ADD(superpac_common)
+ superpac_common(config);
MCFG_DEVICE_ADD("namcoio_1", NAMCO_56XX, 0)
MCFG_NAMCO56XX_IN_0_CB(IOPORT("COINS"))
@@ -1382,7 +1382,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(mappy_state::pacnpal)
- MCFG_FRAGMENT_ADD(superpac_common)
+ superpac_common(config);
MCFG_DEVICE_ADD("namcoio_1", NAMCO_56XX, 0)
MCFG_NAMCO56XX_IN_0_CB(IOPORT("COINS"))
@@ -1402,7 +1402,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(mappy_state::grobda)
- MCFG_FRAGMENT_ADD(superpac_common)
+ superpac_common(config);
MCFG_DEVICE_ADD("namcoio_1", NAMCO_58XX, 0)
MCFG_NAMCO58XX_IN_0_CB(IOPORT("COINS"))
@@ -1544,7 +1544,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(mappy_state::mappy)
- MCFG_FRAGMENT_ADD(mappy_common)
+ mappy_common(config);
MCFG_DEVICE_ADD("namcoio_1", NAMCO_58XX, 0)
MCFG_NAMCO58XX_IN_0_CB(IOPORT("COINS"))
@@ -1562,7 +1562,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(mappy_state::digdug2)
- MCFG_FRAGMENT_ADD(mappy_common)
+ mappy_common(config);
MCFG_WATCHDOG_MODIFY("watchdog")
MCFG_WATCHDOG_VBLANK_INIT("screen", 0)
@@ -1581,7 +1581,8 @@ MACHINE_CONFIG_START(mappy_state::digdug2)
MCFG_NAMCO56XX_OUT_0_CB(DEVWRITELINE("dipmux", ls157_device, select_w)) MCFG_DEVCB_BIT(0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mappy_state::todruaga, digdug2)
+MACHINE_CONFIG_START(mappy_state::todruaga)
+ digdug2(config);
/* video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", todruaga)
@@ -1591,7 +1592,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(mappy_state::motos)
- MCFG_FRAGMENT_ADD(mappy_common)
+ mappy_common(config);
MCFG_DEVICE_ADD("namcoio_1", NAMCO_56XX, 0)
MCFG_NAMCO56XX_IN_0_CB(IOPORT("COINS"))
diff --git a/src/mame/drivers/marineb.cpp b/src/mame/drivers/marineb.cpp
index 4c8d7679364..4d24b032f99 100644
--- a/src/mame/drivers/marineb.cpp
+++ b/src/mame/drivers/marineb.cpp
@@ -559,7 +559,8 @@ MACHINE_CONFIG_START(marineb_state::marineb)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(marineb_state::changes, marineb)
+MACHINE_CONFIG_START(marineb_state::changes)
+ marineb(config);
/* basic machine hardware */
@@ -570,7 +571,8 @@ MACHINE_CONFIG_DERIVED(marineb_state::changes, marineb)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(marineb_state::springer, marineb)
+MACHINE_CONFIG_START(marineb_state::springer)
+ marineb(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("outlatch")
@@ -583,7 +585,8 @@ MACHINE_CONFIG_DERIVED(marineb_state::springer, marineb)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(marineb_state::hoccer, marineb)
+MACHINE_CONFIG_START(marineb_state::hoccer)
+ marineb(config);
/* basic machine hardware */
@@ -594,7 +597,8 @@ MACHINE_CONFIG_DERIVED(marineb_state::hoccer, marineb)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(marineb_state::wanted, marineb)
+MACHINE_CONFIG_START(marineb_state::wanted)
+ marineb(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -615,7 +619,8 @@ MACHINE_CONFIG_DERIVED(marineb_state::wanted, marineb)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(marineb_state::hopprobo, marineb)
+MACHINE_CONFIG_START(marineb_state::hopprobo)
+ marineb(config);
/* basic machine hardware */
@@ -626,7 +631,8 @@ MACHINE_CONFIG_DERIVED(marineb_state::hopprobo, marineb)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(marineb_state::bcruzm12, wanted)
+MACHINE_CONFIG_START(marineb_state::bcruzm12)
+ wanted(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("outlatch")
diff --git a/src/mame/drivers/mario.cpp b/src/mame/drivers/mario.cpp
index 91f12bc620e..3712ce1d68d 100644
--- a/src/mame/drivers/mario.cpp
+++ b/src/mame/drivers/mario.cpp
@@ -367,17 +367,19 @@ MACHINE_CONFIG_START(mario_state::mario_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mario_state::mario, mario_base)
- MCFG_FRAGMENT_ADD(mario_audio)
+MACHINE_CONFIG_START(mario_state::mario)
+ mario_base(config);
+ mario_audio(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mario_state::masao, mario_base)
+MACHINE_CONFIG_START(mario_state::masao)
+ mario_base(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(4000000) /* 4.000 MHz (?) */
MCFG_CPU_PROGRAM_MAP(masao_map)
/* sound hardware */
- MCFG_FRAGMENT_ADD(masao_audio)
+ masao_audio(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/maygay1b.cpp b/src/mame/drivers/maygay1b.cpp
index 3824c92134f..8bb7ee3a12d 100644
--- a/src/mame/drivers/maygay1b.cpp
+++ b/src/mame/drivers/maygay1b.cpp
@@ -848,11 +848,13 @@ MACHINE_CONFIG_START(maygay1b_state::maygay_m1)
MCFG_DEFAULT_LAYOUT(layout_maygay1b)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(maygay1b_state::maygay_m1_no_oki, maygay_m1)
+MACHINE_CONFIG_START(maygay1b_state::maygay_m1_no_oki)
+ maygay_m1(config);
MCFG_DEVICE_REMOVE("msm6376")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(maygay1b_state::maygay_m1_nec, maygay_m1)
+MACHINE_CONFIG_START(maygay1b_state::maygay_m1_nec)
+ maygay_m1(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(m1_nec_memmap)
diff --git a/src/mame/drivers/mbee.cpp b/src/mame/drivers/mbee.cpp
index bc74c257363..da1b332031b 100644
--- a/src/mame/drivers/mbee.cpp
+++ b/src/mame/drivers/mbee.cpp
@@ -746,13 +746,15 @@ MACHINE_CONFIG_START(mbee_state::mbeeic)
MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mbee_state::mbeepc, mbeeic)
+MACHINE_CONFIG_START(mbee_state::mbeepc)
+ mbeeic(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(mbeepc_mem)
MCFG_CPU_IO_MAP(mbeepc_io)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mbee_state::mbeeppc, mbeeic)
+MACHINE_CONFIG_START(mbee_state::mbeeppc)
+ mbeeic(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(mbeeppc_mem)
MCFG_CPU_IO_MAP(mbeeppc_io)
@@ -764,7 +766,8 @@ MACHINE_CONFIG_DERIVED(mbee_state::mbeeppc, mbeeic)
MCFG_MC146818_IRQ_HANDLER(WRITELINE(mbee_state, rtc_irq_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mbee_state::mbee56, mbeeic)
+MACHINE_CONFIG_START(mbee_state::mbee56)
+ mbeeic(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(mbee56_mem)
MCFG_CPU_IO_MAP(mbee56_io)
@@ -779,7 +782,8 @@ MACHINE_CONFIG_DERIVED(mbee_state::mbee56, mbeeic)
MCFG_FLOPPY_DRIVE_SOUND(true)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mbee_state::mbee128, mbee56)
+MACHINE_CONFIG_START(mbee_state::mbee128)
+ mbee56(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(mbee256_mem)
MCFG_CPU_IO_MAP(mbee128_io)
@@ -788,7 +792,8 @@ MACHINE_CONFIG_DERIVED(mbee_state::mbee128, mbee56)
MCFG_MC146818_IRQ_HANDLER(WRITELINE(mbee_state, rtc_irq_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mbee_state::mbee128p, mbeeppc)
+MACHINE_CONFIG_START(mbee_state::mbee128p)
+ mbeeppc(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(mbee256_mem)
MCFG_CPU_IO_MAP(mbee128_io)
@@ -803,7 +808,8 @@ MACHINE_CONFIG_DERIVED(mbee_state::mbee128p, mbeeppc)
MCFG_FLOPPY_DRIVE_SOUND(true)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mbee_state::mbee256, mbee128p)
+MACHINE_CONFIG_START(mbee_state::mbee256)
+ mbee128p(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(mbee256_mem)
MCFG_CPU_IO_MAP(mbee256_io)
@@ -817,7 +823,8 @@ MACHINE_CONFIG_DERIVED(mbee_state::mbee256, mbee128p)
MCFG_FLOPPY_DRIVE_SOUND(true)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mbee_state::mbeett, mbeeppc)
+MACHINE_CONFIG_START(mbee_state::mbeett)
+ mbeeppc(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(mbeett_mem)
MCFG_CPU_IO_MAP(mbeett_io)
diff --git a/src/mame/drivers/mc10.cpp b/src/mame/drivers/mc10.cpp
index 3e289125fba..d0edc145c26 100644
--- a/src/mame/drivers/mc10.cpp
+++ b/src/mame/drivers/mc10.cpp
@@ -583,7 +583,8 @@ MACHINE_CONFIG_START(mc10_state::alice32)
MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("mc10_cass", "mc10")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mc10_state::alice90, alice32)
+MACHINE_CONFIG_START(mc10_state::alice90)
+ alice32(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(alice90_mem)
diff --git a/src/mame/drivers/mcatadv.cpp b/src/mame/drivers/mcatadv.cpp
index c25cc8c552a..0b638eb06e0 100644
--- a/src/mame/drivers/mcatadv.cpp
+++ b/src/mame/drivers/mcatadv.cpp
@@ -473,7 +473,8 @@ MACHINE_CONFIG_START(mcatadv_state::mcatadv)
MCFG_SOUND_ROUTE(2, "rspeaker", 0.5)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mcatadv_state::nost, mcatadv)
+MACHINE_CONFIG_START(mcatadv_state::nost)
+ mcatadv(config);
MCFG_CPU_MODIFY("soundcpu")
MCFG_CPU_PROGRAM_MAP(nost_sound_map)
diff --git a/src/mame/drivers/mcr.cpp b/src/mame/drivers/mcr.cpp
index 8b001a50b87..e933ac97d50 100644
--- a/src/mame/drivers/mcr.cpp
+++ b/src/mame/drivers/mcr.cpp
@@ -1782,7 +1782,8 @@ MACHINE_CONFIG_END
/* as above, but in a casino cabinet */
-MACHINE_CONFIG_DERIVED(mcr_dpoker_state::mcr_90009_dp, mcr_90009)
+MACHINE_CONFIG_START(mcr_dpoker_state::mcr_90009_dp)
+ mcr_90009(config);
/* basic machine hardware */
MCFG_TIMER_DRIVER_ADD("coinin", mcr_dpoker_state, coin_in_callback)
@@ -1791,7 +1792,8 @@ MACHINE_CONFIG_END
/* 90010 CPU board plus 90908/90913/91483 sound board */
-MACHINE_CONFIG_DERIVED(mcr_state::mcr_90010, mcr_90009)
+MACHINE_CONFIG_START(mcr_state::mcr_90010)
+ mcr_90009(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1806,7 +1808,8 @@ MACHINE_CONFIG_END
/* as above, plus 8-track tape */
-MACHINE_CONFIG_DERIVED(mcr_state::mcr_90010_tt, mcr_90010)
+MACHINE_CONFIG_START(mcr_state::mcr_90010_tt)
+ mcr_90010(config);
/* sound hardware */
MCFG_SOUND_ADD("samples", SAMPLES, 0)
@@ -1818,7 +1821,8 @@ MACHINE_CONFIG_END
/* 91475 CPU board plus 90908/90913/91483 sound board plus cassette interface */
-MACHINE_CONFIG_DERIVED(mcr_state::mcr_91475, mcr_90010)
+MACHINE_CONFIG_START(mcr_state::mcr_91475)
+ mcr_90010(config);
/* video hardware */
MCFG_PALETTE_MODIFY("palette")
@@ -1835,7 +1839,8 @@ MACHINE_CONFIG_END
/* 91490 CPU board plus 90908/90913/91483 sound board */
-MACHINE_CONFIG_DERIVED(mcr_state::mcr_91490, mcr_90010)
+MACHINE_CONFIG_START(mcr_state::mcr_91490)
+ mcr_90010(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1849,7 +1854,8 @@ MACHINE_CONFIG_END
/* 91490 CPU board plus 90908/90913/91483 sound board plus Squawk n' Talk sound board */
-MACHINE_CONFIG_DERIVED(mcr_state::mcr_91490_snt, mcr_91490)
+MACHINE_CONFIG_START(mcr_state::mcr_91490_snt)
+ mcr_91490(config);
/* basic machine hardware */
MCFG_SOUND_ADD("snt", MIDWAY_SQUAWK_N_TALK, 0)
@@ -1859,7 +1865,8 @@ MACHINE_CONFIG_END
/* 91490 CPU board plus 90908/90913/91483 sound board plus Squawk n' Talk sound board plus IPU */
-MACHINE_CONFIG_DERIVED(mcr_nflfoot_state::mcr_91490_ipu, mcr_91490_snt)
+MACHINE_CONFIG_START(mcr_nflfoot_state::mcr_91490_ipu)
+ mcr_91490_snt(config);
/* basic machine hardware */
MCFG_CPU_ADD("ipu", Z80, 7372800/2)
@@ -1886,7 +1893,8 @@ MACHINE_CONFIG_END
/* 91490 CPU board plus 90908/90913/91483 sound board plus Turbo Cheap Squeak sound board */
-MACHINE_CONFIG_DERIVED(mcr_state::mcr_91490_tcs, mcr_91490)
+MACHINE_CONFIG_START(mcr_state::mcr_91490_tcs)
+ mcr_91490(config);
/* basic machine hardware */
MCFG_SOUND_ADD("tcs", MIDWAY_TURBO_CHEAP_SQUEAK, 0)
diff --git a/src/mame/drivers/mcr3.cpp b/src/mame/drivers/mcr3.cpp
index 301c2e74cbc..7595a0454fd 100644
--- a/src/mame/drivers/mcr3.cpp
+++ b/src/mame/drivers/mcr3.cpp
@@ -1121,7 +1121,8 @@ MACHINE_CONFIG_END
/* Sarge/Demolition Derby Mono/Max RPM = MCR monoboard with Turbo Cheap Squeak */
-MACHINE_CONFIG_DERIVED(mcr3_state::mono_tcs, mcrmono)
+MACHINE_CONFIG_START(mcr3_state::mono_tcs)
+ mcrmono(config);
/* basic machine hardware */
MCFG_SOUND_ADD("tcs", MIDWAY_TURBO_CHEAP_SQUEAK, 0)
@@ -1129,7 +1130,8 @@ MACHINE_CONFIG_DERIVED(mcr3_state::mono_tcs, mcrmono)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mcr3_state::maxrpm, mono_tcs)
+MACHINE_CONFIG_START(mcr3_state::maxrpm)
+ mono_tcs(config);
MCFG_ADC0844_ADD("adc")
MCFG_ADC0844_CH1_CB(IOPORT("MONO.IP1"))
MCFG_ADC0844_CH2_CB(IOPORT("MONO.IP1.ALT1"))
@@ -1139,7 +1141,8 @@ MACHINE_CONFIG_END
/* Rampage/Power Drive/Star Guards = MCR monoboard with Sounds Good */
-MACHINE_CONFIG_DERIVED(mcr3_state::mono_sg, mcrmono)
+MACHINE_CONFIG_START(mcr3_state::mono_sg)
+ mcrmono(config);
/* basic machine hardware */
MCFG_SOUND_ADD("sg", MIDWAY_SOUNDS_GOOD, 0)
@@ -1152,7 +1155,8 @@ MACHINE_CONFIG_END
/* Core scrolling system with SSIO sound */
-MACHINE_CONFIG_DERIVED(mcr3_state::mcrscroll, mcrmono)
+MACHINE_CONFIG_START(mcr3_state::mcrscroll)
+ mcrmono(config);
/* basic machine hardware */
MCFG_SOUND_ADD("ssio", MIDWAY_SSIO, 0)
@@ -1178,7 +1182,8 @@ MACHINE_CONFIG_END
/* Spy Hunter = scrolling system with an SSIO and a cheap squeak deluxe */
-MACHINE_CONFIG_DERIVED(mcr3_state::mcrsc_csd, mcrscroll)
+MACHINE_CONFIG_START(mcr3_state::mcrsc_csd)
+ mcrscroll(config);
/* basic machine hardware */
MCFG_SOUND_ADD("csd", MIDWAY_CHEAP_SQUEAK_DELUXE, 0)
diff --git a/src/mame/drivers/mcr68.cpp b/src/mame/drivers/mcr68.cpp
index 4a687cad66e..c0a07a7f7d6 100644
--- a/src/mame/drivers/mcr68.cpp
+++ b/src/mame/drivers/mcr68.cpp
@@ -928,14 +928,16 @@ MACHINE_CONFIG_START(mcr68_state::mcr68)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mcr68_state::xenophob, mcr68)
+MACHINE_CONFIG_START(mcr68_state::xenophob)
+ mcr68(config);
/* basic machine hardware */
MCFG_SOUND_ADD("sg", MIDWAY_SOUNDS_GOOD, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mcr68_state::intlaser, mcr68)
+MACHINE_CONFIG_START(mcr68_state::intlaser)
+ mcr68(config);
/* basic machine hardware */
MCFG_SOUND_ADD("sg", MIDWAY_SOUNDS_GOOD, 0)
@@ -946,7 +948,8 @@ MACHINE_CONFIG_DERIVED(mcr68_state::intlaser, mcr68)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mcr68_state::spyhunt2, mcr68)
+MACHINE_CONFIG_START(mcr68_state::spyhunt2)
+ mcr68(config);
/* basic machine hardware */
MCFG_SOUND_ADD("sg", MIDWAY_SOUNDS_GOOD, 0)
@@ -962,7 +965,8 @@ MACHINE_CONFIG_DERIVED(mcr68_state::spyhunt2, mcr68)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mcr68_state::archrivl, mcr68)
+MACHINE_CONFIG_START(mcr68_state::archrivl)
+ mcr68(config);
/* basic machine hardware */
MCFG_SOUND_ADD("cvsd", WILLIAMS_CVSD_SOUND, 0)
@@ -970,7 +974,8 @@ MACHINE_CONFIG_DERIVED(mcr68_state::archrivl, mcr68)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mcr68_state::pigskin, mcr68)
+MACHINE_CONFIG_START(mcr68_state::pigskin)
+ mcr68(config);
/* basic machine hardware */
MCFG_SOUND_ADD("cvsd", WILLIAMS_CVSD_SOUND, 0)
@@ -981,7 +986,8 @@ MACHINE_CONFIG_DERIVED(mcr68_state::pigskin, mcr68)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mcr68_state::trisport, mcr68)
+MACHINE_CONFIG_START(mcr68_state::trisport)
+ mcr68(config);
/* basic machine hardware */
MCFG_SOUND_ADD("cvsd", WILLIAMS_CVSD_SOUND, 0)
diff --git a/src/mame/drivers/mediagx.cpp b/src/mame/drivers/mediagx.cpp
index 58d16ec7b8c..0b0a5a35c56 100644
--- a/src/mame/drivers/mediagx.cpp
+++ b/src/mame/drivers/mediagx.cpp
@@ -883,7 +883,7 @@ MACHINE_CONFIG_START(mediagx_state::mediagx)
MCFG_CPU_IO_MAP(mediagx_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(18, nullptr, cx5510_pci_r, cx5510_pci_w)
diff --git a/src/mame/drivers/megadriv.cpp b/src/mame/drivers/megadriv.cpp
index 4de34a95097..580cedebb7c 100644
--- a/src/mame/drivers/megadriv.cpp
+++ b/src/mame/drivers/megadriv.cpp
@@ -378,7 +378,7 @@ WRITE_LINE_MEMBER(md_cons_state::screen_vblank_console)
}
MACHINE_CONFIG_START(md_cons_state::ms_megadriv)
- MCFG_FRAGMENT_ADD( md_ntsc )
+ md_ntsc(config);
MCFG_MACHINE_START_OVERRIDE(md_cons_state, ms_megadriv)
MCFG_MACHINE_RESET_OVERRIDE(md_cons_state, ms_megadriv)
@@ -391,7 +391,7 @@ MACHINE_CONFIG_START(md_cons_state::ms_megadriv)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(md_cons_state::ms_megadpal)
- MCFG_FRAGMENT_ADD( md_pal )
+ md_pal(config);
MCFG_MACHINE_START_OVERRIDE(md_cons_state, ms_megadriv)
MCFG_MACHINE_RESET_OVERRIDE(md_cons_state, ms_megadriv)
@@ -403,12 +403,13 @@ MACHINE_CONFIG_START(md_cons_state::ms_megadpal)
MCFG_SOFTWARE_LIST_ADD("cart_list","megadriv")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(md_cons_state::genesis_tmss, ms_megadriv)
+MACHINE_CONFIG_START(md_cons_state::genesis_tmss)
+ ms_megadriv(config);
MCFG_SOFTWARE_LIST_FILTER("cart_list","TMSS")
MACHINE_CONFIG_END
MACHINE_CONFIG_START(md_cons_state::dcat16_megadriv)
- MCFG_FRAGMENT_ADD( dcat16_megadriv_base )
+ dcat16_megadriv_base(config);
MCFG_MACHINE_START_OVERRIDE(md_cons_state, md_common)
MCFG_MACHINE_RESET_OVERRIDE(md_cons_state, megadriv)
@@ -598,7 +599,7 @@ void md_cons_state::_32x_scanline_helper_callback(int scanline)
}
MACHINE_CONFIG_START(md_cons_state::genesis_32x)
- MCFG_FRAGMENT_ADD( md_ntsc )
+ md_ntsc(config);
MCFG_MACHINE_START_OVERRIDE(md_cons_state, md_common)
MCFG_MACHINE_RESET_OVERRIDE(md_cons_state, ms_megadriv)
@@ -639,7 +640,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(md_cons_state::mdj_32x)
- MCFG_FRAGMENT_ADD( md_ntsc )
+ md_ntsc(config);
MCFG_MACHINE_START_OVERRIDE(md_cons_state, md_common)
MCFG_MACHINE_RESET_OVERRIDE(md_cons_state, ms_megadriv)
@@ -680,7 +681,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(md_cons_state::md_32x)
- MCFG_FRAGMENT_ADD( md_pal )
+ md_pal(config);
MCFG_MACHINE_START_OVERRIDE(md_cons_state, md_common)
MCFG_MACHINE_RESET_OVERRIDE(md_cons_state, ms_megadriv)
@@ -753,7 +754,7 @@ ROM_END
/****************************************** SegaCD emulation ****************************************/
MACHINE_CONFIG_START(md_cons_state::genesis_scd)
- MCFG_FRAGMENT_ADD( md_ntsc )
+ md_ntsc(config);
MCFG_MACHINE_START_OVERRIDE(md_cons_state, ms_megacd)
MCFG_MACHINE_RESET_OVERRIDE(md_cons_state, ms_megadriv)
@@ -771,7 +772,7 @@ MACHINE_CONFIG_START(md_cons_state::genesis_scd)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(md_cons_state::md_scd)
- MCFG_FRAGMENT_ADD( md_pal )
+ md_pal(config);
MCFG_MACHINE_START_OVERRIDE(md_cons_state, ms_megacd)
MCFG_MACHINE_RESET_OVERRIDE(md_cons_state, ms_megadriv)
@@ -789,7 +790,7 @@ MACHINE_CONFIG_START(md_cons_state::md_scd)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(md_cons_state::mdj_scd)
- MCFG_FRAGMENT_ADD( md_ntsc )
+ md_ntsc(config);
MCFG_MACHINE_START_OVERRIDE(md_cons_state, ms_megacd)
MCFG_MACHINE_RESET_OVERRIDE(md_cons_state, ms_megadriv)
@@ -808,7 +809,8 @@ MACHINE_CONFIG_END
/******************SEGA CD + 32X****************************/
-MACHINE_CONFIG_DERIVED(md_cons_state::genesis_32x_scd, genesis_32x)
+MACHINE_CONFIG_START(md_cons_state::genesis_32x_scd)
+ genesis_32x(config);
MCFG_DEVICE_ADD("segacd", SEGA_SEGACD_US, 0)
MCFG_GFX_PALETTE("gen_vdp:palette")
@@ -827,7 +829,8 @@ MACHINE_CONFIG_DERIVED(md_cons_state::genesis_32x_scd, genesis_32x)
MCFG_SOFTWARE_LIST_ADD("cd_list", "segacd")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(md_cons_state::md_32x_scd, md_32x)
+MACHINE_CONFIG_START(md_cons_state::md_32x_scd)
+ md_32x(config);
MCFG_DEVICE_ADD("segacd", SEGA_SEGACD_EUROPE, 0)
MCFG_GFX_PALETTE("gen_vdp:palette")
@@ -846,7 +849,8 @@ MACHINE_CONFIG_DERIVED(md_cons_state::md_32x_scd, md_32x)
MCFG_SOFTWARE_LIST_ADD("cd_list", "megacd")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(md_cons_state::mdj_32x_scd, mdj_32x)
+MACHINE_CONFIG_START(md_cons_state::mdj_32x_scd)
+ mdj_32x(config);
MCFG_DEVICE_ADD("segacd", SEGA_SEGACD_JAPAN, 0)
MCFG_GFX_PALETTE("gen_vdp:palette")
diff --git a/src/mame/drivers/megadriv_acbl.cpp b/src/mame/drivers/megadriv_acbl.cpp
index 8287e9edf75..e50d2842408 100644
--- a/src/mame/drivers/megadriv_acbl.cpp
+++ b/src/mame/drivers/megadriv_acbl.cpp
@@ -284,7 +284,7 @@ ADDRESS_MAP_START(md_boot_state::md_bootleg_map)
ADDRESS_MAP_END
MACHINE_CONFIG_START(md_boot_state::md_bootleg)
- MCFG_FRAGMENT_ADD( md_ntsc )
+ md_ntsc(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(md_bootleg_map)
@@ -679,7 +679,7 @@ INPUT_PORTS_END
*************************************/
MACHINE_CONFIG_START(md_boot_state::megadrvb)
- MCFG_FRAGMENT_ADD(md_ntsc)
+ md_ntsc(config);
MCFG_MACHINE_START_OVERRIDE(md_boot_state, md_bootleg)
MACHINE_CONFIG_END
@@ -698,7 +698,7 @@ MACHINE_START_MEMBER(md_boot_state, md_6button)
}
MACHINE_CONFIG_START(md_boot_state::megadrvb_6b)
- MCFG_FRAGMENT_ADD(md_ntsc)
+ md_ntsc(config);
MCFG_MACHINE_START_OVERRIDE(md_boot_state, md_6button)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/megadriv_rad.cpp b/src/mame/drivers/megadriv_rad.cpp
index fd48cd63078..f6200dd212e 100644
--- a/src/mame/drivers/megadriv_rad.cpp
+++ b/src/mame/drivers/megadriv_rad.cpp
@@ -133,7 +133,7 @@ MACHINE_RESET_MEMBER(megadriv_radica_state, megadriv_radica)
}
MACHINE_CONFIG_START(megadriv_radica_state::megadriv_radica_3button_ntsc)
- MCFG_FRAGMENT_ADD(md_ntsc)
+ md_ntsc(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(megadriv_radica_map)
MCFG_MACHINE_START_OVERRIDE(megadriv_radica_state, megadriv_radica_3button)
@@ -141,7 +141,7 @@ MACHINE_CONFIG_START(megadriv_radica_state::megadriv_radica_3button_ntsc)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(megadriv_radica_state::megadriv_radica_3button_pal)
- MCFG_FRAGMENT_ADD(md_pal)
+ md_pal(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(megadriv_radica_map)
MCFG_MACHINE_START_OVERRIDE(megadriv_radica_state, megadriv_radica_3button)
@@ -149,7 +149,7 @@ MACHINE_CONFIG_START(megadriv_radica_state::megadriv_radica_3button_pal)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(megadriv_radica_state::megadriv_radica_6button_pal)
- MCFG_FRAGMENT_ADD(md_pal)
+ md_pal(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(megadriv_radica_map)
MCFG_MACHINE_START_OVERRIDE(megadriv_radica_state, megadriv_radica_6button)
diff --git a/src/mame/drivers/megaplay.cpp b/src/mame/drivers/megaplay.cpp
index df6e5e84d83..a631a62f707 100644
--- a/src/mame/drivers/megaplay.cpp
+++ b/src/mame/drivers/megaplay.cpp
@@ -661,7 +661,7 @@ MACHINE_RESET_MEMBER(mplay_state,megaplay)
MACHINE_CONFIG_START(mplay_state::megaplay)
/* basic machine hardware */
- MCFG_FRAGMENT_ADD(md_ntsc)
+ md_ntsc(config);
/* The Megaplay has an extra BIOS cpu which drives an SMS VDP
which includes an SN76496 for sound */
diff --git a/src/mame/drivers/megasys1.cpp b/src/mame/drivers/megasys1.cpp
index ba6c05cf5b0..d568d664fca 100644
--- a/src/mame/drivers/megasys1.cpp
+++ b/src/mame/drivers/megasys1.cpp
@@ -1722,22 +1722,26 @@ MACHINE_CONFIG_START(megasys1_state::system_A)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.30)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(megasys1_state::system_A_hachoo, system_A)
+MACHINE_CONFIG_START(megasys1_state::system_A_hachoo)
+ system_A(config);
MCFG_MACHINE_RESET_OVERRIDE(megasys1_state,megasys1_hachoo)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(megasys1_state::system_A_iganinju, system_A)
+MACHINE_CONFIG_START(megasys1_state::system_A_iganinju)
+ system_A(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_DEVICE_REMOVE("scantimer")
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", megasys1_state, megasys1A_iganinju_scanline, "screen", 0, 1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(megasys1_state::system_A_soldam, system_A)
+MACHINE_CONFIG_START(megasys1_state::system_A_soldam)
+ system_A(config);
MCFG_DEVICE_MODIFY("scroll1")
MCFG_MEGASYS1_TILEMAP_8X8_SCROLL_FACTOR(4)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(megasys1_state::kickoffb, system_A)
+MACHINE_CONFIG_START(megasys1_state::kickoffb)
+ system_A(config);
MCFG_CPU_MODIFY("audiocpu")
MCFG_CPU_PROGRAM_MAP(kickoffb_sound_map)
@@ -1750,7 +1754,8 @@ MACHINE_CONFIG_DERIVED(megasys1_state::kickoffb, system_A)
MCFG_SOUND_ROUTE(1, "rspeaker", 0.80)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(megasys1_state::system_B, system_A)
+MACHINE_CONFIG_START(megasys1_state::system_B)
+ system_A(config);
/* basic machine hardware */
@@ -1765,7 +1770,8 @@ MACHINE_CONFIG_DERIVED(megasys1_state::system_B, system_A)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(megasys1_state::system_B_monkelf, system_B)
+MACHINE_CONFIG_START(megasys1_state::system_B_monkelf)
+ system_B(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(megasys1B_monkelf_map)
MACHINE_CONFIG_END
@@ -1809,7 +1815,8 @@ MACHINE_CONFIG_START(megasys1_state::system_Bbl)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.30)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(megasys1_state::system_B_hayaosi1, system_B)
+MACHINE_CONFIG_START(megasys1_state::system_B_hayaosi1)
+ system_B(config);
/* basic machine hardware */
@@ -1823,7 +1830,8 @@ MACHINE_CONFIG_DERIVED(megasys1_state::system_B_hayaosi1, system_B)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(megasys1_state::system_C, system_A)
+MACHINE_CONFIG_START(megasys1_state::system_C)
+ system_A(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/megatech.cpp b/src/mame/drivers/megatech.cpp
index 4ae65590bd2..4b6f21278ac 100644
--- a/src/mame/drivers/megatech.cpp
+++ b/src/mame/drivers/megatech.cpp
@@ -675,7 +675,7 @@ uint32_t mtech_state::screen_update_menu(screen_device &screen, bitmap_rgb32 &bi
MACHINE_CONFIG_START(mtech_state::megatech)
/* basic machine hardware */
- MCFG_FRAGMENT_ADD(md_ntsc)
+ md_ntsc(config);
/* Megatech has an extra SMS based bios *and* an additional screen */
MCFG_CPU_ADD("mtbios", Z80, MASTER_CLOCK / 15) /* ?? */
@@ -766,7 +766,8 @@ image_init_result mtech_state::load_cart(device_image_interface &image, generic_
MCFG_GENERIC_CARTSLOT_ADD(_tag, generic_plain_slot, "megatech_cart") \
MCFG_GENERIC_LOAD(mtech_state, _load)
-MACHINE_CONFIG_DERIVED(mtech_state::megatech_multislot, megatech)
+MACHINE_CONFIG_START(mtech_state::megatech_multislot)
+ megatech(config);
// add cart slots
MCFG_MEGATECH_CARTSLOT_ADD("mt_slot1", mt_cart1)
@@ -782,7 +783,8 @@ MACHINE_CONFIG_DERIVED(mtech_state::megatech_multislot, megatech)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mtech_state::megatech_fixedslot, megatech)
+MACHINE_CONFIG_START(mtech_state::megatech_fixedslot)
+ megatech(config);
// add cart slots
MCFG_MEGATECH_CARTSLOT_ADD("mt_slot1", mt_cart1)
diff --git a/src/mame/drivers/mephisto.cpp b/src/mame/drivers/mephisto.cpp
index 75768a46e89..1184f1f1206 100644
--- a/src/mame/drivers/mephisto.cpp
+++ b/src/mame/drivers/mephisto.cpp
@@ -376,7 +376,8 @@ MACHINE_CONFIG_START(mephisto_state::mephisto)
MCFG_DEFAULT_LAYOUT(layout_mephisto)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mephisto_state::rebel5, mephisto)
+MACHINE_CONFIG_START(mephisto_state::rebel5)
+ mephisto(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(rebel5_mem)
@@ -385,7 +386,8 @@ MACHINE_CONFIG_DERIVED(mephisto_state::rebel5, mephisto)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mephisto_state::mm2, mephisto)
+MACHINE_CONFIG_START(mephisto_state::mm2)
+ mephisto(config);
MCFG_CPU_REPLACE("maincpu", M65C02, 3700000)
MCFG_CPU_PROGRAM_MAP(mm2_mem)
MCFG_MACHINE_START_OVERRIDE(mephisto_state, mm2 )
@@ -394,7 +396,8 @@ MACHINE_CONFIG_DERIVED(mephisto_state::mm2, mephisto)
MCFG_TIMER_DRIVER_ADD_PERIODIC("irq_timer", mephisto_state, update_irq, attotime::from_hz(450))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mephisto_state::mm4tk, mephisto)
+MACHINE_CONFIG_START(mephisto_state::mm4tk)
+ mephisto(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_REPLACE("maincpu", M65C02, 18000000)
MCFG_CPU_PROGRAM_MAP(mephisto_mem)
diff --git a/src/mame/drivers/mephisto_montec.cpp b/src/mame/drivers/mephisto_montec.cpp
index 49e6a304f4b..d131deea478 100644
--- a/src/mame/drivers/mephisto_montec.cpp
+++ b/src/mame/drivers/mephisto_montec.cpp
@@ -461,12 +461,14 @@ MACHINE_CONFIG_START(mephisto_montec_state::montec)
MCFG_DEFAULT_LAYOUT(layout_mephisto_montec)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mephisto_montec_state::monteciv, montec)
+MACHINE_CONFIG_START(mephisto_montec_state::monteciv)
+ montec(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK( XTAL(8'000'000) )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mephisto_montec_state::megaiv, montec)
+MACHINE_CONFIG_START(mephisto_montec_state::megaiv)
+ montec(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK( XTAL(4'915'200) )
MCFG_CPU_PROGRAM_MAP(megaiv_mem)
@@ -478,7 +480,8 @@ MACHINE_CONFIG_DERIVED(mephisto_montec_state::megaiv, montec)
MCFG_DEFAULT_LAYOUT(layout_mephisto_megaiv)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mephisto_montec_state::mondial2, megaiv)
+MACHINE_CONFIG_START(mephisto_montec_state::mondial2)
+ megaiv(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK( XTAL(2'000'000) )
MCFG_CPU_PROGRAM_MAP(mondial2_mem)
@@ -488,14 +491,16 @@ MACHINE_CONFIG_DERIVED(mephisto_montec_state::mondial2, megaiv)
MCFG_DEFAULT_LAYOUT(layout_mephisto_mondial2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mephisto_montec_state::smondial, megaiv)
+MACHINE_CONFIG_START(mephisto_montec_state::smondial)
+ megaiv(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK( XTAL(4'000'000) )
MCFG_CPU_PROGRAM_MAP(smondial_mem)
MCFG_CPU_PERIODIC_INT_DRIVER(mephisto_montec_state, nmi_line_pulse, XTAL(4'000'000) / (1 << 13))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mephisto_montec_state::smondial2, smondial)
+MACHINE_CONFIG_START(mephisto_montec_state::smondial2)
+ smondial(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(smondial2_mem)
diff --git a/src/mame/drivers/mephistp.cpp b/src/mame/drivers/mephistp.cpp
index ab022425fee..dd5606c4412 100644
--- a/src/mame/drivers/mephistp.cpp
+++ b/src/mame/drivers/mephistp.cpp
@@ -195,7 +195,8 @@ MACHINE_CONFIG_START(mephisto_pinball_state::mephisto)
MACHINE_CONFIG_END
#ifdef UNUSED_DEFINITION
-static MACHINE_CONFIG_DERIVED(sport2k, mephisto)
+static MACHINE_CONFIG_START(sport2k)
+ mephisto(config);
MCFG_CPU_MODIFY("soundcpu")
MCFG_CPU_IO_MAP(sport2k_8051_io)
diff --git a/src/mame/drivers/merit.cpp b/src/mame/drivers/merit.cpp
index 513b688d5ec..2d8e43fbc77 100644
--- a/src/mame/drivers/merit.cpp
+++ b/src/mame/drivers/merit.cpp
@@ -1418,7 +1418,8 @@ MACHINE_CONFIG_START(merit_state::pitboss)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.33)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(merit_state::casino5, pitboss)
+MACHINE_CONFIG_START(merit_state::casino5)
+ pitboss(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(casino5_map)
@@ -1428,7 +1429,8 @@ MACHINE_CONFIG_DERIVED(merit_state::casino5, pitboss)
MCFG_MACHINE_START_OVERRIDE(merit_state,casino5)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(merit_state::bigappg, pitboss)
+MACHINE_CONFIG_START(merit_state::bigappg)
+ pitboss(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(bigappg_map)
@@ -1437,7 +1439,8 @@ MACHINE_CONFIG_DERIVED(merit_state::bigappg, pitboss)
MCFG_NVRAM_ADD_0FILL("nvram")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(merit_state::misdraw, bigappg)
+MACHINE_CONFIG_START(merit_state::misdraw)
+ bigappg(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(misdraw_map)
@@ -1445,7 +1448,8 @@ MACHINE_CONFIG_DERIVED(merit_state::misdraw, bigappg)
MCFG_NVRAM_ADD_0FILL("cpunvram")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(merit_state::dodge, pitboss)
+MACHINE_CONFIG_START(merit_state::dodge)
+ pitboss(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(dodge_map)
@@ -1454,42 +1458,48 @@ MACHINE_CONFIG_DERIVED(merit_state::dodge, pitboss)
MCFG_NVRAM_ADD_CUSTOM_DRIVER("nvram", merit_state, dodge_nvram_init)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(merit_state::tictac, pitboss)
+MACHINE_CONFIG_START(merit_state::tictac)
+ pitboss(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(tictac_map)
MCFG_CPU_IO_MAP(tictac_io_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(merit_state::trvwhiz, pitboss)
+MACHINE_CONFIG_START(merit_state::trvwhiz)
+ pitboss(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(trvwhiz_map)
MCFG_CPU_IO_MAP(trvwhiz_io_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(merit_state::dtrvwz5, pitboss)
+MACHINE_CONFIG_START(merit_state::dtrvwz5)
+ pitboss(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(dtrvwz5_map)
MCFG_CPU_IO_MAP(tictac_io_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(merit_state::phrcraze, pitboss)
+MACHINE_CONFIG_START(merit_state::phrcraze)
+ pitboss(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(phrcraze_map)
MCFG_CPU_IO_MAP(phrcraze_io_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(merit_state::trvwhziv, pitboss)
+MACHINE_CONFIG_START(merit_state::trvwhziv)
+ pitboss(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(trvwhziv_map)
MCFG_CPU_IO_MAP(tictac_io_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(merit_state::couple, pitboss)
+MACHINE_CONFIG_START(merit_state::couple)
+ pitboss(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(couple_map)
diff --git a/src/mame/drivers/meritm.cpp b/src/mame/drivers/meritm.cpp
index 24cdf29546c..f8e90fdcf12 100644
--- a/src/mame/drivers/meritm.cpp
+++ b/src/mame/drivers/meritm.cpp
@@ -1145,13 +1145,15 @@ MACHINE_CONFIG_START(meritm_state::meritm_crt250)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(meritm_state::meritm_crt250_questions, meritm_crt250)
+MACHINE_CONFIG_START(meritm_state::meritm_crt250_questions)
+ meritm_crt250(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(meritm_crt250_questions_map)
MCFG_MACHINE_START_OVERRIDE(meritm_state,meritm_crt250_questions)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(meritm_state::meritm_crt250_crt252_crt258, meritm_crt250_questions)
+MACHINE_CONFIG_START(meritm_state::meritm_crt250_crt252_crt258)
+ meritm_crt250_questions(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(meritm_crt250_crt258_io_map)
MCFG_MACHINE_START_OVERRIDE(meritm_state,meritm_crt250_crt252_crt258)
@@ -1162,7 +1164,8 @@ MACHINE_CONFIG_DERIVED(meritm_state::meritm_crt250_crt252_crt258, meritm_crt250_
MCFG_MICROTOUCH_TOUCH_CB(meritm_state, meritm_touch_coord_transform)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(meritm_state::meritm_crt260, meritm_crt250)
+MACHINE_CONFIG_START(meritm_state::meritm_crt260)
+ meritm_crt250(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(meritm_map)
MCFG_CPU_IO_MAP(meritm_io_map)
diff --git a/src/mame/drivers/mermaid.cpp b/src/mame/drivers/mermaid.cpp
index ec4cdbd97dc..c1afb47bd57 100644
--- a/src/mame/drivers/mermaid.cpp
+++ b/src/mame/drivers/mermaid.cpp
@@ -470,7 +470,8 @@ MACHINE_CONFIG_START(mermaid_state::mermaid)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mermaid_state::rougien, mermaid)
+MACHINE_CONFIG_START(mermaid_state::rougien)
+ mermaid(config);
MCFG_DEVICE_MODIFY("latch1")
MCFG_ADDRESSABLE_LATCH_Q2_OUT_CB(WRITELINE(mermaid_state, rougien_sample_playback_w))
diff --git a/src/mame/drivers/metro.cpp b/src/mame/drivers/metro.cpp
index 9cbe6690afc..2141aa04d81 100644
--- a/src/mame/drivers/metro.cpp
+++ b/src/mame/drivers/metro.cpp
@@ -3087,7 +3087,7 @@ MACHINE_CONFIG_END
// TODO: these comes from the CRTC inside the i4100
MACHINE_CONFIG_START(metro_state::i4100_config_360x224)
- MCFG_FRAGMENT_ADD( i4100_config )
+ i4100_config(config);
MCFG_DEVICE_MODIFY("screen")
MCFG_SCREEN_SIZE(360, 224)
@@ -3095,7 +3095,7 @@ MACHINE_CONFIG_START(metro_state::i4100_config_360x224)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(metro_state::i4220_config_320x240)
- MCFG_FRAGMENT_ADD( i4220_config )
+ i4220_config(config);
MCFG_DEVICE_MODIFY("screen")
MCFG_SCREEN_SIZE(320, 240)
@@ -3103,7 +3103,7 @@ MACHINE_CONFIG_START(metro_state::i4220_config_320x240)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(metro_state::i4220_config_304x224)
- MCFG_FRAGMENT_ADD( i4220_config )
+ i4220_config(config);
MCFG_DEVICE_MODIFY("screen")
MCFG_SCREEN_SIZE(320, 240)
@@ -3111,7 +3111,7 @@ MACHINE_CONFIG_START(metro_state::i4220_config_304x224)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(metro_state::i4300_config_384x224)
- MCFG_FRAGMENT_ADD( i4300_config )
+ i4300_config(config);
MCFG_DEVICE_MODIFY("screen")
MCFG_SCREEN_SIZE(384, 240)
@@ -3119,7 +3119,7 @@ MACHINE_CONFIG_START(metro_state::i4300_config_384x224)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(metro_state::i4300_config_320x240)
- MCFG_FRAGMENT_ADD( i4300_config )
+ i4300_config(config);
MCFG_DEVICE_MODIFY("screen")
MCFG_SCREEN_SIZE(384, 240)
@@ -3136,7 +3136,7 @@ MACHINE_CONFIG_START(metro_state::msgogo)
MCFG_CPU_PERIODIC_INT_DRIVER(metro_state, metro_periodic_interrupt, 60) // ?
/* video hardware */
- MCFG_FRAGMENT_ADD( i4220_config )
+ i4220_config(config);
MCFG_DEVICE_MODIFY("vdp2")
MCFG_I4100_TILEMAP_XOFFSETS(-2,-2,-2)
@@ -3149,21 +3149,24 @@ MACHINE_CONFIG_START(metro_state::msgogo)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(metro_state::balcube, msgogo)
+MACHINE_CONFIG_START(metro_state::balcube)
+ msgogo(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(balcube_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", metro_state, metro_vblank_interrupt)
MCFG_CPU_PERIODIC_INT_DRIVER(metro_state, metro_periodic_interrupt, 8*60) // ?
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(metro_state::daitoa, msgogo)
+MACHINE_CONFIG_START(metro_state::daitoa)
+ msgogo(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(daitoa_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", metro_state, metro_vblank_interrupt)
MCFG_CPU_PERIODIC_INT_DRIVER(metro_state, metro_periodic_interrupt, 8*60) // ?
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(metro_state::bangball, msgogo)
+MACHINE_CONFIG_START(metro_state::bangball)
+ msgogo(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(bangball_map)
MCFG_CPU_VBLANK_INT_REMOVE()
@@ -3175,7 +3178,8 @@ MACHINE_CONFIG_DERIVED(metro_state::bangball, msgogo)
MCFG_SCREEN_REFRESH_RATE(60)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(metro_state::batlbubl, msgogo)
+MACHINE_CONFIG_START(metro_state::batlbubl)
+ msgogo(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(batlbubl_map)
MCFG_CPU_VBLANK_INT_REMOVE()
@@ -3217,10 +3221,10 @@ MACHINE_CONFIG_START(metro_state::daitorid)
MCFG_CPU_VBLANK_INT_DRIVER("screen", metro_state, metro_vblank_interrupt)
MCFG_CPU_PERIODIC_INT_DRIVER(metro_state, metro_periodic_interrupt, 8*60) // ?
- MCFG_FRAGMENT_ADD(daitorid_upd7810_sound)
+ daitorid_upd7810_sound(config);
/* video hardware */
- MCFG_FRAGMENT_ADD( i4220_config )
+ i4220_config(config);
MCFG_DEVICE_MODIFY("vdp2")
MCFG_I4100_TILEMAP_XOFFSETS(-2,-2,-2)
@@ -3246,10 +3250,10 @@ MACHINE_CONFIG_START(metro_state::dharma)
MCFG_CPU_VBLANK_INT_DRIVER("screen", metro_state, metro_vblank_interrupt)
MCFG_CPU_PERIODIC_INT_DRIVER(metro_state, metro_periodic_interrupt, 8*60) // ?
- MCFG_FRAGMENT_ADD(metro_upd7810_sound)
+ metro_upd7810_sound(config);
/* video hardware */
- MCFG_FRAGMENT_ADD(i4220_config)
+ i4220_config(config);
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3271,10 +3275,10 @@ MACHINE_CONFIG_START(metro_state::karatour)
MCFG_CPU_VBLANK_INT_DRIVER("screen", metro_state, karatour_interrupt)
MCFG_CPU_PERIODIC_INT_DRIVER(metro_state, metro_periodic_interrupt, 8*60) // ?
- MCFG_FRAGMENT_ADD(metro_upd7810_sound)
+ metro_upd7810_sound(config);
/* video hardware */
- MCFG_FRAGMENT_ADD(i4100_config)
+ i4100_config(config);
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3297,10 +3301,10 @@ MACHINE_CONFIG_START(metro_state::_3kokushi)
MCFG_CPU_VBLANK_INT_DRIVER("screen", metro_state, karatour_interrupt)
MCFG_CPU_PERIODIC_INT_DRIVER(metro_state, metro_periodic_interrupt, 8*60) // ?
- MCFG_FRAGMENT_ADD(metro_upd7810_sound)
+ metro_upd7810_sound(config);
/* video hardware */
- MCFG_FRAGMENT_ADD( i4220_config_320x240 )
+ i4220_config_320x240(config);
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3323,10 +3327,10 @@ MACHINE_CONFIG_START(metro_state::lastfort)
MCFG_CPU_VBLANK_INT_DRIVER("screen", metro_state, metro_vblank_interrupt)
MCFG_CPU_PERIODIC_INT_DRIVER(metro_state, metro_periodic_interrupt, 8*60) // ?
- MCFG_FRAGMENT_ADD(metro_upd7810_sound)
+ metro_upd7810_sound(config);
/* video hardware */
- MCFG_FRAGMENT_ADD( i4100_config_360x224 )
+ i4100_config_360x224(config);
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3348,9 +3352,9 @@ MACHINE_CONFIG_START(metro_state::lastforg)
MCFG_CPU_VBLANK_INT_DRIVER("screen", metro_state, karatour_interrupt)
MCFG_CPU_PERIODIC_INT_DRIVER(metro_state, metro_periodic_interrupt, 8*60) // ?
- MCFG_FRAGMENT_ADD(metro_upd7810_sound)
+ metro_upd7810_sound(config);
- MCFG_FRAGMENT_ADD( i4100_config_360x224 )
+ i4100_config_360x224(config);
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3373,7 +3377,7 @@ MACHINE_CONFIG_START(metro_state::dokyusei)
MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(metro_state,metro_irq_callback)
/* video hardware */
- MCFG_FRAGMENT_ADD( i4300_config )
+ i4300_config(config);
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3398,7 +3402,7 @@ MACHINE_CONFIG_START(metro_state::dokyusp)
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */
- MCFG_FRAGMENT_ADD( i4300_config_384x224 )
+ i4300_config_384x224(config);
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3424,7 +3428,7 @@ MACHINE_CONFIG_START(metro_state::gakusai)
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */
- MCFG_FRAGMENT_ADD( i4300_config_320x240 )
+ i4300_config_320x240(config);
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3450,7 +3454,7 @@ MACHINE_CONFIG_START(metro_state::gakusai2)
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */
- MCFG_FRAGMENT_ADD( i4300_config_320x240 )
+ i4300_config_320x240(config);
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3471,10 +3475,10 @@ MACHINE_CONFIG_START(metro_state::pangpoms)
MCFG_CPU_VBLANK_INT_DRIVER("screen", metro_state, metro_vblank_interrupt)
MCFG_CPU_PERIODIC_INT_DRIVER(metro_state, metro_periodic_interrupt, 8*60) // ?
- MCFG_FRAGMENT_ADD(metro_upd7810_sound)
+ metro_upd7810_sound(config);
/* video hardware */
- MCFG_FRAGMENT_ADD( i4100_config_360x224 )
+ i4100_config_360x224(config);
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3497,10 +3501,10 @@ MACHINE_CONFIG_START(metro_state::poitto)
MCFG_CPU_VBLANK_INT_DRIVER("screen", metro_state, metro_vblank_interrupt)
MCFG_CPU_PERIODIC_INT_DRIVER(metro_state, metro_periodic_interrupt, 8*60) // ?
- MCFG_FRAGMENT_ADD(metro_upd7810_sound)
+ metro_upd7810_sound(config);
/* video hardware */
- MCFG_FRAGMENT_ADD( i4100_config_360x224 )
+ i4100_config_360x224(config);
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3523,10 +3527,10 @@ MACHINE_CONFIG_START(metro_state::pururun)
MCFG_CPU_VBLANK_INT_DRIVER("screen", metro_state, metro_vblank_interrupt)
MCFG_CPU_PERIODIC_INT_DRIVER(metro_state, metro_periodic_interrupt, 8*60) // ?
- MCFG_FRAGMENT_ADD(daitorid_upd7810_sound)
+ daitorid_upd7810_sound(config);
/* video hardware */
- MCFG_FRAGMENT_ADD( i4220_config )
+ i4220_config(config);
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3550,9 +3554,9 @@ MACHINE_CONFIG_START(metro_state::skyalert)
MCFG_CPU_VBLANK_INT_DRIVER("screen", metro_state, metro_vblank_interrupt)
MCFG_CPU_PERIODIC_INT_DRIVER(metro_state, metro_periodic_interrupt, 8*60) // ?
- MCFG_FRAGMENT_ADD(metro_upd7810_sound)
+ metro_upd7810_sound(config);
- MCFG_FRAGMENT_ADD(i4100_config_360x224)
+ i4100_config_360x224(config);
/* sound hardware */
@@ -3576,10 +3580,10 @@ MACHINE_CONFIG_START(metro_state::toride2g)
MCFG_CPU_VBLANK_INT_DRIVER("screen", metro_state, metro_vblank_interrupt)
MCFG_CPU_PERIODIC_INT_DRIVER(metro_state, metro_periodic_interrupt, 8*60) // ?
- MCFG_FRAGMENT_ADD(metro_upd7810_sound)
+ metro_upd7810_sound(config);
/* video hardware */
- MCFG_FRAGMENT_ADD( i4220_config )
+ i4220_config(config);
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3605,7 +3609,7 @@ MACHINE_CONFIG_START(metro_state::mouja)
MCFG_WATCHDOG_ADD("watchdog")
/* video hardware */
- MCFG_FRAGMENT_ADD( i4300_config )
+ i4300_config(config);
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3627,7 +3631,7 @@ MACHINE_CONFIG_START(metro_state::vmetal)
MCFG_CPU_PERIODIC_INT_DRIVER(metro_state, metro_periodic_interrupt, 8*60) // ?
/* video hardware */
- MCFG_FRAGMENT_ADD( i4220_config_304x224 )
+ i4220_config_304x224(config);
MCFG_DEVICE_MODIFY("vdp2")
MCFG_I4100_TILEMAP_XOFFSETS(-16,-16,-16)
@@ -3691,7 +3695,8 @@ MACHINE_CONFIG_START(metro_state::blzntrnd)
MCFG_SOUND_ROUTE(2, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(metro_state::gstrik2, blzntrnd)
+MACHINE_CONFIG_START(metro_state::gstrik2)
+ blzntrnd(config);
MCFG_GFXDECODE_MODIFY("gfxdecode", gstrik2)
MCFG_VIDEO_START_OVERRIDE(metro_state,gstrik2)
@@ -3720,7 +3725,7 @@ MACHINE_CONFIG_START(metro_state::puzzlet)
/* video hardware */
// TODO: looks like game is running in i4220 compatibilty mode, $778000 seems to be an id for the chip?
- MCFG_FRAGMENT_ADD( i4220_config )
+ i4220_config(config);
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/mexico86.cpp b/src/mame/drivers/mexico86.cpp
index 0afe0e2c2c9..cf6099ee5bb 100644
--- a/src/mame/drivers/mexico86.cpp
+++ b/src/mame/drivers/mexico86.cpp
@@ -469,7 +469,8 @@ MACHINE_CONFIG_START(mexico86_state::mexico86)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mexico86_state::knightb, mexico86)
+MACHINE_CONFIG_START(mexico86_state::knightb)
+ mexico86(config);
/* basic machine hardware */
@@ -481,7 +482,8 @@ MACHINE_CONFIG_DERIVED(mexico86_state::knightb, mexico86)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mexico86_state::kikikai, knightb)
+MACHINE_CONFIG_START(mexico86_state::kikikai)
+ knightb(config);
/* basic machine hardware */
diff --git a/src/mame/drivers/mhavoc.cpp b/src/mame/drivers/mhavoc.cpp
index 1a4ed380bb4..25cd53766e4 100644
--- a/src/mame/drivers/mhavoc.cpp
+++ b/src/mame/drivers/mhavoc.cpp
@@ -580,14 +580,16 @@ MACHINE_CONFIG_START(mhavoc_state::mhavoc)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mhavoc_state::mhavocrv, mhavoc)
+MACHINE_CONFIG_START(mhavoc_state::mhavocrv)
+ mhavoc(config);
MCFG_SOUND_ADD("tms", TMS5220, MHAVOC_CLOCK/2/9)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mhavoc_state::alphaone, mhavoc)
+MACHINE_CONFIG_START(mhavoc_state::alphaone)
+ mhavoc(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("alpha")
diff --git a/src/mame/drivers/mice.cpp b/src/mame/drivers/mice.cpp
index bfc9877e73e..d4cb1ba9ceb 100644
--- a/src/mame/drivers/mice.cpp
+++ b/src/mame/drivers/mice.cpp
@@ -184,7 +184,8 @@ MACHINE_CONFIG_START(mice_state::mice)
MCFG_DEVICE_ADD("ppi", I8255, 0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mice_state::mice2, mice)
+MACHINE_CONFIG_START(mice_state::mice2)
+ mice(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(mice2_mem)
MCFG_CPU_IO_MAP(mice2_io)
diff --git a/src/mame/drivers/micro3d.cpp b/src/mame/drivers/micro3d.cpp
index ab0bfc4ef17..97c5354b4b1 100644
--- a/src/mame/drivers/micro3d.cpp
+++ b/src/mame/drivers/micro3d.cpp
@@ -388,7 +388,8 @@ MACHINE_CONFIG_START(micro3d_state::micro3d)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(micro3d_state::botss11, micro3d)
+MACHINE_CONFIG_START(micro3d_state::botss11)
+ micro3d(config);
MCFG_DEVICE_MODIFY("adc")
MCFG_ADC0844_CH1_CB(NOOP)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/micropin.cpp b/src/mame/drivers/micropin.cpp
index c2a8601dcb2..c4891b73a1d 100644
--- a/src/mame/drivers/micropin.cpp
+++ b/src/mame/drivers/micropin.cpp
@@ -301,7 +301,7 @@ MACHINE_CONFIG_START(micropin_state::micropin)
MCFG_DEFAULT_LAYOUT(layout_micropin)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("beeper", BEEP, 387)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
@@ -336,7 +336,7 @@ MACHINE_CONFIG_START(micropin_state::pentacup2)
//MCFG_NVRAM_ADD_0FILL("nvram")
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MACHINE_CONFIG_END
/*-------------------------------------------------------------------
diff --git a/src/mame/drivers/midqslvr.cpp b/src/mame/drivers/midqslvr.cpp
index b3916af23f2..e2da2fda1e4 100644
--- a/src/mame/drivers/midqslvr.cpp
+++ b/src/mame/drivers/midqslvr.cpp
@@ -416,7 +416,7 @@ MACHINE_CONFIG_START(midqslvr_state::midqslvr)
MCFG_CPU_IO_MAP(midqslvr_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)
@@ -426,7 +426,7 @@ MACHINE_CONFIG_START(midqslvr_state::midqslvr)
MCFG_ATA_INTERFACE_IRQ_HANDLER(DEVWRITELINE("pic8259_2", pic8259_device, ir6_w))
/* video hardware */
- MCFG_FRAGMENT_ADD( pcvideo_vga )
+ pcvideo_vga(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/midtunit.cpp b/src/mame/drivers/midtunit.cpp
index c0eedccab22..b3b134419ed 100644
--- a/src/mame/drivers/midtunit.cpp
+++ b/src/mame/drivers/midtunit.cpp
@@ -621,7 +621,8 @@ MACHINE_CONFIG_START(midtunit_state::tunit_core)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(midtunit_state::tunit_adpcm, tunit_core)
+MACHINE_CONFIG_START(midtunit_state::tunit_adpcm)
+ tunit_core(config);
/* basic machine hardware */
MCFG_SPEAKER_STANDARD_MONO("speaker")
@@ -630,7 +631,8 @@ MACHINE_CONFIG_DERIVED(midtunit_state::tunit_adpcm, tunit_core)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(midtunit_state::tunit_dcs, tunit_core)
+MACHINE_CONFIG_START(midtunit_state::tunit_dcs)
+ tunit_core(config);
/* basic machine hardware */
MCFG_DEVICE_ADD("dcs", DCS_AUDIO_2K, 0)
diff --git a/src/mame/drivers/midvunit.cpp b/src/mame/drivers/midvunit.cpp
index 584446a20f8..831bd6de574 100644
--- a/src/mame/drivers/midvunit.cpp
+++ b/src/mame/drivers/midvunit.cpp
@@ -1156,27 +1156,31 @@ MACHINE_CONFIG_START(midvunit_state::midvcommon)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(midvunit_state::midvunit, midvcommon)
+MACHINE_CONFIG_START(midvunit_state::midvunit)
+ midvcommon(config);
/* sound hardware */
MCFG_DEVICE_ADD("dcs", DCS_AUDIO_2K, 0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(midvunit_state::crusnwld, midvunit)
+MACHINE_CONFIG_START(midvunit_state::crusnwld)
+ midvunit(config);
/* valid values are 450 or 460 */
MCFG_DEVICE_ADD("serial_pic", MIDWAY_SERIAL_PIC, 0)
MCFG_MIDWAY_SERIAL_PIC_UPPER(450)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(midvunit_state::offroadc, midvunit)
+MACHINE_CONFIG_START(midvunit_state::offroadc)
+ midvunit(config);
/* valid values are 230 or 234 */
MCFG_DEVICE_ADD("serial_pic2", MIDWAY_SERIAL_PIC2, 0)
MCFG_MIDWAY_SERIAL_PIC2_UPPER(230)
MCFG_MIDWAY_SERIAL_PIC2_YEAR_OFFS(94)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(midvunit_state::midvplus, midvcommon)
+MACHINE_CONFIG_START(midvunit_state::midvplus)
+ midvcommon(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/midwunit.cpp b/src/mame/drivers/midwunit.cpp
index 1036bac056f..aa8bf529f55 100644
--- a/src/mame/drivers/midwunit.cpp
+++ b/src/mame/drivers/midwunit.cpp
@@ -650,13 +650,15 @@ MACHINE_CONFIG_START(midwunit_state::wunit)
MCFG_DEVICE_ADD("dcs", DCS_AUDIO_8K, 0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(midwunit_state::wunit_picsim, wunit)
+MACHINE_CONFIG_START(midwunit_state::wunit_picsim)
+ wunit(config);
MCFG_DEVICE_ADD("serial_security_sim", MIDWAY_SERIAL_PIC, 0)
MCFG_MIDWAY_SERIAL_PIC_UPPER(528); // this is actually a generic code all games check for in addition to their own game specific code!
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(midwunit_state::wunit_picemu, wunit)
+MACHINE_CONFIG_START(midwunit_state::wunit_picemu)
+ wunit(config);
MCFG_DEVICE_ADD("serial_security", MIDWAY_SERIAL_PIC_EMU, 0)
// todo, REMOVE once the emulated PIC above works!
diff --git a/src/mame/drivers/midyunit.cpp b/src/mame/drivers/midyunit.cpp
index 9ec92001e9e..d56d706d519 100644
--- a/src/mame/drivers/midyunit.cpp
+++ b/src/mame/drivers/midyunit.cpp
@@ -1170,7 +1170,8 @@ MACHINE_CONFIG_START(midyunit_state::yunit_core)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(midyunit_state::yunit_cvsd_4bit_slow, yunit_core)
+MACHINE_CONFIG_START(midyunit_state::yunit_cvsd_4bit_slow)
+ yunit_core(config);
/* basic machine hardware */
MCFG_SOUND_ADD("cvsd", WILLIAMS_CVSD_SOUND, 0)
@@ -1183,7 +1184,8 @@ MACHINE_CONFIG_DERIVED(midyunit_state::yunit_cvsd_4bit_slow, yunit_core)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(midyunit_state::yunit_cvsd_4bit_fast, yunit_core)
+MACHINE_CONFIG_START(midyunit_state::yunit_cvsd_4bit_fast)
+ yunit_core(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1199,7 +1201,8 @@ MACHINE_CONFIG_DERIVED(midyunit_state::yunit_cvsd_4bit_fast, yunit_core)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(midyunit_state::yunit_cvsd_6bit_slow, yunit_core)
+MACHINE_CONFIG_START(midyunit_state::yunit_cvsd_6bit_slow)
+ yunit_core(config);
/* basic machine hardware */
MCFG_SOUND_ADD("cvsd", WILLIAMS_CVSD_SOUND, 0)
@@ -1212,7 +1215,8 @@ MACHINE_CONFIG_DERIVED(midyunit_state::yunit_cvsd_6bit_slow, yunit_core)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(midyunit_state::yunit_adpcm_6bit_fast, yunit_core)
+MACHINE_CONFIG_START(midyunit_state::yunit_adpcm_6bit_fast)
+ yunit_core(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1228,7 +1232,8 @@ MACHINE_CONFIG_DERIVED(midyunit_state::yunit_adpcm_6bit_fast, yunit_core)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(midyunit_state::yunit_adpcm_6bit_faster, yunit_core)
+MACHINE_CONFIG_START(midyunit_state::yunit_adpcm_6bit_faster)
+ yunit_core(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1244,7 +1249,8 @@ MACHINE_CONFIG_DERIVED(midyunit_state::yunit_adpcm_6bit_faster, yunit_core)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(midyunit_state::term2, yunit_adpcm_6bit_faster)
+MACHINE_CONFIG_START(midyunit_state::term2)
+ yunit_adpcm_6bit_faster(config);
MCFG_ADC0844_ADD("adc") // U2 on Coil Lamp Driver Board (A-14915)
MCFG_ADC0844_CH1_CB(IOPORT("STICK0_X"))
MCFG_ADC0844_CH2_CB(IOPORT("STICK0_Y"))
@@ -1253,7 +1259,8 @@ MACHINE_CONFIG_DERIVED(midyunit_state::term2, yunit_adpcm_6bit_faster)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(midyunit_state::mkyawdim, yunit_core)
+MACHINE_CONFIG_START(midyunit_state::mkyawdim)
+ yunit_core(config);
/* basic machine hardware */
diff --git a/src/mame/drivers/midzeus.cpp b/src/mame/drivers/midzeus.cpp
index 31b57ea7a76..ec51b480ca0 100644
--- a/src/mame/drivers/midzeus.cpp
+++ b/src/mame/drivers/midzeus.cpp
@@ -1288,13 +1288,15 @@ MACHINE_CONFIG_START(midzeus_state::midzeus)
MCFG_MIDWAY_SERIAL_PIC2_YEAR_OFFS(94)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(midzeus_state::mk4, midzeus)
+MACHINE_CONFIG_START(midzeus_state::mk4)
+ midzeus(config);
MCFG_DEVICE_MODIFY("ioasic")
MCFG_MIDWAY_IOASIC_UPPER(461/* or 474 */)
MCFG_MIDWAY_IOASIC_SHUFFLE_DEFAULT(1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(midzeus_state::invasn, midzeus)
+MACHINE_CONFIG_START(midzeus_state::invasn)
+ midzeus(config);
MCFG_CPU_ADD("pic", PIC16C57, 8000000) /* ? */
MCFG_DEVICE_MODIFY("ioasic")
@@ -1331,12 +1333,14 @@ MACHINE_CONFIG_START(midzeus2_state::midzeus2)
MCFG_MIDWAY_IOASIC_UPPER(474)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(midzeus2_state::crusnexo, midzeus2)
+MACHINE_CONFIG_START(midzeus2_state::crusnexo)
+ midzeus2(config);
MCFG_DEVICE_MODIFY("ioasic")
MCFG_MIDWAY_IOASIC_UPPER(472/* or 476,477,478,110 */)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(midzeus2_state::thegrid, midzeus2)
+MACHINE_CONFIG_START(midzeus2_state::thegrid)
+ midzeus2(config);
MCFG_DEVICE_MODIFY("ioasic")
MCFG_MIDWAY_IOASIC_UPPER(474/* or 491 */)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/mikro80.cpp b/src/mame/drivers/mikro80.cpp
index 06433364023..4e31463ed5b 100644
--- a/src/mame/drivers/mikro80.cpp
+++ b/src/mame/drivers/mikro80.cpp
@@ -195,7 +195,8 @@ MACHINE_CONFIG_START(mikro80_state::mikro80)
MCFG_SOFTWARE_LIST_ADD("cass_list", "mikro80")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mikro80_state::radio99, mikro80)
+MACHINE_CONFIG_START(mikro80_state::radio99)
+ mikro80(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -206,7 +207,8 @@ MACHINE_CONFIG_DERIVED(mikro80_state::radio99, mikro80)
MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mikro80_state::kristall, mikro80)
+MACHINE_CONFIG_START(mikro80_state::kristall)
+ mikro80(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(kristall_io)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/mikromik.cpp b/src/mame/drivers/mikromik.cpp
index 6221568aaed..99a059f2d1b 100644
--- a/src/mame/drivers/mikromik.cpp
+++ b/src/mame/drivers/mikromik.cpp
@@ -525,9 +525,10 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( mm1m6 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(mm1_state::mm1m6, mm1)
+MACHINE_CONFIG_START(mm1_state::mm1m6)
+ mm1(config);
// video hardware
- MCFG_FRAGMENT_ADD(mm1m6_video)
+ mm1m6_video(config);
MACHINE_CONFIG_END
@@ -535,9 +536,10 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( mm1m7 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(mm1_state::mm1m7, mm1)
+MACHINE_CONFIG_START(mm1_state::mm1m7)
+ mm1(config);
// video hardware
- MCFG_FRAGMENT_ADD(mm1m6_video)
+ mm1m6_video(config);
// TODO hard disk
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/mil4000.cpp b/src/mame/drivers/mil4000.cpp
index 3070df23a31..c2c8fe97767 100644
--- a/src/mame/drivers/mil4000.cpp
+++ b/src/mame/drivers/mil4000.cpp
@@ -568,7 +568,8 @@ MACHINE_CONFIG_START(mil4000_state::mil4000)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mil4000_state::chewheel, mil4000)
+MACHINE_CONFIG_START(mil4000_state::chewheel)
+ mil4000(config);
MCFG_CPU_REPLACE("maincpu", M68000, CPU_CLOCK) /* 2MHz */
MCFG_CPU_PROGRAM_MAP(chewheel_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", mil4000_state, irq5_line_hold)
diff --git a/src/mame/drivers/missb2.cpp b/src/mame/drivers/missb2.cpp
index e9bb7051f5d..e48415eb0f1 100644
--- a/src/mame/drivers/missb2.cpp
+++ b/src/mame/drivers/missb2.cpp
@@ -517,7 +517,8 @@ MACHINE_CONFIG_START(missb2_state::missb2)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.4)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(missb2_state::bublpong, missb2)
+MACHINE_CONFIG_START(missb2_state::bublpong)
+ missb2(config);
MCFG_GFXDECODE_MODIFY("gfxdecode", bublpong)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/missile.cpp b/src/mame/drivers/missile.cpp
index e01640201ee..bf3b3bb23d6 100644
--- a/src/mame/drivers/missile.cpp
+++ b/src/mame/drivers/missile.cpp
@@ -1166,12 +1166,14 @@ MACHINE_CONFIG_START(missile_state::missile)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(missile_state::missilea, missile)
+MACHINE_CONFIG_START(missile_state::missilea)
+ missile(config);
MCFG_DEVICE_REMOVE("pokey")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(missile_state::missileb, missilea)
+MACHINE_CONFIG_START(missile_state::missileb)
+ missilea(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(bootleg_main_map)
diff --git a/src/mame/drivers/mitchell.cpp b/src/mame/drivers/mitchell.cpp
index e19db9f99ad..18c14d502fa 100644
--- a/src/mame/drivers/mitchell.cpp
+++ b/src/mame/drivers/mitchell.cpp
@@ -1231,7 +1231,8 @@ MACHINE_CONFIG_START(mitchell_state::pang)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mitchell_state::pangnv, pang)
+MACHINE_CONFIG_START(mitchell_state::pangnv)
+ pang(config);
MCFG_NVRAM_ADD_0FILL("nvram")
MACHINE_CONFIG_END
@@ -1266,7 +1267,8 @@ WRITE_LINE_MEMBER(mitchell_state::spangbl_adpcm_int)
}
-MACHINE_CONFIG_DERIVED(mitchell_state::spangbl, pangnv)
+MACHINE_CONFIG_START(mitchell_state::spangbl)
+ pangnv(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(spangbl_map)
@@ -1294,7 +1296,8 @@ MACHINE_CONFIG_DERIVED(mitchell_state::spangbl, pangnv)
MCFG_74157_OUT_CB(DEVWRITE8("msm", msm5205_device, data_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mitchell_state::pangba, spangbl)
+MACHINE_CONFIG_START(mitchell_state::pangba)
+ spangbl(config);
MCFG_CPU_MODIFY("audiocpu")
MCFG_CPU_PROGRAM_MAP(pangba_sound_map)
diff --git a/src/mame/drivers/mmodular.cpp b/src/mame/drivers/mmodular.cpp
index df952d60bff..697a2e8d654 100644
--- a/src/mame/drivers/mmodular.cpp
+++ b/src/mame/drivers/mmodular.cpp
@@ -255,7 +255,8 @@ MACHINE_CONFIG_START(mmodular_state::alm16)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mmodular_state::van16, alm16)
+MACHINE_CONFIG_START(mmodular_state::van16)
+ alm16(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(van16_mem)
MACHINE_CONFIG_END
@@ -274,7 +275,8 @@ MACHINE_CONFIG_START(mmodular_state::alm32)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mmodular_state::van32, alm32)
+MACHINE_CONFIG_START(mmodular_state::van32)
+ alm32(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(van32_mem)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/model1.cpp b/src/mame/drivers/model1.cpp
index 08cababe5bd..840027e4cdd 100644
--- a/src/mame/drivers/model1.cpp
+++ b/src/mame/drivers/model1.cpp
@@ -1653,7 +1653,8 @@ MACHINE_CONFIG_START(model1_state::model1)
MCFG_M1COMM_ADD("m1comm")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(model1_state::swa, model1)
+MACHINE_CONFIG_START(model1_state::swa)
+ model1(config);
MCFG_SPEAKER_STANDARD_STEREO("dleft", "dright")
MCFG_DSBZ80_ADD(DSBZ80_TAG)
MCFG_SOUND_ROUTE(0, "dleft", 1.0)
@@ -1671,7 +1672,8 @@ ADDRESS_MAP_START(model1_state::polhemus_map)
AM_RANGE(0xf8000, 0xfffff) AM_ROM AM_REGION("polhemus", 0)
ADDRESS_MAP_END
-MACHINE_CONFIG_DERIVED(model1_state::netmerc, model1)
+MACHINE_CONFIG_START(model1_state::netmerc)
+ model1(config);
MCFG_CPU_ADD("polhemus", I386SX, 16000000)
MCFG_CPU_PROGRAM_MAP(polhemus_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/model2.cpp b/src/mame/drivers/model2.cpp
index 55108ac0e08..01230f542cb 100644
--- a/src/mame/drivers/model2.cpp
+++ b/src/mame/drivers/model2.cpp
@@ -2196,8 +2196,8 @@ MACHINE_CONFIG_START(model2_state::model2o)
MCFG_NVRAM_ADD_1FILL("backup1")
MCFG_NVRAM_ADD_1FILL("backup2")
- MCFG_FRAGMENT_ADD( model2_timers )
- MCFG_FRAGMENT_ADD( model2_screen )
+ model2_timers(config);
+ model2_screen(config);
MCFG_SEGAM1AUDIO_ADD(M1AUDIO_TAG)
MCFG_SEGAM1AUDIO_RXD_HANDLER(DEVWRITELINE("uart", i8251_device, write_rxd))
@@ -2257,8 +2257,9 @@ MACHINE_CONFIG_START(model2_state::sj25_0207_01)
MCFG_DEVICE_ADD("driveadc", MSM6253, 0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(model2_state::daytona, model2o)
- MCFG_FRAGMENT_ADD(sj25_0207_01)
+MACHINE_CONFIG_START(model2_state::daytona)
+ model2o(config);
+ sj25_0207_01(config);
MACHINE_CONFIG_END
/* 2A-CRX */
@@ -2283,8 +2284,8 @@ MACHINE_CONFIG_START(model2_state::model2a)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_NVRAM_ADD_1FILL("backup1")
- MCFG_FRAGMENT_ADD( model2_timers )
- MCFG_FRAGMENT_ADD( model2_screen )
+ model2_timers(config);
+ model2_screen(config);
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2302,11 +2303,13 @@ MACHINE_CONFIG_START(model2_state::model2a)
MCFG_M2COMM_ADD("m2comm")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(model2_state::manxtt, model2a)
+MACHINE_CONFIG_START(model2_state::manxtt)
+ model2a(config);
MCFG_MACHINE_START_OVERRIDE(model2_state,srallyc)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(model2_state::manxttdx, manxtt) /* Includes a Model 1 Sound board for additional sounds - Deluxe version only */
+MACHINE_CONFIG_START(model2_state::manxttdx) /* Includes a Model 1 Sound board for additional sounds - Deluxe version only */
+ manxtt(config);
MCFG_SEGAM1AUDIO_ADD(M1AUDIO_TAG)
MCFG_SEGAM1AUDIO_RXD_HANDLER(DEVWRITELINE("uart", i8251_device, write_rxd))
@@ -2320,19 +2323,22 @@ uint16_t model2_state::crypt_read_callback(uint32_t addr)
return ((dat&0xff00)>>8)|((dat&0x00ff)<<8);
}
-MACHINE_CONFIG_DERIVED(model2_state::model2a_5881, model2a)
+MACHINE_CONFIG_START(model2_state::model2a_5881)
+ model2a(config);
MCFG_DEVICE_ADD("315_5881", SEGA315_5881_CRYPT, 0)
MCFG_SET_READ_CALLBACK(model2_state, crypt_read_callback)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(model2_state::model2a_0229, model2a)
+MACHINE_CONFIG_START(model2_state::model2a_0229)
+ model2a(config);
MCFG_DEVICE_ADD("317_0229", SEGA315_5838_COMP, 0)
// MCFG_SET_5838_READ_CALLBACK(model2_state, crypt_read_callback)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(model2_state::srallyc, model2a)
+MACHINE_CONFIG_START(model2_state::srallyc)
+ model2a(config);
MCFG_MACHINE_START_OVERRIDE(model2_state,srallyc)
- MCFG_FRAGMENT_ADD(sj25_0207_01)
+ sj25_0207_01(config);
MACHINE_CONFIG_END
/* 2B-CRX */
@@ -2360,8 +2366,8 @@ MACHINE_CONFIG_START(model2_state::model2b)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_NVRAM_ADD_1FILL("backup1")
- MCFG_FRAGMENT_ADD( model2_timers )
- MCFG_FRAGMENT_ADD( model2_screen )
+ model2_timers(config);
+ model2_screen(config);
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2380,17 +2386,20 @@ MACHINE_CONFIG_START(model2_state::model2b)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(model2_state::model2b_5881, model2b)
+MACHINE_CONFIG_START(model2_state::model2b_5881)
+ model2b(config);
MCFG_DEVICE_ADD("315_5881", SEGA315_5881_CRYPT, 0)
MCFG_SET_READ_CALLBACK(model2_state, crypt_read_callback)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(model2_state::model2b_0229, model2b)
+MACHINE_CONFIG_START(model2_state::model2b_0229)
+ model2b(config);
MCFG_DEVICE_ADD("317_0229", SEGA315_5838_COMP, 0)
// MCFG_SET_5838_READ_CALLBACK(model2_state, crypt_read_callback)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(model2_state::indy500, model2b)
+MACHINE_CONFIG_START(model2_state::indy500)
+ model2b(config);
MCFG_MACHINE_START_OVERRIDE(model2_state,srallyc)
MACHINE_CONFIG_END
@@ -2405,7 +2414,8 @@ ADDRESS_MAP_START(model2_state::rchase2_ioport_map)
AM_RANGE(0x00, 0x07) AM_DEVREADWRITE("ioexp", cxd1095_device, read, write)
ADDRESS_MAP_END
-MACHINE_CONFIG_DERIVED(model2_state::rchase2, model2b)
+MACHINE_CONFIG_START(model2_state::rchase2)
+ model2b(config);
MCFG_CPU_ADD("iocpu", Z80, 4000000)
MCFG_CPU_PROGRAM_MAP(rchase2_iocpu_map)
MCFG_CPU_IO_MAP(rchase2_ioport_map)
@@ -2436,8 +2446,8 @@ MACHINE_CONFIG_START(model2_state::model2c)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_NVRAM_ADD_1FILL("backup1")
- MCFG_FRAGMENT_ADD( model2_timers )
- MCFG_FRAGMENT_ADD( model2_screen )
+ model2_timers(config);
+ model2_screen(config);
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2455,7 +2465,8 @@ MACHINE_CONFIG_START(model2_state::model2c)
MCFG_M2COMM_ADD("m2comm")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(model2_state::stcc, model2c)
+MACHINE_CONFIG_START(model2_state::stcc)
+ model2c(config);
MCFG_DSBZ80_ADD(DSBZ80_TAG)
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
@@ -2464,12 +2475,14 @@ MACHINE_CONFIG_DERIVED(model2_state::stcc, model2c)
MCFG_I8251_TXD_HANDLER(DEVWRITELINE(DSBZ80_TAG, dsbz80_device, write_txd))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(model2_state::model2c_5881, model2c)
+MACHINE_CONFIG_START(model2_state::model2c_5881)
+ model2c(config);
MCFG_DEVICE_ADD("315_5881", SEGA315_5881_CRYPT, 0)
MCFG_SET_READ_CALLBACK(model2_state, crypt_read_callback)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(model2_state::overrev2c, model2c)
+MACHINE_CONFIG_START(model2_state::overrev2c)
+ model2c(config);
MCFG_MACHINE_START_OVERRIDE(model2_state,srallyc)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/model3.cpp b/src/mame/drivers/model3.cpp
index b673ab33af9..3bbf30c722e 100644
--- a/src/mame/drivers/model3.cpp
+++ b/src/mame/drivers/model3.cpp
@@ -5896,7 +5896,8 @@ MACHINE_CONFIG_START(model3_state::model3_15)
MCFG_M3COMM_ADD("comm_board")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(model3_state::scud, model3_15)
+MACHINE_CONFIG_START(model3_state::scud)
+ model3_15(config);
MCFG_DSBZ80_ADD(DSBZ80_TAG)
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
@@ -5949,7 +5950,8 @@ MACHINE_CONFIG_START(model3_state::model3_20)
MCFG_M3COMM_ADD("comm_board")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(model3_state::model3_20_5881, model3_20)
+MACHINE_CONFIG_START(model3_state::model3_20_5881)
+ model3_20(config);
MCFG_DEVICE_ADD("315_5881", SEGA315_5881_CRYPT, 0)
MCFG_SET_READ_CALLBACK(model3_state, crypt_read_callback)
MACHINE_CONFIG_END
@@ -6009,7 +6011,8 @@ uint16_t model3_state::crypt_read_callback(uint32_t addr)
return dat;
}
-MACHINE_CONFIG_DERIVED(model3_state::model3_21_5881, model3_21)
+MACHINE_CONFIG_START(model3_state::model3_21_5881)
+ model3_21(config);
MCFG_DEVICE_ADD("315_5881", SEGA315_5881_CRYPT, 0)
MCFG_SET_READ_CALLBACK(model3_state, crypt_read_callback)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/monty.cpp b/src/mame/drivers/monty.cpp
index 079838f5fc1..d96d45807d9 100644
--- a/src/mame/drivers/monty.cpp
+++ b/src/mame/drivers/monty.cpp
@@ -281,7 +281,8 @@ MACHINE_CONFIG_START(monty_state::monty)
MCFG_SED1520_ADD("sed1520_0", monty_screen_update)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(monty_state::mmonty, monty)
+MACHINE_CONFIG_START(monty_state::mmonty)
+ monty(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(mmonty_mem)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/moo.cpp b/src/mame/drivers/moo.cpp
index a1eefccea5b..198c89de596 100644
--- a/src/mame/drivers/moo.cpp
+++ b/src/mame/drivers/moo.cpp
@@ -602,7 +602,8 @@ MACHINE_CONFIG_START(moo_state::moobl)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(moo_state::bucky, moo)
+MACHINE_CONFIG_START(moo_state::bucky)
+ moo(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(bucky_map)
diff --git a/src/mame/drivers/mosaic.cpp b/src/mame/drivers/mosaic.cpp
index 837d8d5f84c..478b070609f 100644
--- a/src/mame/drivers/mosaic.cpp
+++ b/src/mame/drivers/mosaic.cpp
@@ -303,7 +303,8 @@ MACHINE_CONFIG_START(mosaic_state::mosaic)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mosaic_state::gfire2, mosaic)
+MACHINE_CONFIG_START(mosaic_state::gfire2)
+ mosaic(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(gfire2_map)
MCFG_CPU_IO_MAP(gfire2_io_map)
diff --git a/src/mame/drivers/mpu4dealem.cpp b/src/mame/drivers/mpu4dealem.cpp
index 627e417ba33..6efef6ed4d5 100644
--- a/src/mame/drivers/mpu4dealem.cpp
+++ b/src/mame/drivers/mpu4dealem.cpp
@@ -203,7 +203,7 @@ MACHINE_CONFIG_START(mpu4dealem_state::dealem)
MCFG_CPU_ADD("maincpu", M6809, MPU4_MASTER_CLOCK/4)
MCFG_CPU_PROGRAM_MAP(dealem_memmap)
- MCFG_FRAGMENT_ADD(mpu4_common)
+ mpu4_common(config);
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("ay8913",AY8913, MPU4_MASTER_CLOCK/4)
diff --git a/src/mame/drivers/mpu4plasma.cpp b/src/mame/drivers/mpu4plasma.cpp
index 7e0032032ba..7f447b27e44 100644
--- a/src/mame/drivers/mpu4plasma.cpp
+++ b/src/mame/drivers/mpu4plasma.cpp
@@ -85,7 +85,8 @@ uint32_t mpu4plasma_state::screen_update_mpu4plasma(screen_device &screen, bitma
}
-MACHINE_CONFIG_DERIVED(mpu4plasma_state::mpu4plasma, mod2)
+MACHINE_CONFIG_START(mpu4plasma_state::mpu4plasma)
+ mod2(config);
MCFG_CPU_ADD("plasmacpu", M68000, 10000000)
MCFG_CPU_PROGRAM_MAP(mpu4plasma_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", mpu4plasma_state, irq4_line_hold)
diff --git a/src/mame/drivers/mpu4vid.cpp b/src/mame/drivers/mpu4vid.cpp
index c6219100094..f4ce29d55f5 100644
--- a/src/mame/drivers/mpu4vid.cpp
+++ b/src/mame/drivers/mpu4vid.cpp
@@ -1274,7 +1274,7 @@ MACHINE_CONFIG_START(mpu4vid_state::mpu4_vid)
MCFG_NVRAM_ADD_0FILL("nvram") /* confirm */
- MCFG_FRAGMENT_ADD(mpu4_common)
+ mpu4_common(config);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1331,34 +1331,38 @@ MACHINE_CONFIG_START(mpu4vid_state::mpu4_vid)
MCFG_ACIA6850_IRQ_HANDLER(WRITELINE(mpu4vid_state, m68k_acia_irq))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mpu4vid_state::crmaze, mpu4_vid)
+MACHINE_CONFIG_START(mpu4vid_state::crmaze)
+ mpu4_vid(config);
MCFG_DEVICE_MODIFY("pia_ic5")
MCFG_PIA_READPA_HANDLER(READ8(mpu4vid_state, pia_ic5_porta_track_r))
MCFG_PIA_WRITEPA_HANDLER(NOOP)
MCFG_PIA_WRITEPB_HANDLER(NOOP)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mpu4vid_state::mating, crmaze)
+MACHINE_CONFIG_START(mpu4vid_state::mating)
+ crmaze(config);
MCFG_CPU_MODIFY("video")
MCFG_CPU_PROGRAM_MAP(mpu4oki_68k_map)
- MCFG_FRAGMENT_ADD(mpu4_common2)
+ mpu4_common2(config);
MCFG_SOUND_ADD("msm6376", OKIM6376, 128000) //?
MCFG_SOUND_ROUTE(0, "lspeaker", 0.5)
MCFG_SOUND_ROUTE(1, "rspeaker", 0.5)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mpu4vid_state::bwbvid, mpu4_vid)
+MACHINE_CONFIG_START(mpu4vid_state::bwbvid)
+ mpu4_vid(config);
MCFG_CPU_MODIFY("video")
MCFG_CPU_PROGRAM_MAP(bwbvid_68k_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mpu4vid_state::bwbvid5, bwbvid)
+MACHINE_CONFIG_START(mpu4vid_state::bwbvid5)
+ bwbvid(config);
MCFG_CPU_MODIFY("video")
MCFG_CPU_PROGRAM_MAP(bwbvid5_68k_map)
- MCFG_FRAGMENT_ADD(mpu4_common2)
+ mpu4_common2(config);
MCFG_SOUND_ADD("msm6376", OKIM6376, 128000) //?
MCFG_SOUND_ROUTE(0, "lspeaker", 0.5)
diff --git a/src/mame/drivers/mquake.cpp b/src/mame/drivers/mquake.cpp
index 59635c340b9..6fa024175fc 100644
--- a/src/mame/drivers/mquake.cpp
+++ b/src/mame/drivers/mquake.cpp
@@ -323,7 +323,7 @@ MACHINE_CONFIG_START(mquake_state::mquake)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
- MCFG_FRAGMENT_ADD(ntsc_video)
+ ntsc_video(config);
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_INIT_OWNER(mquake_state,amiga)
diff --git a/src/mame/drivers/mrdo.cpp b/src/mame/drivers/mrdo.cpp
index 76c7cf2c02d..b0e6126eb4f 100644
--- a/src/mame/drivers/mrdo.cpp
+++ b/src/mame/drivers/mrdo.cpp
@@ -198,7 +198,8 @@ MACHINE_CONFIG_START(mrdo_state::mrdo)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mrdo_state::mrlo, mrdo)
+MACHINE_CONFIG_START(mrdo_state::mrlo)
+ mrdo(config);
//MCFG_DEVICE_REMOVE("pal16r6")
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/ms32.cpp b/src/mame/drivers/ms32.cpp
index 0d6d7836db9..ce434bddd71 100644
--- a/src/mame/drivers/ms32.cpp
+++ b/src/mame/drivers/ms32.cpp
@@ -1436,7 +1436,8 @@ MACHINE_CONFIG_START(ms32_state::ms32)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ms32_state::f1superb, ms32)
+MACHINE_CONFIG_START(ms32_state::f1superb)
+ ms32(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(f1superb_map)
diff --git a/src/mame/drivers/msx.cpp b/src/mame/drivers/msx.cpp
index 61f47d3ade3..dc9132b1ef2 100644
--- a/src/mame/drivers/msx.cpp
+++ b/src/mame/drivers/msx.cpp
@@ -1391,7 +1391,8 @@ MACHINE_CONFIG_START(msx_state::msx)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(msx_state::msx_ntsc, msx)
+MACHINE_CONFIG_START(msx_state::msx_ntsc)
+ msx(config);
/* Video hardware */
MCFG_DEVICE_ADD( "tms9928a", TMS9928A, XTAL(10'738'635) / 2 )
MCFG_TMS9928A_VRAM_SIZE(0x4000)
@@ -1401,7 +1402,8 @@ MACHINE_CONFIG_DERIVED(msx_state::msx_ntsc, msx)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(msx_state::msx_tms9118, msx)
+MACHINE_CONFIG_START(msx_state::msx_tms9118)
+ msx(config);
/* Video hardware */
MCFG_DEVICE_ADD( "tms9928a", TMS9118, XTAL(10'738'635) / 2 )
MCFG_TMS9928A_VRAM_SIZE(0x4000)
@@ -1411,7 +1413,8 @@ MACHINE_CONFIG_DERIVED(msx_state::msx_tms9118, msx)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(msx_state::msx_tms9128, msx)
+MACHINE_CONFIG_START(msx_state::msx_tms9128)
+ msx(config);
/* Video hardware */
MCFG_DEVICE_ADD( "tms9928a", TMS9128, XTAL(10'738'635) / 2 )
MCFG_TMS9928A_VRAM_SIZE(0x4000)
@@ -1421,7 +1424,8 @@ MACHINE_CONFIG_DERIVED(msx_state::msx_tms9128, msx)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(msx_state::msx_tms9918, msx)
+MACHINE_CONFIG_START(msx_state::msx_tms9918)
+ msx(config);
/* Video hardware */
MCFG_DEVICE_ADD( "tms9928a", TMS9918, XTAL(10'738'635) / 2 )
MCFG_TMS9928A_VRAM_SIZE(0x4000)
@@ -1431,7 +1435,8 @@ MACHINE_CONFIG_DERIVED(msx_state::msx_tms9918, msx)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(msx_state::msx_tms9918a, msx)
+MACHINE_CONFIG_START(msx_state::msx_tms9918a)
+ msx(config);
/* Video hardware */
MCFG_DEVICE_ADD( "tms9928a", TMS9918A, XTAL(10'738'635) / 2 )
MCFG_TMS9928A_VRAM_SIZE(0x4000)
@@ -1441,7 +1446,8 @@ MACHINE_CONFIG_DERIVED(msx_state::msx_tms9918a, msx)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(msx_state::msx_tms9928, msx)
+MACHINE_CONFIG_START(msx_state::msx_tms9928)
+ msx(config);
/* Video hardware */
MCFG_DEVICE_ADD( "tms9928a", TMS9928A, XTAL(10'738'635) / 2 )
MCFG_TMS9928A_VRAM_SIZE(0x4000)
@@ -1451,7 +1457,8 @@ MACHINE_CONFIG_DERIVED(msx_state::msx_tms9928, msx)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(msx_state::msx_pal, msx)
+MACHINE_CONFIG_START(msx_state::msx_pal)
+ msx(config);
/* Video hardware */
MCFG_DEVICE_ADD( "tms9928a", TMS9929A, XTAL(10'738'635) / 2 )
MCFG_TMS9928A_VRAM_SIZE(0x4000)
@@ -1461,7 +1468,8 @@ MACHINE_CONFIG_DERIVED(msx_state::msx_pal, msx)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(msx_state::msx_tms9129, msx)
+MACHINE_CONFIG_START(msx_state::msx_tms9129)
+ msx(config);
/* Video hardware */
MCFG_DEVICE_ADD( "tms9928a", TMS9129, XTAL(10'738'635) / 2 )
MCFG_TMS9928A_VRAM_SIZE(0x4000)
@@ -1471,7 +1479,8 @@ MACHINE_CONFIG_DERIVED(msx_state::msx_tms9129, msx)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(msx_state::msx_tms9929, msx)
+MACHINE_CONFIG_START(msx_state::msx_tms9929)
+ msx(config);
/* Video hardware */
MCFG_DEVICE_ADD( "tms9928a", TMS9929A, XTAL(10'738'635) / 2 )
MCFG_TMS9928A_VRAM_SIZE(0x4000)
@@ -1597,7 +1606,8 @@ MACHINE_CONFIG_START(msx_state::msx2p)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(msx_state::msx2_pal, msx2)
+MACHINE_CONFIG_START(msx_state::msx2_pal)
+ msx2(config);
MCFG_DEVICE_REMOVE("screen")
MCFG_V99X8_SCREEN_ADD_PAL("screen", "v9938", XTAL(21'477'272))
MACHINE_CONFIG_END
@@ -1619,7 +1629,8 @@ ROM_START(ax150)
ROM_LOAD ("ax150arab.rom", 0x8000, 0x8000, CRC(339cd1aa) SHA1(0287b2ec897b9196788cd9f10c99e1487d7adbbb))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::ax150, msx_pal)
+MACHINE_CONFIG_START(msx_state::ax150)
+ msx_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -1630,7 +1641,7 @@ MACHINE_CONFIG_DERIVED(msx_state::ax150, msx_pal)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
MCFG_MSX_LAYOUT_RAM("ram", 3, 2, 2, 2) /* 32KB RAM */
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Al Alamiah AX-170 */
@@ -1642,7 +1653,8 @@ ROM_START (ax170)
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::ax170, msx_pal)
+MACHINE_CONFIG_START(msx_state::ax170)
+ msx_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -1654,7 +1666,7 @@ MACHINE_CONFIG_DERIVED(msx_state::ax170, msx_pal)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
MCFG_MSX_LAYOUT_RAM("ram", 3, 2, 0, 4) /* 64KB RAM */
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Canon V-8 */
@@ -1664,7 +1676,8 @@ ROM_START (canonv8)
ROM_LOAD ("v8bios.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::canonv8, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::canonv8)
+ msx_ntsc(config);
// AY8910/YM2149??
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -1675,7 +1688,7 @@ MACHINE_CONFIG_DERIVED(msx_state::canonv8, msx_ntsc)
MCFG_MSX_SLOT_RAM_8KB
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot12", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Canon V-10 */
@@ -1685,7 +1698,8 @@ ROM_START (canonv10)
ROM_LOAD ("v10bios.rom", 0x0000, 0x8000, CRC(e9ccd789) SHA1(8963fc041975f31dc2ab1019cfdd4967999de53e))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::canonv10, msx_pal)
+MACHINE_CONFIG_START(msx_state::canonv10)
+ msx_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -1695,7 +1709,7 @@ MACHINE_CONFIG_DERIVED(msx_state::canonv10, msx_pal)
MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 3, 1) /* 16KB RAM */
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot12", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Canon V-20 */
@@ -1705,7 +1719,8 @@ ROM_START (canonv20)
ROM_LOAD ("v20bios.rom", 0x0000, 0x8000, CRC(e9ccd789) SHA1(8963fc041975f31dc2ab1019cfdd4967999de53e))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::canonv20, msx_tms9929)
+MACHINE_CONFIG_START(msx_state::canonv20)
+ msx_tms9929(config);
// YM2149
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -1715,7 +1730,7 @@ MACHINE_CONFIG_DERIVED(msx_state::canonv20, msx_tms9929)
MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB RAM */
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Canon V-20E */
@@ -1753,7 +1768,8 @@ ROM_START (mx10)
ROM_LOAD( "mx10bios.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::mx10, msx_tms9118)
+MACHINE_CONFIG_START(msx_state::mx10)
+ msx_tms9118(config);
// FDC: None, 0 drives
// 2? Cartridge slots
// Z80: uPD780C-1
@@ -1763,7 +1779,7 @@ MACHINE_CONFIG_DERIVED(msx_state::mx10, msx_tms9118)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Casio MX-15 */
@@ -1773,7 +1789,8 @@ ROM_START (mx15)
ROM_LOAD( "mx15bios.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::mx15, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::mx15)
+ msx_ntsc(config);
// FDC: None, 0 drives
// 3 Cartridge slots
// T6950
@@ -1784,7 +1801,7 @@ MACHINE_CONFIG_DERIVED(msx_state::mx15, msx_ntsc)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot3", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Casio MX-101 */
@@ -1794,7 +1811,8 @@ ROM_START (mx101)
ROM_LOAD( "mx101bios.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::mx101, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::mx101)
+ msx_ntsc(config);
// FDC: None, 0 drives
// 2? Cartridge slots
@@ -1803,7 +1821,7 @@ MACHINE_CONFIG_DERIVED(msx_state::mx101, msx_ntsc)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Casio PV-7 */
@@ -1813,7 +1831,8 @@ ROM_START (pv7)
ROM_LOAD("pv7bios.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::pv7, msx_tms9118)
+MACHINE_CONFIG_START(msx_state::pv7)
+ msx_tms9118(config);
// AY8910?
// FDC: None, 0 drives
// 1 Cartridge slot + expansion slot, or 2 cartridge slots?
@@ -1828,7 +1847,7 @@ MACHINE_CONFIG_DERIVED(msx_state::pv7, msx_tms9118)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Casio PV-16 */
@@ -1838,7 +1857,8 @@ ROM_START (pv16)
ROM_LOAD("pv16.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::pv16, msx_tms9118)
+MACHINE_CONFIG_START(msx_state::pv16)
+ msx_tms9118(config);
// AY8910
// FDC: None, 0 drives
// 1 Cartridge slot
@@ -1848,7 +1868,7 @@ MACHINE_CONFIG_DERIVED(msx_state::pv16, msx_tms9118)
MCFG_MSX_LAYOUT_RAM("ram", 0, 0, 3, 1) /* 16KB RAM */
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Daewoo CPC-88 */
@@ -1860,7 +1880,8 @@ ROM_START (cpc88)
ROM_RELOAD (0xa000, 0x2000)
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::cpc88, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::cpc88)
+ msx_ntsc(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2? Cartridge slots
@@ -1871,7 +1892,7 @@ MACHINE_CONFIG_DERIVED(msx_state::cpc88, msx_ntsc)
MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB RAM */
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Daewoo DPC-100 */
@@ -1882,7 +1903,8 @@ ROM_START (dpc100)
ROM_LOAD ("100han.rom", 0x8000, 0x4000, CRC(97478efb) SHA1(4421fa2504cbce18f7c84b5ea97f04e017007f07))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::dpc100, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::dpc100)
+ msx_ntsc(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -1893,7 +1915,7 @@ MACHINE_CONFIG_DERIVED(msx_state::dpc100, msx_ntsc)
MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 3, 1) /* 16KB RAM */
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Daewoo DPC-180 */
@@ -1904,7 +1926,8 @@ ROM_START (dpc180)
ROM_LOAD ("180han.rom", 0x8000, 0x4000, CRC(97478efb) SHA1(4421fa2504cbce18f7c84b5ea97f04e017007f07))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::dpc180, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::dpc180)
+ msx_ntsc(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -1915,7 +1938,7 @@ MACHINE_CONFIG_DERIVED(msx_state::dpc180, msx_ntsc)
MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 2, 2) /* 32KB RAM */
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Daewoo DPC-200 */
@@ -1926,7 +1949,8 @@ ROM_START (dpc200)
ROM_LOAD ("200han.rom", 0x8000, 0x4000, CRC(97478efb) SHA1(4421fa2504cbce18f7c84b5ea97f04e017007f07))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::dpc200, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::dpc200)
+ msx_ntsc(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -1937,7 +1961,7 @@ MACHINE_CONFIG_DERIVED(msx_state::dpc200, msx_ntsc)
MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB RAM */
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Daewoo DPC-200E */
@@ -1947,7 +1971,8 @@ ROM_START (dpc200e)
ROM_LOAD ("dpc200ebios.rom", 0x0000, 0x8000, CRC(8205795e) SHA1(829c00c3114f25b3dae5157c0a238b52a3ac37db))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::dpc200e, msx_pal)
+MACHINE_CONFIG_START(msx_state::dpc200e)
+ msx_pal(config);
// AY8910
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -1957,7 +1982,7 @@ MACHINE_CONFIG_DERIVED(msx_state::dpc200e, msx_pal)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 2, 0)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Daewoo Zemmix CPC-50A */
@@ -1967,7 +1992,8 @@ ROM_START (cpc50a)
ROM_LOAD ("50abios.rom", 0x0000, 0x8000, CRC(c3a868ef) SHA1(a08a940aa87313509e00bc5ac7494d53d8e03492))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::cpc50a, msx_tms9918)
+MACHINE_CONFIG_START(msx_state::cpc50a)
+ msx_tms9918(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 1? Cartridge slot
@@ -1980,7 +2006,7 @@ MACHINE_CONFIG_DERIVED(msx_state::cpc50a, msx_tms9918)
MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 3, 1) /* 8KB RAM */
MCFG_MSX_SLOT_RAM_8KB
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Daewoo Zemmix CPC-50B */
@@ -1990,7 +2016,8 @@ ROM_START (cpc50b)
ROM_LOAD ("50bbios.rom", 0x0000, 0x8000, CRC(c3a868ef) SHA1(a08a940aa87313509e00bc5ac7494d53d8e03492))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::cpc50b, msx_tms9118)
+MACHINE_CONFIG_START(msx_state::cpc50b)
+ msx_tms9118(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 1? Cartridge slot
@@ -2002,7 +2029,7 @@ MACHINE_CONFIG_DERIVED(msx_state::cpc50b, msx_tms9118)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 3, 1) /* 16KB RAM */
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Daewoo Zemmix CPC-51 */
@@ -2012,7 +2039,8 @@ ROM_START (cpc51)
ROM_LOAD ("51bios.rom", 0x0000, 0x8000, CRC(c3a868ef) SHA1(a08a940aa87313509e00bc5ac7494d53d8e03492))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::cpc51, msx_tms9118)
+MACHINE_CONFIG_START(msx_state::cpc51)
+ msx_tms9118(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 1 Cartridge slot
@@ -2024,7 +2052,7 @@ MACHINE_CONFIG_DERIVED(msx_state::cpc51, msx_tms9118)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB RAM */
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Fenner DPC-200 */
@@ -2034,7 +2062,8 @@ ROM_START (fdpc200)
ROM_LOAD ("dpc200bios.rom", 0x0000, 0x8000, CRC(8205795e) SHA1(829c00c3114f25b3dae5157c0a238b52a3ac37db))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::fdpc200, msx_pal)
+MACHINE_CONFIG_START(msx_state::fdpc200)
+ msx_pal(config);
// AY8910
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -2044,7 +2073,7 @@ MACHINE_CONFIG_DERIVED(msx_state::fdpc200, msx_pal)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 2, 0)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Fenner FPC-500 */
@@ -2054,7 +2083,8 @@ ROM_START (fpc500)
ROM_LOAD ("fpc500bios.rom", 0x0000, 0x8000, CRC(8205795e) SHA1(829c00c3114f25b3dae5157c0a238b52a3ac37db))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::fpc500, msx_pal)
+MACHINE_CONFIG_START(msx_state::fpc500)
+ msx_pal(config);
// AY8910?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -2064,7 +2094,7 @@ MACHINE_CONFIG_DERIVED(msx_state::fpc500, msx_pal)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 2, 0)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Fenner SPC-800 */
@@ -2074,7 +2104,8 @@ ROM_START (fspc800)
ROM_LOAD ("spc800bios.rom", 0x0000, 0x8000, CRC(8205795e) SHA1(829c00c3114f25b3dae5157c0a238b52a3ac37db))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::fspc800, msx_tms9929)
+MACHINE_CONFIG_START(msx_state::fspc800)
+ msx_tms9929(config);
// AY8910?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -2085,7 +2116,7 @@ MACHINE_CONFIG_DERIVED(msx_state::fspc800, msx_tms9929)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 2, 0)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Frael Bruc 100-1 */
@@ -2095,7 +2126,8 @@ ROM_START (bruc100)
ROM_LOAD("bruc100-1bios.rom", 0x0000, 0x8000, CRC(c7bc4298) SHA1(3abca440cba16ac5e162b602557d30169f77adab))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::bruc100, msx_pal)
+MACHINE_CONFIG_START(msx_state::bruc100)
+ msx_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -2105,7 +2137,7 @@ MACHINE_CONFIG_DERIVED(msx_state::bruc100, msx_pal)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x10000) /* 64KB RAM */
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Fujitsu FM-X */
@@ -2115,7 +2147,8 @@ ROM_START (fmx)
ROM_LOAD ("fmxbios.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::fmx, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::fmx)
+ msx_ntsc(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 1 Cartridge slot, 2 "Fujistu expansion slots
@@ -2126,7 +2159,7 @@ MACHINE_CONFIG_DERIVED(msx_state::fmx, msx_ntsc)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
// Fijutsu expansion slot #2 in slot 3
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Goldstar FC-80U */
@@ -2138,7 +2171,8 @@ ROM_START (gsfc80u)
ROM_RELOAD (0xa000, 0x2000)
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::gsfc80u, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::gsfc80u)
+ msx_ntsc(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -2149,7 +2183,7 @@ MACHINE_CONFIG_DERIVED(msx_state::gsfc80u, msx_ntsc)
MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB RAM */
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Goldstar FC-200 */
@@ -2160,7 +2194,8 @@ ROM_START (gsfc200)
ROM_LOAD ("fc200bios.rom.u5b", 0x4000, 0x4000, CRC(1a99b1a1) SHA1(e18f72271b64693a2a2bc226e1b9ebd0448e07c0))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::gsfc200, msx_tms9129)
+MACHINE_CONFIG_START(msx_state::gsfc200)
+ msx_tms9129(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -2170,7 +2205,7 @@ MACHINE_CONFIG_DERIVED(msx_state::gsfc200, msx_tms9129)
MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB RAM */
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Goldstar GFC-1080 */
@@ -2182,7 +2217,8 @@ ROM_START (gfc1080)
ROM_LOAD ("gfc1080pasocalc.rom", 0xC000, 0x4000, CRC(4014f7ea) SHA1(a5581fa3ce10f90f15ba3dc53d57b02d6e4af172))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::gfc1080, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::gfc1080)
+ msx_ntsc(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -2192,7 +2228,7 @@ MACHINE_CONFIG_DERIVED(msx_state::gfc1080, msx_ntsc)
MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) // 64KB RAM
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Goldstar GFC-1080A */
@@ -2204,7 +2240,8 @@ ROM_START (gfc1080a)
ROM_RELOAD (0xa000, 0x2000)
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::gfc1080a, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::gfc1080a)
+ msx_ntsc(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -2214,7 +2251,7 @@ MACHINE_CONFIG_DERIVED(msx_state::gfc1080a, msx_ntsc)
MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) // 64KB RAM
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Gradiente Expert 1.0 */
@@ -2224,7 +2261,8 @@ ROM_START (expert10)
ROM_LOAD ("expbios.rom", 0x0000, 0x8000, CRC(07610d77) SHA1(ef3e010eb57e4476700a3bbff9d2119ab3acdf62))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::expert10, msx_tms9128)
+MACHINE_CONFIG_START(msx_state::expert10)
+ msx_tms9128(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -2234,7 +2272,7 @@ MACHINE_CONFIG_DERIVED(msx_state::expert10, msx_tms9128)
MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB RAM */
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Gradiente Expert 1.1 */
@@ -2243,7 +2281,8 @@ ROM_START (expert11)
ROM_LOAD ("expbios11.rom", 0x0000, 0x8000, CRC(efb4b972) SHA1(d6720845928ee848cfa88a86accb067397685f02))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::expert11, msx_tms9128)
+MACHINE_CONFIG_START(msx_state::expert11)
+ msx_tms9128(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -2253,7 +2292,7 @@ MACHINE_CONFIG_DERIVED(msx_state::expert11, msx_tms9128)
MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB RAM */
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Gradiente Expert 1.3 */
@@ -2262,7 +2301,8 @@ ROM_START (expert13)
ROM_LOAD ("expbios13.rom", 0x0000, 0x8000, CRC(5638bc38) SHA1(605f5af3f358c6811f54e0173bad908614a198c0))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::expert13, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::expert13)
+ msx_ntsc(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -2272,7 +2312,7 @@ MACHINE_CONFIG_DERIVED(msx_state::expert13, msx_ntsc)
MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 2, 0, 0x10000) /* 64KB Mapper RAM */
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Gradiente Expert DDPlus */
@@ -2282,7 +2322,8 @@ ROM_START (expertdp)
ROM_LOAD ("eddpdisk.rom", 0x8000, 0x4000, CRC(549f1d90) SHA1(f1525de4e0b60a6687156c2a96f8a8b2044b6c56))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::expertdp, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::expertdp)
+ msx_ntsc(config);
// AY8910/YM2149?
// FDC: mb8877a, 1 3.5" DSDD drive
// 2 Cartridge slots
@@ -2294,11 +2335,11 @@ MACHINE_CONFIG_DERIVED(msx_state::expertdp, msx_ntsc)
MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
MCFG_MSX_LAYOUT_DISK2("disk", 3, 3, 1, 1, "maincpu", 0x8000)
- MCFG_FRAGMENT_ADD( msx_mb8877a )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx1_floplist )
+ msx_mb8877a(config);
+ msx_1_35_dd_drive(config);
+ msx1_floplist(config);
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Gradiente Expert Plus */
@@ -2309,7 +2350,8 @@ ROM_START (expertpl)
ROM_LOAD ("exppdemo.rom", 0x8000, 0x4000, CRC(a9bbef64) SHA1(d4cea8c815f3eeabe0c6a1c845f902ec4318bf6b))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::expertpl, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::expertpl)
+ msx_ntsc(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -2321,7 +2363,7 @@ MACHINE_CONFIG_DERIVED(msx_state::expertpl, msx_ntsc)
MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
MCFG_MSX_LAYOUT_ROM("demo", 3, 3, 2, 1, "maincpu", 0x8000)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Hitachi MB-H2 */
@@ -2332,7 +2374,8 @@ ROM_START (mbh2)
ROM_LOAD ("mbh2firm.rom", 0x8000, 0x4000, CRC(4f03c947) SHA1(e2140fa2e8e59090ecccf55b62323ea9dcc66d0b))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::mbh2, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::mbh2)
+ msx_ntsc(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -2344,7 +2387,7 @@ MACHINE_CONFIG_DERIVED(msx_state::mbh2, msx_ntsc)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) // 64KB RAM
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Hitachi MB-H25 */
@@ -2354,7 +2397,8 @@ ROM_START (mbh25)
ROM_LOAD ("mbh25bios.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::mbh25, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::mbh25)
+ msx_ntsc(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -2364,7 +2408,7 @@ MACHINE_CONFIG_DERIVED(msx_state::mbh25, msx_ntsc)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 2, 2) // 32KB RAM
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Hitachi MB-H50 */
@@ -2374,7 +2418,8 @@ ROM_START (mbh50)
ROM_LOAD ("mbh50bios.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::mbh50, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::mbh50)
+ msx_ntsc(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -2385,7 +2430,7 @@ MACHINE_CONFIG_DERIVED(msx_state::mbh50, msx_ntsc)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) // 64KB RAM
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - JVC HC-7GB */
@@ -2395,7 +2440,8 @@ ROM_START (jvchc7gb)
ROM_LOAD ("hc7gbbios.rom", 0x0000, 0x8000, CRC(e9ccd789) SHA1(8963fc041975f31dc2ab1019cfdd4967999de53e))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::jvchc7gb, msx_pal)
+MACHINE_CONFIG_START(msx_state::jvchc7gb)
+ msx_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -2405,7 +2451,7 @@ MACHINE_CONFIG_DERIVED(msx_state::jvchc7gb, msx_pal)
MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB RAM */
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Mitsubishi ML-F48 */
@@ -2415,7 +2461,8 @@ ROM_START (mlf48)
ROM_LOAD ("mlf48bios.rom", 0x0000, 0x8000, CRC(e9ccd789) SHA1(8963fc041975f31dc2ab1019cfdd4967999de53e))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::mlf48, msx_pal)
+MACHINE_CONFIG_START(msx_state::mlf48)
+ msx_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -2425,7 +2472,7 @@ MACHINE_CONFIG_DERIVED(msx_state::mlf48, msx_pal)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 2, 0)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Mitsubishi ML-F80 */
@@ -2435,7 +2482,8 @@ ROM_START (mlf80)
ROM_LOAD ("mlf80bios.rom", 0x0000, 0x8000, CRC(e9ccd789) SHA1(8963fc041975f31dc2ab1019cfdd4967999de53e))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::mlf80, msx_pal)
+MACHINE_CONFIG_START(msx_state::mlf80)
+ msx_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -2445,7 +2493,7 @@ MACHINE_CONFIG_DERIVED(msx_state::mlf80, msx_pal)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 2, 0)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Mitsubishi ML-F110 */
@@ -2455,7 +2503,8 @@ ROM_START (mlf110)
ROM_LOAD ("mlf110bios.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::mlf110, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::mlf110)
+ msx_ntsc(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -2465,7 +2514,7 @@ MACHINE_CONFIG_DERIVED(msx_state::mlf110, msx_ntsc)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 2, 0)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Mitsubishi ML-F120 */
@@ -2476,7 +2525,8 @@ ROM_START (mlf120)
ROM_LOAD ("mlf120firm.rom", 0x8000, 0x4000, CRC(4b5f3173) SHA1(21a9f60cb6370d0617ce54c42bb7d8e40a4ab560))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::mlf120, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::mlf120)
+ msx_ntsc(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2? Cartridge slots
@@ -2487,7 +2537,7 @@ MACHINE_CONFIG_DERIVED(msx_state::mlf120, msx_ntsc)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 2, 0)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Mitsubishi ML-FX1 */
@@ -2497,7 +2547,8 @@ ROM_START (mlfx1)
ROM_LOAD ("mlfx1bios.rom", 0x0000, 0x8000, CRC(62867dce) SHA1(0cbe0df4af45e8f531e9c761403ac9e71808f20c))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::mlfx1, msx_pal)
+MACHINE_CONFIG_START(msx_state::mlfx1)
+ msx_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -2507,7 +2558,7 @@ MACHINE_CONFIG_DERIVED(msx_state::mlfx1, msx_pal)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
MCFG_MSX_LAYOUT_RAM("ram", 3, 2, 0, 4) /* 64KB RAM */
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - National CF-1200 */
@@ -2517,7 +2568,8 @@ ROM_START (cf1200)
ROM_LOAD ("1200bios.rom", 0x0000, 0x8000, CRC(5ad03407) SHA1(c7a2c5baee6a9f0e1c6ee7d76944c0ab1886796c))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::cf1200, msx_tms9918a)
+MACHINE_CONFIG_START(msx_state::cf1200)
+ msx_tms9918a(config);
// AY8910
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -2527,7 +2579,7 @@ MACHINE_CONFIG_DERIVED(msx_state::cf1200, msx_tms9918a)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - National CF-2000 */
@@ -2537,7 +2589,8 @@ ROM_START (cf2000)
ROM_LOAD ("2000bios.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::cf2000, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::cf2000)
+ msx_ntsc(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -2547,7 +2600,7 @@ MACHINE_CONFIG_DERIVED(msx_state::cf2000, msx_ntsc)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - National CF-2700 */
@@ -2556,7 +2609,8 @@ ROM_START (cf2700)
ROM_LOAD ("2700bios.rom.ic32", 0x0000, 0x8000, CRC(5ad03407) SHA1(c7a2c5baee6a9f0e1c6ee7d76944c0ab1886796c))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::cf2700, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::cf2700)
+ msx_ntsc(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -2566,7 +2620,7 @@ MACHINE_CONFIG_DERIVED(msx_state::cf2700, msx_ntsc)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - National CF-3000 */
@@ -2576,7 +2630,8 @@ ROM_START (cf3000)
ROM_LOAD ("3000bios.rom", 0x0000, 0x8000, CRC(5ad03407) SHA1(c7a2c5baee6a9f0e1c6ee7d76944c0ab1886796c))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::cf3000, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::cf3000)
+ msx_ntsc(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -2586,7 +2641,7 @@ MACHINE_CONFIG_DERIVED(msx_state::cf3000, msx_ntsc)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 2, 0)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - National CF-3300 */
@@ -2596,7 +2651,8 @@ ROM_START (cf3300)
ROM_LOAD ("3300disk.rom", 0x8000, 0x4000, CRC(549f1d90) SHA1(f1525de4e0b60a6687156c2a96f8a8b2044b6c56))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::cf3300, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::cf3300)
+ msx_ntsc(config);
// AY8910/YM2149?
// FDC: mb8877a, 1 3.5" SSDD drive
// 2 Cartridge slots
@@ -2607,11 +2663,11 @@ MACHINE_CONFIG_DERIVED(msx_state::cf3300, msx_ntsc)
MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
MCFG_MSX_LAYOUT_DISK2("disk", 3, 1, 1, 1, "maincpu", 0x8000)
- MCFG_FRAGMENT_ADD( msx_mb8877a )
- MCFG_FRAGMENT_ADD( msx_1_35_ssdd_drive )
- MCFG_FRAGMENT_ADD( msx1_floplist )
+ msx_mb8877a(config);
+ msx_1_35_ssdd_drive(config);
+ msx1_floplist(config);
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - National FS-1300 */
@@ -2621,7 +2677,8 @@ ROM_START (fs1300)
ROM_LOAD ("1300bios.rom", 0x0000, 0x8000, CRC(5ad03407) SHA1(c7a2c5baee6a9f0e1c6ee7d76944c0ab1886796c))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::fs1300, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::fs1300)
+ msx_ntsc(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -2631,7 +2688,7 @@ MACHINE_CONFIG_DERIVED(msx_state::fs1300, msx_ntsc)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - National FS-4000 */
@@ -2646,7 +2703,8 @@ ROM_START (fs4000)
ROM_LOAD ("4000kfn.rom", 0, 0x20000, CRC(956dc96d) SHA1(9ed3ab6d893632b9246e91b412cd5db519e7586b))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::fs4000, msx_tms9128)
+MACHINE_CONFIG_START(msx_state::fs4000)
+ msx_tms9128(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -2658,7 +2716,7 @@ MACHINE_CONFIG_DERIVED(msx_state::fs4000, msx_tms9128)
MCFG_MSX_LAYOUT_ROM("kdr", 3, 1, 1, 2, "maincpu", 0x10000)
MCFG_MSX_LAYOUT_RAM("ram", 3, 2, 0, 4) /* 64KB RAM */
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - National FS-4000 (Alt) */
@@ -2673,7 +2731,8 @@ ROM_START (fs4000a)
ROM_LOAD ("4000kfn.rom", 0, 0x20000, CRC(956dc96d) SHA1(9ed3ab6d893632b9246e91b412cd5db519e7586b))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::fs4000a, msx_tms9128)
+MACHINE_CONFIG_START(msx_state::fs4000a)
+ msx_tms9128(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -2685,7 +2744,7 @@ MACHINE_CONFIG_DERIVED(msx_state::fs4000a, msx_tms9128)
MCFG_MSX_LAYOUT_ROM("kdr", 3, 1, 1, 2, "maincpu", 0x10000)
MCFG_MSX_LAYOUT_RAM("ram", 3, 2, 0, 4) /* 64KB RAM */
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/*MSX - Olympia PHC-2*/
@@ -2695,7 +2754,8 @@ ROM_START (phc2)
ROM_LOAD ("phc2bios.rom", 0x0000, 0x8000, CRC(4f7bb04b) SHA1(ab0177624d46dd77ab4f50ffcb983c3ba88223f4))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::phc2, msx_pal)
+MACHINE_CONFIG_START(msx_state::phc2)
+ msx_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -2705,7 +2765,7 @@ MACHINE_CONFIG_DERIVED(msx_state::phc2, msx_pal)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Olympia PHC-28 */
@@ -2715,7 +2775,8 @@ ROM_START (phc28)
ROM_LOAD ("phc28bios.rom", 0x0000, 0x8000, CRC(eceb2802) SHA1(195950173701abeb460a1a070d83466f3f53b337))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::phc28, msx_pal)
+MACHINE_CONFIG_START(msx_state::phc28)
+ msx_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -2725,7 +2786,7 @@ MACHINE_CONFIG_DERIVED(msx_state::phc28, msx_pal)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 2, 2) /* 32KB RAM */
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Panasonic CF-2700G */
@@ -2735,7 +2796,8 @@ ROM_START (cf2700g)
ROM_LOAD ("cf2700g.rom", 0x0000, 0x8000, CRC(4aa194f4) SHA1(69bf27b610e11437dad1f7a1c37a63179a293d12))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::cf2700g, msx_tms9929)
+MACHINE_CONFIG_START(msx_state::cf2700g)
+ msx_tms9929(config);
// AY8910
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -2745,7 +2807,7 @@ MACHINE_CONFIG_DERIVED(msx_state::cf2700g, msx_tms9929)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 2, 0)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Perfect Perfect1 */
@@ -2757,7 +2819,8 @@ ROM_START (perfect1)
ROM_RELOAD (0x10000, 0x8000)
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::perfect1, msx_pal)
+MACHINE_CONFIG_START(msx_state::perfect1)
+ msx_pal(config);
// AY8910/YM2149?
// FDC: None, 0 dribes
// 1 Cartridge slot
@@ -2767,7 +2830,7 @@ MACHINE_CONFIG_DERIVED(msx_state::perfect1, msx_pal)
MCFG_MSX_LAYOUT_RAM("ram", 0, 2, 0, 4) // 64KB RAM
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Philips NMS-801 */
@@ -2777,7 +2840,8 @@ ROM_START (nms801)
ROM_LOAD ("801bios.rom", 0x0000, 0x8000, CRC(fa089461) SHA1(21329398c0f350e330b353f45f21aa7ba338fc8d))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::nms801, msx_pal)
+MACHINE_CONFIG_START(msx_state::nms801)
+ msx_pal(config);
// AY8910
// FDC: None, 0 drives
// 0 Cartridge slots
@@ -2794,7 +2858,8 @@ ROM_START (vg8000)
ROM_LOAD ("8000bios.rom", 0x0000, 0x8000, CRC(efd970b0) SHA1(42252cf87deeb58181a7bfec7c874190a1351779))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::vg8000, msx_tms9129)
+MACHINE_CONFIG_START(msx_state::vg8000)
+ msx_tms9129(config);
// AY8910
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -2805,7 +2870,7 @@ MACHINE_CONFIG_DERIVED(msx_state::vg8000, msx_tms9129)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 3, 1) /* 16KB RAM */
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Philips VG-8010 */
@@ -2815,7 +2880,8 @@ ROM_START (vg8010)
ROM_LOAD ("8010bios.rom", 0x0000, 0x8000, CRC(efd970b0) SHA1(42252cf87deeb58181a7bfec7c874190a1351779))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::vg8010, msx_tms9129)
+MACHINE_CONFIG_START(msx_state::vg8010)
+ msx_tms9129(config);
// AY8910
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -2826,7 +2892,7 @@ MACHINE_CONFIG_DERIVED(msx_state::vg8010, msx_tms9129)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 2, 2) /* 32KB RAM */
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Philips VG-8010F */
@@ -2836,7 +2902,8 @@ ROM_START (vg8010f)
ROM_LOAD ("8010fbios.rom", 0x0000, 0x8000, CRC(df57c9ca) SHA1(898630ad1497dc9a329580c682ee55c4bcb9c30c))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::vg8010f, msx_tms9129)
+MACHINE_CONFIG_START(msx_state::vg8010f)
+ msx_tms9129(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -2847,7 +2914,7 @@ MACHINE_CONFIG_DERIVED(msx_state::vg8010f, msx_tms9129)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 2, 2) /* 32KB RAM */
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Philips VG-8020-00 */
@@ -2857,7 +2924,8 @@ ROM_START (vg802000)
ROM_LOAD ("8020-00bios.rom", 0x0000, 0x8000, CRC(8205795e) SHA1(829c00c3114f25b3dae5157c0a238b52a3ac37db))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::vg802000, msx_tms9929)
+MACHINE_CONFIG_START(msx_state::vg802000)
+ msx_tms9929(config);
// YM2149
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -2867,7 +2935,7 @@ MACHINE_CONFIG_DERIVED(msx_state::vg802000, msx_tms9929)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Philips VG-8020-20 */
@@ -2877,7 +2945,8 @@ ROM_START (vg802020)
ROM_LOAD ("8020-20bios.rom", 0x0000, 0x8000, CRC(a317e6b4) SHA1(e998f0c441f4f1800ef44e42cd1659150206cf79))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::vg802020, msx_tms9129)
+MACHINE_CONFIG_START(msx_state::vg802020)
+ msx_tms9129(config);
// YM2149 (in S-3527 MSX Engine)
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -2888,7 +2957,7 @@ MACHINE_CONFIG_DERIVED(msx_state::vg802020, msx_tms9129)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x10000) /* 64KB Mapper RAM */
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Philips VG-8020F */
@@ -2898,7 +2967,8 @@ ROM_START (vg8020f)
ROM_LOAD ("vg8020f.rom", 0x0000, 0x8000, CRC(6e692fa1) SHA1(9eaad185efc8e224368d1db4949eb9659c26fb2c))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::vg8020f, msx_pal)
+MACHINE_CONFIG_START(msx_state::vg8020f)
+ msx_pal(config);
// YM2149 (in S-3527 MSX Engine)
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -2909,7 +2979,7 @@ MACHINE_CONFIG_DERIVED(msx_state::vg8020f, msx_pal)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
MCFG_MSX_LAYOUT_RAM("ram", 3, 2, 0, 4) /* 64KB?? RAM */
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Pioneer PX-7 */
@@ -2921,7 +2991,8 @@ ROM_START (piopx7)
ROM_FILL( 0xa000, 0x2000, 0x6E )
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::piopx7, msx_pal)
+MACHINE_CONFIG_START(msx_state::piopx7)
+ msx_pal(config);
// TMS9129NL VDP with sync/overlay interface
// AY-3-8910 PSG
// Pioneer System Remote (SR) system control interface
@@ -2952,7 +3023,7 @@ MACHINE_CONFIG_DERIVED(msx_state::piopx7, msx_pal)
MCFG_MSX_LAYOUT_ROM("rom2", 2, 0, 1, 1, "maincpu", 0x8000)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Pioneer PX-7UK */
@@ -2965,7 +3036,8 @@ ROM_START (piopx7uk)
ROM_LOAD ("videoart.rom", 0xc000, 0x8000, CRC(0ba148dc) SHA1(b7b4e4cd40a856bb071976e6cf0f5e546fc86a78))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::piopx7uk, msx_tms9129)
+MACHINE_CONFIG_START(msx_state::piopx7uk)
+ msx_tms9129(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -2976,7 +3048,7 @@ MACHINE_CONFIG_DERIVED(msx_state::piopx7uk, msx_tms9129)
MCFG_MSX_LAYOUT_ROM("rom2", 2, 0, 1, 1, "maincpu", 0x8000)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Pioneer PX-V60 */
@@ -2988,7 +3060,8 @@ ROM_START (piopxv60)
ROM_FILL( 0xa000, 0x2000, 0x6E )
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::piopxv60, msx_tms9128)
+MACHINE_CONFIG_START(msx_state::piopxv60)
+ msx_tms9128(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -2999,7 +3072,7 @@ MACHINE_CONFIG_DERIVED(msx_state::piopxv60, msx_tms9128)
MCFG_MSX_LAYOUT_ROM("rom2", 2, 0, 1, 1, "maincpu", 0x8000)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Samsung SPC-800 */
@@ -3010,7 +3083,8 @@ ROM_START (spc800)
ROM_LOAD ("spc800han.rom", 0x8000, 0x4000, CRC(5ae2b013) SHA1(1e7616261a203580c1044205ad8766d104f1d874))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::spc800, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::spc800)
+ msx_ntsc(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -3021,7 +3095,7 @@ MACHINE_CONFIG_DERIVED(msx_state::spc800, msx_ntsc)
MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB?? RAM */
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Sanyo MPC-64 */
@@ -3031,7 +3105,8 @@ ROM_START (mpc64)
ROM_LOAD ("mpc64bios.rom", 0x0000, 0x8000, CRC(d6e704ad) SHA1(d67be6d7d56d7229418f4e122f2ec27990db7d19))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::mpc64, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::mpc64)
+ msx_ntsc(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -3041,7 +3116,7 @@ MACHINE_CONFIG_DERIVED(msx_state::mpc64, msx_ntsc)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Sanyo MPC-100 */
@@ -3051,7 +3126,8 @@ ROM_START (mpc100)
ROM_LOAD ("mpc100bios.rom", 0x0000, 0x8000, CRC(e9ccd789) SHA1(8963fc041975f31dc2ab1019cfdd4967999de53e))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::mpc100, msx_pal)
+MACHINE_CONFIG_START(msx_state::mpc100)
+ msx_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -3061,7 +3137,7 @@ MACHINE_CONFIG_DERIVED(msx_state::mpc100, msx_pal)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Sanyo MPC-200 */
@@ -3071,7 +3147,8 @@ ROM_START (mpc200)
ROM_LOAD ("mpc200bios.rom", 0x0000, 0x8000, CRC(e9ccd789) SHA1(8963fc041975f31dc2ab1019cfdd4967999de53e))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::mpc200, msx_pal)
+MACHINE_CONFIG_START(msx_state::mpc200)
+ msx_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2? Cartridge slots
@@ -3083,7 +3160,7 @@ MACHINE_CONFIG_DERIVED(msx_state::mpc200, msx_pal)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) // 64KB RAM
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Sanyo MPC-200SP */
@@ -3093,7 +3170,8 @@ ROM_START (mpc200sp)
ROM_LOAD ("mpcsp200bios.rom", 0x0000, 0x8000, CRC(bcd79900) SHA1(fc8c2b69351e60dc902add232032c2d69f00e41e))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::mpc200sp, msx_pal)
+MACHINE_CONFIG_START(msx_state::mpc200sp)
+ msx_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2? Cartridge slots
@@ -3103,7 +3181,7 @@ MACHINE_CONFIG_DERIVED(msx_state::mpc200sp, msx_pal)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) // 64KB RAM
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Sanyo PHC-28L */
@@ -3113,7 +3191,8 @@ ROM_START (phc28l)
ROM_LOAD ("28lbios.rom", 0x0000, 0x8000, CRC(d2110d66) SHA1(d3af963e2529662eae63f04a2530454685a1989f))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::phc28l, msx_tms9929)
+MACHINE_CONFIG_START(msx_state::phc28l)
+ msx_tms9929(config);
// YM2149
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -3123,7 +3202,7 @@ MACHINE_CONFIG_DERIVED(msx_state::phc28l, msx_tms9929)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Sanyo PHC-28S */
@@ -3133,7 +3212,8 @@ ROM_START (phc28s)
ROM_LOAD ("28sbios.rom", 0x0000, 0x8000, CRC(e5cf6b3c) SHA1(b1cce60ef61c058f5e42ef7ac635018d1a431168))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::phc28s, msx_tms9929)
+MACHINE_CONFIG_START(msx_state::phc28s)
+ msx_tms9929(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -3143,7 +3223,7 @@ MACHINE_CONFIG_DERIVED(msx_state::phc28s, msx_tms9929)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 2, 2) /* 32KB RAM */
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Sanyo Wavy MPC-10 */
@@ -3153,7 +3233,8 @@ ROM_START (mpc10)
ROM_LOAD ("mpc10.rom", 0x0000, 0x8000, CRC(e9ccd789) SHA1(8963fc041975f31dc2ab1019cfdd4967999de53e))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::mpc10, msx_pal)
+MACHINE_CONFIG_START(msx_state::mpc10)
+ msx_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -3163,7 +3244,7 @@ MACHINE_CONFIG_DERIVED(msx_state::mpc10, msx_pal)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 2, 2) /* 32KB RAM */
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Sharp Epcom HotBit 1.1 */
@@ -3173,7 +3254,8 @@ ROM_START (hotbit11)
ROM_LOAD ("hotbit11.rom", 0x0000, 0x8000, CRC(b6942694) SHA1(663f8c512d04d213fa616b0db5eefe3774012a4b))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hotbit11, msx_tms9128)
+MACHINE_CONFIG_START(msx_state::hotbit11)
+ msx_tms9128(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -3183,7 +3265,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hotbit11, msx_tms9128)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Sharp Epcom HotBit 1.2 */
@@ -3193,7 +3275,8 @@ ROM_START (hotbit12)
ROM_LOAD ("hotbit12.rom", 0x0000, 0x8000, CRC(f59a4a0c) SHA1(9425815446d468058705bae545ffa13646744a87))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hotbit12, msx_tms9128)
+MACHINE_CONFIG_START(msx_state::hotbit12)
+ msx_tms9128(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -3203,7 +3286,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hotbit12, msx_tms9128)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Sharp Epcom HotBit 1.3b */
@@ -3213,7 +3296,8 @@ ROM_START (hotbi13b)
ROM_LOAD ("hotbit13b.rom", 0x0000, 0x8000, CRC(7a19820e) SHA1(e0c2bfb078562d15acabc5831020a2370ea87052))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hotbi13b, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::hotbi13b)
+ msx_ntsc(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -3223,7 +3307,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hotbi13b, msx_ntsc)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x10000) /* 64KB Mapper RAM */
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Sharp Epcom HotBit 1.3p */
@@ -3233,7 +3317,8 @@ ROM_START (hotbi13p)
ROM_LOAD ("hotbit13p.rom", 0x0000, 0x8000, CRC(150e239c) SHA1(942f9507d206cd8156f15601fe8032fcf0e3875b))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hotbi13p, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::hotbi13p)
+ msx_ntsc(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -3243,7 +3328,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hotbi13p, msx_ntsc)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x10000) /* 64KB Mapper RAM */
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Sony HB-10 */
@@ -3253,7 +3338,8 @@ ROM_START (hb10)
ROM_LOAD ("hb10bios.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hb10, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::hb10)
+ msx_ntsc(config);
// YM2149 (in S-1985 MSX-Engine)
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -3266,7 +3352,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hb10, msx_ntsc)
MCFG_MSX_S1985_ADD("s1985")
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Sony HB-10P */
@@ -3276,7 +3362,8 @@ ROM_START (hb10p)
ROM_LOAD ("10pbios.rom", 0x0000, 0x8000, CRC(0f488dd8) SHA1(5e7c8eab238712d1e18b0219c0f4d4dae180420d))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hb10p, msx_pal)
+MACHINE_CONFIG_START(msx_state::hb10p)
+ msx_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -3287,7 +3374,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hb10p, msx_pal)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Sony HB-20P */
@@ -3297,7 +3384,8 @@ ROM_START (hb20p)
ROM_LOAD ("20pbios.rom", 0x0000, 0x8000, CRC(21af423f) SHA1(365c93d7652c9f727221689bcc348652832a7b7a))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hb20p, msx_pal)
+MACHINE_CONFIG_START(msx_state::hb20p)
+ msx_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -3308,7 +3396,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hb20p, msx_pal)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Sony HB-201 */
@@ -3320,7 +3408,8 @@ ROM_START (hb201)
ROM_FILL( 0xc000, 0x4000, 0xff )
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hb201, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::hb201)
+ msx_ntsc(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -3331,7 +3420,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hb201, msx_ntsc)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Sony HB-201P */
@@ -3342,7 +3431,8 @@ ROM_START (hb201p)
ROM_LOAD ("201pnote.rom.ic8", 0x8000, 0x4000, CRC(1ff9b6ec) SHA1(e84d3ec7a595ee36b50e979683c84105c1871857))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hb201p, msx_pal)
+MACHINE_CONFIG_START(msx_state::hb201p)
+ msx_pal(config);
// YM2149
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -3353,7 +3443,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hb201p, msx_pal)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Sony HB-501P */
@@ -3363,7 +3453,8 @@ ROM_START (hb501p)
ROM_LOAD ("501pbios.rom", 0x0000, 0x8000, CRC(0f488dd8) SHA1(5e7c8eab238712d1e18b0219c0f4d4dae180420d))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hb501p, msx_pal)
+MACHINE_CONFIG_START(msx_state::hb501p)
+ msx_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -3373,7 +3464,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hb501p, msx_pal)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Sony HB-55 (Version 1) */
@@ -3384,7 +3475,8 @@ ROM_START (hb55)
ROM_LOAD ("hb55note.rom", 0x8000, 0x2000, CRC(5743ab55) SHA1(b9179db93608c4da649532e704f072e0a3ea1b22))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hb55, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::hb55)
+ msx_ntsc(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -3395,7 +3487,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hb55, msx_ntsc)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Sony HB-55D */
@@ -3406,7 +3498,8 @@ ROM_START (hb55d)
ROM_LOAD ("55dnote.rom", 0x8000, 0x4000, CRC(8aae0494) SHA1(97ce59892573cac3c440efff6d74c8a1c29a5ad3))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hb55d, msx_pal)
+MACHINE_CONFIG_START(msx_state::hb55d)
+ msx_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -3417,7 +3510,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hb55d, msx_pal)
MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 3, 1) /* 16KB RAM */
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Sony HB-55P */
@@ -3429,7 +3522,8 @@ ROM_START (hb55p)
ROM_LOAD ("55pnote.ic44", 0x8000, 0x4000, CRC(492b12f8) SHA1(b262aedc71b445303f84efe5e865cbb71fd7d952))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hb55p, msx_pal)
+MACHINE_CONFIG_START(msx_state::hb55p)
+ msx_pal(config);
// AY8910
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -3440,7 +3534,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hb55p, msx_pal)
MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 3, 1) /* 16KB RAM */
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Sony HB-75D */
@@ -3451,7 +3545,8 @@ ROM_START (hb75d)
ROM_LOAD ("75dnote.rom", 0x8000, 0x4000, CRC(8aae0494) SHA1(97ce59892573cac3c440efff6d74c8a1c29a5ad3))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hb75d, msx_pal)
+MACHINE_CONFIG_START(msx_state::hb75d)
+ msx_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -3462,7 +3557,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hb75d, msx_pal)
MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB RAM */
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Sony HB-75P */
@@ -3474,7 +3569,8 @@ ROM_START (hb75p)
ROM_LOAD ("75pnote.ic44", 0x8000, 0x4000, CRC(492b12f8) SHA1(b262aedc71b445303f84efe5e865cbb71fd7d952))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hb75p, msx_tms9929)
+MACHINE_CONFIG_START(msx_state::hb75p)
+ msx_tms9929(config);
// AY8910
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -3485,7 +3581,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hb75p, msx_tms9929)
MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB RAM */
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Sony HB-101P */
@@ -3496,7 +3592,8 @@ ROM_START (hb101p)
ROM_LOAD ("101pnote.rom", 0x8000, 0x4000, CRC(525017c2) SHA1(8ffc24677fd9d2606a79718764261cdf02434f0a))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hb101p, msx_pal)
+MACHINE_CONFIG_START(msx_state::hb101p)
+ msx_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -3507,7 +3604,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hb101p, msx_pal)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
MCFG_MSX_LAYOUT_ROM("note", 3, 0, 1, 1, "maincpu", 0x8000)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Sony HB-701FD */
@@ -3518,7 +3615,8 @@ ROM_START (hb701fd)
ROM_LOAD ("hb701fddisk.rom", 0x8000, 0x4000, CRC(71961d9d) SHA1(2144036d6573d666143e890e5413956bfe8f66c5))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hb701fd, msx_tms9928)
+MACHINE_CONFIG_START(msx_state::hb701fd)
+ msx_tms9928(config);
// YM2149 (in S-1985)
// FDC: WD2793?, 1 3.5" SSDD drive
// 2 Cartridge slots
@@ -3530,11 +3628,11 @@ MACHINE_CONFIG_DERIVED(msx_state::hb701fd, msx_tms9928)
MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
MCFG_MSX_LAYOUT_DISK1("disk", 3, 1, 1, 1, "maincpu", 0x8000) // Is this correct??
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_ssdd_drive )
- MCFG_FRAGMENT_ADD( msx1_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_ssdd_drive(config);
+ msx1_floplist(config);
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Spectravideo SVI-728 */
@@ -3545,7 +3643,8 @@ ROM_START (svi728)
// ROM_LOAD ("707disk.rom", 0x8000, 0x4000, CRC(f9978853) SHA1(6aa856cc56eb98863c9da7a566571605682b5c6b))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::svi728, msx_tms9129)
+MACHINE_CONFIG_START(msx_state::svi728)
+ msx_tms9129(config);
// AY8910
// FDC: None, 0 drives
// 1 Cartridge slots, 1 Expansion slot (eg for SVI-707)
@@ -3556,7 +3655,7 @@ MACHINE_CONFIG_DERIVED(msx_state::svi728, msx_tms9129)
// MSX_LAYOUT_SLOT (3, 0, 1, 1, DISK_ROM2, 0x4000, 0x8000)
// MSX_LAYOUT_SLOT (3, 1, 0, 4, CARTRIDGE2, 0x0000, 0x0000)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Spectravideo SVI-738 */
@@ -3569,7 +3668,8 @@ ROM_START (svi738)
ROM_FILL (0xe000, 0x2000, 0xff)
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::svi738, msx_pal)
+MACHINE_CONFIG_START(msx_state::svi738)
+ msx_pal(config);
// AY8910
// FDC: wd1793, 1 3.5" SSDD drive
// 2 Cartridge slots
@@ -3583,11 +3683,11 @@ MACHINE_CONFIG_DERIVED(msx_state::svi738, msx_pal)
MCFG_MSX_LAYOUT_DISK2("disk", 3, 1, 1, 1, "maincpu", 0x8000)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 2)
- MCFG_FRAGMENT_ADD( msx_fd1793 )
- MCFG_FRAGMENT_ADD( msx_1_35_ssdd_drive )
- MCFG_FRAGMENT_ADD( msx1_floplist )
+ msx_fd1793(config);
+ msx_1_35_ssdd_drive(config);
+ msx1_floplist(config);
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Spectravideo SVI-738 Arabic */
@@ -3601,7 +3701,8 @@ ROM_START (svi738ar)
ROM_LOAD ("738arab.rom", 0x10000, 0x8000, CRC(339cd1aa) SHA1(0287b2ec897b9196788cd9f10c99e1487d7adbbb))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::svi738ar, msx_pal)
+MACHINE_CONFIG_START(msx_state::svi738ar)
+ msx_pal(config);
// AY8910
// FDC: wd2793, 1 3.5" SSDD drive
// 2 Cartridge slots
@@ -3616,11 +3717,11 @@ MACHINE_CONFIG_DERIVED(msx_state::svi738ar, msx_pal)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 2)
MCFG_MSX_LAYOUT_ROM("arab", 3, 3, 1, 2, "maincpu", 0x10000)
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_ssdd_drive )
- MCFG_FRAGMENT_ADD( msx1_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_ssdd_drive(config);
+ msx1_floplist(config);
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Spectravideo SVI-738 Danish */
@@ -3633,7 +3734,8 @@ ROM_START (svi738dk)
ROM_FILL (0xe000, 0x2000, 0xff)
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::svi738dk, msx_pal)
+MACHINE_CONFIG_START(msx_state::svi738dk)
+ msx_pal(config);
// AY8910
// FDC: wd2793, 1 3.5" SSDD drive
// 2 Cartridge slots
@@ -3647,11 +3749,11 @@ MACHINE_CONFIG_DERIVED(msx_state::svi738dk, msx_pal)
MCFG_MSX_LAYOUT_DISK2("disk", 3, 1, 1, 1, "maincpu", 0x8000)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 2)
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_ssdd_drive )
- MCFG_FRAGMENT_ADD( msx1_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_ssdd_drive(config);
+ msx1_floplist(config);
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Spectravideo SVI-738 Spanish */
@@ -3664,7 +3766,8 @@ ROM_START (svi738sp)
ROM_FILL (0xe000, 0x2000, 0xff)
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::svi738sp, msx_pal)
+MACHINE_CONFIG_START(msx_state::svi738sp)
+ msx_pal(config);
// AY8910
// FDC: wd2793, 1 3.5" SSDD drive
// 2 Cartridge slots
@@ -3678,11 +3781,11 @@ MACHINE_CONFIG_DERIVED(msx_state::svi738sp, msx_pal)
MCFG_MSX_LAYOUT_DISK2("disk", 3, 1, 1, 1, "maincpu", 0x8000)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 2)
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_ssdd_drive )
- MCFG_FRAGMENT_ADD( msx1_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_ssdd_drive(config);
+ msx1_floplist(config);
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Spectravideo SVI-738 Swedish */
@@ -3695,7 +3798,8 @@ ROM_START (svi738sw)
ROM_FILL (0xe000, 0x2000, 0xff)
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::svi738sw, msx_pal)
+MACHINE_CONFIG_START(msx_state::svi738sw)
+ msx_pal(config);
// AY8910
// FDC: wd2793, 1 3.5" SSDD drive
// 2 Cartridge slots
@@ -3709,11 +3813,11 @@ MACHINE_CONFIG_DERIVED(msx_state::svi738sw, msx_pal)
MCFG_MSX_LAYOUT_DISK2("disk", 3, 1, 1, 1, "maincpu", 0x8000)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 2)
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_ssdd_drive )
- MCFG_FRAGMENT_ADD( msx1_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_ssdd_drive(config);
+ msx1_floplist(config);
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Spectravideo SVI-738 Poland*/
@@ -3726,7 +3830,8 @@ ROM_START (svi738pl)
ROM_FILL (0xe000, 0x2000, 0xff)
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::svi738pl, msx_pal)
+MACHINE_CONFIG_START(msx_state::svi738pl)
+ msx_pal(config);
// AY8910
// FDC: wd2793, 1 3.5" SSDD drive
// 2 Cartridge slots
@@ -3740,11 +3845,11 @@ MACHINE_CONFIG_DERIVED(msx_state::svi738pl, msx_pal)
MCFG_MSX_LAYOUT_DISK2("disk", 3, 1, 1, 1, "maincpu", 0x8000)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 2)
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_ssdd_drive )
- MCFG_FRAGMENT_ADD( msx1_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_ssdd_drive(config);
+ msx1_floplist(config);
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Talent DPC-200 */
@@ -3754,7 +3859,8 @@ ROM_START (tadpc200)
ROM_LOAD ("dpc200bios.rom", 0x0000, 0x8000, CRC(8205795e) SHA1(829c00c3114f25b3dae5157c0a238b52a3ac37db))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::tadpc200, msx_tms9129)
+MACHINE_CONFIG_START(msx_state::tadpc200)
+ msx_tms9129(config);
// AY8910
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -3764,7 +3870,7 @@ MACHINE_CONFIG_DERIVED(msx_state::tadpc200, msx_tms9129)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 2, 0)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Talent DPC-200A */
@@ -3774,7 +3880,8 @@ ROM_START (tadpc20a)
ROM_LOAD ("dpc200abios.rom", 0x0000, 0x8000, CRC(8205795e) SHA1(829c00c3114f25b3dae5157c0a238b52a3ac37db))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::tadpc20a, msx_pal)
+MACHINE_CONFIG_START(msx_state::tadpc20a)
+ msx_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -3784,7 +3891,7 @@ MACHINE_CONFIG_DERIVED(msx_state::tadpc20a, msx_pal)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 2, 0)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Toshiba HX-10 */
@@ -3795,7 +3902,8 @@ ROM_START (hx10)
ROM_LOAD ("tcx-1007.ic15", 0x0000, 0x8000, CRC(5486b711) SHA1(4dad9de7c28b452351cc12910849b51bd9a37ab3))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hx10, msx_pal)
+MACHINE_CONFIG_START(msx_state::hx10)
+ msx_pal(config);
// AY8910
// FDC: None, 0 drives
// 1 Cartridge slot, 1 Toshiba Expension slot
@@ -3805,7 +3913,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hx10, msx_pal)
MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB RAM */
//MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) // Expansion slot
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Toshiba HX-10D */
@@ -3815,7 +3923,8 @@ ROM_START (hx10d)
ROM_LOAD ("hx10dbios.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hx10d, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::hx10d)
+ msx_ntsc(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -3825,7 +3934,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hx10d, msx_ntsc)
MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB RAM */
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Toshiba HX-10DP */
@@ -3835,7 +3944,8 @@ ROM_START (hx10dp)
ROM_LOAD ("hx10dpbios.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hx10dp, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::hx10dp)
+ msx_ntsc(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -3845,7 +3955,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hx10dp, msx_ntsc)
MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB RAM */
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Toshiba HX-10E */
@@ -3855,7 +3965,8 @@ ROM_START (hx10e)
ROM_LOAD ("hx10ebios.rom", 0x0000, 0x8000, CRC(5486b711) SHA1(4dad9de7c28b452351cc12910849b51bd9a37ab3))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hx10e, msx_pal)
+MACHINE_CONFIG_START(msx_state::hx10e)
+ msx_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -3865,7 +3976,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hx10e, msx_pal)
MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB RAM */
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Toshiba HX-10F */
@@ -3875,7 +3986,8 @@ ROM_START (hx10f)
ROM_LOAD ("hx10fbios.rom", 0x0000, 0x8000, CRC(e0e894b7) SHA1(d99eebded5db5fce1e072d08e642c0909bc7efdd))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hx10f, msx_pal)
+MACHINE_CONFIG_START(msx_state::hx10f)
+ msx_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -3885,7 +3997,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hx10f, msx_pal)
MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB RAM */
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Toshiba HX-10S */
@@ -3895,7 +4007,8 @@ ROM_START (hx10s)
ROM_LOAD ("hx10sbios.rom", 0x0000, 0x8000, CRC(5486b711) SHA1(4dad9de7c28b452351cc12910849b51bd9a37ab3))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hx10s, msx_pal)
+MACHINE_CONFIG_START(msx_state::hx10s)
+ msx_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -3905,7 +4018,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hx10s, msx_pal)
MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 3, 1) /* 16KB RAM */
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Toshiba HX-10SA */
@@ -3915,7 +4028,8 @@ ROM_START (hx10sa)
ROM_LOAD ("hx10sabios.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hx10sa, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::hx10sa)
+ msx_ntsc(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -3925,7 +4039,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hx10sa, msx_ntsc)
MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB RAM */
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Toshiba HX-20 */
@@ -3936,7 +4050,8 @@ ROM_START (hx20)
ROM_LOAD ("hx20word.rom", 0x8000, 0x8000, CRC(39b3e1c0) SHA1(9f7cfa932bd7dfd0d9ecaadc51655fb557c2e125))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hx20, msx_tms9129)
+MACHINE_CONFIG_START(msx_state::hx20)
+ msx_tms9129(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -3949,7 +4064,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hx20, msx_tms9129)
MCFG_MSX_LAYOUT_RAM("ram2", 3, 0, 2, 2) /* 32KB RAM */
MCFG_MSX_LAYOUT_ROM("word", 3, 3, 1, 2, "maincpu", 0x8000)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Toshiba HX-20I */
@@ -3960,7 +4075,8 @@ ROM_START (hx20i)
ROM_LOAD ("hx20iword.rom", 0x8000, 0x8000, CRC(39b3e1c0) SHA1(9f7cfa932bd7dfd0d9ecaadc51655fb557c2e125))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hx20i, msx_tms9129)
+MACHINE_CONFIG_START(msx_state::hx20i)
+ msx_tms9129(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -3973,7 +4089,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hx20i, msx_tms9129)
MCFG_MSX_LAYOUT_RAM("ram2", 3, 0, 2, 2) /* 32KB RAM */
MCFG_MSX_LAYOUT_ROM("word", 3, 3, 1, 2, "maincpu", 0x8000)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Toshiba HX-21 */
@@ -3987,7 +4103,8 @@ ROM_START (hx21)
ROM_LOAD ("hx21kfn.rom", 0x0000, 0x20000, CRC(d23d4d2d) SHA1(db03211b7db46899df41db2b1dfbec972109a967))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hx21, msx_tms9928)
+MACHINE_CONFIG_START(msx_state::hx21)
+ msx_tms9928(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -3998,7 +4115,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hx21, msx_tms9928)
MCFG_MSX_LAYOUT_RAM("ram2", 3, 0, 0, 4) /* 64KB RAM */
MCFG_MSX_LAYOUT_ROM("word", 3, 3, 1, 2, "maincpu", 0x8000)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Toshiba HX-21I */
@@ -4009,7 +4126,8 @@ ROM_START (hx21i)
ROM_LOAD ("hx21iword.rom", 0x8000, 0x8000, CRC(f9e29c66) SHA1(3289336b2c12161fd926a7e5ce865770ae7038af))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hx21i, msx_pal)
+MACHINE_CONFIG_START(msx_state::hx21i)
+ msx_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -4021,7 +4139,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hx21i, msx_pal)
MCFG_MSX_LAYOUT_RAM("ram2", 3, 0, 2, 2) /* 32KB RAM */
MCFG_MSX_LAYOUT_ROM("word", 3, 3, 1, 2, "maincpu", 0x8000)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Toshiba HX-22 */
@@ -4035,7 +4153,8 @@ ROM_START (hx22)
ROM_LOAD ("hx22kfn.rom", 0x0000, 0x20000, CRC(d23d4d2d) SHA1(db03211b7db46899df41db2b1dfbec972109a967))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hx22, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::hx22)
+ msx_ntsc(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -4047,7 +4166,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hx22, msx_ntsc)
MCFG_MSX_LAYOUT_RAM("ram2", 3, 0, 0, 4) /* 64KB RAM */
MCFG_MSX_LAYOUT_ROM("word", 3, 3, 1, 2, "maincpu", 0x8000)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Toshiba HX-22I */
@@ -4058,7 +4177,8 @@ ROM_START (hx22i)
ROM_LOAD ("hx22iword.rom", 0x8000, 0x8000, CRC(f9e29c66) SHA1(3289336b2c12161fd926a7e5ce865770ae7038af))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hx22i, msx_tms9929)
+MACHINE_CONFIG_START(msx_state::hx22i)
+ msx_tms9929(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -4072,7 +4192,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hx22i, msx_tms9929)
MCFG_MSX_LAYOUT_RAM("ram2", 3, 0, 2, 2) /* 32KB RAM */
MCFG_MSX_LAYOUT_ROM("word", 3, 3, 1, 2, "maincpu", 0x8000)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Victor HC-5 */
@@ -4082,7 +4202,8 @@ ROM_START (hc5)
ROM_LOAD ("hc5bios.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hc5, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::hc5)
+ msx_ntsc(config);
// AY8910/YM2149?
// FDC: None, 0 drives,
// 2 Cartridge slots?
@@ -4092,7 +4213,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hc5, msx_ntsc)
MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 3, 1) // 16KB or 32KB RAM ?
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Victor HC-6 */
@@ -4102,7 +4223,8 @@ ROM_START (hc6)
ROM_LOAD ("hc6bios.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hc6, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::hc6)
+ msx_ntsc(config);
// AY8910/YM2149?
// FDC: None, 0 drives,
// 2 Cartridge slots?
@@ -4112,7 +4234,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hc6, msx_ntsc)
MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 2, 2) // 32KB RAM
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Victor HC-7 */
@@ -4122,7 +4244,8 @@ ROM_START (hc7)
ROM_LOAD ("hc7bios.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hc7, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::hc7)
+ msx_ntsc(config);
// AY8910/YM2149?
// FDC: None, 0 drives,
// 2 Cartridge slots?
@@ -4132,7 +4255,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hc7, msx_ntsc)
MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) // 64KB RAM
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Yamaha CX5F (with SFG01) */
@@ -4142,7 +4265,8 @@ ROM_START (cx5f1)
ROM_LOAD ("cx5fbios.rom", 0x0000, 0x8000, CRC(dc662057) SHA1(36d77d357a5fd15af2ab266ee66e5091ba4770a3))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::cx5f1, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::cx5f1)
+ msx_ntsc(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 1 Cartridge slot?
@@ -4154,7 +4278,7 @@ MACHINE_CONFIG_DERIVED(msx_state::cx5f1, msx_ntsc)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot", 1, 0)
MCFG_MSX_LAYOUT_YAMAHA_EXPANSION("expansion", 2, 0, "sfg01")
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Yamaha CX5F (with SFG05) */
@@ -4164,7 +4288,8 @@ ROM_START (cx5f)
ROM_LOAD ("cx5fbios.rom", 0x0000, 0x8000, CRC(dc662057) SHA1(36d77d357a5fd15af2ab266ee66e5091ba4770a3))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::cx5f, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::cx5f)
+ msx_ntsc(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 1 Cartridge slot?
@@ -4176,7 +4301,7 @@ MACHINE_CONFIG_DERIVED(msx_state::cx5f, msx_ntsc)
MCFG_MSX_LAYOUT_YAMAHA_EXPANSION("expansion", 3, 0, "sfg05")
MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 2, 2) // 32KB RAM
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Yamaha CX5M / Yamaha CX5M-2 */
@@ -4186,7 +4311,8 @@ ROM_START (cx5m)
ROM_LOAD ("cx5mbios.rom", 0x0000, 0x8000, CRC(e2242b53) SHA1(706dd67036baeec7127e4ccd8c8db8f6ce7d0e4c))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::cx5m, msx_tms9929)
+MACHINE_CONFIG_START(msx_state::cx5m)
+ msx_tms9929(config);
// YM2149
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -4198,7 +4324,7 @@ MACHINE_CONFIG_DERIVED(msx_state::cx5m, msx_tms9929)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
MCFG_MSX_LAYOUT_YAMAHA_EXPANSION("expansion", 3, 0, "sfg01")
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Yamaha CX5M-128 */
@@ -4210,7 +4336,8 @@ ROM_START (cx5m128)
ROM_LOAD ("yrm502.rom", 0x14000, 0x4000, CRC(5330fe21) SHA1(7b1798561ee1844a7d6432924fbee9b4fc591c19))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::cx5m128, msx_pal)
+MACHINE_CONFIG_START(msx_state::cx5m128)
+ msx_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -4223,7 +4350,7 @@ MACHINE_CONFIG_DERIVED(msx_state::cx5m128, msx_pal)
MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) /* 128KB Mapper RAM */
MCFG_MSX_LAYOUT_YAMAHA_EXPANSION("expansion", 3, 3, "sfg05")
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Yamaha CX5MII */
@@ -4234,7 +4361,8 @@ ROM_START (cx5m2)
ROM_LOAD ("cx5m2ext.rom", 0x8000, 0x4000, CRC(feada82e) SHA1(48b0c2ff1f1e407cc44394219f7b3878efaa919f))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::cx5m2, msx_pal)
+MACHINE_CONFIG_START(msx_state::cx5m2)
+ msx_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -4246,7 +4374,7 @@ MACHINE_CONFIG_DERIVED(msx_state::cx5m2, msx_pal)
MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x10000) /* 64KB Mapper RAM */
MCFG_MSX_LAYOUT_YAMAHA_EXPANSION("expansion", 3, 3, "sfg05")
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Yamaha YIS303 */
@@ -4257,7 +4385,8 @@ ROM_START (yis303)
ROM_FILL( 0x8000, 0xc000, 0xff )
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::yis303, msx_pal)
+MACHINE_CONFIG_START(msx_state::yis303)
+ msx_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -4268,7 +4397,7 @@ MACHINE_CONFIG_DERIVED(msx_state::yis303, msx_pal)
MCFG_MSX_LAYOUT_ROM("fillff", 3, 0, 0, 3, "maincpu", 0x0000) /* Fill FF */
MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 3, 1) /* 16KB RAM */
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Yamaha YIS503 */
@@ -4279,7 +4408,8 @@ ROM_START (yis503)
ROM_FILL( 0x8000, 0xc000, 0xff )
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::yis503, msx_pal)
+MACHINE_CONFIG_START(msx_state::yis503)
+ msx_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -4290,7 +4420,7 @@ MACHINE_CONFIG_DERIVED(msx_state::yis503, msx_pal)
MCFG_MSX_LAYOUT_ROM("fillff", 3, 0, 0, 3, "maincpu", 0x0000) /* Fill FF */
MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 2, 2) /* 32KB RAM */
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Yamaha YIS503F */
@@ -4300,7 +4430,8 @@ ROM_START (yis503f)
ROM_LOAD ("yis503f.rom", 0x0000, 0x8000, CRC(e9ccd789) SHA1(8963fc041975f31dc2ab1019cfdd4967999de53e))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::yis503f, msx_pal)
+MACHINE_CONFIG_START(msx_state::yis503f)
+ msx_pal(config);
// YM2149
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -4310,7 +4441,7 @@ MACHINE_CONFIG_DERIVED(msx_state::yis503f, msx_pal)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB?? RAM */
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Yamaha YIS503II */
@@ -4320,7 +4451,8 @@ ROM_START (yis503ii)
ROM_LOAD ("yis503iibios.rom", 0x0000, 0x8000, CRC(e2242b53) SHA1(706dd67036baeec7127e4ccd8c8db8f6ce7d0e4c))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::yis503ii, msx_pal)
+MACHINE_CONFIG_START(msx_state::yis503ii)
+ msx_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -4330,7 +4462,7 @@ MACHINE_CONFIG_DERIVED(msx_state::yis503ii, msx_pal)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Yamaha YIS503IIR Russian */
@@ -4342,7 +4474,8 @@ ROM_START (y503iir)
ROM_LOAD ("yis503iirnet.rom", 0xc000, 0x2000, CRC(0731db3f) SHA1(264fbb2de69fdb03f87dc5413428f6aa19511a7f))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::y503iir, msx_pal)
+MACHINE_CONFIG_START(msx_state::y503iir)
+ msx_pal(config);
// YM2149 (in S-3527 MSX Engine)
// FDC: wd2793/mb8877?, 1 3.5" DSDD drive
// 2 Cartridge slots
@@ -4357,11 +4490,11 @@ MACHINE_CONFIG_DERIVED(msx_state::y503iir, msx_pal)
MCFG_MSX_LAYOUT_RAM("ram", 3, 2, 0, 4) /* 64KB RAM */
MCFG_MSX_LAYOUT_ROM("net", 3, 3, 1, 1, "maincpu", 0xc000) /* Net */
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx1_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_dd_drive(config);
+ msx1_floplist(config);
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Yamaha YIS503IIR Estonian */
@@ -4373,7 +4506,8 @@ ROM_START (y503iir2)
ROM_LOAD ("yis503iirnet.rom", 0xc000, 0x2000, CRC(0731db3f) SHA1(264fbb2de69fdb03f87dc5413428f6aa19511a7f))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::y503iir2, msx_pal)
+MACHINE_CONFIG_START(msx_state::y503iir2)
+ msx_pal(config);
// AY8910/YM2149?
// FDC: wd2793/mb8877?, 1 3.5" DSDD drive?
// 2 Cartridge slots?
@@ -4385,11 +4519,11 @@ MACHINE_CONFIG_DERIVED(msx_state::y503iir2, msx_pal)
MCFG_MSX_LAYOUT_RAM("ram", 3, 2, 0, 4) /* 64KB RAM */
MCFG_MSX_LAYOUT_ROM("net", 3, 3, 1, 1, "maincpu", 0xc000) /* Net */
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx1_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_dd_drive(config);
+ msx1_floplist(config);
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Yamaha YIS503M */
@@ -4399,7 +4533,8 @@ ROM_START (yis503m)
ROM_LOAD ("yis503mbios.rom", 0x0000, 0x8000, CRC(e2242b53) SHA1(706dd67036baeec7127e4ccd8c8db8f6ce7d0e4c))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::yis503m, msx_pal)
+MACHINE_CONFIG_START(msx_state::yis503m)
+ msx_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -4410,7 +4545,7 @@ MACHINE_CONFIG_DERIVED(msx_state::yis503m, msx_pal)
MCFG_MSX_LAYOUT_YAMAHA_EXPANSION("expansion", 3, 0, "sfg05")
MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 2, 2) /* 32KB RAM */
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Yashica YC-64 */
@@ -4420,7 +4555,8 @@ ROM_START (yc64)
ROM_LOAD ("yc64bios.rom", 0x0000, 0x8000, CRC(e9ccd789) SHA1(8963fc041975f31dc2ab1019cfdd4967999de53e))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::yc64, msx_pal)
+MACHINE_CONFIG_START(msx_state::yc64)
+ msx_pal(config);
// YM2149
// FDC: None, 0 drives
// 1 Cartridge slot (slot 1)
@@ -4429,7 +4565,7 @@ MACHINE_CONFIG_DERIVED(msx_state::yc64, msx_pal)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot", 1, 0)
MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
/* MSX - Yeno MX64 */
@@ -4439,7 +4575,8 @@ ROM_START (mx64)
ROM_LOAD ("mx64bios.rom", 0x0000, 0x8000, CRC(e0e894b7) SHA1(d99eebded5db5fce1e072d08e642c0909bc7efdd))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::mx64, msx_ntsc)
+MACHINE_CONFIG_START(msx_state::mx64)
+ msx_ntsc(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -4449,7 +4586,7 @@ MACHINE_CONFIG_DERIVED(msx_state::mx64, msx_ntsc)
MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB RAM */
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx1_cartlist )
+ msx1_cartlist(config);
MACHINE_CONFIG_END
@@ -4467,7 +4604,8 @@ ROM_START (ax350)
ROM_LOAD ("ax350disk.rom", 0x2c000, 0x4000, CRC(1e7d6512) SHA1(78cd7f847e77fd8cd51a647efb2725ba93f4c471))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::ax350, msx2_pal)
+MACHINE_CONFIG_START(msx_state::ax350)
+ msx2_pal(config);
// AY8910/YM2149?
// FDC: wd2793/tc8566af?, 1 3.5" DSDD drive
// 2 Cartridge slots?
@@ -4483,11 +4621,11 @@ MACHINE_CONFIG_DERIVED(msx_state::ax350, msx2_pal)
MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) /* 128KB Mapper RAM */
MCFG_MSX_RAMIO_SET_BITS(0xf8)
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Al Alamiah AX-370 */
@@ -4502,7 +4640,8 @@ ROM_START (ax370)
ROM_LOAD ("ax370disk.rom", 0x2c000, 0x4000, CRC(60f8baba) SHA1(95de8809d2758fc0a743390ea5085b602e59e101))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::ax370, msx2_pal)
+MACHINE_CONFIG_START(msx_state::ax370)
+ msx2_pal(config);
// AY8910/YM2149?
// FDC: tc8566af, 1 3.5" DSDD drive
// 2 Cartridge slots?
@@ -4518,11 +4657,11 @@ MACHINE_CONFIG_DERIVED(msx_state::ax370, msx2_pal)
MCFG_MSX_LAYOUT_DISK3("disk", 3, 2, 1, 1, "maincpu", 0x2c000)
MCFG_MSX_LAYOUT_ROM("paint", 3, 3, 0, 4, "maincpu", 0x1c000) /* Paint */
- MCFG_FRAGMENT_ADD( msx_tc8566af )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_tc8566af(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Canon V-25 */
@@ -4533,7 +4672,8 @@ ROM_START (canonv25)
ROM_LOAD ("v25ext.rom", 0x8000, 0x4000, CRC(4a48779c) SHA1(b8e30d604d319d511cbfbc61e5d8c38fbb9c5a33))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::canonv25, msx2)
+MACHINE_CONFIG_START(msx_state::canonv25)
+ msx2(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -4548,9 +4688,9 @@ MACHINE_CONFIG_DERIVED(msx_state::canonv25, msx2)
MCFG_MSX_S1985_ADD("s1985")
- MCFG_FRAGMENT_ADD( msx2_64kb_vram )
+ msx2_64kb_vram(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Canon V-30 */
@@ -4562,7 +4702,8 @@ ROM_START (canonv30)
ROM_LOAD ("v30disk.rom", 0xc000, 0x4000, CRC(54c73ad6) SHA1(12f2cc79b3d09723840bae774be48c0d721ec1c6))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::canonv30, msx2)
+MACHINE_CONFIG_START(msx_state::canonv30)
+ msx2(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: ??, 2 3.5" DSDD drive
// 2 Cartridge slots
@@ -4577,11 +4718,11 @@ MACHINE_CONFIG_DERIVED(msx_state::canonv30, msx2)
MCFG_MSX_S1985_ADD("s1985")
- MCFG_FRAGMENT_ADD( msx_wd2793 )
- MCFG_FRAGMENT_ADD( msx_2_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793(config);
+ msx_2_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Canon V-30F */
@@ -4593,7 +4734,8 @@ ROM_START (canonv30f)
ROM_LOAD ("v30fdisk.rom", 0xc000, 0x4000, CRC(54c73ad6) SHA1(12f2cc79b3d09723840bae774be48c0d721ec1c6))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::canonv30f, msx2)
+MACHINE_CONFIG_START(msx_state::canonv30f)
+ msx2(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: ??, 2 3.5" DSDD drive
// 2 Cartridge slots
@@ -4608,11 +4750,11 @@ MACHINE_CONFIG_DERIVED(msx_state::canonv30f, msx2)
MCFG_MSX_S1985_ADD("s1985")
- MCFG_FRAGMENT_ADD( msx_wd2793 )
- MCFG_FRAGMENT_ADD( msx_2_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793(config);
+ msx_2_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Daewoo CPC-300 */
@@ -4624,7 +4766,8 @@ ROM_START (cpc300)
ROM_LOAD ("300han.rom", 0x10000, 0x8000, CRC(e78cd87f) SHA1(47a9d9a24e4fc6f9467c6e7d61a02d45f5a753ef))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::cpc300, msx2)
+MACHINE_CONFIG_START(msx_state::cpc300)
+ msx2(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -4640,7 +4783,7 @@ MACHINE_CONFIG_DERIVED(msx_state::cpc300, msx2)
MCFG_MSX_S1985_ADD("s1985")
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Daewoo CPC-300E */
@@ -4653,7 +4796,8 @@ ROM_START (cpc300e)
ROM_LOAD ("300ehan.rom", 0x10000, 0x4000, BAD_DUMP CRC(5afea78d) SHA1(f08c91f8c78d681e1f02eaaaaafb87ad81112b60))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::cpc300e, msx2)
+MACHINE_CONFIG_START(msx_state::cpc300e)
+ msx2(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -4668,7 +4812,7 @@ MACHINE_CONFIG_DERIVED(msx_state::cpc300e, msx2)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Daewoo CPC-330K */
@@ -4680,7 +4824,8 @@ ROM_START (cpc330k)
ROM_LOAD ("330khan.rom", 0x10000, 0x4000, CRC(3d6dd335) SHA1(d2b058989a700ca772b9591f42c01ed0f45f74d6))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::cpc330k, msx2)
+MACHINE_CONFIG_START(msx_state::cpc330k)
+ msx2(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -4697,7 +4842,7 @@ MACHINE_CONFIG_DERIVED(msx_state::cpc330k, msx2)
MCFG_MSX_S1985_ADD("s1985")
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Daewoo CPC-400 */
@@ -4713,7 +4858,8 @@ ROM_START (cpc400)
ROM_LOAD ("400kfn.rom", 0, 0x20000, CRC(b663c605) SHA1(965f4982790f1817bcbabbb38c8777183b231a55))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::cpc400, msx2)
+MACHINE_CONFIG_START(msx_state::cpc400)
+ msx2(config);
// AY8910/YM2149?
// FDC: mb8877a, 1 3.5" DS?DD drive
// 2 Cartridge slots?
@@ -4727,11 +4873,11 @@ MACHINE_CONFIG_DERIVED(msx_state::cpc400, msx2)
MCFG_MSX_LAYOUT_DISK2("disk", 2, 0, 1, 1, "maincpu", 0x8000)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx_mb8877a )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_mb8877a(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Daewoo CPC-400S */
@@ -4747,7 +4893,8 @@ ROM_START (cpc400s)
ROM_LOAD ("400skfn.rom", 0, 0x20000, CRC(fa85368c) SHA1(30fff22e3e3d464993707488442721a5e56a9707))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::cpc400s, msx2)
+MACHINE_CONFIG_START(msx_state::cpc400s)
+ msx2(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: mb8877a, 1 3.5" DS?DD drive
// 2 Cartridge slots
@@ -4764,11 +4911,11 @@ MACHINE_CONFIG_DERIVED(msx_state::cpc400s, msx2)
MCFG_MSX_S1985_ADD("s1985")
- MCFG_FRAGMENT_ADD( msx_mb8877a )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_mb8877a(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Daewoo Zemmix CPC-61 */
@@ -4782,7 +4929,8 @@ ROM_START (cpc61)
ROM_LOAD ("61kfn.rom", 0x00000, 0x40000, CRC(9a3cf67c) SHA1(22d5f4e522250dc5eb17e15b68f4a51bb752cba1))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::cpc61, msx2)
+MACHINE_CONFIG_START(msx_state::cpc61)
+ msx2(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: None, 0 drives
// 1 Cartridge slot
@@ -4799,7 +4947,7 @@ MACHINE_CONFIG_DERIVED(msx_state::cpc61, msx2)
MCFG_MSX_S1985_ADD("s1985")
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Daewoo Zemmix CPG-120 Normal */
@@ -4814,7 +4962,8 @@ ROM_START (cpg120)
ROM_LOAD ("cpg120kfn.rom", 0x0000, 0x40000, CRC(9a3cf67c) SHA1(22d5f4e522250dc5eb17e15b68f4a51bb752cba1))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::cpg120, msx2)
+MACHINE_CONFIG_START(msx_state::cpg120)
+ msx2(config);
// YM2149 (in S1985)
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -4834,9 +4983,9 @@ MACHINE_CONFIG_DERIVED(msx_state::cpg120, msx2)
MCFG_MSX_S1985_ADD("s1985")
- MCFG_FRAGMENT_ADD( msx_ym2413 )
+ msx_ym2413(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Daewoo Zemmic CPG-120 Turbo */
@@ -4851,7 +5000,8 @@ ROM_START (fpc900)
ROM_LOAD ("fpc900disk.rom", 0xc000, 0x4000, CRC(ca3307d3) SHA1(c3efedda7ab947a06d9345f7b8261076fa7ceeef))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::fpc900, msx2_pal)
+MACHINE_CONFIG_START(msx_state::fpc900)
+ msx2_pal(config);
// YM2149 (in S-3527 MSX Engine)
// FDC: WD2793?, 1 3.5" DSDD drive
// 2? Cartridge slots
@@ -4865,11 +5015,11 @@ MACHINE_CONFIG_DERIVED(msx_state::fpc900, msx2_pal)
MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x40000) // 256KB? Mapper RAM
MCFG_MSX_LAYOUT_DISK1("disk", 3, 3, 1, 1, "maincpu", 0xc000)
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Gradiente Expert 2.0 */
@@ -4882,7 +5032,8 @@ ROM_START (expert20)
ROM_LOAD ("microsoldisk.rom", 0x10000, 0x4000, CRC(6704ef81) SHA1(a3028515ed829e900cc8deb403e17b09a38bf9b0))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::expert20, msx2_pal)
+MACHINE_CONFIG_START(msx_state::expert20)
+ msx2_pal(config);
// AY8910/YM2149?
// FDC: microsol, 1? 3.5"? DS?DD drive
// 2 Cartridge slots?
@@ -4896,11 +5047,11 @@ MACHINE_CONFIG_DERIVED(msx_state::expert20, msx2_pal)
MCFG_MSX_RAMIO_SET_BITS(0x80)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx_microsol )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_microsol(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Hitachi MB-H70 */
@@ -4916,7 +5067,8 @@ ROM_START (mbh70)
ROM_LOAD ("mbh70kfn.rom", 0x0000, 0x20000, CRC(d23d4d2d) SHA1(db03211b7db46899df41db2b1dfbec972109a967))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::mbh70, msx2)
+MACHINE_CONFIG_START(msx_state::mbh70)
+ msx2(config);
// YM2149 (in S-1985)
// FDC: WD2793?, 1? 3.5" DSDD drive
// S-1985 MSX Engine
@@ -4932,11 +5084,11 @@ MACHINE_CONFIG_DERIVED(msx_state::mbh70, msx2)
MCFG_MSX_S1985_ADD("s1985")
- MCFG_FRAGMENT_ADD( msx_wd2793 )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Kawai KMC-5000 */
@@ -4952,7 +5104,8 @@ ROM_START (kmc5000)
ROM_LOAD ("kmc5000kfn.rom", 0, 0x20000, CRC(c61ddc5d) SHA1(5e872d5853698731a0ed22fb72dbcdfd59cd19c3))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::kmc5000, msx2)
+MACHINE_CONFIG_START(msx_state::kmc5000)
+ msx2(config);
// YM2149 (in S-1985)
// FDC: TC8566AF?, 1? 3.5" DSDD drive
// S-1985 MSX Engine
@@ -4968,11 +5121,11 @@ MACHINE_CONFIG_DERIVED(msx_state::kmc5000, msx2)
MCFG_MSX_S1985_ADD("s1985")
- MCFG_FRAGMENT_ADD( msx_tc8566af )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_tc8566af(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Mitsubishi ML-G1 */
@@ -4984,7 +5137,8 @@ ROM_START (mlg1)
ROM_LOAD ("mlg1paint.rom", 0xc000, 0x8000, CRC(64df1750) SHA1(5cf0abca6dbcf940bc33c433ecb4e4ada02fbfe6))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::mlg1, msx2_pal)
+MACHINE_CONFIG_START(msx_state::mlg1)
+ msx2_pal(config);
// YM2149 (in S-1985)
// FDC: None, 0 drives
// S-1985 MSX Engine
@@ -4999,7 +5153,7 @@ MACHINE_CONFIG_DERIVED(msx_state::mlg1, msx2_pal)
MCFG_MSX_S1985_ADD("s1985")
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Mitsubishi ML-G3 */
@@ -5012,7 +5166,8 @@ ROM_START (mlg3)
ROM_LOAD ("mlg3rs232c.rom", 0x10000, 0x4000, CRC(90b8a114) SHA1(dc50f2c9db233e505b0981c244ff3de553ac9d68))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::mlg3, msx2_pal)
+MACHINE_CONFIG_START(msx_state::mlg3)
+ msx2_pal(config);
// YM2149 (in S-1985)
// FDC: wd2793?, 1 3.5" DSDD drive
// S-1985 MSX Engine
@@ -5028,11 +5183,11 @@ MACHINE_CONFIG_DERIVED(msx_state::mlg3, msx2_pal)
MCFG_MSX_S1985_ADD("s1985")
- MCFG_FRAGMENT_ADD( msx_wd2793 )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Mitsubishi ML-G10 */
@@ -5046,7 +5201,8 @@ ROM_START (mlg10)
ROM_LOAD ("mlg10kfn.rom", 0, 0x20000, CRC(d23d4d2d) SHA1(db03211b7db46899df41db2b1dfbec972109a967))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::mlg10, msx2)
+MACHINE_CONFIG_START(msx_state::mlg10)
+ msx2(config);
// YM2149 (in S-1985)
// FDC: None, 0 drives
// S-1985 MSX Engine
@@ -5060,7 +5216,7 @@ MACHINE_CONFIG_DERIVED(msx_state::mlg10, msx2)
MCFG_MSX_S1985_ADD("s1985")
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Mitsubishi ML-G30 Model 1/Model 2 */
@@ -5075,7 +5231,8 @@ ROM_START (mlg30)
ROM_LOAD ("g30kfn.rom", 0x0000, 0x20000, CRC(d23d4d2d) SHA1(db03211b7db46899df41db2b1dfbec972109a967))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::mlg30, msx2)
+MACHINE_CONFIG_START(msx_state::mlg30)
+ msx2(config);
// AY8910/YM2149?
// FDC: wd2793/tc8566af?, 1 or 2? 3.5" DSDD drives
// 2 Cartridge slots?
@@ -5087,11 +5244,11 @@ MACHINE_CONFIG_DERIVED(msx_state::mlg30, msx2)
MCFG_MSX_LAYOUT_DISK1("disk", 3, 0, 1, 1, "maincpu", 0xc000)
MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x10000) /* 64KB Mapper RAM */
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - National FS-4500 */
@@ -5116,7 +5273,8 @@ ROM_START (fs4500)
ROM_LOAD ("4500budi.rom", 0, 0x20000, CRC(f94590f8) SHA1(1ebb06062428fcdc66808a03761818db2bba3c73))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::fs4500, msx2)
+MACHINE_CONFIG_START(msx_state::fs4500)
+ msx2(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -5140,7 +5298,7 @@ MACHINE_CONFIG_DERIVED(msx_state::fs4500, msx2)
MCFG_MSX_MATSUSHITA_ADD( "matsushita" )
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - National FS-4600 */
@@ -5163,7 +5321,8 @@ ROM_START (fs4600)
ROM_LOAD ("4600kf12.rom", 0, 0x20000, CRC(340d1ef7) SHA1(a7a23dc01314e88381eee88b4878b39931ab4818))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::fs4600, msx2)
+MACHINE_CONFIG_START(msx_state::fs4600)
+ msx2(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: mb8877a, 1 3.5" DSDD drive
// 2 Cartridge slots
@@ -5183,11 +5342,11 @@ MACHINE_CONFIG_DERIVED(msx_state::fs4600, msx2)
MCFG_MSX_S1985_ADD("s1985")
- MCFG_FRAGMENT_ADD( msx_mb8877a )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_mb8877a(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - National FS-4700 */
@@ -5213,7 +5372,8 @@ ROM_START (fs4700)
ROM_LOAD ("4700budi.rom", 0, 0x20000, CRC(f94590f8) SHA1(1ebb06062428fcdc66808a03761818db2bba3c73))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::fs4700, msx2)
+MACHINE_CONFIG_START(msx_state::fs4700)
+ msx2(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: mb8877a, 1 3.5" DSDD drive
// 2 Cartridge slots
@@ -5238,11 +5398,11 @@ MACHINE_CONFIG_DERIVED(msx_state::fs4700, msx2)
MCFG_MSX_MATSUSHITA_ADD( "matsushita" )
- MCFG_FRAGMENT_ADD( msx_mb8877a )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_mb8877a(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - National FS-5000 */
@@ -5260,7 +5420,8 @@ ROM_START (fs5000)
ROM_LOAD ("5000kfn.rom", 0, 0x20000, CRC(c61ddc5d) SHA1(5e872d5853698731a0ed22fb72dbcdfd59cd19c3))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::fs5000, msx2)
+MACHINE_CONFIG_START(msx_state::fs5000)
+ msx2(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: wd2793, 2 3.5" DSDD drives
// 2 Cartridge slots
@@ -5281,11 +5442,11 @@ MACHINE_CONFIG_DERIVED(msx_state::fs5000, msx2)
MCFG_MSX_S1985_ADD("s1985")
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_2_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_2_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - National FS-5500F2*/
@@ -5306,7 +5467,8 @@ ROM_START (fs5500f1)
ROM_LOAD ("5500kfn.rom", 0, 0x20000, CRC(956dc96d) SHA1(9ed3ab6d893632b9246e91b412cd5db519e7586b))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::fs5500f1, msx2)
+MACHINE_CONFIG_START(msx_state::fs5500f1)
+ msx2(config);
// YM2149 in (S-1985 MSX Engine)
// FDC: mb8877a, 1 3.5" DSDD drive
// 2 Cartridge slots
@@ -5329,11 +5491,11 @@ MACHINE_CONFIG_DERIVED(msx_state::fs5500f1, msx2)
MCFG_MSX_MATSUSHITA_ADD( "matsushita" )
- MCFG_FRAGMENT_ADD( msx_mb8877a )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_mb8877a(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - National FS-5500F2*/
@@ -5354,7 +5516,8 @@ ROM_START (fs5500f2)
ROM_LOAD ("5500kfn.rom", 0, 0x20000, CRC(956dc96d) SHA1(9ed3ab6d893632b9246e91b412cd5db519e7586b))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::fs5500f2, msx2)
+MACHINE_CONFIG_START(msx_state::fs5500f2)
+ msx2(config);
// YM2149 in (S-1985 MSX Engine)
// FDC: mb8877a, 2 3.5" DSDD drive
// 2 Cartridge slots
@@ -5377,11 +5540,11 @@ MACHINE_CONFIG_DERIVED(msx_state::fs5500f2, msx2)
MCFG_MSX_MATSUSHITA_ADD( "matsushita" )
- MCFG_FRAGMENT_ADD( msx_mb8877a )
- MCFG_FRAGMENT_ADD( msx_2_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_mb8877a(config);
+ msx_2_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Panasonic FS-A1 */
@@ -5394,7 +5557,8 @@ ROM_START (fsa1)
ROM_LOAD ("a1desk2.rom", 0x18000, 0x8000, CRC(7f6f4aa1) SHA1(7f5b76605e3d898cc4b5aacf1d7682b82fe84353))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::fsa1, msx2)
+MACHINE_CONFIG_START(msx_state::fsa1)
+ msx2(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -5407,7 +5571,7 @@ MACHINE_CONFIG_DERIVED(msx_state::fsa1, msx2)
MCFG_MSX_LAYOUT_ROM("desk1", 3, 2, 1, 2, "maincpu", 0x10000)
MCFG_MSX_LAYOUT_ROM("desk2", 3, 3, 1, 2, "maincpu", 0x18000)
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Panasonic FS-A1 (a) */
@@ -5420,7 +5584,8 @@ ROM_START (fsa1a)
ROM_LOAD ("a1desk2.rom", 0x14000, 0x8000, CRC(7f6f4aa1) SHA1(7f5b76605e3d898cc4b5aacf1d7682b82fe84353))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::fsa1a, msx2)
+MACHINE_CONFIG_START(msx_state::fsa1a)
+ msx2(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -5433,7 +5598,7 @@ MACHINE_CONFIG_DERIVED(msx_state::fsa1a, msx2)
MCFG_MSX_LAYOUT_ROM("desk1", 3, 2, 1, 2, "maincpu", 0xc000)
MCFG_MSX_LAYOUT_ROM("desk2", 3, 3, 1, 2, "maincpu", 0x14000)
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Panasonic FS-A1F */
@@ -5450,7 +5615,8 @@ ROM_START (fsa1f)
ROM_LOAD ("a1fkfn.rom", 0, 0x20000, CRC(c61ddc5d) SHA1(5e872d5853698731a0ed22fb72dbcdfd59cd19c3))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::fsa1f, msx2)
+MACHINE_CONFIG_START(msx_state::fsa1f)
+ msx2(config);
// AY8910/YM2149?
// FDC: tc8566af, 1 3.5" DSDD drive
// 2 Cartridge slots
@@ -5465,11 +5631,11 @@ MACHINE_CONFIG_DERIVED(msx_state::fsa1f, msx2)
MCFG_MSX_LAYOUT_DISK3("disk", 3, 2, 1, 1, "maincpu", 0xc000)
MCFG_MSX_LAYOUT_ROM("fcock", 3, 3, 1, 2, "maincpu", 0x18000)
- MCFG_FRAGMENT_ADD( msx_tc8566af )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_tc8566af(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Panasonic FS-A1FM */
@@ -5489,7 +5655,8 @@ ROM_START (fsa1fm)
ROM_LOAD ("a1fmkf12.rom", 0, 0x20000, CRC(340d1ef7) SHA1(a7a23dc01314e88381eee88b4878b39931ab4818))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::fsa1fm, msx2)
+MACHINE_CONFIG_START(msx_state::fsa1fm)
+ msx2(config);
// AY8910/YM2149?
// FDC: tc8566af, 1 3.5" DSDD drive
// 2 Cartridge slots
@@ -5505,11 +5672,11 @@ MACHINE_CONFIG_DERIVED(msx_state::fsa1fm, msx2)
MCFG_MSX_LAYOUT_DISK3("disk", 3, 2, 1, 1, "maincpu", 0xc000)
/* MSX_LAYOUT_SLOT (3, 3, 0, 4, FSA1FM_ROM, 0x100000, 0x10000) */ /* Panasonic FS-A1FM Mapper must be emulated */
- MCFG_FRAGMENT_ADD( msx_tc8566af )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_tc8566af(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Panasonic FS-A1MK2 */
@@ -5523,7 +5690,8 @@ ROM_START (fsa1mk2)
ROM_LOAD ("a1mkcoc3.rom", 0x18000, 0x8000, CRC(c1945676) SHA1(a3f4e2e4934074925d775afe30ac72f150ede543))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::fsa1mk2, msx2)
+MACHINE_CONFIG_START(msx_state::fsa1mk2)
+ msx2(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -5538,7 +5706,7 @@ MACHINE_CONFIG_DERIVED(msx_state::fsa1mk2, msx2)
MCFG_MSX_LAYOUT_ROM("coc2", 3, 2, 1, 1, "maincpu", 0x14000)
MCFG_MSX_LAYOUT_ROM("coc3", 3, 3, 1, 2, "maincpu", 0x18000)
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Philips NMS-8220 - 2 possible sets (/00 /16) */
@@ -5550,7 +5718,8 @@ ROM_START (nms8220)
ROM_LOAD ("8220pen.rom.u13", 0xc000, 0x4000, CRC(3d38c53e) SHA1(cb754aed85b3e97a7d3c5894310df7ca18f89f41))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::nms8220, msx2_pal)
+MACHINE_CONFIG_START(msx_state::nms8220)
+ msx2_pal(config);
// YM2149 (in S-3527 MSX Engine)
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -5564,7 +5733,7 @@ MACHINE_CONFIG_DERIVED(msx_state::nms8220, msx2_pal)
MCFG_MSX_RAMIO_SET_BITS(0xf8)
MCFG_MSX_LAYOUT_ROM("pen", 3, 3, 1, 1, "maincpu", 0xc000)
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Philips NMS-8220 (a) */
@@ -5576,7 +5745,8 @@ ROM_START (nms8220a)
ROM_LOAD ("8220pena.rom.u13", 0xc000, 0x4000, CRC(17817b5a) SHA1(5df95d033ae70b107697b69470126ce1b7ae9eb5))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::nms8220a, msx2_pal)
+MACHINE_CONFIG_START(msx_state::nms8220a)
+ msx2_pal(config);
// YM2149 (in S-3527 MSX Engine)
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -5590,7 +5760,7 @@ MACHINE_CONFIG_DERIVED(msx_state::nms8220a, msx2_pal)
MCFG_MSX_RAMIO_SET_BITS(0xf8)
MCFG_MSX_LAYOUT_ROM("pen", 3, 3, 1, 1, "maincpu", 0xc000)
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Philips NMS-8245 - 2 possible sets (/00 /16) */
@@ -5603,7 +5773,8 @@ ROM_START (nms8245)
ROM_LOAD ("nms8245.u7", 0x0000, 0x20000, BAD_DUMP CRC(0c827d5f) SHA1(064e706cb1f12b99b329944ceeedc0efc3b2d9be))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::nms8245, msx2_pal)
+MACHINE_CONFIG_START(msx_state::nms8245)
+ msx2_pal(config);
// YM2149 (in S-3527 MSX Engine)
// FDC: wd2793, 1 3.5" DSDD drive
// 2 Cartridge slots
@@ -5617,11 +5788,11 @@ MACHINE_CONFIG_DERIVED(msx_state::nms8245, msx2_pal)
MCFG_MSX_RAMIO_SET_BITS(0xf8)
MCFG_MSX_LAYOUT_DISK1("disk", 3, 3, 1, 1, "maincpu", 0xc000)
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Philips NMS-8245F */
@@ -5632,7 +5803,8 @@ ROM_START (nms8245f)
ROM_LOAD ("nms8245.u7", 0x0000, 0x20000, BAD_DUMP CRC(0c827d5f) SHA1(064e706cb1f12b99b329944ceeedc0efc3b2d9be))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::nms8245f, msx2_pal)
+MACHINE_CONFIG_START(msx_state::nms8245f)
+ msx2_pal(config);
// YM2149 (in S-3527 MSX Engine)
// FDC: wd2793, 1 3.5" DSDD drive
// 2 Cartridge slots
@@ -5646,11 +5818,11 @@ MACHINE_CONFIG_DERIVED(msx_state::nms8245f, msx2_pal)
MCFG_MSX_RAMIO_SET_BITS(0xf8)
MCFG_MSX_LAYOUT_DISK1("disk", 3, 3, 1, 1, "maincpu", 0x1c000)
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Philips NMS-8250 */
@@ -5663,7 +5835,8 @@ ROM_START (nms8250)
ROM_LOAD ("jq00014.ic117", 0xc000, 0x4000, CRC(ca3307d3) SHA1(c3efedda7ab947a06d9345f7b8261076fa7ceeef))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::nms8250, msx2_pal)
+MACHINE_CONFIG_START(msx_state::nms8250)
+ msx2_pal(config);
// YM2149 (in S-3527 MSX Engine)
// FDC: wd2793, 1 3.5" DSDD drive
// 2 Cartridge slots
@@ -5677,11 +5850,11 @@ MACHINE_CONFIG_DERIVED(msx_state::nms8250, msx2_pal)
MCFG_MSX_RAMIO_SET_BITS(0xf8)
MCFG_MSX_LAYOUT_DISK1("disk", 3, 3, 1, 1, "maincpu", 0xc000)
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Philips NMS-8250F */
@@ -5693,7 +5866,8 @@ ROM_START (nms8250f)
ROM_LOAD ("nms8250fdisk.rom", 0xc000, 0x4000, CRC(13b60725) SHA1(58ba1887e8fd21c912b6859cae6514bd874ffcca))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::nms8250f, msx2_pal)
+MACHINE_CONFIG_START(msx_state::nms8250f)
+ msx2_pal(config);
// YM2149 (in S-3527 MSX Engine)
// FDC: wd2793, 1 3.5" DSDD drive
// 2 Cartridge slots
@@ -5707,11 +5881,11 @@ MACHINE_CONFIG_DERIVED(msx_state::nms8250f, msx2_pal)
MCFG_MSX_RAMIO_SET_BITS(0xf8)
MCFG_MSX_LAYOUT_DISK1("disk", 3, 3, 1, 1, "maincpu", 0xc000)
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Philips NMS-8250J */
@@ -5726,7 +5900,8 @@ ROM_START (nms8250j)
ROM_LOAD ("8250jkfn.rom", 0x00000, 0x20000, CRC(5a59926e) SHA1(6acaf2eeb57f65f7408235d5e07b7563229de799))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::nms8250j, msx2)
+MACHINE_CONFIG_START(msx_state::nms8250j)
+ msx2(config);
// AY8910/YM2149?
// FDC: wd2793?, 1 3.5" DSDD drive
// 2 Cartridge slots?
@@ -5738,11 +5913,11 @@ MACHINE_CONFIG_DERIVED(msx_state::nms8250j, msx2)
MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) /* 128KB Mapper RAM */
MCFG_MSX_LAYOUT_DISK1("disk", 3, 3, 1, 1, "maincpu", 0xc000)
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Philips NMS-8255 */
@@ -5754,7 +5929,8 @@ ROM_START (nms8255)
ROM_LOAD ("8255disk.rom.ic117", 0xc000, 0x4000, CRC(ca3307d3) SHA1(c3efedda7ab947a06d9345f7b8261076fa7ceeef))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::nms8255, msx2_pal)
+MACHINE_CONFIG_START(msx_state::nms8255)
+ msx2_pal(config);
// YM2149 (in S-3527 MSX Engine)
// FDC: wd2793, 2 3.5" DSDD drives
// 2 Cartridge slots
@@ -5768,11 +5944,11 @@ MACHINE_CONFIG_DERIVED(msx_state::nms8255, msx2_pal)
MCFG_MSX_RAMIO_SET_BITS(0xf8)
MCFG_MSX_LAYOUT_DISK1("disk", 3, 3, 1, 1, "maincpu", 0xc000)
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_2_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_2_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Philips NMS-8255F */
@@ -5784,7 +5960,8 @@ ROM_START (nms8255f)
ROM_LOAD ("nms8255fdisk.rom", 0xc000, 0x4000, CRC(13b60725) SHA1(58ba1887e8fd21c912b6859cae6514bd874ffcca))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::nms8255f, msx2_pal)
+MACHINE_CONFIG_START(msx_state::nms8255f)
+ msx2_pal(config);
// YM2149 (in S-3527 MSX Engine)
// FDC: wd2793, 2 3.5" DSDD drives
// 2 Cartridge slots
@@ -5798,11 +5975,11 @@ MACHINE_CONFIG_DERIVED(msx_state::nms8255f, msx2_pal)
MCFG_MSX_RAMIO_SET_BITS(0xf8)
MCFG_MSX_LAYOUT_DISK1("disk", 3, 3, 1, 1, "maincpu", 0xc000)
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_2_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_2_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Philips NMS-8260 */
@@ -5816,7 +5993,8 @@ ROM_START (nms8260)
ROM_LOAD ("nms8260hdd.rom", 0x10000, 0x4000, CRC(0051afc3) SHA1(77f9fe964f6d8cb8c4af3b5fe63ce6591d5288e6))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::nms8260, msx2_pal)
+MACHINE_CONFIG_START(msx_state::nms8260)
+ msx2_pal(config);
// YM2149 (in S-3527 MSX Engine)
// FDC: wd2793, 1 3.5" DSDD drives
// 2 Cartridge slots
@@ -5831,11 +6009,11 @@ MACHINE_CONFIG_DERIVED(msx_state::nms8260, msx2_pal)
MCFG_MSX_LAYOUT_DISK1("disk", 3, 3, 1, 1, "maincpu", 0xc000)
// There is actually only an FDC inside the real thing. With a floppy controller to attach an external floppy drive
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Philips NMS-8270 - Not confirmed to exist yet */
@@ -5849,7 +6027,8 @@ ROM_START (nms8280)
ROM_LOAD ("8280disk.rom.ic117", 0xc000, 0x4000, CRC(ca3307d3) SHA1(c3efedda7ab947a06d9345f7b8261076fa7ceeef))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::nms8280, msx2_pal)
+MACHINE_CONFIG_START(msx_state::nms8280)
+ msx2_pal(config);
// AY8910/YM2149?
// FDC: wd2793, 2 3.5" DSDD drives
// 2 Cartridge slots
@@ -5862,11 +6041,11 @@ MACHINE_CONFIG_DERIVED(msx_state::nms8280, msx2_pal)
MCFG_MSX_RAMIO_SET_BITS(0xf8)
MCFG_MSX_LAYOUT_DISK1("disk", 3, 3, 1, 1, "maincpu", 0xc000)
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_2_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_2_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Philips NMS-8280F */
@@ -5878,7 +6057,8 @@ ROM_START (nms8280f)
ROM_LOAD ("8280fdisk.rom", 0xc000, 0x4000, CRC(13b60725) SHA1(58ba1887e8fd21c912b6859cae6514bd874ffcca))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::nms8280f, msx2_pal)
+MACHINE_CONFIG_START(msx_state::nms8280f)
+ msx2_pal(config);
// AY8910/YM2149?
// FDC: wd2793, 2 3.5" DSDD drives
// 2 Cartridge slots
@@ -5891,11 +6071,11 @@ MACHINE_CONFIG_DERIVED(msx_state::nms8280f, msx2_pal)
MCFG_MSX_RAMIO_SET_BITS(0xf8)
MCFG_MSX_LAYOUT_DISK1("disk", 3, 3, 1, 1, "maincpu", 0xc000)
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_2_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_2_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Philips NMS-8280G */
@@ -5907,7 +6087,8 @@ ROM_START (nms8280g)
ROM_LOAD ("8280gdisk.rom.ic117", 0xc000, 0x4000, CRC(d0beebb8) SHA1(d1001f93c87ff7fb389e418e33bf7bc81bdbb65f))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::nms8280g, msx2_pal)
+MACHINE_CONFIG_START(msx_state::nms8280g)
+ msx2_pal(config);
// AY8910/YM2149?
// FDC: wd2793, 2 3.5" DSDD drives
// 2 Cartridge slots
@@ -5920,11 +6101,11 @@ MACHINE_CONFIG_DERIVED(msx_state::nms8280g, msx2_pal)
MCFG_MSX_RAMIO_SET_BITS(0xf8)
MCFG_MSX_LAYOUT_DISK1("disk", 3, 3, 1, 1, "maincpu", 0xc000)
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_2_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_2_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Philips VG-8230 (u11 - exp, u12 - basic, u13 - disk */
@@ -5936,7 +6117,8 @@ ROM_START (vg8230)
ROM_LOAD ("8230disk.rom.u13", 0xc000, 0x4000, CRC(77c4e5bc) SHA1(849f93867ff7846b27f84d0be418569faf058ac2))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::vg8230, msx2_pal)
+MACHINE_CONFIG_START(msx_state::vg8230)
+ msx2_pal(config);
// YM2149 (in S-3527 MSX Engine)
// FDC: wd2793, 1 3.5" SSDD drive
// 2 Cartridge slots
@@ -5950,11 +6132,11 @@ MACHINE_CONFIG_DERIVED(msx_state::vg8230, msx2_pal)
MCFG_MSX_RAMIO_SET_BITS(0xf8)
MCFG_MSX_LAYOUT_DISK1("disk", 3, 3, 1, 1, "maincpu", 0xc000)
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_ssdd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_ssdd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Philips VG-8230J */
@@ -5969,7 +6151,8 @@ ROM_START (vg8230j)
ROM_LOAD ("8230jkfn.rom", 0x00000, 0x20000, CRC(5a59926e) SHA1(6acaf2eeb57f65f7408235d5e07b7563229de799))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::vg8230j, msx2)
+MACHINE_CONFIG_START(msx_state::vg8230j)
+ msx2(config);
// AY8910/YM2149?
// FDC: wd2793?, 1 3.5" SSDD drive?
// 2 Cartridge slots?
@@ -5981,11 +6164,11 @@ MACHINE_CONFIG_DERIVED(msx_state::vg8230j, msx2)
MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) /* 128KB Mapper RAM */
MCFG_MSX_LAYOUT_DISK1("disk", 3, 3, 1, 1, "maincpu", 0xc000)
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_ssdd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_ssdd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Philips VG-8235 3 psosible basic and ext roms (/00 /02 /19) */
@@ -5997,7 +6180,8 @@ ROM_START (vg8235)
ROM_LOAD ("8235disk.rom.u50", 0xc000, 0x4000, CRC(51daeb25) SHA1(8954e59aa79310c7b719ecf0cde1e82fb731dcd1))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::vg8235, msx2_pal)
+MACHINE_CONFIG_START(msx_state::vg8235)
+ msx2_pal(config);
// YM2149 (in S-3527 MSX Engine)
// FDC: wd2793, 1 3.5" SSDD drive
// 2 Cartridge slots
@@ -6011,11 +6195,11 @@ MACHINE_CONFIG_DERIVED(msx_state::vg8235, msx2_pal)
MCFG_MSX_RAMIO_SET_BITS(0xf8)
MCFG_MSX_LAYOUT_DISK1("disk", 3, 3, 1, 1, "maincpu", 0xc000)
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_ssdd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_ssdd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Philips VG-8235F */
@@ -6027,7 +6211,8 @@ ROM_START (vg8235f)
ROM_LOAD ("8235fdisk.rom.u50", 0xc000, 0x4000, CRC(77c4e5bc) SHA1(849f93867ff7846b27f84d0be418569faf058ac2))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::vg8235f, msx2_pal)
+MACHINE_CONFIG_START(msx_state::vg8235f)
+ msx2_pal(config);
// YM2149 (in S-3527 MSX Engine)
// FDC: wd2793, 1 3.5" SSDD drive
// 2 Cartridge slots
@@ -6041,11 +6226,11 @@ MACHINE_CONFIG_DERIVED(msx_state::vg8235f, msx2_pal)
MCFG_MSX_RAMIO_SET_BITS(0xf8)
MCFG_MSX_LAYOUT_DISK1("disk", 3, 3, 1, 1, "maincpu", 0xc000)
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_ssdd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_ssdd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Philips VG-8240 */
@@ -6057,7 +6242,8 @@ ROM_START (vg8240)
ROM_LOAD ("8240disk.rom", 0xc000, 0x4000, CRC(ca3307d3) SHA1(c3efedda7ab947a06d9345f7b8261076fa7ceeef))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::vg8240, msx2_pal)
+MACHINE_CONFIG_START(msx_state::vg8240)
+ msx2_pal(config);
// AY8910/YM2149?
// FDC: wd2793, 1 3.5" DSDD drive
// 2 Cartridge slots?
@@ -6070,11 +6256,11 @@ MACHINE_CONFIG_DERIVED(msx_state::vg8240, msx2_pal)
MCFG_MSX_RAMIO_SET_BITS(0xf8)
MCFG_MSX_LAYOUT_DISK1("disk", 3, 3, 1, 1, "maincpu", 0xc000)
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Sanyo MPC-2300 */
@@ -6085,7 +6271,8 @@ ROM_START (mpc2300)
ROM_LOAD ("2300ext.rom", 0x8000, 0x4000, CRC(3d7dc718) SHA1(e1f834b28c3ee7c9f79fe6fbf2b23c8a0617892b))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::mpc2300, msx2)
+MACHINE_CONFIG_START(msx_state::mpc2300)
+ msx2(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -6096,7 +6283,7 @@ MACHINE_CONFIG_DERIVED(msx_state::mpc2300, msx2)
MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x20000) /* 128KB?? Mapper RAM */
MCFG_MSX_LAYOUT_ROM("ext", 3, 1, 0, 1, "maincpu", 0x8000)
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Sanyo MPC-2500FD */
@@ -6108,7 +6295,8 @@ ROM_START (mpc2500f)
ROM_LOAD ("mpc2500fddisk.rom", 0xc000, 0x4000, CRC(38454059) SHA1(58ac78bba29a06645ca8d6a94ef2ac68b743ad32))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::mpc2500f, msx2)
+MACHINE_CONFIG_START(msx_state::mpc2500f)
+ msx2(config);
// YM2149
// FDC: wd2793?, 1? 3.5" DSDD drive?
// 2 Cartridge slots?
@@ -6121,11 +6309,11 @@ MACHINE_CONFIG_DERIVED(msx_state::mpc2500f, msx2)
MCFG_MSX_LAYOUT_DISK1("disk", 3, 1, 1, 1, "maincpu", 0xC000)
MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x10000) /* 64KB?? Mapper RAM */
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Sanyo Wavy MPC-25FD */
@@ -6137,7 +6325,8 @@ ROM_START (mpc25fd)
ROM_LOAD ("25fddisk.rom", 0xc000, 0x4000, CRC(38454059) SHA1(58ac78bba29a06645ca8d6a94ef2ac68b743ad32))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::mpc25fd, msx2)
+MACHINE_CONFIG_START(msx_state::mpc25fd)
+ msx2(config);
// YM2149 (in S-3527 MSX Engine)
// FDC: wd2793, 1 drive
// 1 Cartridge slot (slot 1)
@@ -6149,11 +6338,11 @@ MACHINE_CONFIG_DERIVED(msx_state::mpc25fd, msx2)
MCFG_MSX_LAYOUT_DISK1("disk", 3, 1, 1, 1, "maincpu", 0xc000)
MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) /* 128KB?? RAM */
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Sanyo Wavy MPC-27 */
@@ -6167,7 +6356,8 @@ ROM_START (mpc27)
ROM_RELOAD (0x12000, 0x2000)
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::mpc27, msx2)
+MACHINE_CONFIG_START(msx_state::mpc27)
+ msx2(config);
// YM2149 (in S-3527 MSX Engine)
// FDC: wd2793?, 1 drive
// 2 Cartridge slots?
@@ -6181,11 +6371,11 @@ MACHINE_CONFIG_DERIVED(msx_state::mpc27, msx2)
MCFG_MSX_LAYOUT_DISK1("disk", 3, 2, 1, 1, "maincpu", 0xc000)
MCFG_MSX_LAYOUT_ROM("lpen", 3, 3, 1, 1, "maincpu", 0x10000)
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Sanyo Wavy PHC-23 = PHC-23J(B)*/
@@ -6196,7 +6386,8 @@ ROM_START (phc23)
ROM_LOAD ("23ext.rom", 0x8000, 0x4000, CRC(90ca25b5) SHA1(fd9fa78bac25aa3c0792425b21d14e364cf7eea4))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::phc23, msx2)
+MACHINE_CONFIG_START(msx_state::phc23)
+ msx2(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -6210,7 +6401,7 @@ MACHINE_CONFIG_DERIVED(msx_state::phc23, msx2)
MCFG_MSX_S1985_ADD("s1985")
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Sanyo Wavy PHC-55FD2 */
@@ -6222,7 +6413,8 @@ ROM_START (phc55fd2)
ROM_LOAD ("phc55fd2disk.rom", 0xc000, 0x4000, CRC(38454059) SHA1(58ac78bba29a06645ca8d6a94ef2ac68b743ad32))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::phc55fd2, msx2)
+MACHINE_CONFIG_START(msx_state::phc55fd2)
+ msx2(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: wd2793?, 2 3.5" DSDD drives
// 2 Cartridge slots
@@ -6237,11 +6429,11 @@ MACHINE_CONFIG_DERIVED(msx_state::phc55fd2, msx2)
MCFG_MSX_S1985_ADD("s1985")
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_2_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_2_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Sanyo Wavy PHC-77 */
@@ -6257,7 +6449,8 @@ ROM_START (phc77)
ROM_LOAD ("phc77kfn.rom", 0x0000, 0x20000, CRC(3b8fdf44) SHA1(fc71561a64f73da0e0043d256f67fd18d7fc3a7f))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::phc77, msx2)
+MACHINE_CONFIG_START(msx_state::phc77)
+ msx2(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: wd2793?, 1 drive
// 2 Cartridge slots
@@ -6274,11 +6467,11 @@ MACHINE_CONFIG_DERIVED(msx_state::phc77, msx2)
MCFG_MSX_S1985_ADD("s1985")
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Sharp Epcom HotBit 2.0 */
@@ -6291,7 +6484,8 @@ ROM_START (hotbit20)
ROM_LOAD ("microsoldisk.rom", 0x10000, 0x4000, CRC(6704ef81) SHA1(a3028515ed829e900cc8deb403e17b09a38bf9b0))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hotbit20, msx2_pal)
+MACHINE_CONFIG_START(msx_state::hotbit20)
+ msx2_pal(config);
// AY8910/YM2149?
// FDC: microsol, 1 or 2 drives?
// 2 Cartridge slots?
@@ -6305,11 +6499,11 @@ MACHINE_CONFIG_DERIVED(msx_state::hotbit20, msx2_pal)
MCFG_MSX_RAMIO_SET_BITS(0x80)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx_microsol )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_microsol(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Sony HB-F1 */
@@ -6323,7 +6517,8 @@ ROM_START (hbf1)
ROM_LOAD ("f1note3.rom", 0x18000, 0x8000, CRC(73eb9329) SHA1(58accf41a90693874b86ce98d8d43c27beb8b6dc))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hbf1, msx2)
+MACHINE_CONFIG_START(msx_state::hbf1)
+ msx2(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -6337,7 +6532,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hbf1, msx2)
MCFG_MSX_LAYOUT_ROM("note3", 3, 2, 1, 2, "maincpu", 0x18000)
MCFG_MSX_LAYOUT_RAM("ram", 3, 3, 0, 4) /* 64KB RAM */
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Sony HB-F1II */
@@ -6351,7 +6546,8 @@ ROM_START (hbf12)
ROM_LOAD ("f12note3.rom", 0x18000, 0x8000, CRC(44a10e6a) SHA1(917d1c079e03c4a44de864f123d03c4e32c8daae))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hbf12, msx2)
+MACHINE_CONFIG_START(msx_state::hbf12)
+ msx2(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -6366,7 +6562,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hbf12, msx2)
MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 3, 0x10000) /* 64KB Mapper RAM */
MCFG_MSX_RAMIO_SET_BITS(0x80)
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Sony HB-F1XD */
@@ -6378,7 +6574,8 @@ ROM_START (hbf1xd)
ROM_LOAD ("f1xddisk.rom.ic27", 0xc000, 0x4000, BAD_DUMP CRC(54c73ad6) SHA1(12f2cc79b3d09723840bae774be48c0d721ec1c6))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hbf1xd, msx2)
+MACHINE_CONFIG_START(msx_state::hbf1xd)
+ msx2(config);
// YM2149 (in S-1895 MSX Engine)
// FDC: wd2793, 1 3.5" DSDD drive
// 2 Cartridge slots
@@ -6394,11 +6591,11 @@ MACHINE_CONFIG_DERIVED(msx_state::hbf1xd, msx2)
MCFG_MSX_S1985_ADD("s1985")
- MCFG_FRAGMENT_ADD( msx_wd2793 )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Sony HB-F1XDMK2 */
@@ -6410,7 +6607,8 @@ ROM_START (hbf1xdm2)
ROM_LOAD ("f1m2disk.rom.ic27", 0xc000, 0x4000, BAD_DUMP CRC(54c73ad6) SHA1(12f2cc79b3d09723840bae774be48c0d721ec1c6))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hbf1xdm2, msx2)
+MACHINE_CONFIG_START(msx_state::hbf1xdm2)
+ msx2(config);
// AY8910/YM2149?
// FDC: wd2793, 1 3.5" DSDD drive
// 2 Cartridge slots?
@@ -6423,11 +6621,11 @@ MACHINE_CONFIG_DERIVED(msx_state::hbf1xdm2, msx2)
MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 3, 0x10000) /* 64KB Mapper RAM */
MCFG_MSX_RAMIO_SET_BITS(0x80)
- MCFG_FRAGMENT_ADD( msx_wd2793 )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Sony HB-F5 */
@@ -6439,7 +6637,8 @@ ROM_START (hbf5)
ROM_LOAD ("hbf5note.rom", 0xc000, 0x4000, CRC(0cdc0777) SHA1(06ba91d6732ee8a2ecd5dcc38b0ce42403d86708))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hbf5, msx2_pal)
+MACHINE_CONFIG_START(msx_state::hbf5)
+ msx2_pal(config);
// YM2149
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -6451,7 +6650,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hbf5, msx2_pal)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Sony HB-F500 */
@@ -6466,7 +6665,8 @@ ROM_START (hbf500)
ROM_LOAD ("f500kfn.rom", 0, 0x20000, CRC(5a59926e) SHA1(6acaf2eeb57f65f7408235d5e07b7563229de799))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hbf500, msx2)
+MACHINE_CONFIG_START(msx_state::hbf500)
+ msx2(config);
// AY8910/YM2149?
// FDC: wd2793, 1 3.5" DSDD drive
// 2 Cartridge slots?
@@ -6479,11 +6679,11 @@ MACHINE_CONFIG_DERIVED(msx_state::hbf500, msx2)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Sony HB-F500F */
@@ -6495,14 +6695,15 @@ ROM_START (hbf500f)
ROM_LOAD ("hbf500fdisk.rom", 0xc000, 0x4000, CRC(6e718f5c) SHA1(0e081572f84555dc13bdb0c7044a19d6c164d985))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hbf500f, msx2_pal)
+MACHINE_CONFIG_START(msx_state::hbf500f)
+ msx2_pal(config);
// AY8910/YM2149?
// FDC: wd2793, 1 3.5" DSDD drive
// 3 Cartridge slots or 2 Cartridge slots and 1 expansion slot ?
- MCFG_FRAGMENT_ADD( msx_wd2793 )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
MCFG_MSX_LAYOUT_RAM("ram1", 0, 0, 2, 2) /* 32KB RAM */
@@ -6512,7 +6713,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hbf500f, msx2_pal)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Sony HB-F500P */
@@ -6524,14 +6725,15 @@ ROM_START (hbf500p)
ROM_FILL (0x10000, 0xc000, 0xFF)
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hbf500p, msx2_pal)
+MACHINE_CONFIG_START(msx_state::hbf500p)
+ msx2_pal(config);
// AY8910/YM2149?
// FDC: wd2793, 1 3.5" DSDD drive
// 3 Cartridge slots or 2 Cartridge slots and 1 expansion slot ?
- MCFG_FRAGMENT_ADD( msx_wd2793 )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
MCFG_MSX_LAYOUT_RAM("ram1", 0, 0, 2, 2) /* 32KB RAM */
@@ -6542,7 +6744,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hbf500p, msx2_pal)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
MCFG_MSX_LAYOUT_ROM("empty", 3, 0, 0, 4, "maincpu", 0xc000) // Empty? or is this the 3rd cartridge/expansion slot ?
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Sony HB-F700D */
@@ -6553,7 +6755,8 @@ ROM_START (hbf700d)
ROM_LOAD ("700dext.ic6", 0x8000, 0x8000, CRC(100cf756) SHA1(317722fa36c2ed31c07c5218b43490fd5badf1f8))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hbf700d, msx2_pal)
+MACHINE_CONFIG_START(msx_state::hbf700d)
+ msx2_pal(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: wd2793, 1 3.5" DSDD drive
// 2 Cartridge slots
@@ -6569,11 +6772,11 @@ MACHINE_CONFIG_DERIVED(msx_state::hbf700d, msx2_pal)
MCFG_MSX_S1985_ADD("s1985")
- MCFG_FRAGMENT_ADD( msx_wd2793 )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Sony HB-F700F */
@@ -6584,7 +6787,8 @@ ROM_START (hbf700f)
ROM_LOAD ("700fext.ic6", 0x8000, 0x8000, CRC(7c8b07b1) SHA1(ecacb20ba0a9bbd25e8c0f128d64dd66f8cd8bee))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hbf700f, msx2_pal)
+MACHINE_CONFIG_START(msx_state::hbf700f)
+ msx2_pal(config);
// AY8910/YM2149?
// FDC: wd2793, 1 3.5" DSDD drive
// 2 Cartridge slots
@@ -6597,11 +6801,11 @@ MACHINE_CONFIG_DERIVED(msx_state::hbf700f, msx2_pal)
MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 3, 0x40000) /* 256KB Mapper RAM */
MCFG_MSX_RAMIO_SET_BITS(0x80)
- MCFG_FRAGMENT_ADD( msx_wd2793 )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Sony HB-F700P */
@@ -6612,7 +6816,8 @@ ROM_START (hbf700p)
ROM_LOAD ("700pext.ic6", 0x8000, 0x8000, CRC(63e1bffc) SHA1(496698a60432490dc1306c8cc1d4a6ded275261a))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hbf700p, msx2_pal)
+MACHINE_CONFIG_START(msx_state::hbf700p)
+ msx2_pal(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: wd2793, 1 3.5" DSDD drive
// 2 Cartridge slots
@@ -6628,11 +6833,11 @@ MACHINE_CONFIG_DERIVED(msx_state::hbf700p, msx2_pal)
MCFG_MSX_S1985_ADD("s1985")
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Sony HB-F700S */
@@ -6643,7 +6848,8 @@ ROM_START (hbf700s)
ROM_LOAD ("700sext.ic6", 0x8000, 0x8000, CRC(28d1badf) SHA1(ae3ed88a2d7034178e08f7bdf5409f462bf67fc9))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hbf700s, msx2_pal)
+MACHINE_CONFIG_START(msx_state::hbf700s)
+ msx2_pal(config);
// AY8910/YM2149?
// FDC: wd2793, 1 3.5" DSDD drive
// 2 Cartridge slots
@@ -6656,11 +6862,11 @@ MACHINE_CONFIG_DERIVED(msx_state::hbf700s, msx2_pal)
MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 3, 0x40000) /* 256KB Mapper RAM */
MCFG_MSX_RAMIO_SET_BITS(0x80)
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Sony HB-F900 */
@@ -6676,7 +6882,8 @@ ROM_START (hbf900)
ROM_LOAD ("f900kfn.rom", 0, 0x20000, CRC(5a59926e) SHA1(6acaf2eeb57f65f7408235d5e07b7563229de799))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hbf900, msx2)
+MACHINE_CONFIG_START(msx_state::hbf900)
+ msx2(config);
// AY8910/YM2149?
// FDC: wd2793, 2 3.5" DSDD drives
// 2 Cartridge slots
@@ -6690,11 +6897,11 @@ MACHINE_CONFIG_DERIVED(msx_state::hbf900, msx2)
MCFG_MSX_RAMIO_SET_BITS(0x80)
MCFG_MSX_LAYOUT_ROM("empty", 3, 3, 1, 1, "maincpu", 0x14000) // Empty/unknown, optional fmpac rom used to be loaded here, or should the util rom be loaded?
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_2_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_2_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Sony HB-F900 (a) */
@@ -6710,7 +6917,8 @@ ROM_START (hbf900a)
ROM_LOAD ("f900kfn.rom", 0, 0x20000, CRC(5a59926e) SHA1(6acaf2eeb57f65f7408235d5e07b7563229de799))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hbf900a, msx2)
+MACHINE_CONFIG_START(msx_state::hbf900a)
+ msx2(config);
// AY8910/YM2149?
// FDC: wd2793, 2 3.5" DSDD drives
// 2 Cartridge slots
@@ -6724,11 +6932,11 @@ MACHINE_CONFIG_DERIVED(msx_state::hbf900a, msx2)
MCFG_MSX_RAMIO_SET_BITS(0x80)
MCFG_MSX_LAYOUT_ROM("empty", 3, 3, 1, 1, "maincpu", 0x14000) // Empty/unknown, optional fmpac rom used to be loaded here, or should the util rom be loaded?
- MCFG_FRAGMENT_ADD( msx_wd2793 )
- MCFG_FRAGMENT_ADD( msx_2_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793(config);
+ msx_2_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Sony HB-F9P */
@@ -6740,7 +6948,8 @@ ROM_START (hbf9p)
ROM_LOAD ("f9pfirm2.rom.ic13", 0x10000, 0x8000, CRC(ea97069f) SHA1(2d1880d1f5a6944fcb1b198b997a3d90ecd1903d))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hbf9p, msx2_pal)
+MACHINE_CONFIG_START(msx_state::hbf9p)
+ msx2_pal(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -6756,7 +6965,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hbf9p, msx2_pal)
MCFG_MSX_S1985_ADD("s1985")
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Sony HB-F9P Russian */
@@ -6767,7 +6976,8 @@ ROM_START (hbf9pr)
ROM_LOAD ("f9prext.rom", 0x8000, 0x4000, CRC(8b966f50) SHA1(65253cb38ab11084f355a2d4ad78fa6c64cbe660))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hbf9pr, msx2_pal)
+MACHINE_CONFIG_START(msx_state::hbf9pr)
+ msx2_pal(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -6781,7 +6991,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hbf9pr, msx2_pal)
MCFG_MSX_S1985_ADD("s1985")
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Sony HB-F9S */
@@ -6793,7 +7003,8 @@ ROM_START (hbf9s)
ROM_LOAD ("f9sfirm2.ic13", 0x10000, 0x8000, CRC(ea97069f) SHA1(2d1880d1f5a6944fcb1b198b997a3d90ecd1903d))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hbf9s, msx2_pal)
+MACHINE_CONFIG_START(msx_state::hbf9s)
+ msx2_pal(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -6809,7 +7020,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hbf9s, msx2_pal)
MCFG_MSX_S1985_ADD("s1985")
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Sony HB-G900AP */
@@ -6829,7 +7040,8 @@ ROM_START (hbg900ap)
ROM_LOAD ("g900util.rom", 0x14000, 0x4000, CRC(d0417c20) SHA1(8779b004e7605a3c419825f0373a5d8fa84e1d5b))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hbg900ap, msx2_pal)
+MACHINE_CONFIG_START(msx_state::hbg900ap)
+ msx2_pal(config);
// AY8910/YM2149?
// FDC: wd2793, 1 3.5" DSDD drive
// 2 Cartridge slots?
@@ -6844,11 +7056,11 @@ MACHINE_CONFIG_DERIVED(msx_state::hbg900ap, msx2_pal)
MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x80000) /* 512KB Mapper RAM */
MCFG_MSX_RAMIO_SET_BITS(0x80)
- MCFG_FRAGMENT_ADD( msx_wd2793 )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Sony HB-G900P - 3x 32KB ROMs */
@@ -6862,7 +7074,8 @@ ROM_START (hbg900p)
ROM_LOAD ("g900util.rom", 0x14000, 0x4000, CRC(d0417c20) SHA1(8779b004e7605a3c419825f0373a5d8fa84e1d5b))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hbg900p, msx2_pal)
+MACHINE_CONFIG_START(msx_state::hbg900p)
+ msx2_pal(config);
// AY8910/YM2149?
// FDC: wd2793, 1 3.5" DSDD drive
// 2 Cartridge slots?
@@ -6877,11 +7090,11 @@ MACHINE_CONFIG_DERIVED(msx_state::hbg900p, msx2_pal)
MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x10000) /* 64KB Mapper RAM */
MCFG_MSX_RAMIO_SET_BITS(0x80)
- MCFG_FRAGMENT_ADD( msx_wd2793 )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Talent TPC-310 */
@@ -6894,7 +7107,8 @@ ROM_START (tpc310)
ROM_LOAD ("tpc310acc.rom", 0x14000, 0x8000, CRC(4fb8fab3) SHA1(cdeb0ed8adecaaadb78d5a5364fd603238591685))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::tpc310, msx2_pal)
+MACHINE_CONFIG_START(msx_state::tpc310)
+ msx2_pal(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: mb8877a?, 1 3.5" DSDD drive
// 1 Cartridge slot (slot 2)
@@ -6911,11 +7125,11 @@ MACHINE_CONFIG_DERIVED(msx_state::tpc310, msx2_pal)
MCFG_MSX_S1985_ADD("s1985")
- MCFG_FRAGMENT_ADD( msx_mb8877a )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_mb8877a(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Talent TPP-311 */
@@ -6927,7 +7141,8 @@ ROM_START (tpp311)
ROM_LOAD ("311logo.rom", 0xc000, 0x8000, CRC(0e6ecb9f) SHA1(e45ddc5bf1a1e63756d11fb43fc50276ca35cab0))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::tpp311, msx2_pal)
+MACHINE_CONFIG_START(msx_state::tpp311)
+ msx2_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 0 Cartridge slots?
@@ -6938,7 +7153,7 @@ MACHINE_CONFIG_DERIVED(msx_state::tpp311, msx2_pal)
MCFG_MSX_LAYOUT_ROM("logo", 2, 0, 1, 2, "maincpu", 0xc000)
MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
- MCFG_FRAGMENT_ADD( msx2_64kb_vram )
+ msx2_64kb_vram(config);
MACHINE_CONFIG_END
/* MSX2 - Talent TPS-312 */
@@ -6951,7 +7166,8 @@ ROM_START (tps312)
ROM_LOAD ("312write.rom", 0x14000, 0x4000, CRC(63c6992f) SHA1(93682f5baba7697c40088e26f99ee065c78e83b8))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::tps312, msx2_pal)
+MACHINE_CONFIG_START(msx_state::tps312)
+ msx2_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -6966,9 +7182,9 @@ MACHINE_CONFIG_DERIVED(msx_state::tps312, msx2_pal)
MCFG_MSX_LAYOUT_ROM("planlow", 3, 2, 0, 1, "maincpu", 0x10000)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 3)
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
- MCFG_FRAGMENT_ADD( msx2_64kb_vram )
+ msx2_64kb_vram(config);
MACHINE_CONFIG_END
/* MSX2 - Toshiba HX-23 */
@@ -6980,7 +7196,8 @@ ROM_START (hx23)
ROM_LOAD ("hx23word.rom", 0xc000, 0x8000, CRC(39b3e1c0) SHA1(9f7cfa932bd7dfd0d9ecaadc51655fb557c2e125))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hx23, msx2_pal)
+MACHINE_CONFIG_START(msx_state::hx23)
+ msx2_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -6994,9 +7211,9 @@ MACHINE_CONFIG_DERIVED(msx_state::hx23, msx2_pal)
MCFG_MSX_LAYOUT_ROM("ext", 3, 1, 0, 1, "maincpu", 0x8000)
MCFG_MSX_LAYOUT_ROM("word", 3, 3, 1, 2, "maincpu", 0xc000)
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
- MCFG_FRAGMENT_ADD( msx2_64kb_vram )
+ msx2_64kb_vram(config);
MACHINE_CONFIG_END
/* MSX2 - Toshiba HX-23F */
@@ -7008,7 +7225,8 @@ ROM_START (hx23f)
ROM_LOAD ("hx23fword.rom", 0xc000, 0x8000, CRC(39b3e1c0) SHA1(9f7cfa932bd7dfd0d9ecaadc51655fb557c2e125))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hx23f, msx2_pal)
+MACHINE_CONFIG_START(msx_state::hx23f)
+ msx2_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -7021,7 +7239,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hx23f, msx2_pal)
MCFG_MSX_LAYOUT_ROM("ext", 3, 1, 0, 1, "maincpu", 0x8000)
MCFG_MSX_LAYOUT_ROM("word", 3, 3, 1, 2, "maincpu", 0xc000)
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Toshiba HX-23I */
@@ -7033,7 +7251,8 @@ ROM_START (hx23i)
ROM_LOAD ("hx23iword.rom", 0xc000, 0x8000, CRC(d50db5b4) SHA1(64cf27a6be1393b1da9f8d5d43df617c9f22fbd2))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hx23i, msx2_pal)
+MACHINE_CONFIG_START(msx_state::hx23i)
+ msx2_pal(config);
// YM2149 (in S-1985)
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -7048,7 +7267,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hx23i, msx2_pal)
MCFG_MSX_S1985_ADD("s1985")
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX@ - Toshiba HX-33 */
@@ -7063,7 +7282,8 @@ ROM_START (hx33)
ROM_LOAD ("hx33kfn.rom", 0x0000, 0x20000, CRC(d23d4d2d) SHA1(db03211b7db46899df41db2b1dfbec972109a967))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hx33, msx2)
+MACHINE_CONFIG_START(msx_state::hx33)
+ msx2(config);
// YM2149 (in S-1985)
// FDC: None, 0, drives
// 2 Cartridge slots?
@@ -7079,9 +7299,9 @@ MACHINE_CONFIG_DERIVED(msx_state::hx33, msx2)
MCFG_MSX_S1985_ADD("s1985")
- MCFG_FRAGMENT_ADD( msx2_64kb_vram )
+ msx2_64kb_vram(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX@ - Toshiba HX-34 */
@@ -7098,7 +7318,8 @@ ROM_REGION (0x18000, "maincpu", 0)
ROM_LOAD ("hx34kfn.rom", 0x0000, 0x20000, CRC(d23d4d2d) SHA1(db03211b7db46899df41db2b1dfbec972109a967))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hx34, msx2)
+MACHINE_CONFIG_START(msx_state::hx34)
+ msx2(config);
// YM2149 (in S-1985)
// FDC: wd2793??, 1 3.5" DSDD drive
// 2 Cartridge slots?
@@ -7115,11 +7336,11 @@ MACHINE_CONFIG_DERIVED(msx_state::hx34, msx2)
MCFG_MSX_S1985_ADD("s1985")
- MCFG_FRAGMENT_ADD( msx_wd2793 )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX@ - Toshiba HX-34I */
@@ -7133,7 +7354,8 @@ ROM_START (hx34i)
ROM_LOAD ("hx34ifirm.rom", 0x10000, 0x8000, CRC(f9e29c66) SHA1(3289336b2c12161fd926a7e5ce865770ae7038af))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hx34i, msx2_pal)
+MACHINE_CONFIG_START(msx_state::hx34i)
+ msx2_pal(config);
// YM2149 (in S-1985)
// FDC: wd2793??, 1 3.5" DSDD drive
// 2 Cartridge slots?
@@ -7150,11 +7372,11 @@ MACHINE_CONFIG_DERIVED(msx_state::hx34i, msx2_pal)
MCFG_MSX_S1985_ADD("s1985")
- MCFG_FRAGMENT_ADD( msx_wd2793 )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Toshiba FS-TM1 */
@@ -7167,7 +7389,8 @@ ROM_START (fstm1)
ROM_LOAD ("fstm1desk2.rom", 0x14000, 0x8000, CRC(304820ea) SHA1(ff6e07d3976b0874164fae680ae028d598752049))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::fstm1, msx2_pal)
+MACHINE_CONFIG_START(msx_state::fstm1)
+ msx2_pal(config);
// YM2149 (in S-1985)
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -7183,7 +7406,7 @@ MACHINE_CONFIG_DERIVED(msx_state::fstm1, msx2_pal)
MCFG_MSX_S1985_ADD("s1985")
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Victor HC-90 */
@@ -7199,7 +7422,8 @@ ROM_START (victhc90)
ROM_LOAD ("hc90kfn.rom", 0x0000, 0x20000, CRC(d23d4d2d) SHA1(db03211b7db46899df41db2b1dfbec972109a967))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::victhc90, msx2)
+MACHINE_CONFIG_START(msx_state::victhc90)
+ msx2(config);
// YM2149 (in S-1985)
// FDC: wd2793?, 1 3.5" DSDD drive
// RS232C builtin
@@ -7216,11 +7440,11 @@ MACHINE_CONFIG_DERIVED(msx_state::victhc90, msx2)
MCFG_MSX_S1985_ADD("s1985")
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Victor HC-95 */
@@ -7236,7 +7460,8 @@ ROM_START (victhc95)
ROM_LOAD ("hc95kfn.rom", 0x0000, 0x20000, CRC(d23d4d2d) SHA1(db03211b7db46899df41db2b1dfbec972109a967))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::victhc95, msx2)
+MACHINE_CONFIG_START(msx_state::victhc95)
+ msx2(config);
// YM2149 (in S-1985)
// FDC: wd2793?, 2 3.5" DSDD drive
// RS232C builtin
@@ -7253,11 +7478,11 @@ MACHINE_CONFIG_DERIVED(msx_state::victhc95, msx2)
MCFG_MSX_S1985_ADD("s1985")
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_2_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_2_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Victor HC-95A */
@@ -7273,7 +7498,8 @@ ROM_START (victhc95a)
ROM_LOAD ("hc95akfn.rom", 0x0000, 0x20000, CRC(d23d4d2d) SHA1(db03211b7db46899df41db2b1dfbec972109a967))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::victhc95a, msx2)
+MACHINE_CONFIG_START(msx_state::victhc95a)
+ msx2(config);
// YM2149 (in S-1985)
// FDC: wd2793?, 2 3.5" DSDD drive
// RS232C builtin
@@ -7291,11 +7517,11 @@ MACHINE_CONFIG_DERIVED(msx_state::victhc95a, msx2)
MCFG_MSX_S1985_ADD("s1985")
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_2_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_2_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Yamaha CX7M */
@@ -7306,7 +7532,8 @@ ROM_START (cx7m)
ROM_LOAD ("cx7mext.rom", 0x8000, 0x4000, CRC(66237ecf) SHA1(5c1f9c7fb655e43d38e5dd1fcc6b942b2ff68b02))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::cx7m, msx2_pal)
+MACHINE_CONFIG_START(msx_state::cx7m)
+ msx2_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -7319,7 +7546,7 @@ MACHINE_CONFIG_DERIVED(msx_state::cx7m, msx2_pal)
MCFG_MSX_RAMIO_SET_BITS(0x80)
MCFG_MSX_LAYOUT_YAMAHA_EXPANSION("expansion", 3, 3, "sfg05")
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Yamaha CX7M/128 */
@@ -7331,7 +7558,8 @@ ROM_START (cx7m128)
ROM_LOAD ("yrm502.rom", 0xc000, 0x4000, CRC(51f7ddd1) SHA1(2a4b4a4657e3077df8a88f98210b76883d3702b1))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::cx7m128, msx2_pal)
+MACHINE_CONFIG_START(msx_state::cx7m128)
+ msx2_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -7345,7 +7573,7 @@ MACHINE_CONFIG_DERIVED(msx_state::cx7m128, msx2_pal)
MCFG_MSX_RAMIO_SET_BITS(0x80)
MCFG_MSX_LAYOUT_YAMAHA_EXPANSION("expansion", 3, 3, "sfg05")
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Yamaha YIS-503 III R */
@@ -7358,7 +7586,8 @@ ROM_START (y503iiir)
ROM_LOAD ("yis503iiirnet.rom", 0x10000, 33121, CRC(b10fb61c) SHA1(af2b7004a8888d7a72eee937783fccaca0f38621)) // Very odd size for a rom...
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::y503iiir, msx2_pal)
+MACHINE_CONFIG_START(msx_state::y503iiir)
+ msx2_pal(config);
// YM2149 (in S-3527)
// FDC: wd2793?, 1 3.5" DSDD drive
// 2 Cartridge slots
@@ -7373,11 +7602,11 @@ MACHINE_CONFIG_DERIVED(msx_state::y503iiir, msx2_pal)
MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) // 128KB Mapper RAM
MCFG_MSX_LAYOUT_ROM("net", 3, 3, 0, 3, "maincpu", 0x10000)
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Yamaha YIS-503 III R Estonian */
@@ -7390,7 +7619,8 @@ ROM_START (y503iiire)
ROM_LOAD ("yis503iiirenet.rom", 0x10000, 33121, CRC(b10fb61c) SHA1(af2b7004a8888d7a72eee937783fccaca0f38621)) // Very odd size for a rom...
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::y503iiire, msx2_pal)
+MACHINE_CONFIG_START(msx_state::y503iiire)
+ msx2_pal(config);
// YM2149 (in S-3527)
// FDC: wd2793?, 1 3.5" DSDD drive
// 2 Cartridge slots
@@ -7405,11 +7635,11 @@ MACHINE_CONFIG_DERIVED(msx_state::y503iiire, msx2_pal)
MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) // 128KB Mapper RAM
MCFG_MSX_LAYOUT_ROM("net", 3, 3, 0, 3, "maincpu", 0x10000)
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Yamaha YIS604 */
@@ -7423,7 +7653,8 @@ ROM_START (yis60464)
ROM_LOAD ("yis604kfn.rom", 0x0000, 0x20000, CRC(5a59926e) SHA1(6acaf2eeb57f65f7408235d5e07b7563229de799))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::yis60464, msx2)
+MACHINE_CONFIG_START(msx_state::yis60464)
+ msx2(config);
// YM2149 (in S-3527)
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -7436,7 +7667,7 @@ MACHINE_CONFIG_DERIVED(msx_state::yis60464, msx2)
MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x10000) // 64KB Mapper RAM
MCFG_MSX_LAYOUT_YAMAHA_EXPANSION("expansion", 3, 3, "sfg05")
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Yamaha YIS604/128 */
@@ -7451,7 +7682,8 @@ ROM_START (yis604)
ROM_LOAD ("yis604kfn.rom", 0x0000, 0x20000, CRC(5a59926e) SHA1(6acaf2eeb57f65f7408235d5e07b7563229de799))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::yis604, msx2)
+MACHINE_CONFIG_START(msx_state::yis604)
+ msx2(config);
// YM2149 (in S-3527)
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -7465,7 +7697,7 @@ MACHINE_CONFIG_DERIVED(msx_state::yis604, msx2)
MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x10000) // 64KB Mapper RAM
MCFG_MSX_LAYOUT_YAMAHA_EXPANSION("expansion", 3, 3, "sfg05")
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Yamaha YIS-805/128 */
@@ -7481,7 +7713,8 @@ ROM_START (y805128)
ROM_LOAD ("yis805128kfn.rom", 0x0000, 0x20000, CRC(5a59926e) SHA1(6acaf2eeb57f65f7408235d5e07b7563229de799))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::y805128, msx2)
+MACHINE_CONFIG_START(msx_state::y805128)
+ msx2(config);
// YM2149 (in S-3527)
// FDC: wd2793?, 1 3.5" DSDD drive
// 2 Cartridge slots
@@ -7496,11 +7729,11 @@ MACHINE_CONFIG_DERIVED(msx_state::y805128, msx2)
MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) // 128KB Mapper RAM
MCFG_MSX_LAYOUT_YAMAHA_EXPANSION("expansion", 3, 3, "sfg05")
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Yamaha YIS-805R2/128 */
@@ -7514,7 +7747,8 @@ ROM_START (y805128r2)
ROM_LOAD ("yis805128r2paint.rom", 0x18000, 0x10000, CRC(1bda68a3) SHA1(7fd2a28c4fdaeb140f3c8c8fb90271b1472c97b9))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::y805128r2, msx2_pal)
+MACHINE_CONFIG_START(msx_state::y805128r2)
+ msx2_pal(config);
// YM2149 (in S-3527)
// FDC: wd2793?, 1 3.5" DSDD drive
// 2 Cartridge slots
@@ -7530,11 +7764,11 @@ MACHINE_CONFIG_DERIVED(msx_state::y805128r2, msx2_pal)
MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) // 128KB Mapper RAM
MCFG_MSX_LAYOUT_ROM("net", 3, 3, 0, 2, "maincpu", 0x10000)
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Yamaha YIS-805R2/128 Estonian */
@@ -7548,7 +7782,8 @@ ROM_START (y805128r2e)
ROM_LOAD ("yis805128r2epaint.rom", 0x18000, 0x10000, CRC(1bda68a3) SHA1(7fd2a28c4fdaeb140f3c8c8fb90271b1472c97b9))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::y805128r2e, msx2_pal)
+MACHINE_CONFIG_START(msx_state::y805128r2e)
+ msx2_pal(config);
// YM2149 (in S-3527)
// FDC: wd2793?, 1 3.5" DSDD drive
// 2 Cartridge slots
@@ -7564,11 +7799,11 @@ MACHINE_CONFIG_DERIVED(msx_state::y805128r2e, msx2_pal)
MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) // 128KB Mapper RAM
MCFG_MSX_LAYOUT_ROM("net", 3, 3, 0, 2, "maincpu", 0x10000)
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2 - Yamaha YIS-805/256 */
@@ -7584,7 +7819,8 @@ ROM_START (y805256)
ROM_LOAD ("yis805256kfn.rom", 0x0000, 0x20000, CRC(5a59926e) SHA1(6acaf2eeb57f65f7408235d5e07b7563229de799))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::y805256, msx2)
+MACHINE_CONFIG_START(msx_state::y805256)
+ msx2(config);
// YM2149 (in S-3527)
// FDC: wd2793?, 1 3.5" DSDD drive
// 2 Cartridge slots
@@ -7599,11 +7835,11 @@ MACHINE_CONFIG_DERIVED(msx_state::y805256, msx2)
MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x40000) // 256KB Mapper RAM
MCFG_MSX_LAYOUT_YAMAHA_EXPANSION("expansion", 3, 3, "sfg05")
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_dd_drive(config);
+ msx2_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/******************************** MSX 2+ **********************************/
@@ -7619,7 +7855,8 @@ ROM_START (expert3i )
ROM_LOAD ("ide240a.rom", 0x14000, 0x10000, CRC(7adf857f) SHA1(8a919dbeed92db8c06a611279efaed8552810239))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::expert3i, msx2p)
+MACHINE_CONFIG_START(msx_state::expert3i)
+ msx2p(config);
// AY8910/YM2149?
// FDC: wd2793, 1 or 2? drives
// 2 Cartridge slots?
@@ -7633,13 +7870,13 @@ MACHINE_CONFIG_DERIVED(msx_state::expert3i, msx2p)
MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 2, 0, 0x40000) /* 256KB?? Mapper RAM */
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx_ym2413 )
+ msx_ym2413(config);
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2p_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_dd_drive(config);
+ msx2p_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2+ - Ciel Expert 3 Turbo */
@@ -7654,7 +7891,8 @@ ROM_START (expert3t )
ROM_LOAD ("turbo.rom", 0x14000, 0x4000, CRC(ab528416) SHA1(d468604269ae7664ac739ea9f922a05e14ffa3d1))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::expert3t, msx2p)
+MACHINE_CONFIG_START(msx_state::expert3t)
+ msx2p(config);
// AY8910
// FDC: wd2793?, 1 or 2? drives
// 4 Cartridge/Expansion slots?
@@ -7669,13 +7907,13 @@ MACHINE_CONFIG_DERIVED(msx_state::expert3t, msx2p)
MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 2, 0, 0x40000) /* 256KB Mapper RAM */
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
- MCFG_FRAGMENT_ADD( msx_ym2413 )
+ msx_ym2413(config);
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2p_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_dd_drive(config);
+ msx2p_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2+ - Gradiente Expert AC88+ */
@@ -7689,7 +7927,8 @@ ROM_START (expertac)
ROM_LOAD ("xbasic2.rom", 0x14000, 0x4000, CRC(2825b1a0) SHA1(47370bec7ca1f0615a54eda548b07fbc0c7ef398))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::expertac, msx2p)
+MACHINE_CONFIG_START(msx_state::expertac)
+ msx2p(config);
// AY8910/YM2149?
// FDC: wd2793?, 1 or 2? drives
// 2 Cartridge slots?
@@ -7703,11 +7942,11 @@ MACHINE_CONFIG_DERIVED(msx_state::expertac, msx2p)
MCFG_MSX_LAYOUT_DISK1("disk", 3, 2, 1, 1, "maincpu", 0xc000)
MCFG_MSX_LAYOUT_ROM("xbasic", 3, 3, 1, 1, "maincpu", 0x14000)
- MCFG_FRAGMENT_ADD( msx_wd2793_force_ready )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2p_floplist )
+ msx_wd2793_force_ready(config);
+ msx_1_35_dd_drive(config);
+ msx2p_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2+ - Gradiente Expert DDX+ */
@@ -7721,7 +7960,8 @@ ROM_START (expertdx)
ROM_LOAD ("kanji.rom", 0x14000, 0x8000, CRC(b4fc574d) SHA1(dcc3a67732aa01c4f2ee8d1ad886444a4dbafe06))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::expertdx, msx2p)
+MACHINE_CONFIG_START(msx_state::expertdx)
+ msx2p(config);
// AY8910/YM2149?
// FDC: tc8566af, 1 3.5" DSDD drive?
// 2 Cartridge slots?
@@ -7735,11 +7975,11 @@ MACHINE_CONFIG_DERIVED(msx_state::expertdx, msx2p)
MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
/* Kanji? */
- MCFG_FRAGMENT_ADD( msx_tc8566af )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2p_floplist )
+ msx_tc8566af(config);
+ msx_1_35_dd_drive(config);
+ msx2p_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2+ - Panasonic FS-A1FX */
@@ -7756,7 +7996,8 @@ ROM_START (fsa1fx)
ROM_LOAD ("a1fxkfn.rom", 0, 0x20000, CRC(b244f6cf) SHA1(e0e99cd91e88ce2676445663f832c835d74d6fd4))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::fsa1fx, msx2p)
+MACHINE_CONFIG_START(msx_state::fsa1fx)
+ msx2p(config);
// AY8910/YM2149?
// FDC: tc8566af, 1 3.5" DSDD drive
// 2 Cartridge slots?
@@ -7776,11 +8017,11 @@ MACHINE_CONFIG_DERIVED(msx_state::fsa1fx, msx2p)
MCFG_MSX_SYSTEMFLAGS_ADD("sysflags", 0xff)
- MCFG_FRAGMENT_ADD( msx_tc8566af )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2p_floplist )
+ msx_tc8566af(config);
+ msx_1_35_dd_drive(config);
+ msx2p_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2+ - Panasonic FS-A1WSX */
@@ -7798,7 +8039,8 @@ ROM_START (fsa1wsx)
ROM_LOAD ("a1wskfn.rom", 0, 0x40000, CRC(1f6406fb) SHA1(5aff2d9b6efc723bc395b0f96f0adfa83cc54a49))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::fsa1wsx, msx2p)
+MACHINE_CONFIG_START(msx_state::fsa1wsx)
+ msx2p(config);
// AY8910/YM2149?
// FDC: tc8566af, 1 3.5" DSDD drive
// 2 Cartridge slots
@@ -7821,13 +8063,13 @@ MACHINE_CONFIG_DERIVED(msx_state::fsa1wsx, msx2p)
MCFG_MSX_SYSTEMFLAGS_ADD("sysflags", 0xff)
- MCFG_FRAGMENT_ADD( msx_ym2413 )
+ msx_ym2413(config);
- MCFG_FRAGMENT_ADD( msx_tc8566af )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2p_floplist )
+ msx_tc8566af(config);
+ msx_1_35_dd_drive(config);
+ msx2p_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2+ - Panasonic FS-A1WX */
@@ -7845,7 +8087,8 @@ ROM_START (fsa1wx)
ROM_LOAD ("a1wxkfn.rom", 0, 0x40000, CRC(1f6406fb) SHA1(5aff2d9b6efc723bc395b0f96f0adfa83cc54a49))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::fsa1wx, msx2p)
+MACHINE_CONFIG_START(msx_state::fsa1wx)
+ msx2p(config);
// AY8910/YM2149?
// FDC: tc8566af, 1 3.5" DSDD drive
// 2 Cartridge slots
@@ -7868,13 +8111,13 @@ MACHINE_CONFIG_DERIVED(msx_state::fsa1wx, msx2p)
MCFG_MSX_SYSTEMFLAGS_ADD("sysflags", 0xff)
- MCFG_FRAGMENT_ADD( msx_ym2413 )
+ msx_ym2413(config);
- MCFG_FRAGMENT_ADD( msx_tc8566af )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2p_floplist )
+ msx_tc8566af(config);
+ msx_1_35_dd_drive(config);
+ msx2p_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2+ - Panasonic FS-A1WX (a) */
@@ -7891,7 +8134,8 @@ ROM_START (fsa1wxa)
ROM_LOAD ("a1wxkfn.rom", 0, 0x40000, CRC(1f6406fb) SHA1(5aff2d9b6efc723bc395b0f96f0adfa83cc54a49))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::fsa1wxa, msx2p)
+MACHINE_CONFIG_START(msx_state::fsa1wxa)
+ msx2p(config);
// AY8910/YM2149?
// FDC: tc8566af, 1 3.5" DSDD drive
// 2 Cartridge slots?
@@ -7913,13 +8157,13 @@ MACHINE_CONFIG_DERIVED(msx_state::fsa1wxa, msx2p)
MCFG_MSX_SYSTEMFLAGS_ADD("sysflags", 0xff)
- MCFG_FRAGMENT_ADD( msx_ym2413 )
+ msx_ym2413(config);
- MCFG_FRAGMENT_ADD( msx_tc8566af )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2p_floplist )
+ msx_tc8566af(config);
+ msx_1_35_dd_drive(config);
+ msx2p_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2+ - Sanyo Wavy PHC-35J */
@@ -7934,7 +8178,8 @@ ROM_START (phc35j)
ROM_LOAD ("35jkfn.rom", 0, 0x20000, CRC(c9651b32) SHA1(84a645becec0a25d3ab7a909cde1b242699a8662))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::phc35j, msx2p)
+MACHINE_CONFIG_START(msx_state::phc35j)
+ msx2p(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
@@ -7949,7 +8194,7 @@ MACHINE_CONFIG_DERIVED(msx_state::phc35j, msx2p)
MCFG_MSX_SYSTEMFLAGS_ADD("sysflags", 0xff)
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2+ - Sanyo Wavy PHC-70FD1 */
@@ -7967,7 +8212,8 @@ ROM_START (phc70fd)
ROM_LOAD ("70fdkfn.rom", 0, 0x20000, CRC(c9651b32) SHA1(84a645becec0a25d3ab7a909cde1b242699a8662))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::phc70fd, msx2p)
+MACHINE_CONFIG_START(msx_state::phc70fd)
+ msx2p(config);
// AY8910/YM2149?
// FDC: tc8566af, 1 3.5" DSDD drive
// 2 Cartridge slots
@@ -7986,13 +8232,13 @@ MACHINE_CONFIG_DERIVED(msx_state::phc70fd, msx2p)
MCFG_MSX_SYSTEMFLAGS_ADD("sysflags", 0xff)
- MCFG_FRAGMENT_ADD( msx_ym2413 )
+ msx_ym2413(config);
- MCFG_FRAGMENT_ADD( msx_tc8566af )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2p_floplist )
+ msx_tc8566af(config);
+ msx_1_35_dd_drive(config);
+ msx2p_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2+ - Sanyo Wavy PHC-70FD2 */
@@ -8009,7 +8255,8 @@ ROM_START (phc70fd2)
ROM_LOAD ("70f2kfn.rom", 0, 0x40000, CRC(9a850db9) SHA1(bcdb4dae303dfe5234f372d70a5e0271d3202c36))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::phc70fd2, msx2p)
+MACHINE_CONFIG_START(msx_state::phc70fd2)
+ msx2p(config);
// AY8910/YM2149?
// FDC: tc8566af, 2 3.5" DSDD drives
// 2 Cartridge slots
@@ -8028,13 +8275,13 @@ MACHINE_CONFIG_DERIVED(msx_state::phc70fd2, msx2p)
MCFG_MSX_SYSTEMFLAGS_ADD("sysflags", 0xff)
- MCFG_FRAGMENT_ADD( msx_ym2413 )
+ msx_ym2413(config);
- MCFG_FRAGMENT_ADD( msx_tc8566af )
- MCFG_FRAGMENT_ADD( msx_2_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2p_floplist )
+ msx_tc8566af(config);
+ msx_2_35_dd_drive(config);
+ msx2p_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2+ - Sony HB-F1XDJ */
@@ -8052,7 +8299,8 @@ ROM_START (hbf1xdj)
ROM_LOAD ("f1xjkfn.rom", 0, 0x40000, CRC(7016dfd0) SHA1(218d91eb6df2823c924d3774a9f455492a10aecb))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hbf1xdj, msx2p)
+MACHINE_CONFIG_START(msx_state::hbf1xdj)
+ msx2p(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: wd2793, 1 3.5" DSDD drive
// 2 Cartridge slots
@@ -8074,13 +8322,13 @@ MACHINE_CONFIG_DERIVED(msx_state::hbf1xdj, msx2p)
MCFG_MSX_S1985_ADD("s1985")
- MCFG_FRAGMENT_ADD( msx_ym2413 )
+ msx_ym2413(config);
- MCFG_FRAGMENT_ADD( msx_wd2793 )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2p_floplist )
+ msx_wd2793(config);
+ msx_1_35_dd_drive(config);
+ msx2p_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2+ - Sony HB-F1XV */
@@ -8098,7 +8346,8 @@ ROM_START (hbf1xv)
ROM_LOAD ("f1xvkfn.rom", 0, 0x40000, CRC(7016dfd0) SHA1(218d91eb6df2823c924d3774a9f455492a10aecb))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hbf1xv, msx2p)
+MACHINE_CONFIG_START(msx_state::hbf1xv)
+ msx2p(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: wd2793, 1 3.5" DSDD drives
// 2 Cartridge slots
@@ -8120,13 +8369,13 @@ MACHINE_CONFIG_DERIVED(msx_state::hbf1xv, msx2p)
MCFG_MSX_S1985_ADD("s1985")
- MCFG_FRAGMENT_ADD( msx_ym2413 )
+ msx_ym2413(config);
- MCFG_FRAGMENT_ADD( msx_wd2793 )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msx2p_floplist )
+ msx_wd2793(config);
+ msx_1_35_dd_drive(config);
+ msx2p_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX2+ - Sony HB-F9S+ */
@@ -8139,7 +8388,8 @@ ROM_START (hbf9sp)
ROM_LOAD ("f9spfrm2.rom", 0x10000, 0x8000, CRC(ea97069f) SHA1(2d1880d1f5a6944fcb1b198b997a3d90ecd1903d))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::hbf9sp, msx2p)
+MACHINE_CONFIG_START(msx_state::hbf9sp)
+ msx2p(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
@@ -8154,7 +8404,7 @@ MACHINE_CONFIG_DERIVED(msx_state::hbf9sp, msx2p)
MCFG_MSX_SYSTEMFLAGS_ADD("sysflags", 0x00)
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX Turbo-R - Panasonic FS-A1GT */
@@ -8171,7 +8421,8 @@ ROM_START (fsa1gt)
ROM_LOAD ("a1gtfirm.rom", 0x6c000, 0x400000, CRC(feefeadc) SHA1(e779c338eb91a7dea3ff75f3fde76b8af22c4a3a))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::fsa1gt, msx2)
+MACHINE_CONFIG_START(msx_state::fsa1gt)
+ msx2(config);
// AY8910/YM2149?
// FDC: tc8566af, 1 3.5" DSDD drive
// 2 Cartridge slots
@@ -8191,13 +8442,13 @@ MACHINE_CONFIG_DERIVED(msx_state::fsa1gt, msx2)
MCFG_MSX_SYSTEMFLAGS_ADD("sysflags", 0x00)
- MCFG_FRAGMENT_ADD( msx_ym2413 )
+ msx_ym2413(config);
- MCFG_FRAGMENT_ADD( msx_tc8566af )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msxr_floplist )
+ msx_tc8566af(config);
+ msx_1_35_dd_drive(config);
+ msxr_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
/* MSX Turbo-R - Panasonic FS-A1ST */
@@ -8214,7 +8465,8 @@ ROM_START (fsa1st)
ROM_LOAD ("a1stfirm.rom", 0x6c000, 0x400000, CRC(139ac99c) SHA1(c212b11fda13f83dafed688c54d098e7e47ab225))
ROM_END
-MACHINE_CONFIG_DERIVED(msx_state::fsa1st, msx2)
+MACHINE_CONFIG_START(msx_state::fsa1st)
+ msx2(config);
// AY8910/YM2149?
// FDC: tc8566af, 1 3.5" DSDD drive
// 2 Cartridge slots
@@ -8233,13 +8485,13 @@ MACHINE_CONFIG_DERIVED(msx_state::fsa1st, msx2)
MCFG_MSX_SYSTEMFLAGS_ADD("sysflags", 0x00)
- MCFG_FRAGMENT_ADD( msx_ym2413 )
+ msx_ym2413(config);
- MCFG_FRAGMENT_ADD( msx_tc8566af )
- MCFG_FRAGMENT_ADD( msx_1_35_dd_drive )
- MCFG_FRAGMENT_ADD( msxr_floplist )
+ msx_tc8566af(config);
+ msx_1_35_dd_drive(config);
+ msxr_floplist(config);
- MCFG_FRAGMENT_ADD( msx2_cartlist )
+ msx2_cartlist(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/mtx.cpp b/src/mame/drivers/mtx.cpp
index bd639f2d6b7..ee0235a7feb 100644
--- a/src/mame/drivers/mtx.cpp
+++ b/src/mame/drivers/mtx.cpp
@@ -348,10 +348,11 @@ MACHINE_CONFIG_START(mtx_state::mtx512)
MACHINE_CONFIG_END
/*-------------------------------------------------
- MACHINE_CONFIG_DERIVED( mtx500, mtx512 )
+ MACHINE_CONFIG_START( mtx500 )
-------------------------------------------------*/
-MACHINE_CONFIG_DERIVED(mtx_state::mtx500, mtx512)
+MACHINE_CONFIG_START(mtx_state::mtx500)
+ mtx512(config);
/* internal ram */
MCFG_RAM_MODIFY(RAM_TAG)
@@ -360,10 +361,11 @@ MACHINE_CONFIG_DERIVED(mtx_state::mtx500, mtx512)
MACHINE_CONFIG_END
/*-------------------------------------------------
- MACHINE_CONFIG_DERIVED( rs128, mtx512 )
+ MACHINE_CONFIG_START( rs128 )
-------------------------------------------------*/
-MACHINE_CONFIG_DERIVED(mtx_state::rs128, mtx512)
+MACHINE_CONFIG_START(mtx_state::rs128)
+ mtx512(config);
/* basic machine hardware */
MCFG_CPU_MODIFY(Z80_TAG)
diff --git a/src/mame/drivers/multfish.cpp b/src/mame/drivers/multfish.cpp
index cd4c589fc60..bc66ba38a61 100644
--- a/src/mame/drivers/multfish.cpp
+++ b/src/mame/drivers/multfish.cpp
@@ -1050,7 +1050,8 @@ MACHINE_CONFIG_START(igrosoft_gamble_state::igrosoft_gamble)
MCFG_HOPPER_ADD("hopper", attotime::from_msec(100), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_HIGH)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(igrosoft_gamble_state::rollfr, igrosoft_gamble)
+MACHINE_CONFIG_START(igrosoft_gamble_state::rollfr)
+ igrosoft_gamble(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(rollfr_portmap)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/multigam.cpp b/src/mame/drivers/multigam.cpp
index 3be90d6df2c..1e40d8db7d5 100644
--- a/src/mame/drivers/multigam.cpp
+++ b/src/mame/drivers/multigam.cpp
@@ -1246,7 +1246,8 @@ MACHINE_CONFIG_START(multigam_state::multigam)
MCFG_SPEAKER_STANDARD_MONO("mono")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(multigam_state::multigm3, multigam)
+MACHINE_CONFIG_START(multigam_state::multigm3)
+ multigam(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(multigm3_map)
@@ -1254,12 +1255,14 @@ MACHINE_CONFIG_DERIVED(multigam_state::multigm3, multigam)
MCFG_MACHINE_RESET_OVERRIDE(multigam_state, multigm3 )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(multigam_state::multigmt, multigam)
+MACHINE_CONFIG_START(multigam_state::multigmt)
+ multigam(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(multigmt_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(multigam_state::supergm3, multigam)
+MACHINE_CONFIG_START(multigam_state::supergm3)
+ multigam(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(supergm3_map)
diff --git a/src/mame/drivers/mw8080bw.cpp b/src/mame/drivers/mw8080bw.cpp
index d09f2688341..df7fbc42f9e 100644
--- a/src/mame/drivers/mw8080bw.cpp
+++ b/src/mame/drivers/mw8080bw.cpp
@@ -405,7 +405,8 @@ static INPUT_PORTS_START( seawolf )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(mw8080bw_state::seawolf, mw8080bw_root)
+MACHINE_CONFIG_START(mw8080bw_state::seawolf)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -416,7 +417,7 @@ MACHINE_CONFIG_DERIVED(mw8080bw_state::seawolf, mw8080bw_root)
MCFG_MB14241_ADD("mb14241")
/* audio hardware */
- MCFG_FRAGMENT_ADD(seawolf_audio)
+ seawolf_audio(config);
MACHINE_CONFIG_END
@@ -505,7 +506,8 @@ static INPUT_PORTS_START( gunfight )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(mw8080bw_state::gunfight, mw8080bw_root)
+MACHINE_CONFIG_START(mw8080bw_state::gunfight)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -516,7 +518,7 @@ MACHINE_CONFIG_DERIVED(mw8080bw_state::gunfight, mw8080bw_root)
MCFG_MB14241_ADD("mb14241")
/* audio hardware */
- MCFG_FRAGMENT_ADD(gunfight_audio)
+ gunfight_audio(config);
MACHINE_CONFIG_END
@@ -733,7 +735,8 @@ static INPUT_PORTS_START( tornbase )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(mw8080bw_state::tornbase, mw8080bw_root)
+MACHINE_CONFIG_START(mw8080bw_state::tornbase)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -744,7 +747,7 @@ MACHINE_CONFIG_DERIVED(mw8080bw_state::tornbase, mw8080bw_root)
MCFG_MB14241_ADD("mb14241")
/* audio hardware */
- MCFG_FRAGMENT_ADD(tornbase_audio)
+ tornbase_audio(config);
MACHINE_CONFIG_END
@@ -840,7 +843,8 @@ static INPUT_PORTS_START( lagunar )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(mw8080bw_state::zzzap, mw8080bw_root)
+MACHINE_CONFIG_START(mw8080bw_state::zzzap)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -853,7 +857,7 @@ MACHINE_CONFIG_DERIVED(mw8080bw_state::zzzap, mw8080bw_root)
MCFG_MB14241_ADD("mb14241")
/* audio hardware */
- /* MCFG_FRAGMENT_ADD(zzzap_audio) */
+ /* zzzap_audio(config); */
MACHINE_CONFIG_END
@@ -952,7 +956,8 @@ static INPUT_PORTS_START( maze )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(mw8080bw_state::maze, mw8080bw_root)
+MACHINE_CONFIG_START(mw8080bw_state::maze)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -963,7 +968,7 @@ MACHINE_CONFIG_DERIVED(mw8080bw_state::maze, mw8080bw_root)
MCFG_WATCHDOG_TIME_INIT(PERIOD_OF_555_MONOSTABLE(RES_K(270), CAP_U(10))) /* 2.97s */
/* audio hardware */
- MCFG_FRAGMENT_ADD(maze_audio)
+ maze_audio(config);
MACHINE_CONFIG_END
@@ -1044,7 +1049,8 @@ static INPUT_PORTS_START( boothill )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(mw8080bw_state::boothill, mw8080bw_root)
+MACHINE_CONFIG_START(mw8080bw_state::boothill)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1058,7 +1064,7 @@ MACHINE_CONFIG_DERIVED(mw8080bw_state::boothill, mw8080bw_root)
MCFG_MB14241_ADD("mb14241")
/* audio hardware */
- MCFG_FRAGMENT_ADD(boothill_audio)
+ boothill_audio(config);
MACHINE_CONFIG_END
@@ -1151,7 +1157,8 @@ static INPUT_PORTS_START( checkmat )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(mw8080bw_state::checkmat, mw8080bw_root)
+MACHINE_CONFIG_START(mw8080bw_state::checkmat)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1161,7 +1168,7 @@ MACHINE_CONFIG_DERIVED(mw8080bw_state::checkmat, mw8080bw_root)
MCFG_WATCHDOG_TIME_INIT(PERIOD_OF_555_MONOSTABLE(RES_K(270), CAP_U(10))) /* 2.97s */
/* audio hardware */
- MCFG_FRAGMENT_ADD(checkmat_audio)
+ checkmat_audio(config);
MACHINE_CONFIG_END
@@ -1278,7 +1285,8 @@ static INPUT_PORTS_START( desertgu )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(mw8080bw_state::desertgu, mw8080bw_root)
+MACHINE_CONFIG_START(mw8080bw_state::desertgu)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1292,7 +1300,7 @@ MACHINE_CONFIG_DERIVED(mw8080bw_state::desertgu, mw8080bw_root)
MCFG_MB14241_ADD("mb14241")
/* audio hardware */
- MCFG_FRAGMENT_ADD(desertgu_audio)
+ desertgu_audio(config);
MACHINE_CONFIG_END
@@ -1480,7 +1488,8 @@ static INPUT_PORTS_START( einning )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(mw8080bw_state::dplay, mw8080bw_root)
+MACHINE_CONFIG_START(mw8080bw_state::dplay)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1493,7 +1502,7 @@ MACHINE_CONFIG_DERIVED(mw8080bw_state::dplay, mw8080bw_root)
MCFG_MB14241_ADD("mb14241")
/* audio hardware */
- MCFG_FRAGMENT_ADD(dplay_audio)
+ dplay_audio(config);
MACHINE_CONFIG_END
@@ -1575,7 +1584,8 @@ static INPUT_PORTS_START( gmissile )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(mw8080bw_state::gmissile, mw8080bw_root)
+MACHINE_CONFIG_START(mw8080bw_state::gmissile)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1589,7 +1599,7 @@ MACHINE_CONFIG_DERIVED(mw8080bw_state::gmissile, mw8080bw_root)
MCFG_MB14241_ADD("mb14241")
/* audio hardware */
- MCFG_FRAGMENT_ADD(gmissile_audio)
+ gmissile_audio(config);
MACHINE_CONFIG_END
@@ -1669,7 +1679,8 @@ static INPUT_PORTS_START( m4 )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(mw8080bw_state::m4, mw8080bw_root)
+MACHINE_CONFIG_START(mw8080bw_state::m4)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1683,7 +1694,7 @@ MACHINE_CONFIG_DERIVED(mw8080bw_state::m4, mw8080bw_root)
MCFG_MB14241_ADD("mb14241")
/* audio hardware */
- MCFG_FRAGMENT_ADD(m4_audio)
+ m4_audio(config);
MACHINE_CONFIG_END
@@ -1838,7 +1849,8 @@ static INPUT_PORTS_START( clowns1 )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(mw8080bw_state::clowns, mw8080bw_root)
+MACHINE_CONFIG_START(mw8080bw_state::clowns)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1852,7 +1864,7 @@ MACHINE_CONFIG_DERIVED(mw8080bw_state::clowns, mw8080bw_root)
MCFG_MB14241_ADD("mb14241")
/* audio hardware */
- MCFG_FRAGMENT_ADD(clowns_audio)
+ clowns_audio(config);
MACHINE_CONFIG_END
@@ -1934,7 +1946,8 @@ static INPUT_PORTS_START( spacwalk )
PORT_ADJUSTER( 40, "R507 - Music Volume" )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(mw8080bw_state::spacwalk, mw8080bw_root)
+MACHINE_CONFIG_START(mw8080bw_state::spacwalk)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1948,7 +1961,7 @@ MACHINE_CONFIG_DERIVED(mw8080bw_state::spacwalk, mw8080bw_root)
MCFG_MB14241_ADD("mb14241")
/* audio hardware */
- MCFG_FRAGMENT_ADD(spacwalk_audio)
+ spacwalk_audio(config);
MACHINE_CONFIG_END
@@ -2017,7 +2030,8 @@ static INPUT_PORTS_START( shuffle )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(mw8080bw_state::shuffle, mw8080bw_root)
+MACHINE_CONFIG_START(mw8080bw_state::shuffle)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2030,7 +2044,7 @@ MACHINE_CONFIG_DERIVED(mw8080bw_state::shuffle, mw8080bw_root)
MCFG_MB14241_ADD("mb14241")
/* audio hardware */
- MCFG_FRAGMENT_ADD(shuffle_audio)
+ shuffle_audio(config);
MACHINE_CONFIG_END
@@ -2104,7 +2118,8 @@ static INPUT_PORTS_START( dogpatch )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(mw8080bw_state::dogpatch, mw8080bw_root)
+MACHINE_CONFIG_START(mw8080bw_state::dogpatch)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2117,7 +2132,7 @@ MACHINE_CONFIG_DERIVED(mw8080bw_state::dogpatch, mw8080bw_root)
MCFG_MB14241_ADD("mb14241")
/* audio hardware */
- MCFG_FRAGMENT_ADD(dogpatch_audio)
+ dogpatch_audio(config);
MACHINE_CONFIG_END
@@ -2254,7 +2269,8 @@ static INPUT_PORTS_START( spcenctr )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(mw8080bw_state::spcenctr, mw8080bw_root)
+MACHINE_CONFIG_START(mw8080bw_state::spcenctr)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2277,7 +2293,7 @@ MACHINE_CONFIG_DERIVED(mw8080bw_state::spcenctr, mw8080bw_root)
MCFG_SCREEN_UPDATE_DRIVER(mw8080bw_state, screen_update_spcenctr)
/* audio hardware */
- MCFG_FRAGMENT_ADD(spcenctr_audio)
+ spcenctr_audio(config);
MACHINE_CONFIG_END
@@ -2350,7 +2366,8 @@ static INPUT_PORTS_START( phantom2 )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(mw8080bw_state::phantom2, mw8080bw_root)
+MACHINE_CONFIG_START(mw8080bw_state::phantom2)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2369,7 +2386,7 @@ MACHINE_CONFIG_DERIVED(mw8080bw_state::phantom2, mw8080bw_root)
MCFG_MB14241_ADD("mb14241")
/* audio hardware */
- MCFG_FRAGMENT_ADD(phantom2_audio)
+ phantom2_audio(config);
MACHINE_CONFIG_END
@@ -2491,7 +2508,8 @@ static INPUT_PORTS_START( bowler )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(mw8080bw_state::bowler, mw8080bw_root)
+MACHINE_CONFIG_START(mw8080bw_state::bowler)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2504,7 +2522,7 @@ MACHINE_CONFIG_DERIVED(mw8080bw_state::bowler, mw8080bw_root)
MCFG_MB14241_ADD("mb14241")
/* audio hardware */
- MCFG_FRAGMENT_ADD(bowler_audio)
+ bowler_audio(config);
MACHINE_CONFIG_END
@@ -2702,7 +2720,8 @@ static INPUT_PORTS_START( invaders )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(mw8080bw_state::invaders, mw8080bw_root)
+MACHINE_CONFIG_START(mw8080bw_state::invaders)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2720,7 +2739,7 @@ MACHINE_CONFIG_DERIVED(mw8080bw_state::invaders, mw8080bw_root)
MCFG_MB14241_ADD("mb14241")
/* audio hardware */
- MCFG_FRAGMENT_ADD(invaders_audio)
+ invaders_audio(config);
MACHINE_CONFIG_END
@@ -2787,7 +2806,8 @@ static INPUT_PORTS_START( blueshrk )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(mw8080bw_state::blueshrk, mw8080bw_root)
+MACHINE_CONFIG_START(mw8080bw_state::blueshrk)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2800,7 +2820,7 @@ MACHINE_CONFIG_DERIVED(mw8080bw_state::blueshrk, mw8080bw_root)
MCFG_MB14241_ADD("mb14241")
/* audio hardware */
- MCFG_FRAGMENT_ADD(blueshrk_audio)
+ blueshrk_audio(config);
MACHINE_CONFIG_END
@@ -2889,7 +2909,8 @@ static INPUT_PORTS_START( invad2ct )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(mw8080bw_state::invad2ct, mw8080bw_root)
+MACHINE_CONFIG_START(mw8080bw_state::invad2ct)
+ mw8080bw_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2902,7 +2923,7 @@ MACHINE_CONFIG_DERIVED(mw8080bw_state::invad2ct, mw8080bw_root)
MCFG_MB14241_ADD("mb14241")
/* audio hardware */
- MCFG_FRAGMENT_ADD(invad2ct_audio)
+ invad2ct_audio(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/myb3k.cpp b/src/mame/drivers/myb3k.cpp
index a72a4014956..d36f5bb6d06 100644
--- a/src/mame/drivers/myb3k.cpp
+++ b/src/mame/drivers/myb3k.cpp
@@ -1023,15 +1023,17 @@ MACHINE_CONFIG_START(myb3k_state::myb3k)
MCFG_SCREEN_UPDATE_DEVICE("crtc", h46505_device, screen_update)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(myb3k_state::jb3000, myb3k)
+MACHINE_CONFIG_START(myb3k_state::jb3000)
+ myb3k(config);
/* Keyboard */
MCFG_DEVICE_REPLACE("myb3k_keyboard", JB3000_KEYBOARD, 0)
MCFG_MYB3K_KEYBOARD_CB(PUT(myb3k_state, kbd_set_data_and_interrupt))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(myb3k_state::stepone, myb3k)
- /* Keyboard */
+MACHINE_CONFIG_START(myb3k_state::stepone)
+ myb3k(config);
+ /* Keyboard */
MCFG_DEVICE_REPLACE("myb3k_keyboard", STEPONE_KEYBOARD, 0)
MCFG_MYB3K_KEYBOARD_CB(PUT(myb3k_state, kbd_set_data_and_interrupt))
diff --git a/src/mame/drivers/mystston.cpp b/src/mame/drivers/mystston.cpp
index c8438b61540..7a9ddbc575b 100644
--- a/src/mame/drivers/mystston.cpp
+++ b/src/mame/drivers/mystston.cpp
@@ -198,7 +198,7 @@ MACHINE_CONFIG_START(mystston_state::mystston)
MCFG_CPU_PROGRAM_MAP(main_map)
/* video hardware */
- MCFG_FRAGMENT_ADD(mystston_video)
+ mystston_video(config);
/* audio hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/mystwarr.cpp b/src/mame/drivers/mystwarr.cpp
index d59c1838f4a..86c33ba5f42 100644
--- a/src/mame/drivers/mystwarr.cpp
+++ b/src/mame/drivers/mystwarr.cpp
@@ -1001,7 +1001,8 @@ MACHINE_CONFIG_START(mystwarr_state::mystwarr)
MCFG_SOUND_ROUTE(1, "lspeaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mystwarr_state::viostorm, mystwarr)
+MACHINE_CONFIG_START(mystwarr_state::viostorm)
+ mystwarr(config);
MCFG_MACHINE_RESET_OVERRIDE(mystwarr_state,viostorm)
@@ -1032,7 +1033,8 @@ MACHINE_CONFIG_DERIVED(mystwarr_state::viostorm, mystwarr)
MCFG_K055673_CONFIG("gfx2", K055673_LAYOUT_RNG, -62, -23)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mystwarr_state::metamrph, mystwarr)
+MACHINE_CONFIG_START(mystwarr_state::metamrph)
+ mystwarr(config);
MCFG_MACHINE_RESET_OVERRIDE(mystwarr_state,metamrph)
@@ -1065,7 +1067,8 @@ MACHINE_CONFIG_DERIVED(mystwarr_state::metamrph, mystwarr)
MCFG_K055673_CONFIG("gfx2", K055673_LAYOUT_RNG, -51, -24)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mystwarr_state::dadandrn, mystwarr)
+MACHINE_CONFIG_START(mystwarr_state::dadandrn)
+ mystwarr(config);
MCFG_MACHINE_RESET_OVERRIDE(mystwarr_state,dadandrn)
@@ -1098,7 +1101,8 @@ MACHINE_CONFIG_DERIVED(mystwarr_state::dadandrn, mystwarr)
MCFG_K055673_CONFIG("gfx2", K055673_LAYOUT_GX, -42, -22)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mystwarr_state::gaiapols, mystwarr)
+MACHINE_CONFIG_START(mystwarr_state::gaiapols)
+ mystwarr(config);
MCFG_MACHINE_RESET_OVERRIDE(mystwarr_state,gaiapols)
@@ -1134,7 +1138,8 @@ MACHINE_CONFIG_DERIVED(mystwarr_state::gaiapols, mystwarr)
MCFG_K055673_CONFIG("gfx2", K055673_LAYOUT_RNG, -61, -22) // stage2 brick walls
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mystwarr_state::martchmp, mystwarr)
+MACHINE_CONFIG_START(mystwarr_state::martchmp)
+ mystwarr(config);
MCFG_MACHINE_RESET_OVERRIDE(mystwarr_state,martchmp)
diff --git a/src/mame/drivers/mz2000.cpp b/src/mame/drivers/mz2000.cpp
index 87274f9ac86..0a970a4da8b 100644
--- a/src/mame/drivers/mz2000.cpp
+++ b/src/mame/drivers/mz2000.cpp
@@ -928,7 +928,8 @@ MACHINE_CONFIG_START(mz2000_state::mz2000)
MCFG_SOUND_ROUTE(ALL_OUTPUTS,"mono",0.15)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mz2000_state::mz80b, mz2000)
+MACHINE_CONFIG_START(mz2000_state::mz80b)
+ mz2000(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(mz80b_io)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/mz700.cpp b/src/mame/drivers/mz700.cpp
index e008f840ed5..0564bef88f7 100644
--- a/src/mame/drivers/mz700.cpp
+++ b/src/mame/drivers/mz700.cpp
@@ -432,7 +432,8 @@ MACHINE_CONFIG_START(mz_state::mz700)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mz_state::mz800, mz700)
+MACHINE_CONFIG_START(mz_state::mz800)
+ mz700(config);
MCFG_DEVICE_REMOVE("banke")
/* basic machine hardware */
diff --git a/src/mame/drivers/mz80.cpp b/src/mame/drivers/mz80.cpp
index bea469495e5..5c5c9ea97a0 100644
--- a/src/mame/drivers/mz80.cpp
+++ b/src/mame/drivers/mz80.cpp
@@ -322,13 +322,15 @@ MACHINE_CONFIG_START(mz80_state::mz80k)
MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mz80_state::mz80kj, mz80k)
+MACHINE_CONFIG_START(mz80_state::mz80kj)
+ mz80k(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(mz80_state, screen_update_mz80kj)
MCFG_GFXDECODE_MODIFY("gfxdecode", mz80kj)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mz80_state::mz80a, mz80k)
+MACHINE_CONFIG_START(mz80_state::mz80a)
+ mz80k(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(mz80_state, screen_update_mz80a)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/n64.cpp b/src/mame/drivers/n64.cpp
index 103b1880864..477765a03b3 100644
--- a/src/mame/drivers/n64.cpp
+++ b/src/mame/drivers/n64.cpp
@@ -478,7 +478,8 @@ MACHINE_CONFIG_START(n64_mess_state::n64)
MCFG_SOFTWARE_LIST_ADD("cart_list", "n64")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(n64_mess_state::n64dd, n64)
+MACHINE_CONFIG_START(n64_mess_state::n64dd)
+ n64(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(n64dd_map)
diff --git a/src/mame/drivers/n8080.cpp b/src/mame/drivers/n8080.cpp
index 62afd19ace2..f076b9b885d 100644
--- a/src/mame/drivers/n8080.cpp
+++ b/src/mame/drivers/n8080.cpp
@@ -527,7 +527,7 @@ MACHINE_CONFIG_START(n8080_state::spacefev)
MCFG_TIMER_DRIVER_ADD_SCANLINE("rst2", n8080_state, rst2_tick, "screen", 240, 256)
/* sound hardware */
- MCFG_FRAGMENT_ADD( spacefev_sound )
+ spacefev_sound(config);
MACHINE_CONFIG_END
@@ -558,11 +558,12 @@ MACHINE_CONFIG_START(n8080_state::sheriff)
MCFG_TIMER_DRIVER_ADD_SCANLINE("rst2", n8080_state, rst2_tick, "screen", 240, 256)
/* sound hardware */
- MCFG_FRAGMENT_ADD( sheriff_sound )
+ sheriff_sound(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(n8080_state::westgun2, sheriff)
+MACHINE_CONFIG_START(n8080_state::westgun2)
+ sheriff(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", I8080, XTAL(19'968'000) / 10)
@@ -602,7 +603,7 @@ MACHINE_CONFIG_START(n8080_state::helifire)
MCFG_TIMER_DRIVER_ADD_SCANLINE("rst2", n8080_state, rst2_tick, "screen", 240, 256)
/* sound hardware */
- MCFG_FRAGMENT_ADD( helifire_sound )
+ helifire_sound(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/nakajies.cpp b/src/mame/drivers/nakajies.cpp
index 7b1a58337f6..41e36f4a240 100644
--- a/src/mame/drivers/nakajies.cpp
+++ b/src/mame/drivers/nakajies.cpp
@@ -771,15 +771,18 @@ MACHINE_CONFIG_START(nakajies_state::nakajies210)
MCFG_TIMER_DRIVER_ADD_PERIODIC("kb_timer", nakajies_state, kb_timer, attotime::from_hz(250))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nakajies_state::dator3k, nakajies210)
+MACHINE_CONFIG_START(nakajies_state::dator3k)
+ nakajies210(config);
MCFG_GFXDECODE_MODIFY("gfxdecode", dator3k)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nakajies_state::nakajies220, nakajies210)
+MACHINE_CONFIG_START(nakajies_state::nakajies220)
+ nakajies210(config);
MCFG_GFXDECODE_MODIFY("gfxdecode", drwrt400)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nakajies_state::nakajies250, nakajies210)
+MACHINE_CONFIG_START(nakajies_state::nakajies250)
+ nakajies210(config);
MCFG_SCREEN_MODIFY( "screen" )
MCFG_SCREEN_SIZE( 80 * 6, 16 * 8 )
MCFG_SCREEN_VISIBLE_AREA( 0, 6 * 80 - 1, 0, 16 * 8 - 1 )
diff --git a/src/mame/drivers/namcona1.cpp b/src/mame/drivers/namcona1.cpp
index 6303abb3352..f64cc9f706e 100644
--- a/src/mame/drivers/namcona1.cpp
+++ b/src/mame/drivers/namcona1.cpp
@@ -992,7 +992,8 @@ MACHINE_CONFIG_START(namcona1_state::namcona1)
MCFG_SOUND_ROUTE(1, "lspeaker", 1.00)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcona2_state::namcona2, namcona1)
+MACHINE_CONFIG_START(namcona2_state::namcona2)
+ namcona1(config);
/* basic machine hardware */
// MCFG_CPU_MODIFY("maincpu")
@@ -1003,7 +1004,8 @@ MACHINE_CONFIG_DERIVED(namcona2_state::namcona2, namcona1)
MCFG_CPU_IO_MAP( namcona1_mcu_io_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(xday2_namcona2_state::xday2, namcona2)
+MACHINE_CONFIG_START(xday2_namcona2_state::xday2)
+ namcona2(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(xday2_main_map)
diff --git a/src/mame/drivers/namcond1.cpp b/src/mame/drivers/namcond1.cpp
index a232631f91a..7a7ab20dd3e 100644
--- a/src/mame/drivers/namcond1.cpp
+++ b/src/mame/drivers/namcond1.cpp
@@ -389,7 +389,8 @@ MACHINE_CONFIG_START(namcond1_state::namcond1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcond1_state::abcheck, namcond1)
+MACHINE_CONFIG_START(namcond1_state::abcheck)
+ namcond1(config);
MCFG_CPU_REPLACE("maincpu", M68000, XTAL(49'152'000)/4)
MCFG_CPU_PROGRAM_MAP(abcheck_map)
// MCFG_CPU_VBLANK_INT_DRIVER("screen", namcond1_state, irq1_line_hold)
diff --git a/src/mame/drivers/namcops2.cpp b/src/mame/drivers/namcops2.cpp
index 2e960f54334..1187704922d 100644
--- a/src/mame/drivers/namcops2.cpp
+++ b/src/mame/drivers/namcops2.cpp
@@ -932,7 +932,8 @@ MACHINE_CONFIG_START(namcops2_state::system246)
MCFG_PALETTE_ADD("palette", 65536)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcops2_state::system256, system246)
+MACHINE_CONFIG_START(namcops2_state::system256)
+ system246(config);
MACHINE_CONFIG_END
#define SYSTEM246_BIOS \
diff --git a/src/mame/drivers/namcos10.cpp b/src/mame/drivers/namcos10.cpp
index 3e6eb004984..9dee100518c 100644
--- a/src/mame/drivers/namcos10.cpp
+++ b/src/mame/drivers/namcos10.cpp
@@ -959,44 +959,52 @@ MACHINE_CONFIG_START(namcos10_state::namcos10_memn)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos10_state::ns10_mrdrilr2, namcos10_memm)
-/* decrypter device (CPLD in hardware?) */
-MCFG_DEVICE_ADD("decrypter", MRDRILR2_DECRYPTER, 0)
+MACHINE_CONFIG_START(namcos10_state::ns10_mrdrilr2)
+ namcos10_memm(config);
+ /* decrypter device (CPLD in hardware?) */
+ MCFG_DEVICE_ADD("decrypter", MRDRILR2_DECRYPTER, 0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos10_state::ns10_chocovdr, namcos10_memn)
-/* decrypter device (CPLD in hardware?) */
-MCFG_DEVICE_ADD("decrypter", CHOCOVDR_DECRYPTER, 0)
+MACHINE_CONFIG_START(namcos10_state::ns10_chocovdr)
+ namcos10_memn(config);
+ /* decrypter device (CPLD in hardware?) */
+ MCFG_DEVICE_ADD("decrypter", CHOCOVDR_DECRYPTER, 0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos10_state::ns10_gamshara, namcos10_memn)
-/* decrypter device (CPLD in hardware?) */
-MCFG_DEVICE_ADD("decrypter", GAMSHARA_DECRYPTER, 0)
+MACHINE_CONFIG_START(namcos10_state::ns10_gamshara)
+ namcos10_memn(config);
+ /* decrypter device (CPLD in hardware?) */
+ MCFG_DEVICE_ADD("decrypter", GAMSHARA_DECRYPTER, 0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos10_state::ns10_gjspace, namcos10_memn)
-/* decrypter device (CPLD in hardware?) */
-MCFG_DEVICE_ADD("decrypter", GJSPACE_DECRYPTER, 0)
+MACHINE_CONFIG_START(namcos10_state::ns10_gjspace)
+ namcos10_memn(config);
+ /* decrypter device (CPLD in hardware?) */
+ MCFG_DEVICE_ADD("decrypter", GJSPACE_DECRYPTER, 0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos10_state::ns10_knpuzzle, namcos10_memn)
-/* decrypter device (CPLD in hardware?) */
-MCFG_DEVICE_ADD("decrypter", KNPUZZLE_DECRYPTER, 0)
+MACHINE_CONFIG_START(namcos10_state::ns10_knpuzzle)
+ namcos10_memn(config);
+ /* decrypter device (CPLD in hardware?) */
+ MCFG_DEVICE_ADD("decrypter", KNPUZZLE_DECRYPTER, 0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos10_state::ns10_konotako, namcos10_memn)
-/* decrypter device (CPLD in hardware?) */
-MCFG_DEVICE_ADD("decrypter", KONOTAKO_DECRYPTER, 0)
+MACHINE_CONFIG_START(namcos10_state::ns10_konotako)
+ namcos10_memn(config);
+ /* decrypter device (CPLD in hardware?) */
+ MCFG_DEVICE_ADD("decrypter", KONOTAKO_DECRYPTER, 0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos10_state::ns10_nflclsfb, namcos10_memn)
-/* decrypter device (CPLD in hardware?) */
-MCFG_DEVICE_ADD("decrypter", NFLCLSFB_DECRYPTER, 0)
+MACHINE_CONFIG_START(namcos10_state::ns10_nflclsfb)
+ namcos10_memn(config);
+ /* decrypter device (CPLD in hardware?) */
+ MCFG_DEVICE_ADD("decrypter", NFLCLSFB_DECRYPTER, 0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos10_state::ns10_startrgn, namcos10_memn)
-/* decrypter device (CPLD in hardware?) */
-MCFG_DEVICE_ADD("decrypter", STARTRGN_DECRYPTER, 0)
+MACHINE_CONFIG_START(namcos10_state::ns10_startrgn)
+ namcos10_memn(config);
+ /* decrypter device (CPLD in hardware?) */
+ MCFG_DEVICE_ADD("decrypter", STARTRGN_DECRYPTER, 0)
MACHINE_CONFIG_END
static INPUT_PORTS_START( namcos10 )
diff --git a/src/mame/drivers/namcos11.cpp b/src/mame/drivers/namcos11.cpp
index db322aa8fd8..ed257fda765 100644
--- a/src/mame/drivers/namcos11.cpp
+++ b/src/mame/drivers/namcos11.cpp
@@ -627,7 +627,8 @@ MACHINE_CONFIG_START(namcos11_state::coh110)
MCFG_AT28C16_ADD( "at28c16", nullptr )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos11_state::coh100, coh110)
+MACHINE_CONFIG_START(namcos11_state::coh100)
+ coh110(config);
MCFG_CPU_REPLACE( "maincpu", CXD8530AQ, XTAL(67'737'600) )
MCFG_CPU_PROGRAM_MAP( namcos11_map )
@@ -637,7 +638,8 @@ MACHINE_CONFIG_DERIVED(namcos11_state::coh100, coh110)
MCFG_PSXGPU_REPLACE( "maincpu", "gpu", CXD8538Q, 0x200000, XTAL(53'693'175) )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos11_state::tekken, coh100)
+MACHINE_CONFIG_START(namcos11_state::tekken)
+ coh100(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP( rom8_map )
@@ -645,74 +647,85 @@ MACHINE_CONFIG_DERIVED(namcos11_state::tekken, coh100)
MCFG_DEVICE_ADD( "keycus", KEYCUS_C406, 0 )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos11_state::tekken2o, coh100)
+MACHINE_CONFIG_START(namcos11_state::tekken2o)
+ coh100(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP( rom8_map )
MCFG_DEVICE_ADD( "keycus", KEYCUS_C406, 0 )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos11_state::tekken2, coh110)
+MACHINE_CONFIG_START(namcos11_state::tekken2)
+ coh110(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP( rom8_map )
MCFG_DEVICE_ADD( "keycus", KEYCUS_C406, 0 )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos11_state::souledge, coh110)
+MACHINE_CONFIG_START(namcos11_state::souledge)
+ coh110(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP( rom8_map )
MCFG_DEVICE_ADD( "keycus", KEYCUS_C409, 0 )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos11_state::dunkmnia, coh110)
+MACHINE_CONFIG_START(namcos11_state::dunkmnia)
+ coh110(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP( rom8_map )
MCFG_DEVICE_ADD( "keycus", KEYCUS_C410, 0 )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos11_state::primglex, coh110)
+MACHINE_CONFIG_START(namcos11_state::primglex)
+ coh110(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP( rom8_map )
MCFG_DEVICE_ADD( "keycus", KEYCUS_C411, 0 )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos11_state::xevi3dg, coh110)
+MACHINE_CONFIG_START(namcos11_state::xevi3dg)
+ coh110(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP( rom8_map )
MCFG_DEVICE_ADD( "keycus", KEYCUS_C430, 0 )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos11_state::danceyes, coh110)
+MACHINE_CONFIG_START(namcos11_state::danceyes)
+ coh110(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP( rom8_map )
MCFG_DEVICE_ADD( "keycus", KEYCUS_C431, 0 )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos11_state::pocketrc, coh110)
+MACHINE_CONFIG_START(namcos11_state::pocketrc)
+ coh110(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP( rom8_map )
MCFG_DEVICE_ADD( "keycus", KEYCUS_C432, 0 )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos11_state::starswep, coh110)
+MACHINE_CONFIG_START(namcos11_state::starswep)
+ coh110(config);
MCFG_DEVICE_ADD( "keycus", KEYCUS_C442, 0 )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos11_state::myangel3, coh110)
+MACHINE_CONFIG_START(namcos11_state::myangel3)
+ coh110(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP( rom8_64_map )
MCFG_DEVICE_ADD( "keycus", KEYCUS_C443, 0 )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos11_state::ptblank2ua, coh110)
+MACHINE_CONFIG_START(namcos11_state::ptblank2ua)
+ coh110(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP( ptblank2ua_map )
diff --git a/src/mame/drivers/namcos12.cpp b/src/mame/drivers/namcos12.cpp
index a49f78bd104..4207cb71e43 100644
--- a/src/mame/drivers/namcos12.cpp
+++ b/src/mame/drivers/namcos12.cpp
@@ -1727,21 +1727,24 @@ MACHINE_CONFIG_START(namcos12_state::coh700)
//MCFG_SOUND_ROUTE(3, "rspeaker", 1.00)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos12_boothack_state::ptblank2, coh700)
+MACHINE_CONFIG_START(namcos12_boothack_state::ptblank2)
+ coh700(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP( ptblank2_map )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos12_boothack_state::tektagt, coh700)
+MACHINE_CONFIG_START(namcos12_boothack_state::tektagt)
+ coh700(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP( tektagt_map )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos12_boothack_state::golgo13, coh700)
+MACHINE_CONFIG_START(namcos12_boothack_state::golgo13)
+ coh700(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("sub")
@@ -1758,7 +1761,8 @@ ADDRESS_MAP_START(namcos12_state::jvsiomap)
ADDRESS_MAP_END
-MACHINE_CONFIG_DERIVED(namcos12_boothack_state::truckk, coh700)
+MACHINE_CONFIG_START(namcos12_boothack_state::truckk)
+ coh700(config);
// Timer at 115200*16 for the jvs serial clock
MCFG_DEVICE_MODIFY(":sub:sci0")
MCFG_H8_SCI_SET_EXTERNAL_CLOCK_PERIOD(attotime::from_hz(JVSCLOCK/8))
@@ -1827,7 +1831,8 @@ ADDRESS_MAP_START(namcos12_state::plarailjvsiomap)
AM_RANGE(h8_device::ADC_2, h8_device::ADC_2) AM_NOP
ADDRESS_MAP_END
-MACHINE_CONFIG_DERIVED(namcos12_boothack_state::technodr, coh700)
+MACHINE_CONFIG_START(namcos12_boothack_state::technodr)
+ coh700(config);
// Timer at 115200*16 for the jvs serial clock
MCFG_DEVICE_MODIFY(":sub:sci0")
MCFG_H8_SCI_SET_EXTERNAL_CLOCK_PERIOD(attotime::from_hz(JVSCLOCK/8))
@@ -1849,7 +1854,8 @@ MACHINE_CONFIG_DERIVED(namcos12_boothack_state::technodr, coh700)
MCFG_QUANTUM_TIME(attotime::from_hz(2*115200))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos12_boothack_state::aplarail, coh700)
+MACHINE_CONFIG_START(namcos12_boothack_state::aplarail)
+ coh700(config);
// Timer at 115200*16 for the jvs serial clock
MCFG_DEVICE_MODIFY(":sub:sci0")
MCFG_H8_SCI_SET_EXTERNAL_CLOCK_PERIOD(attotime::from_hz(JVSCLOCK/8))
diff --git a/src/mame/drivers/namcos2.cpp b/src/mame/drivers/namcos2.cpp
index f9b7beae5d7..fbc3955d467 100644
--- a/src/mame/drivers/namcos2.cpp
+++ b/src/mame/drivers/namcos2.cpp
@@ -1736,7 +1736,7 @@ MACHINE_CONFIG_START(namcos2_state::base)
MCFG_MACHINE_RESET_OVERRIDE(namcos2_state,namcos2)
MCFG_NVRAM_ADD_1FILL("nvram")
- MCFG_FRAGMENT_ADD(configure_c148_standard)
+ configure_c148_standard(config);
MCFG_NAMCO_C139_ADD("sci")
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1764,7 +1764,8 @@ MACHINE_CONFIG_START(namcos2_state::base)
MACHINE_CONFIG_END
/* adjusted machine driver start */
-MACHINE_CONFIG_DERIVED(namcos2_state::base2, base)
+MACHINE_CONFIG_START(namcos2_state::base2)
+ base(config);
MCFG_C140_REPLACE("c140", C140_SOUND_CLOCK) /* 21.333kHz */
MCFG_C140_BANK_TYPE(SYSTEM2)
@@ -1773,12 +1774,14 @@ MACHINE_CONFIG_DERIVED(namcos2_state::base2, base)
MACHINE_CONFIG_END
/* end */
-MACHINE_CONFIG_DERIVED(namcos2_state::assaultp, base2)
+MACHINE_CONFIG_START(namcos2_state::assaultp)
+ base2(config);
MCFG_QUANTUM_TIME(attotime::from_hz(12000*8)) /* CPU slices per frame - boosted (along with MCU speed) so that the Mode Select works */
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos2_state::base3, base)
+MACHINE_CONFIG_START(namcos2_state::base3)
+ base(config);
MCFG_C140_REPLACE("c140", C140_SOUND_CLOCK) /* 21.333kHz */
MCFG_C140_BANK_TYPE(SYSTEM2)
@@ -1813,7 +1816,7 @@ MACHINE_CONFIG_START(namcos2_state::gollygho)
MCFG_MACHINE_RESET_OVERRIDE(namcos2_state,namcos2)
MCFG_NVRAM_ADD_1FILL("nvram")
- MCFG_FRAGMENT_ADD(configure_c148_standard)
+ configure_c148_standard(config);
MCFG_NAMCO_C139_ADD("sci")
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1863,7 +1866,7 @@ MACHINE_CONFIG_START(namcos2_state::finallap)
MCFG_MACHINE_RESET_OVERRIDE(namcos2_state,namcos2)
MCFG_NVRAM_ADD_1FILL("nvram")
- MCFG_FRAGMENT_ADD(configure_c148_standard)
+ configure_c148_standard(config);
MCFG_NAMCO_C139_ADD("sci")
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1918,7 +1921,7 @@ MACHINE_CONFIG_START(namcos2_state::sgunner)
MCFG_MACHINE_RESET_OVERRIDE(namcos2_state,namcos2)
MCFG_NVRAM_ADD_1FILL("nvram")
- MCFG_FRAGMENT_ADD(configure_c148_standard)
+ configure_c148_standard(config);
MCFG_NAMCO_C139_ADD("sci")
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1975,7 +1978,7 @@ MACHINE_CONFIG_START(namcos2_state::sgunner2)
MCFG_MACHINE_RESET_OVERRIDE(namcos2_state,namcos2)
MCFG_NVRAM_ADD_1FILL("nvram")
- MCFG_FRAGMENT_ADD(configure_c148_standard)
+ configure_c148_standard(config);
MCFG_NAMCO_C139_ADD("sci")
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2027,7 +2030,7 @@ MACHINE_CONFIG_START(namcos2_state::luckywld)
MCFG_MACHINE_RESET_OVERRIDE(namcos2_state,namcos2)
MCFG_NVRAM_ADD_1FILL("nvram")
- MCFG_FRAGMENT_ADD(configure_c148_standard)
+ configure_c148_standard(config);
MCFG_NAMCO_C139_ADD("sci")
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2082,7 +2085,7 @@ MACHINE_CONFIG_START(namcos2_state::metlhawk)
MCFG_MACHINE_RESET_OVERRIDE(namcos2_state,namcos2)
MCFG_NVRAM_ADD_1FILL("nvram")
- MCFG_FRAGMENT_ADD(configure_c148_standard)
+ configure_c148_standard(config);
MCFG_NAMCO_C139_ADD("sci")
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/namcos21.cpp b/src/mame/drivers/namcos21.cpp
index 5bd3d85123c..0a7101c185c 100644
--- a/src/mame/drivers/namcos21.cpp
+++ b/src/mame/drivers/namcos21.cpp
@@ -1927,7 +1927,7 @@ MACHINE_CONFIG_START(namcos21_state::namcos21)
MCFG_SCREEN_UPDATE_DRIVER(namcos21_state, screen_update_namcos21)
MCFG_SCREEN_PALETTE("palette")
- MCFG_FRAGMENT_ADD(configure_c148_standard)
+ configure_c148_standard(config);
MCFG_NAMCO_C139_ADD("sci")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", namcos21)
@@ -1983,7 +1983,7 @@ MACHINE_CONFIG_START(namcos21_state::driveyes)
MCFG_DEVICE_ADD("gearbox", NAMCOIO_GEARBOX, 0)
- MCFG_FRAGMENT_ADD(configure_c148_standard)
+ configure_c148_standard(config);
MCFG_NAMCO_C139_ADD("sci")
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2038,7 +2038,7 @@ MACHINE_CONFIG_START(namcos21_state::winrun)
MCFG_CPU_ADD("gpu", M68000,12288000) /* graphics coprocessor */
MCFG_CPU_PROGRAM_MAP(winrun_gpu_map)
- MCFG_FRAGMENT_ADD(configure_c148_standard)
+ configure_c148_standard(config);
MCFG_NAMCO_C148_ADD("gpu_intc","gpu",false)
MCFG_NAMCO_C139_ADD("sci")
diff --git a/src/mame/drivers/namcos22.cpp b/src/mame/drivers/namcos22.cpp
index c5e799f0cad..c32842148fd 100644
--- a/src/mame/drivers/namcos22.cpp
+++ b/src/mame/drivers/namcos22.cpp
@@ -3788,7 +3788,8 @@ MACHINE_CONFIG_START(namcos22_state::namcos22)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.00)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos22_state::cybrcomm, namcos22)
+MACHINE_CONFIG_START(namcos22_state::cybrcomm)
+ namcos22(config);
MCFG_SPEAKER_STANDARD_STEREO("rear_left","rear_right")
@@ -3853,7 +3854,8 @@ MACHINE_CONFIG_START(namcos22_state::namcos22s)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.00)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos22_state::airco22b, namcos22s)
+MACHINE_CONFIG_START(namcos22_state::airco22b)
+ namcos22s(config);
MCFG_SPEAKER_STANDARD_MONO("bodysonic")
@@ -3861,7 +3863,8 @@ MACHINE_CONFIG_DERIVED(namcos22_state::airco22b, namcos22s)
MCFG_SOUND_ROUTE(2, "bodysonic", 0.50)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos22_state::alpine, namcos22s)
+MACHINE_CONFIG_START(namcos22_state::alpine)
+ namcos22s(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("mcu")
@@ -3870,14 +3873,16 @@ MACHINE_CONFIG_DERIVED(namcos22_state::alpine, namcos22s)
MCFG_TIMER_DRIVER_ADD("motor_timer", namcos22_state, alpine_steplock_callback)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos22_state::alpinesa, alpine)
+MACHINE_CONFIG_START(namcos22_state::alpinesa)
+ alpine(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(alpinesa_am)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos22_state::cybrcycc, namcos22s)
+MACHINE_CONFIG_START(namcos22_state::cybrcycc)
+ namcos22s(config);
MCFG_SPEAKER_STANDARD_MONO("tank")
@@ -3885,7 +3890,8 @@ MACHINE_CONFIG_DERIVED(namcos22_state::cybrcycc, namcos22s)
MCFG_SOUND_ROUTE(2, "tank", 1.00)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos22_state::dirtdash, namcos22s)
+MACHINE_CONFIG_START(namcos22_state::dirtdash)
+ namcos22s(config);
MCFG_SPEAKER_STANDARD_MONO("road")
MCFG_SPEAKER_STANDARD_MONO("under")
@@ -3895,14 +3901,16 @@ MACHINE_CONFIG_DERIVED(namcos22_state::dirtdash, namcos22s)
MCFG_SOUND_ROUTE(3, "under", 0.50) // from sound test
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos22_state::timecris, namcos22s)
+MACHINE_CONFIG_START(namcos22_state::timecris)
+ namcos22s(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(timecris_am)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos22_state::tokyowar, namcos22s)
+MACHINE_CONFIG_START(namcos22_state::tokyowar)
+ namcos22s(config);
MCFG_SPEAKER_STANDARD_MONO("seat")
MCFG_SPEAKER_STANDARD_MONO("vibration")
@@ -3912,7 +3920,8 @@ MACHINE_CONFIG_DERIVED(namcos22_state::tokyowar, namcos22s)
MCFG_SOUND_ROUTE(2, "vibration", 0.50)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos22_state::propcycl, namcos22s)
+MACHINE_CONFIG_START(namcos22_state::propcycl)
+ namcos22s(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("mcu")
@@ -3930,7 +3939,8 @@ MACHINE_START_MEMBER(namcos22_state,adillor)
elem = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(namcos22_state::adillor_trackball_interrupt),this));
}
-MACHINE_CONFIG_DERIVED(namcos22_state::adillor, namcos22s)
+MACHINE_CONFIG_START(namcos22_state::adillor)
+ namcos22s(config);
/* basic machine hardware */
MCFG_TIMER_DRIVER_ADD_PERIODIC("ar_tb_upd", namcos22_state, adillor_trackball_update, attotime::from_msec(20))
diff --git a/src/mame/drivers/namcos23.cpp b/src/mame/drivers/namcos23.cpp
index cd639e71c03..3a1ca5c9b62 100644
--- a/src/mame/drivers/namcos23.cpp
+++ b/src/mame/drivers/namcos23.cpp
@@ -3683,14 +3683,16 @@ MACHINE_CONFIG_START(namcos23_state::s23)
MCFG_SOUND_ROUTE(3, "lspeaker", 1.00)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos23_state::timecrs2, s23)
+MACHINE_CONFIG_START(namcos23_state::timecrs2)
+ s23(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("iocpu")
MCFG_CPU_PROGRAM_MAP( timecrs2iobrdmap )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos23_state::gmen, s23)
+MACHINE_CONFIG_START(namcos23_state::gmen)
+ s23(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3760,7 +3762,8 @@ MACHINE_CONFIG_START(namcos23_state::ss23)
MCFG_SOUND_ROUTE(3, "lspeaker", 1.00)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos23_state::timecrs2v4a, ss23)
+MACHINE_CONFIG_START(namcos23_state::timecrs2v4a)
+ ss23(config);
/* basic machine hardware */
MCFG_CPU_ADD("iocpu", H83334, JVSCLOCK )
MCFG_CPU_PROGRAM_MAP( timecrs2iobrdmap )
@@ -3772,7 +3775,8 @@ MACHINE_CONFIG_DERIVED(namcos23_state::timecrs2v4a, ss23)
MCFG_H8_SCI_TX_CALLBACK(DEVWRITELINE(":iocpu:sci0", h8_sci_device, rx_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos23_state::ss23e2, ss23)
+MACHINE_CONFIG_START(namcos23_state::ss23e2)
+ ss23(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/namcos86.cpp b/src/mame/drivers/namcos86.cpp
index 11281e64d9d..5463aca574e 100644
--- a/src/mame/drivers/namcos86.cpp
+++ b/src/mame/drivers/namcos86.cpp
@@ -1091,7 +1091,8 @@ MACHINE_CONFIG_START(namcos86_state::hopmappy)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos86_state::roishtar, hopmappy)
+MACHINE_CONFIG_START(namcos86_state::roishtar)
+ hopmappy(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("cpu2")
@@ -1102,7 +1103,8 @@ MACHINE_CONFIG_DERIVED(namcos86_state::roishtar, hopmappy)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos86_state::genpeitd, hopmappy)
+MACHINE_CONFIG_START(namcos86_state::genpeitd)
+ hopmappy(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("cpu2")
@@ -1117,7 +1119,8 @@ MACHINE_CONFIG_DERIVED(namcos86_state::genpeitd, hopmappy)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos86_state::rthunder, hopmappy)
+MACHINE_CONFIG_START(namcos86_state::rthunder)
+ hopmappy(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("cpu2")
@@ -1132,7 +1135,8 @@ MACHINE_CONFIG_DERIVED(namcos86_state::rthunder, hopmappy)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos86_state::wndrmomo, hopmappy)
+MACHINE_CONFIG_START(namcos86_state::wndrmomo)
+ hopmappy(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("cpu2")
diff --git a/src/mame/drivers/naomi.cpp b/src/mame/drivers/naomi.cpp
index 18b9d556fdb..41c9a571169 100644
--- a/src/mame/drivers/naomi.cpp
+++ b/src/mame/drivers/naomi.cpp
@@ -2727,7 +2727,7 @@ MACHINE_CONFIG_START(dc_state::naomi_aw_base)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(naomi_state::naomi_base)
- MCFG_FRAGMENT_ADD( naomi_aw_base )
+ naomi_aw_base(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(naomi_map)
@@ -2755,7 +2755,8 @@ MACHINE_CONFIG_END
* Naomi 1, unprotected ROM sub-board
*/
-MACHINE_CONFIG_DERIVED(naomi_state::naomi, naomi_base)
+MACHINE_CONFIG_START(naomi_state::naomi)
+ naomi_base(config);
MCFG_NAOMI_ROM_BOARD_ADD("rom_board", "naomibd_eeprom", WRITE8(dc_state, g1_irq))
MACHINE_CONFIG_END
@@ -2763,7 +2764,8 @@ MACHINE_CONFIG_END
* Naomi 1 GD-Rom
*/
-MACHINE_CONFIG_DERIVED(naomi_state::naomigd, naomi_base)
+MACHINE_CONFIG_START(naomi_state::naomigd)
+ naomi_base(config);
MCFG_NAOMI_GDROM_BOARD_ADD("rom_board", ":gdrom", ":pic", "naomibd_eeprom", WRITE8(dc_state, g1_irq))
MACHINE_CONFIG_END
@@ -2771,7 +2773,8 @@ MACHINE_CONFIG_END
* Naomi 1, M1 sub-board
*/
-MACHINE_CONFIG_DERIVED(naomi_state::naomim1, naomi_base)
+MACHINE_CONFIG_START(naomi_state::naomim1)
+ naomi_base(config);
MCFG_NAOMI_M1_BOARD_ADD("rom_board", "naomibd_eeprom", WRITE8(dc_state, g1_irq))
MACHINE_CONFIG_END
@@ -2779,7 +2782,8 @@ MACHINE_CONFIG_END
* Naomi 1, M2/3 sub-board
*/
-MACHINE_CONFIG_DERIVED(naomi_state::naomim2, naomi_base)
+MACHINE_CONFIG_START(naomi_state::naomim2)
+ naomi_base(config);
MCFG_NAOMI_M2_BOARD_ADD("rom_board", "naomibd_eeprom", WRITE8(dc_state, g1_irq))
MACHINE_CONFIG_END
@@ -2787,7 +2791,8 @@ MACHINE_CONFIG_END
* Naomi 1, M4 sub-board
*/
-MACHINE_CONFIG_DERIVED(naomi_state::naomim4, naomi_base)
+MACHINE_CONFIG_START(naomi_state::naomim4)
+ naomi_base(config);
MCFG_NAOMI_M4_BOARD_ADD("rom_board", "pic_readout", "naomibd_eeprom", WRITE8(dc_state, g1_irq))
MACHINE_CONFIG_END
@@ -2795,7 +2800,8 @@ MACHINE_CONFIG_END
* Naomi 2
*/
/*
-MACHINE_CONFIG_DERIVED((naomi2_state::naomi2, naomi)
+MACHINE_CONFIG_START((naomi2_state::naomi2)
+ naomi(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(naomi2_map)
MCFG_CPU_IO_MAP(naomi_port)
@@ -2812,8 +2818,8 @@ MACHINE_CONFIG_START(naomi2_state::naomi2_base)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(naomi2_state::naomi2gd)
- MCFG_FRAGMENT_ADD( naomigd )
- MCFG_FRAGMENT_ADD( naomi2_base )
+ naomigd(config);
+ naomi2_base(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(naomi2_map)
@@ -2824,8 +2830,8 @@ MACHINE_CONFIG_END
*/
MACHINE_CONFIG_START(naomi2_state::naomi2m1)
- MCFG_FRAGMENT_ADD( naomim1 )
- MCFG_FRAGMENT_ADD( naomi2_base )
+ naomim1(config);
+ naomi2_base(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(naomi2_map)
@@ -2836,8 +2842,8 @@ MACHINE_CONFIG_END
*/
MACHINE_CONFIG_START(naomi2_state::naomi2m2)
- MCFG_FRAGMENT_ADD( naomim2 )
- MCFG_FRAGMENT_ADD( naomi2_base )
+ naomim2(config);
+ naomi2_base(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(naomi2_map)
@@ -2848,7 +2854,7 @@ MACHINE_CONFIG_END
*/
MACHINE_CONFIG_START(atomiswave_state::aw_base)
- MCFG_FRAGMENT_ADD( naomi_aw_base )
+ naomi_aw_base(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(aw_map)
@@ -2862,13 +2868,15 @@ MACHINE_CONFIG_START(atomiswave_state::aw_base)
MCFG_MACHINE_RESET_OVERRIDE(dc_state,dc_console)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(atomiswave_state::aw1c, aw_base)
+MACHINE_CONFIG_START(atomiswave_state::aw1c)
+ aw_base(config);
MCFG_DC_CONTROLLER_ADD("dcctrl0", "maple_dc", 0, ":P1.0", ":P1.1", ":P1.A0", ":P1.A1", ":P1.A2", ":P1.A3", ":P1.A4", ":P1.A5")
// TODO: isn't it supposed to be just one controller?
MCFG_DC_CONTROLLER_ADD("dcctrl1", "maple_dc", 1, ":P2.0", ":P2.1", ":P2.A0", ":P2.A1", ":P2.A2", ":P2.A3", ":P2.A4", ":P2.A5")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(atomiswave_state::aw2c, aw_base)
+MACHINE_CONFIG_START(atomiswave_state::aw2c)
+ aw_base(config);
MCFG_DC_CONTROLLER_ADD("dcctrl0", "maple_dc", 0, ":P1.0", ":P1.1", ":P1.A0", ":P1.A1", ":P1.A2", ":P1.A3", ":P1.A4", ":P1.A5")
MCFG_DC_CONTROLLER_ADD("dcctrl1", "maple_dc", 1, ":P2.0", ":P2.1", ":P2.A0", ":P2.A1", ":P2.A2", ":P2.A3", ":P2.A4", ":P2.A5")
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/nascom1.cpp b/src/mame/drivers/nascom1.cpp
index b42bed005de..31a4db03a0e 100644
--- a/src/mame/drivers/nascom1.cpp
+++ b/src/mame/drivers/nascom1.cpp
@@ -688,13 +688,15 @@ MACHINE_CONFIG_START(nascom_state::nascom)
MCFG_SNAPSHOT_ADD("snapshot", nascom_state, nascom1, "nas", 0.5)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nascom1_state::nascom1, nascom)
+MACHINE_CONFIG_START(nascom1_state::nascom1)
+ nascom(config);
MCFG_CPU_ADD("maincpu", Z80, XTAL(16'000'000) / 8)
MCFG_CPU_PROGRAM_MAP(nascom1_mem)
MCFG_CPU_IO_MAP(nascom1_io)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nascom2_state::nascom2, nascom)
+MACHINE_CONFIG_START(nascom2_state::nascom2)
+ nascom(config);
MCFG_CPU_ADD("maincpu", Z80, XTAL(16'000'000) / 4)
MCFG_CPU_PROGRAM_MAP(nascom2_mem)
MCFG_CPU_IO_MAP(nascom2_io)
@@ -728,7 +730,8 @@ MACHINE_CONFIG_DERIVED(nascom2_state::nascom2, nascom)
MCFG_SOFTWARE_LIST_ADD("floppy_list", "nascom_flop")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nascom2_state::nascom2c, nascom2)
+MACHINE_CONFIG_START(nascom2_state::nascom2c)
+ nascom2(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(nascom2c_mem)
diff --git a/src/mame/drivers/nbmj8688.cpp b/src/mame/drivers/nbmj8688.cpp
index 1bf1232d414..f5eb6c3ec02 100644
--- a/src/mame/drivers/nbmj8688.cpp
+++ b/src/mame/drivers/nbmj8688.cpp
@@ -2478,7 +2478,8 @@ MACHINE_CONFIG_START(nbmj8688_state::NBMJDRV_4096)
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(nbmj8688_state::NBMJDRV_256, NBMJDRV_4096)
+MACHINE_CONFIG_START(nbmj8688_state::NBMJDRV_256)
+ NBMJDRV_4096(config);
/* basic machine hardware */
@@ -2490,7 +2491,8 @@ MACHINE_CONFIG_DERIVED(nbmj8688_state::NBMJDRV_256, NBMJDRV_4096)
MCFG_VIDEO_START_OVERRIDE(nbmj8688_state,mbmj8688_8bit)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8688_state::NBMJDRV_65536, NBMJDRV_4096)
+MACHINE_CONFIG_START(nbmj8688_state::NBMJDRV_65536)
+ NBMJDRV_4096(config);
/* basic machine hardware */
@@ -2505,7 +2507,8 @@ MACHINE_CONFIG_END
// --------------------------------------------------------------------------------
-MACHINE_CONFIG_DERIVED(nbmj8688_state::crystalg, NBMJDRV_256)
+MACHINE_CONFIG_START(nbmj8688_state::crystalg)
+ NBMJDRV_256(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2516,19 +2519,22 @@ MACHINE_CONFIG_DERIVED(nbmj8688_state::crystalg, NBMJDRV_256)
MCFG_NB1413M3_TYPE( NB1413M3_CRYSTALG )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8688_state::crystal2, crystalg)
+MACHINE_CONFIG_START(nbmj8688_state::crystal2)
+ crystalg(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_CRYSTAL2 )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8688_state::nightlov, crystalg)
+MACHINE_CONFIG_START(nbmj8688_state::nightlov)
+ crystalg(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_NIGHTLOV )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8688_state::apparel, NBMJDRV_256)
+MACHINE_CONFIG_START(nbmj8688_state::apparel)
+ NBMJDRV_256(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2539,7 +2545,8 @@ MACHINE_CONFIG_DERIVED(nbmj8688_state::apparel, NBMJDRV_256)
MCFG_NB1413M3_TYPE( NB1413M3_APPAREL )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8688_state::mbmj_h12bit, NBMJDRV_4096)
+MACHINE_CONFIG_START(nbmj8688_state::mbmj_h12bit)
+ NBMJDRV_4096(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2550,26 +2557,30 @@ MACHINE_CONFIG_DERIVED(nbmj8688_state::mbmj_h12bit, NBMJDRV_4096)
MCFG_VIDEO_START_OVERRIDE(nbmj8688_state,mbmj8688_hybrid_12bit)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8688_state::citylove, mbmj_h12bit)
+MACHINE_CONFIG_START(nbmj8688_state::citylove)
+ mbmj_h12bit(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_CITYLOVE )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8688_state::mcitylov, mbmj_h12bit)
+MACHINE_CONFIG_START(nbmj8688_state::mcitylov)
+ mbmj_h12bit(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_MCITYLOV )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8688_state::secolove, mbmj_h12bit)
+MACHINE_CONFIG_START(nbmj8688_state::secolove)
+ mbmj_h12bit(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_SECOLOVE )
MACHINE_CONFIG_END
/*Same as h12bit HW with different sound HW + NMI enable bit*/
-MACHINE_CONFIG_DERIVED(nbmj8688_state::barline, mbmj_h12bit)
+MACHINE_CONFIG_START(nbmj8688_state::barline)
+ mbmj_h12bit(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2585,7 +2596,8 @@ MACHINE_CONFIG_DERIVED(nbmj8688_state::barline, mbmj_h12bit)
MCFG_DEVICE_REMOVE("vref")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8688_state::mbmj_p16bit, NBMJDRV_65536)
+MACHINE_CONFIG_START(nbmj8688_state::mbmj_p16bit)
+ NBMJDRV_65536(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2659,55 +2671,64 @@ MACHINE_CONFIG_START(nbmj8688_state::mbmj_p16bit_LCD)
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(nbmj8688_state::bijokkoy, mbmj_p16bit_LCD)
+MACHINE_CONFIG_START(nbmj8688_state::bijokkoy)
+ mbmj_p16bit_LCD(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_BIJOKKOY )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8688_state::bijokkog, mbmj_p16bit_LCD)
+MACHINE_CONFIG_START(nbmj8688_state::bijokkog)
+ mbmj_p16bit_LCD(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_BIJOKKOG )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8688_state::housemnq, mbmj_p16bit_LCD)
+MACHINE_CONFIG_START(nbmj8688_state::housemnq)
+ mbmj_p16bit_LCD(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_HOUSEMNQ )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8688_state::housemn2, mbmj_p16bit_LCD)
+MACHINE_CONFIG_START(nbmj8688_state::housemn2)
+ mbmj_p16bit_LCD(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_HOUSEMN2 )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8688_state::livegal, mbmj_p16bit_LCD)
+MACHINE_CONFIG_START(nbmj8688_state::livegal)
+ mbmj_p16bit_LCD(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_LIVEGAL )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8688_state::orangec, mbmj_p16bit)
+MACHINE_CONFIG_START(nbmj8688_state::orangec)
+ mbmj_p16bit(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_ORANGEC )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8688_state::orangeci, mbmj_p16bit)
+MACHINE_CONFIG_START(nbmj8688_state::orangeci)
+ mbmj_p16bit(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_ORANGECI )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8688_state::vipclub, mbmj_p16bit)
+MACHINE_CONFIG_START(nbmj8688_state::vipclub)
+ mbmj_p16bit(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_VIPCLUB )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8688_state::seiha, NBMJDRV_65536)
+MACHINE_CONFIG_START(nbmj8688_state::seiha)
+ NBMJDRV_65536(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2718,13 +2739,15 @@ MACHINE_CONFIG_DERIVED(nbmj8688_state::seiha, NBMJDRV_65536)
MCFG_NB1413M3_TYPE( NB1413M3_SEIHA )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8688_state::seiham, seiha)
+MACHINE_CONFIG_START(nbmj8688_state::seiham)
+ seiha(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_SEIHAM )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8688_state::mjgaiden, NBMJDRV_4096)
+MACHINE_CONFIG_START(nbmj8688_state::mjgaiden)
+ NBMJDRV_4096(config);
/* basic machine hardware */
@@ -2736,7 +2759,8 @@ MACHINE_CONFIG_DERIVED(nbmj8688_state::mjgaiden, NBMJDRV_4096)
MCFG_NB1413M3_TYPE( NB1413M3_OJOUSAN )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8688_state::iemoto, NBMJDRV_65536)
+MACHINE_CONFIG_START(nbmj8688_state::iemoto)
+ NBMJDRV_65536(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2747,7 +2771,8 @@ MACHINE_CONFIG_DERIVED(nbmj8688_state::iemoto, NBMJDRV_65536)
MCFG_NB1413M3_TYPE( NB1413M3_IEMOTO )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8688_state::ojousan, NBMJDRV_65536)
+MACHINE_CONFIG_START(nbmj8688_state::ojousan)
+ NBMJDRV_65536(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2758,44 +2783,51 @@ MACHINE_CONFIG_DERIVED(nbmj8688_state::ojousan, NBMJDRV_65536)
MCFG_NB1413M3_TYPE( NB1413M3_OJOUSAN )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8688_state::ojousanm, ojousan)
+MACHINE_CONFIG_START(nbmj8688_state::ojousanm)
+ ojousan(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_OJOUSANM )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8688_state::swinggal, ojousan)
+MACHINE_CONFIG_START(nbmj8688_state::swinggal)
+ ojousan(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(secolove_map)
MCFG_CPU_IO_MAP(iemoto_io_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8688_state::iemotom, ojousan)
+MACHINE_CONFIG_START(nbmj8688_state::iemotom)
+ ojousan(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_IEMOTOM )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8688_state::ryuuha, ojousan)
+MACHINE_CONFIG_START(nbmj8688_state::ryuuha)
+ ojousan(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_RYUUHA )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8688_state::korinai, ojousan)
+MACHINE_CONFIG_START(nbmj8688_state::korinai)
+ ojousan(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_KORINAI )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8688_state::korinaim, ojousan)
+MACHINE_CONFIG_START(nbmj8688_state::korinaim)
+ ojousan(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_KORINAIM )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8688_state::mbmj_p12bit, NBMJDRV_4096)
+MACHINE_CONFIG_START(nbmj8688_state::mbmj_p12bit)
+ NBMJDRV_4096(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2803,37 +2835,43 @@ MACHINE_CONFIG_DERIVED(nbmj8688_state::mbmj_p12bit, NBMJDRV_4096)
MCFG_CPU_IO_MAP(kaguya_io_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8688_state::kaguya, mbmj_p12bit)
+MACHINE_CONFIG_START(nbmj8688_state::kaguya)
+ mbmj_p12bit(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_KAGUYA )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8688_state::kaguya2, mbmj_p12bit)
+MACHINE_CONFIG_START(nbmj8688_state::kaguya2)
+ mbmj_p12bit(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_KAGUYA2 )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8688_state::kanatuen, mbmj_p12bit)
+MACHINE_CONFIG_START(nbmj8688_state::kanatuen)
+ mbmj_p12bit(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_KANATUEN )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8688_state::kyuhito, mbmj_p12bit)
+MACHINE_CONFIG_START(nbmj8688_state::kyuhito)
+ mbmj_p12bit(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_KYUHITO )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8688_state::idhimitu, mbmj_p12bit)
+MACHINE_CONFIG_START(nbmj8688_state::idhimitu)
+ mbmj_p12bit(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_IDHIMITU )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8688_state::mjsikaku, NBMJDRV_4096)
+MACHINE_CONFIG_START(nbmj8688_state::mjsikaku)
+ NBMJDRV_4096(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2848,7 +2886,8 @@ MACHINE_CONFIG_DERIVED(nbmj8688_state::mjsikaku, NBMJDRV_4096)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.7)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8688_state::mmsikaku, NBMJDRV_4096)
+MACHINE_CONFIG_START(nbmj8688_state::mmsikaku)
+ NBMJDRV_4096(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2859,7 +2898,8 @@ MACHINE_CONFIG_DERIVED(nbmj8688_state::mmsikaku, NBMJDRV_4096)
MCFG_NB1413M3_TYPE( NB1413M3_MMSIKAKU )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8688_state::otonano, mjsikaku)
+MACHINE_CONFIG_START(nbmj8688_state::otonano)
+ mjsikaku(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2869,7 +2909,8 @@ MACHINE_CONFIG_DERIVED(nbmj8688_state::otonano, mjsikaku)
MCFG_NB1413M3_TYPE( NB1413M3_OTONANO )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8688_state::mjcamera, otonano)
+MACHINE_CONFIG_START(nbmj8688_state::mjcamera)
+ otonano(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_MJCAMERA )
diff --git a/src/mame/drivers/nbmj8891.cpp b/src/mame/drivers/nbmj8891.cpp
index 9c89125c121..c4ea76b85c2 100644
--- a/src/mame/drivers/nbmj8891.cpp
+++ b/src/mame/drivers/nbmj8891.cpp
@@ -2210,7 +2210,8 @@ MACHINE_CONFIG_START(nbmj8891_state::gionbana)
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(nbmj8891_state::mgion, gionbana)
+MACHINE_CONFIG_START(nbmj8891_state::mgion)
+ gionbana(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2223,7 +2224,8 @@ MACHINE_CONFIG_DERIVED(nbmj8891_state::mgion, gionbana)
MCFG_NVRAM_ADD_0FILL("nvram")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8891_state::omotesnd, gionbana)
+MACHINE_CONFIG_START(nbmj8891_state::omotesnd)
+ gionbana(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2242,14 +2244,16 @@ MACHINE_CONFIG_DERIVED(nbmj8891_state::omotesnd, gionbana)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.35)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8891_state::abunai, gionbana)
+MACHINE_CONFIG_START(nbmj8891_state::abunai)
+ gionbana(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_ABUNAI )
MACHINE_CONFIG_END
/* NBMJDRV2 */
-MACHINE_CONFIG_DERIVED(nbmj8891_state::mjcamerb, gionbana)
+MACHINE_CONFIG_START(nbmj8891_state::mjcamerb)
+ gionbana(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2266,7 +2270,8 @@ MACHINE_CONFIG_DERIVED(nbmj8891_state::mjcamerb, gionbana)
MCFG_VIDEO_START_OVERRIDE(nbmj8891_state,_1layer)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8891_state::mmcamera, gionbana)
+MACHINE_CONFIG_START(nbmj8891_state::mmcamera)
+ gionbana(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2283,7 +2288,8 @@ MACHINE_CONFIG_DERIVED(nbmj8891_state::mmcamera, gionbana)
MCFG_VIDEO_START_OVERRIDE(nbmj8891_state,_1layer)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8891_state::hanamomo, gionbana)
+MACHINE_CONFIG_START(nbmj8891_state::hanamomo)
+ gionbana(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2299,7 +2305,8 @@ MACHINE_CONFIG_DERIVED(nbmj8891_state::hanamomo, gionbana)
MCFG_VIDEO_START_OVERRIDE(nbmj8891_state,_1layer)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8891_state::msjiken, hanamomo)
+MACHINE_CONFIG_START(nbmj8891_state::msjiken)
+ hanamomo(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2311,7 +2318,8 @@ MACHINE_CONFIG_DERIVED(nbmj8891_state::msjiken, hanamomo)
MACHINE_CONFIG_END
/* NBMJDRV3 */
-MACHINE_CONFIG_DERIVED(nbmj8891_state::telmahjn, gionbana)
+MACHINE_CONFIG_START(nbmj8891_state::telmahjn)
+ gionbana(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_TELMAHJN )
@@ -2320,7 +2328,8 @@ MACHINE_CONFIG_DERIVED(nbmj8891_state::telmahjn, gionbana)
MCFG_VIDEO_START_OVERRIDE(nbmj8891_state,_1layer)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8891_state::mgmen89, telmahjn)
+MACHINE_CONFIG_START(nbmj8891_state::mgmen89)
+ telmahjn(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_MGMEN89 )
@@ -2328,7 +2337,8 @@ MACHINE_CONFIG_DERIVED(nbmj8891_state::mgmen89, telmahjn)
MACHINE_CONFIG_END
/* NBMJDRV4 */
-MACHINE_CONFIG_DERIVED(nbmj8891_state::mjfocus, gionbana)
+MACHINE_CONFIG_START(nbmj8891_state::mjfocus)
+ gionbana(config);
/* basic machine hardware */
@@ -2339,20 +2349,23 @@ MACHINE_CONFIG_DERIVED(nbmj8891_state::mjfocus, gionbana)
MCFG_VIDEO_START_OVERRIDE(nbmj8891_state,_1layer)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8891_state::pairsnb, gionbana)
+MACHINE_CONFIG_START(nbmj8891_state::pairsnb)
+ gionbana(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_PAIRSNB )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8891_state::pairsten, gionbana)
+MACHINE_CONFIG_START(nbmj8891_state::pairsten)
+ gionbana(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_PAIRSTEN )
MACHINE_CONFIG_END
/* NBMJDRV5 */
-MACHINE_CONFIG_DERIVED(nbmj8891_state::mjnanpas, gionbana)
+MACHINE_CONFIG_START(nbmj8891_state::mjnanpas)
+ gionbana(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2362,7 +2375,8 @@ MACHINE_CONFIG_DERIVED(nbmj8891_state::mjnanpas, gionbana)
MCFG_NB1413M3_TYPE( NB1413M3_MJNANPAS )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8891_state::maiko, mjnanpas)
+MACHINE_CONFIG_START(nbmj8891_state::maiko)
+ mjnanpas(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2373,7 +2387,8 @@ MACHINE_CONFIG_DERIVED(nbmj8891_state::maiko, mjnanpas)
MCFG_NB1413M3_TYPE( NB1413M3_MAIKO )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8891_state::mmaiko, maiko)
+MACHINE_CONFIG_START(nbmj8891_state::mmaiko)
+ maiko(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2385,7 +2400,8 @@ MACHINE_CONFIG_DERIVED(nbmj8891_state::mmaiko, maiko)
MCFG_NVRAM_ADD_0FILL("nvram")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8891_state::lovehous, mjnanpas)
+MACHINE_CONFIG_START(nbmj8891_state::lovehous)
+ mjnanpas(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2398,7 +2414,8 @@ MACHINE_CONFIG_DERIVED(nbmj8891_state::lovehous, mjnanpas)
MCFG_NVRAM_ADD_0FILL("nvram")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8891_state::hanaoji, maiko)
+MACHINE_CONFIG_START(nbmj8891_state::hanaoji)
+ maiko(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2410,7 +2427,8 @@ MACHINE_CONFIG_DERIVED(nbmj8891_state::hanaoji, maiko)
MCFG_NVRAM_ADD_0FILL("nvram")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8891_state::hnxmasev, maiko)
+MACHINE_CONFIG_START(nbmj8891_state::hnxmasev)
+ maiko(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2418,7 +2436,8 @@ MACHINE_CONFIG_DERIVED(nbmj8891_state::hnxmasev, maiko)
MCFG_CPU_IO_MAP(maiko_io_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8891_state::hnageman, maiko)
+MACHINE_CONFIG_START(nbmj8891_state::hnageman)
+ maiko(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2426,7 +2445,8 @@ MACHINE_CONFIG_DERIVED(nbmj8891_state::hnageman, maiko)
MCFG_CPU_IO_MAP(maiko_io_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8891_state::scandal, hanamomo)
+MACHINE_CONFIG_START(nbmj8891_state::scandal)
+ hanamomo(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2437,7 +2457,8 @@ MACHINE_CONFIG_DERIVED(nbmj8891_state::scandal, hanamomo)
MCFG_NB1413M3_TYPE( NB1413M3_SCANDAL )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8891_state::bananadr, mjnanpas)
+MACHINE_CONFIG_START(nbmj8891_state::bananadr)
+ mjnanpas(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2450,26 +2471,30 @@ MACHINE_CONFIG_DERIVED(nbmj8891_state::bananadr, mjnanpas)
MCFG_NVRAM_ADD_0FILL("nvram")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8891_state::club90s, mjnanpas)
+MACHINE_CONFIG_START(nbmj8891_state::club90s)
+ mjnanpas(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_CLUB90S )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8891_state::mladyhtr, mjnanpas)
+MACHINE_CONFIG_START(nbmj8891_state::mladyhtr)
+ mjnanpas(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_MLADYHTR )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8891_state::chinmoku, mjnanpas)
+MACHINE_CONFIG_START(nbmj8891_state::chinmoku)
+ mjnanpas(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_CHINMOKU )
MACHINE_CONFIG_END
/* NBMJDRV6 */
-MACHINE_CONFIG_DERIVED(nbmj8891_state::mjfocusm, gionbana)
+MACHINE_CONFIG_START(nbmj8891_state::mjfocusm)
+ gionbana(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2493,13 +2518,15 @@ MACHINE_CONFIG_DERIVED(nbmj8891_state::mjfocusm, gionbana)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.7)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8891_state::scandalm, mjfocusm)
+MACHINE_CONFIG_START(nbmj8891_state::scandalm)
+ mjfocusm(config);
MCFG_DEVICE_MODIFY("nb1413m3")
MCFG_NB1413M3_TYPE( NB1413M3_SCANDALM )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8891_state::taiwanmb, gionbana)
+MACHINE_CONFIG_START(nbmj8891_state::taiwanmb)
+ gionbana(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/nbmj8900.cpp b/src/mame/drivers/nbmj8900.cpp
index 64cb4c1002f..9262731c1ba 100644
--- a/src/mame/drivers/nbmj8900.cpp
+++ b/src/mame/drivers/nbmj8900.cpp
@@ -335,7 +335,8 @@ MACHINE_CONFIG_START(nbmj8900_state::ohpaipee)
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(nbmj8900_state::togenkyo, ohpaipee)
+MACHINE_CONFIG_START(nbmj8900_state::togenkyo)
+ ohpaipee(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/nbmj8991.cpp b/src/mame/drivers/nbmj8991.cpp
index a103908169f..2e216572d42 100644
--- a/src/mame/drivers/nbmj8991.cpp
+++ b/src/mame/drivers/nbmj8991.cpp
@@ -1388,7 +1388,8 @@ MACHINE_CONFIG_START(nbmj8991_state::nbmjdrv2) // pstadium
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8991_state::nbmjdrv3, nbmjdrv1)
+MACHINE_CONFIG_START(nbmj8991_state::nbmjdrv3)
+ nbmjdrv1(config);
/* basic machine hardware */
@@ -1402,7 +1403,8 @@ MACHINE_CONFIG_END
// ---------------------------------------------------------------------
-MACHINE_CONFIG_DERIVED(nbmj8991_state::galkoku, nbmjdrv1)
+MACHINE_CONFIG_START(nbmj8991_state::galkoku)
+ nbmjdrv1(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("nb1413m3")
@@ -1410,7 +1412,8 @@ MACHINE_CONFIG_DERIVED(nbmj8991_state::galkoku, nbmjdrv1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8991_state::galkaika, nbmjdrv1)
+MACHINE_CONFIG_START(nbmj8991_state::galkaika)
+ nbmjdrv1(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1421,7 +1424,8 @@ MACHINE_CONFIG_DERIVED(nbmj8991_state::galkaika, nbmjdrv1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8991_state::tokyogal, nbmjdrv1)
+MACHINE_CONFIG_START(nbmj8991_state::tokyogal)
+ nbmjdrv1(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1432,7 +1436,8 @@ MACHINE_CONFIG_DERIVED(nbmj8991_state::tokyogal, nbmjdrv1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8991_state::tokimbsj, nbmjdrv1)
+MACHINE_CONFIG_START(nbmj8991_state::tokimbsj)
+ nbmjdrv1(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1445,7 +1450,8 @@ MACHINE_CONFIG_DERIVED(nbmj8991_state::tokimbsj, nbmjdrv1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8991_state::mcontest, nbmjdrv1)
+MACHINE_CONFIG_START(nbmj8991_state::mcontest)
+ nbmjdrv1(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("nb1413m3")
@@ -1453,7 +1459,8 @@ MACHINE_CONFIG_DERIVED(nbmj8991_state::mcontest, nbmjdrv1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8991_state::uchuuai, nbmjdrv1)
+MACHINE_CONFIG_START(nbmj8991_state::uchuuai)
+ nbmjdrv1(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("nb1413m3")
@@ -1461,7 +1468,8 @@ MACHINE_CONFIG_DERIVED(nbmj8991_state::uchuuai, nbmjdrv1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8991_state::hyouban, nbmjdrv3)
+MACHINE_CONFIG_START(nbmj8991_state::hyouban)
+ nbmjdrv3(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1474,7 +1482,8 @@ MACHINE_CONFIG_DERIVED(nbmj8991_state::hyouban, nbmjdrv3)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8991_state::pstadium, nbmjdrv2)
+MACHINE_CONFIG_START(nbmj8991_state::pstadium)
+ nbmjdrv2(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("nb1413m3")
@@ -1482,7 +1491,8 @@ MACHINE_CONFIG_DERIVED(nbmj8991_state::pstadium, nbmjdrv2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8991_state::triplew1, nbmjdrv2)
+MACHINE_CONFIG_START(nbmj8991_state::triplew1)
+ nbmjdrv2(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1493,7 +1503,8 @@ MACHINE_CONFIG_DERIVED(nbmj8991_state::triplew1, nbmjdrv2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8991_state::triplew2, nbmjdrv2)
+MACHINE_CONFIG_START(nbmj8991_state::triplew2)
+ nbmjdrv2(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1504,7 +1515,8 @@ MACHINE_CONFIG_DERIVED(nbmj8991_state::triplew2, nbmjdrv2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8991_state::ntopstar, nbmjdrv2)
+MACHINE_CONFIG_START(nbmj8991_state::ntopstar)
+ nbmjdrv2(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("nb1413m3")
@@ -1512,7 +1524,8 @@ MACHINE_CONFIG_DERIVED(nbmj8991_state::ntopstar, nbmjdrv2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8991_state::mjlstory, nbmjdrv2)
+MACHINE_CONFIG_START(nbmj8991_state::mjlstory)
+ nbmjdrv2(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1523,7 +1536,8 @@ MACHINE_CONFIG_DERIVED(nbmj8991_state::mjlstory, nbmjdrv2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8991_state::vanilla, nbmjdrv2)
+MACHINE_CONFIG_START(nbmj8991_state::vanilla)
+ nbmjdrv2(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("nb1413m3")
@@ -1531,7 +1545,8 @@ MACHINE_CONFIG_DERIVED(nbmj8991_state::vanilla, nbmjdrv2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8991_state::finalbny, nbmjdrv2)
+MACHINE_CONFIG_START(nbmj8991_state::finalbny)
+ nbmjdrv2(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("nb1413m3")
@@ -1541,7 +1556,8 @@ MACHINE_CONFIG_DERIVED(nbmj8991_state::finalbny, nbmjdrv2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8991_state::qmhayaku, nbmjdrv2)
+MACHINE_CONFIG_START(nbmj8991_state::qmhayaku)
+ nbmjdrv2(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("nb1413m3")
@@ -1549,7 +1565,8 @@ MACHINE_CONFIG_DERIVED(nbmj8991_state::qmhayaku, nbmjdrv2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8991_state::mjgottub, nbmjdrv2)
+MACHINE_CONFIG_START(nbmj8991_state::mjgottub)
+ nbmjdrv2(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1562,7 +1579,8 @@ MACHINE_CONFIG_DERIVED(nbmj8991_state::mjgottub, nbmjdrv2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8991_state::av2mj1bb, nbmjdrv2)
+MACHINE_CONFIG_START(nbmj8991_state::av2mj1bb)
+ nbmjdrv2(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1574,7 +1592,8 @@ MACHINE_CONFIG_DERIVED(nbmj8991_state::av2mj1bb, nbmjdrv2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj8991_state::av2mj2rg, nbmjdrv2)
+MACHINE_CONFIG_START(nbmj8991_state::av2mj2rg)
+ nbmjdrv2(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/nbmj9195.cpp b/src/mame/drivers/nbmj9195.cpp
index 62655d87cbe..e006a39c325 100644
--- a/src/mame/drivers/nbmj9195.cpp
+++ b/src/mame/drivers/nbmj9195.cpp
@@ -2549,7 +2549,8 @@ MACHINE_CONFIG_START(nbmj9195_state::NBMJDRV1_base)
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(nbmj9195_state::NBMJDRV1, NBMJDRV1_base)
+MACHINE_CONFIG_START(nbmj9195_state::NBMJDRV1)
+ NBMJDRV1_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2557,7 +2558,8 @@ MACHINE_CONFIG_DERIVED(nbmj9195_state::NBMJDRV1, NBMJDRV1_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj9195_state::NBMJDRV2, NBMJDRV1_base)
+MACHINE_CONFIG_START(nbmj9195_state::NBMJDRV2)
+ NBMJDRV1_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2568,7 +2570,8 @@ MACHINE_CONFIG_DERIVED(nbmj9195_state::NBMJDRV2, NBMJDRV1_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj9195_state::NBMJDRV3, NBMJDRV1_base)
+MACHINE_CONFIG_START(nbmj9195_state::NBMJDRV3)
+ NBMJDRV1_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2584,7 +2587,8 @@ MACHINE_CONFIG_END
//-------------------------------------------------------------------------
-MACHINE_CONFIG_DERIVED(nbmj9195_state::mjuraden, NBMJDRV1)
+MACHINE_CONFIG_START(nbmj9195_state::mjuraden)
+ NBMJDRV1(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2593,7 +2597,8 @@ MACHINE_CONFIG_DERIVED(nbmj9195_state::mjuraden, NBMJDRV1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj9195_state::koinomp, NBMJDRV1)
+MACHINE_CONFIG_START(nbmj9195_state::koinomp)
+ NBMJDRV1(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2602,7 +2607,8 @@ MACHINE_CONFIG_DERIVED(nbmj9195_state::koinomp, NBMJDRV1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj9195_state::patimono, NBMJDRV1)
+MACHINE_CONFIG_START(nbmj9195_state::patimono)
+ NBMJDRV1(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2610,7 +2616,8 @@ MACHINE_CONFIG_DERIVED(nbmj9195_state::patimono, NBMJDRV1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj9195_state::janbari, NBMJDRV1)
+MACHINE_CONFIG_START(nbmj9195_state::janbari)
+ NBMJDRV1(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2620,7 +2627,8 @@ MACHINE_CONFIG_DERIVED(nbmj9195_state::janbari, NBMJDRV1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj9195_state::mmehyou, NBMJDRV1)
+MACHINE_CONFIG_START(nbmj9195_state::mmehyou)
+ NBMJDRV1(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2631,7 +2639,8 @@ MACHINE_CONFIG_DERIVED(nbmj9195_state::mmehyou, NBMJDRV1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj9195_state::ultramhm, NBMJDRV1)
+MACHINE_CONFIG_START(nbmj9195_state::ultramhm)
+ NBMJDRV1(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2642,7 +2651,8 @@ MACHINE_CONFIG_DERIVED(nbmj9195_state::ultramhm, NBMJDRV1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj9195_state::gal10ren, NBMJDRV1)
+MACHINE_CONFIG_START(nbmj9195_state::gal10ren)
+ NBMJDRV1(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2650,7 +2660,8 @@ MACHINE_CONFIG_DERIVED(nbmj9195_state::gal10ren, NBMJDRV1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj9195_state::renaiclb, NBMJDRV1)
+MACHINE_CONFIG_START(nbmj9195_state::renaiclb)
+ NBMJDRV1(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2658,7 +2669,8 @@ MACHINE_CONFIG_DERIVED(nbmj9195_state::renaiclb, NBMJDRV1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj9195_state::mjlaman, NBMJDRV1)
+MACHINE_CONFIG_START(nbmj9195_state::mjlaman)
+ NBMJDRV1(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2666,7 +2678,8 @@ MACHINE_CONFIG_DERIVED(nbmj9195_state::mjlaman, NBMJDRV1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj9195_state::mkeibaou, NBMJDRV1)
+MACHINE_CONFIG_START(nbmj9195_state::mkeibaou)
+ NBMJDRV1(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2674,7 +2687,8 @@ MACHINE_CONFIG_DERIVED(nbmj9195_state::mkeibaou, NBMJDRV1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj9195_state::pachiten, NBMJDRV1)
+MACHINE_CONFIG_START(nbmj9195_state::pachiten)
+ NBMJDRV1(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2684,13 +2698,15 @@ MACHINE_CONFIG_DERIVED(nbmj9195_state::pachiten, NBMJDRV1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj9195_state::sailorws, NBMJDRV1)
+MACHINE_CONFIG_START(nbmj9195_state::sailorws)
+ NBMJDRV1(config);
/* basic machine hardware */
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj9195_state::sailorwr, NBMJDRV1)
+MACHINE_CONFIG_START(nbmj9195_state::sailorwr)
+ NBMJDRV1(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2700,7 +2716,8 @@ MACHINE_CONFIG_DERIVED(nbmj9195_state::sailorwr, NBMJDRV1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj9195_state::psailor1, NBMJDRV1)
+MACHINE_CONFIG_START(nbmj9195_state::psailor1)
+ NBMJDRV1(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2708,7 +2725,8 @@ MACHINE_CONFIG_DERIVED(nbmj9195_state::psailor1, NBMJDRV1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj9195_state::psailor2, NBMJDRV1)
+MACHINE_CONFIG_START(nbmj9195_state::psailor2)
+ NBMJDRV1(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2716,7 +2734,8 @@ MACHINE_CONFIG_DERIVED(nbmj9195_state::psailor2, NBMJDRV1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj9195_state::otatidai, NBMJDRV1)
+MACHINE_CONFIG_START(nbmj9195_state::otatidai)
+ NBMJDRV1(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2724,7 +2743,8 @@ MACHINE_CONFIG_DERIVED(nbmj9195_state::otatidai, NBMJDRV1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj9195_state::yosimoto, NBMJDRV1)
+MACHINE_CONFIG_START(nbmj9195_state::yosimoto)
+ NBMJDRV1(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2732,7 +2752,8 @@ MACHINE_CONFIG_DERIVED(nbmj9195_state::yosimoto, NBMJDRV1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj9195_state::yosimotm, NBMJDRV1)
+MACHINE_CONFIG_START(nbmj9195_state::yosimotm)
+ NBMJDRV1(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2742,7 +2763,8 @@ MACHINE_CONFIG_DERIVED(nbmj9195_state::yosimotm, NBMJDRV1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj9195_state::jituroku, NBMJDRV1)
+MACHINE_CONFIG_START(nbmj9195_state::jituroku)
+ NBMJDRV1(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2750,7 +2772,8 @@ MACHINE_CONFIG_DERIVED(nbmj9195_state::jituroku, NBMJDRV1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj9195_state::ngpgal, NBMJDRV2)
+MACHINE_CONFIG_START(nbmj9195_state::ngpgal)
+ NBMJDRV2(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2759,7 +2782,8 @@ MACHINE_CONFIG_DERIVED(nbmj9195_state::ngpgal, NBMJDRV2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj9195_state::mjgottsu, NBMJDRV2)
+MACHINE_CONFIG_START(nbmj9195_state::mjgottsu)
+ NBMJDRV2(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2768,7 +2792,8 @@ MACHINE_CONFIG_DERIVED(nbmj9195_state::mjgottsu, NBMJDRV2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj9195_state::bakuhatu, NBMJDRV2)
+MACHINE_CONFIG_START(nbmj9195_state::bakuhatu)
+ NBMJDRV2(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2777,7 +2802,8 @@ MACHINE_CONFIG_DERIVED(nbmj9195_state::bakuhatu, NBMJDRV2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj9195_state::cmehyou, NBMJDRV2)
+MACHINE_CONFIG_START(nbmj9195_state::cmehyou)
+ NBMJDRV2(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2786,7 +2812,8 @@ MACHINE_CONFIG_DERIVED(nbmj9195_state::cmehyou, NBMJDRV2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj9195_state::mjkoiura, NBMJDRV2)
+MACHINE_CONFIG_START(nbmj9195_state::mjkoiura)
+ NBMJDRV2(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2795,7 +2822,8 @@ MACHINE_CONFIG_DERIVED(nbmj9195_state::mjkoiura, NBMJDRV2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj9195_state::mkoiuraa, NBMJDRV2)
+MACHINE_CONFIG_START(nbmj9195_state::mkoiuraa)
+ NBMJDRV2(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2804,7 +2832,8 @@ MACHINE_CONFIG_DERIVED(nbmj9195_state::mkoiuraa, NBMJDRV2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj9195_state::mscoutm, NBMJDRV3)
+MACHINE_CONFIG_START(nbmj9195_state::mscoutm)
+ NBMJDRV3(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2813,7 +2842,8 @@ MACHINE_CONFIG_DERIVED(nbmj9195_state::mscoutm, NBMJDRV3)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj9195_state::imekura, NBMJDRV3)
+MACHINE_CONFIG_START(nbmj9195_state::imekura)
+ NBMJDRV3(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2822,7 +2852,8 @@ MACHINE_CONFIG_DERIVED(nbmj9195_state::imekura, NBMJDRV3)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj9195_state::mjegolf, NBMJDRV3)
+MACHINE_CONFIG_START(nbmj9195_state::mjegolf)
+ NBMJDRV3(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2831,7 +2862,8 @@ MACHINE_CONFIG_DERIVED(nbmj9195_state::mjegolf, NBMJDRV3)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nbmj9195_state::shabdama, NBMJDRV1)
+MACHINE_CONFIG_START(nbmj9195_state::shabdama)
+ NBMJDRV1(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/nc.cpp b/src/mame/drivers/nc.cpp
index f0bc3cccf6e..5e80b6e53b5 100644
--- a/src/mame/drivers/nc.cpp
+++ b/src/mame/drivers/nc.cpp
@@ -1467,7 +1467,8 @@ static SLOT_INTERFACE_START( ibmpc_floppies )
SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
SLOT_INTERFACE_END
-MACHINE_CONFIG_DERIVED(nc_state::nc200, nc100)
+MACHINE_CONFIG_START(nc_state::nc200)
+ nc100(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_IO_MAP(nc200_io)
diff --git a/src/mame/drivers/neogeo.cpp b/src/mame/drivers/neogeo.cpp
index 146c51d39b9..2beea494fd1 100644
--- a/src/mame/drivers/neogeo.cpp
+++ b/src/mame/drivers/neogeo.cpp
@@ -1654,7 +1654,8 @@ MACHINE_CONFIG_START(neogeo_state::neogeo_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::neogeo_arcade, neogeo_base)
+MACHINE_CONFIG_START(neogeo_state::neogeo_arcade)
+ neogeo_base(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(main_map_slot)
@@ -1713,7 +1714,8 @@ MACHINE_CONFIG_END
MCFG_NEOGEO_CARTRIDGE_ADD("cslot1", neogeo_cart, _default) \
MCFG_SET_IMAGE_LOADABLE(false)
-MACHINE_CONFIG_DERIVED(neogeo_state::mvs, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::mvs)
+ neogeo_arcade(config);
MCFG_DEVICE_REMOVE("edge")
MCFG_NEOGEO_CONTROL_EDGE_CONNECTOR_ADD("edge", neogeo_arc_edge, "joy", false)
@@ -1752,7 +1754,8 @@ MACHINE_START_MEMBER(aes_state, aes)
}
-MACHINE_CONFIG_DERIVED(aes_state::aes, neogeo_base)
+MACHINE_CONFIG_START(aes_state::aes)
+ neogeo_base(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(aes_main_map)
@@ -2032,206 +2035,255 @@ CONS( 1990, aes, 0, 0, aes, aes, aes_state, 0,
// machine config for one-game fixed config, loaded without using softlists
-MACHINE_CONFIG_DERIVED(neogeo_state::neobase, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::neobase)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("rom")
MACHINE_CONFIG_END
// used by fatfury2 & ssideki
-MACHINE_CONFIG_DERIVED(neogeo_state::fatfur2, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::fatfur2)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("rom_fatfur2")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::kizuna4p, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::kizuna4p)
+ neogeo_arcade(config);
MCFG_DEVICE_REMOVE("edge")
MCFG_NEOGEO_CONTROL_EDGE_CONNECTOR_ADD("edge", neogeo_arc_edge_fixed, "kiz4p", true)
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("rom")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::kof97oro, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::kof97oro)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("boot_kof97oro")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::kog, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::kog)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("boot_kog")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::irrmaze, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::irrmaze)
+ neogeo_arcade(config);
MCFG_DEVICE_REMOVE("edge")
MCFG_NEOGEO_CONTROL_EDGE_CONNECTOR_ADD("edge", neogeo_arc_edge_fixed, "irrmaze", true)
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("rom")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::kof98, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::kof98)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("rom_kof98")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::mslugx, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::mslugx)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("rom_mslugx")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::kof99, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::kof99)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("sma_kof99")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::kof99k, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::kof99k)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("cmc42_kof99k")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::garou, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::garou)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("sma_garou")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::garouh, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::garouh)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("sma_garouh")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::garoubl, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::garoubl)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("boot_garoubl")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::mslug3, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::mslug3)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("sma_mslug3")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::mslug3h, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::mslug3h)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("cmc42_mslug3h")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::mslug3b6, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::mslug3b6)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("boot_mslug3b6")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::kof2000, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::kof2000)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("sma_kof2k")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::kof2000n, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::kof2000n)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("cmc50_kof2000n")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::zupapa, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::zupapa)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("cmc42_zupapa")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::sengoku3, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::sengoku3)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("cmc42_sengoku3")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::kof2001, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::kof2001)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("cmc50_kof2001")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::cthd2k3, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::cthd2k3)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("boot_cthd2k3")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::ct2k3sp, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::ct2k3sp)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("boot_ct2k3sp")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::ct2k3sa, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::ct2k3sa)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("boot_ct2k3sa")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::kof2002, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::kof2002)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("k2k2_kof2k2")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::kof2002b, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::kof2002b)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("boot_kf2k2b")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::kf2k2pls, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::kf2k2pls)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("k2k2_kf2k2p")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::kf2k2mp, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::kf2k2mp)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("boot_kf2k2mp")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::kf2k2mp2, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::kf2k2mp2)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("boot_kf2k2mp2")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::kof10th, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::kof10th)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("boot_kf10th")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::kf10thep, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::kf10thep)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("boot_kf10thep")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::kf2k5uni, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::kf2k5uni)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("boot_kf2k5uni")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::kof2k4se, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::kof2k4se)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("boot_kf2k4se")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::mslug5, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::mslug5)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("pvc_mslug5")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::ms5plus, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::ms5plus)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("boot_ms5plus")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::svc, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::svc)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("pvc_svc")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::svcboot, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::svcboot)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("boot_svcboot")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::svcplus, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::svcplus)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("boot_svcplus")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::svcplusa, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::svcplusa)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("boot_svcplusa")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::svcsplus, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::svcsplus)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("boot_svcsplus")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::samsho5, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::samsho5)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("k2k2_samsh5")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::samsho5b, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::samsho5b)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("boot_samsho5b")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::kof2003, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::kof2003)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("pvc_kf2k3")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::kof2003h, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::kof2003h)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("pvc_kf2k3h")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::kf2k3bl, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::kf2k3bl)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("boot_kf2k3bl")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::kf2k3pl, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::kf2k3pl)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("boot_kf2k3pl")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::kf2k3upl, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::kf2k3upl)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("boot_kf2k3upl")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::samsh5sp, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::samsh5sp)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("k2k2_sams5s")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::neogeo_mj, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::neogeo_mj)
+ neogeo_arcade(config);
//no joystick panel
MCFG_DEVICE_REMOVE("edge")
MCFG_NEOGEO_CONTROL_EDGE_CONNECTOR_ADD("edge", neogeo_arc_edge_fixed, "", true)
@@ -2245,66 +2297,81 @@ MACHINE_CONFIG_DERIVED(neogeo_state::neogeo_mj, neogeo_arcade)
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("rom")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::preisle2, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::preisle2)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("cmc42_preisle2")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::nitd, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::nitd)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("cmc42_nitd")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::s1945p, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::s1945p)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("cmc42_s1945p")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::lans2004, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::lans2004)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("boot_lans2004")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::pnyaa, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::pnyaa)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("pcm2_pnyaa")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::popbounc, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::popbounc)
+ neogeo_arcade(config);
MCFG_DEVICE_REMOVE("edge")
MCFG_NEOGEO_CONTROL_EDGE_CONNECTOR_ADD("edge", neogeo_arc_edge_fixed, "dial", true)
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("rom")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::ganryu, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::ganryu)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("cmc42_ganryu")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::bangbead, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::bangbead)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("cmc42_bangbead")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::mslug4, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::mslug4)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("pcm2_mslug4")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::ms4plus, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::ms4plus)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("pcm2_ms4p")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::rotd, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::rotd)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("pcm2_rotd")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::matrim, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::matrim)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("k2k2_matrim")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::matrimbl, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::matrimbl)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("boot_matrimbl")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::jockeygp, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::jockeygp)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("cmc50_jockeygp")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::vliner, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::vliner)
+ neogeo_arcade(config);
// input handlers are installed at DRIVER_INIT...
MCFG_DEVICE_REMOVE("edge")
MCFG_DEVICE_REMOVE("ctrl1")
@@ -2313,7 +2380,8 @@ MACHINE_CONFIG_DERIVED(neogeo_state::vliner, neogeo_arcade)
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("rom_vliner")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(neogeo_state::sbp, neogeo_arcade)
+MACHINE_CONFIG_START(neogeo_state::sbp)
+ neogeo_arcade(config);
NEOGEO_CONFIG_ONE_FIXED_CARTSLOT("boot_sbp")
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/neogeocd.cpp b/src/mame/drivers/neogeocd.cpp
index eb1d4a1bb7c..59a0f0e4a2d 100644
--- a/src/mame/drivers/neogeocd.cpp
+++ b/src/mame/drivers/neogeocd.cpp
@@ -1042,7 +1042,8 @@ uint32_t ngcd_state::screen_update_neocd(screen_device &screen, bitmap_rgb32 &bi
}
-MACHINE_CONFIG_DERIVED(ngcd_state::neocd, neogeo_base)
+MACHINE_CONFIG_START(ngcd_state::neocd)
+ neogeo_base(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(neocd_main_map)
diff --git a/src/mame/drivers/neopcb.cpp b/src/mame/drivers/neopcb.cpp
index c2717e76a84..7346757b6a9 100644
--- a/src/mame/drivers/neopcb.cpp
+++ b/src/mame/drivers/neopcb.cpp
@@ -29,7 +29,8 @@ void neopcb_state::neopcb_postload()
set_outputs();
}
-MACHINE_CONFIG_DERIVED(neopcb_state::neopcb, neogeo_arcade)
+MACHINE_CONFIG_START(neopcb_state::neopcb)
+ neogeo_arcade(config);
MCFG_CMC_PROT_ADD("cmc50")
MCFG_PCM2_PROT_ADD("pcm2")
MCFG_PVC_PROT_ADD("pvc")
diff --git a/src/mame/drivers/nes.cpp b/src/mame/drivers/nes.cpp
index 8f3991b97dd..da2ba6a2be3 100644
--- a/src/mame/drivers/nes.cpp
+++ b/src/mame/drivers/nes.cpp
@@ -96,7 +96,8 @@ MACHINE_CONFIG_START(nes_state::nes)
MCFG_SOFTWARE_LIST_ADD("datach_list", "nes_datach") // Bandai Datach Joint ROM System mini-carts
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nes_state::nespal, nes)
+MACHINE_CONFIG_START(nes_state::nespal)
+ nes(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(PAL_APU_CLOCK)
@@ -115,7 +116,8 @@ MACHINE_CONFIG_DERIVED(nes_state::nespal, nes)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 30*8-1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nes_state::famicom, nes)
+MACHINE_CONFIG_START(nes_state::famicom)
+ nes(config);
MCFG_DEVICE_REMOVE("ctrl1")
MCFG_DEVICE_REMOVE("ctrl2")
MCFG_NES_CONTROL_PORT_ADD("ctrl1", fc_control_port1_devices, "joypad")
@@ -127,7 +129,8 @@ MACHINE_CONFIG_DERIVED(nes_state::famicom, nes)
MCFG_SOFTWARE_LIST_ADD("cass_list", "famicom_cass")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nes_state::nespalc, nespal)
+MACHINE_CONFIG_START(nes_state::nespalc)
+ nespal(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_CLOCK(PALC_APU_CLOCK)
MCFG_CPU_PROGRAM_MAP(nes_map)
@@ -144,7 +147,8 @@ MACHINE_CONFIG_DERIVED(nes_state::nespalc, nespal)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC((113.66/(PALC_APU_CLOCK.dvalue()/1000000)) * (ppu2c0x_device::VBLANK_LAST_SCANLINE_PAL-ppu2c0x_device::VBLANK_FIRST_SCANLINE_PALC+1+2)))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nes_state::famipalc, nespalc)
+MACHINE_CONFIG_START(nes_state::famipalc)
+ nespalc(config);
MCFG_DEVICE_REMOVE("ctrl1")
MCFG_DEVICE_REMOVE("ctrl2")
MCFG_NES_CONTROL_PORT_ADD("ctrl1", fc_control_port1_devices, "joypad")
@@ -155,7 +159,8 @@ MACHINE_CONFIG_DERIVED(nes_state::famipalc, nespalc)
MCFG_SOFTWARE_LIST_ADD("cass_list", "famicom_cass")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nes_state::suborkbd, famipalc)
+MACHINE_CONFIG_START(nes_state::suborkbd)
+ famipalc(config);
/* TODO: emulate the parallel port bus! */
MCFG_DEVICE_MODIFY("exp")
MCFG_SLOT_DEFAULT_OPTION("subor_keyboard")
@@ -211,7 +216,8 @@ MACHINE_RESET_MEMBER( nes_state, fds )
m_maincpu->reset();
}
-MACHINE_CONFIG_DERIVED(nes_state::fds, famicom)
+MACHINE_CONFIG_START(nes_state::fds)
+ famicom(config);
MCFG_MACHINE_START_OVERRIDE( nes_state, fds )
MCFG_MACHINE_RESET_OVERRIDE( nes_state, fds )
@@ -255,7 +261,8 @@ MACHINE_RESET_MEMBER( nes_state, famitwin )
m_maincpu->reset();
}
-MACHINE_CONFIG_DERIVED(nes_state::famitwin, famicom)
+MACHINE_CONFIG_START(nes_state::famitwin)
+ famicom(config);
MCFG_MACHINE_START_OVERRIDE( nes_state, famitwin )
MCFG_MACHINE_RESET_OVERRIDE( nes_state, famitwin )
diff --git a/src/mame/drivers/nes_vt.cpp b/src/mame/drivers/nes_vt.cpp
index 8a6e8438f77..00fc9d0b1eb 100644
--- a/src/mame/drivers/nes_vt.cpp
+++ b/src/mame/drivers/nes_vt.cpp
@@ -1407,7 +1407,8 @@ MACHINE_CONFIG_START(nes_vt_state::nes_vt)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nes_vt_state::nes_vt_hum, nes_vt)
+MACHINE_CONFIG_START(nes_vt_state::nes_vt_hum)
+ nes_vt(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(nes_vt_hum_map)
@@ -1415,7 +1416,8 @@ MACHINE_CONFIG_DERIVED(nes_vt_state::nes_vt_hum, nes_vt)
MCFG_PPU_VT03_SET_DESCRAMBLE(descram_ppu_2012_2017[3]);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nes_vt_state::nes_vt_pjoy, nes_vt)
+MACHINE_CONFIG_START(nes_vt_state::nes_vt_pjoy)
+ nes_vt(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(nes_vt_pjoy_map)
@@ -1424,7 +1426,8 @@ MACHINE_CONFIG_DERIVED(nes_vt_state::nes_vt_pjoy, nes_vt)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nes_vt_state::nes_vt_sp69, nes_vt)
+MACHINE_CONFIG_START(nes_vt_state::nes_vt_sp69)
+ nes_vt(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(nes_vt_sp69_map)
@@ -1433,22 +1436,26 @@ MACHINE_CONFIG_DERIVED(nes_vt_state::nes_vt_sp69, nes_vt)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nes_vt_state::nes_vt_xx, nes_vt)
+MACHINE_CONFIG_START(nes_vt_state::nes_vt_xx)
+ nes_vt(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(nes_vt_xx_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nes_vt_state::nes_vt_cy, nes_vt_xx)
+MACHINE_CONFIG_START(nes_vt_state::nes_vt_cy)
+ nes_vt_xx(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(nes_vt_cy_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nes_vt_state::nes_vt_bt, nes_vt_xx)
+MACHINE_CONFIG_START(nes_vt_state::nes_vt_bt)
+ nes_vt_xx(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(nes_vt_bt_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nes_vt_state::nes_vt_dg, nes_vt_xx)
+MACHINE_CONFIG_START(nes_vt_state::nes_vt_dg)
+ nes_vt_xx(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(nes_vt_dg_map)
@@ -1459,7 +1466,8 @@ MACHINE_CONFIG_DERIVED(nes_vt_state::nes_vt_dg, nes_vt_xx)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 30*8-1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nes_vt_state::nes_vt_vg, nes_vt_dg )
+MACHINE_CONFIG_START(nes_vt_state::nes_vt_vg )
+ nes_vt_dg(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(nes_vt_hh_map)
@@ -1470,7 +1478,8 @@ MACHINE_CONFIG_DERIVED(nes_vt_state::nes_vt_vg, nes_vt_dg )
MACHINE_CONFIG_END
// New mystery handheld architecture, VTxx derived
-MACHINE_CONFIG_DERIVED(nes_vt_state::nes_vt_hh, nes_vt_xx)
+MACHINE_CONFIG_START(nes_vt_state::nes_vt_hh)
+ nes_vt_xx(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(nes_vt_hh_map)
MCFG_PPU_VT03_MODIFY("ppu")
@@ -1488,18 +1497,19 @@ static INPUT_PORTS_START( nes_vt )
PORT_START("CARTSEL")
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(nes_vt_state::nes_vt_fp, nes_vt_xx)
-MCFG_CPU_MODIFY("maincpu")
-MCFG_CPU_PROGRAM_MAP(nes_vt_fp_map)
+MACHINE_CONFIG_START(nes_vt_state::nes_vt_fp)
+ nes_vt_xx(config);
+ MCFG_CPU_MODIFY("maincpu")
+ MCFG_CPU_PROGRAM_MAP(nes_vt_fp_map)
-MCFG_PPU_VT03_MODIFY("ppu")
-MCFG_PPU_VT03_SET_PAL_MODE(PAL_MODE_NEW_RGB12);
+ MCFG_PPU_VT03_MODIFY("ppu")
+ MCFG_PPU_VT03_SET_PAL_MODE(PAL_MODE_NEW_RGB12);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nes_vt_state::nes_vt_fa, nes_vt_xx)
-MCFG_CPU_MODIFY("maincpu")
-MCFG_CPU_PROGRAM_MAP(nes_vt_fa_map)
-
+MACHINE_CONFIG_START(nes_vt_state::nes_vt_fa)
+ nes_vt_xx(config);
+ MCFG_CPU_MODIFY("maincpu")
+ MCFG_CPU_PROGRAM_MAP(nes_vt_fa_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/newbrain.cpp b/src/mame/drivers/newbrain.cpp
index 9f7a5e57833..362ab5b94d9 100644
--- a/src/mame/drivers/newbrain.cpp
+++ b/src/mame/drivers/newbrain.cpp
@@ -822,7 +822,7 @@ MACHINE_CONFIG_START(newbrain_state::newbrain)
MCFG_COP400_READ_SI_CB(READLINE(newbrain_state, tdi_r))
// video hardware
- MCFG_FRAGMENT_ADD(newbrain_video)
+ newbrain_video(config);
// devices
MCFG_NEWBRAIN_EXPANSION_SLOT_ADD(NEWBRAIN_EXPANSION_SLOT_TAG, XTAL(16'000'000)/4, newbrain_expansion_cards, "eim")
@@ -846,7 +846,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( newbrain_ad )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(newbrain_state::newbrain_ad, newbrain)
+MACHINE_CONFIG_START(newbrain_state::newbrain_ad)
+ newbrain(config);
MCFG_DEFAULT_LAYOUT(layout_newbrain)
MACHINE_CONFIG_END
@@ -855,7 +856,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( newbrain_a )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(newbrain_state::newbrain_a, newbrain)
+MACHINE_CONFIG_START(newbrain_state::newbrain_a)
+ newbrain(config);
MCFG_DEFAULT_LAYOUT(layout_newbraina)
MACHINE_CONFIG_END
@@ -864,7 +866,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( newbrain_md )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(newbrain_state::newbrain_md, newbrain)
+MACHINE_CONFIG_START(newbrain_state::newbrain_md)
+ newbrain(config);
MCFG_DEFAULT_LAYOUT(layout_newbrain)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/next.cpp b/src/mame/drivers/next.cpp
index 14ee7fcda33..2a6505a8f18 100644
--- a/src/mame/drivers/next.cpp
+++ b/src/mame/drivers/next.cpp
@@ -1034,12 +1034,14 @@ MACHINE_CONFIG_START(next_state::next_base)
MCFG_NEXTMO_DRQ_CALLBACK(WRITELINE(next_state, mo_drq))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(next_state::next, next_base)
+MACHINE_CONFIG_START(next_state::next)
+ next_base(config);
MCFG_CPU_ADD("maincpu", M68030, XTAL(25'000'000))
MCFG_CPU_PROGRAM_MAP(next_0b_m_nofdc_mem)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(next_state::next_fdc_base, next_base)
+MACHINE_CONFIG_START(next_state::next_fdc_base)
+ next_base(config);
MCFG_N82077AA_ADD("fdc", n82077aa_device::MODE_PS2)
MCFG_UPD765_INTRQ_CALLBACK(WRITELINE(next_state, fdc_irq))
MCFG_UPD765_DRQ_CALLBACK(WRITELINE(next_state, fdc_drq))
@@ -1049,39 +1051,46 @@ MACHINE_CONFIG_DERIVED(next_state::next_fdc_base, next_base)
MCFG_SOFTWARE_LIST_ADD("flop_list", "next")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(next_state::nexts, next_fdc_base)
+MACHINE_CONFIG_START(next_state::nexts)
+ next_fdc_base(config);
MCFG_CPU_ADD("maincpu", M68040, XTAL(25'000'000))
MCFG_CPU_PROGRAM_MAP(next_0b_m_mem)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(next_state::nexts2, next_fdc_base)
+MACHINE_CONFIG_START(next_state::nexts2)
+ next_fdc_base(config);
MCFG_CPU_ADD("maincpu", M68040, XTAL(25'000'000))
MCFG_CPU_PROGRAM_MAP(next_0b_m_mem)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(next_state::nextsc, next_fdc_base)
+MACHINE_CONFIG_START(next_state::nextsc)
+ next_fdc_base(config);
MCFG_CPU_ADD("maincpu", M68040, XTAL(25'000'000))
MCFG_CPU_PROGRAM_MAP(next_2c_c_mem)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(next_state::nextst, next_fdc_base)
+MACHINE_CONFIG_START(next_state::nextst)
+ next_fdc_base(config);
MCFG_CPU_ADD("maincpu", M68040, XTAL(33'000'000))
MCFG_CPU_PROGRAM_MAP(next_0b_m_mem)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(next_state::nextstc, next_fdc_base)
+MACHINE_CONFIG_START(next_state::nextstc)
+ next_fdc_base(config);
MCFG_CPU_ADD("maincpu", M68040, XTAL(33'000'000))
MCFG_CPU_PROGRAM_MAP(next_0c_c_mem)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0, 832-1, 0, 624-1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(next_state::nextct, next_fdc_base)
+MACHINE_CONFIG_START(next_state::nextct)
+ next_fdc_base(config);
MCFG_CPU_ADD("maincpu", M68040, XTAL(33'000'000))
MCFG_CPU_PROGRAM_MAP(next_0c_m_mem)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(next_state::nextctc, next_fdc_base)
+MACHINE_CONFIG_START(next_state::nextctc)
+ next_fdc_base(config);
MCFG_CPU_ADD("maincpu", M68040, XTAL(33'000'000))
MCFG_CPU_PROGRAM_MAP(next_0c_c_mem)
MCFG_SCREEN_MODIFY("screen")
diff --git a/src/mame/drivers/ngen.cpp b/src/mame/drivers/ngen.cpp
index 2db1164dfb7..ce19cf400b1 100644
--- a/src/mame/drivers/ngen.cpp
+++ b/src/mame/drivers/ngen.cpp
@@ -1143,7 +1143,8 @@ MACHINE_CONFIG_START(ngen386_state::ngen386)
MCFG_HARDDISK_ADD("hard0")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ngen386_state::_386i, ngen386)
+MACHINE_CONFIG_START(ngen386_state::_386i)
+ ngen386(config);
MCFG_CPU_MODIFY("i386cpu")
MCFG_CPU_PROGRAM_MAP(ngen386i_mem)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/ngp.cpp b/src/mame/drivers/ngp.cpp
index ede668bb89d..1654c438c5f 100644
--- a/src/mame/drivers/ngp.cpp
+++ b/src/mame/drivers/ngp.cpp
@@ -854,7 +854,8 @@ MACHINE_CONFIG_START(ngp_state::ngp_common)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ngp_state::ngp, ngp_common)
+MACHINE_CONFIG_START(ngp_state::ngp)
+ ngp_common(config);
MCFG_K1GE_ADD( "k1ge", 6.144_MHz_XTAL, "screen", WRITELINE( ngp_state, ngp_vblank_pin_w ), WRITELINE( ngp_state, ngp_hblank_pin_w ) )
@@ -872,7 +873,8 @@ MACHINE_CONFIG_DERIVED(ngp_state::ngp, ngp_common)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ngp_state::ngpc, ngp_common)
+MACHINE_CONFIG_START(ngp_state::ngpc)
+ ngp_common(config);
MCFG_K2GE_ADD( "k1ge", 6.144_MHz_XTAL, "screen", WRITELINE( ngp_state, ngp_vblank_pin_w ), WRITELINE( ngp_state, ngp_hblank_pin_w ) )
MCFG_SCREEN_MODIFY("screen")
diff --git a/src/mame/drivers/nightgal.cpp b/src/mame/drivers/nightgal.cpp
index 45806453198..0cb1b05d085 100644
--- a/src/mame/drivers/nightgal.cpp
+++ b/src/mame/drivers/nightgal.cpp
@@ -785,7 +785,8 @@ MACHINE_CONFIG_START(nightgal_state::royalqn)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nightgal_state::sexygal, royalqn)
+MACHINE_CONFIG_START(nightgal_state::sexygal)
+ royalqn(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -808,7 +809,8 @@ MACHINE_CONFIG_DERIVED(nightgal_state::sexygal, royalqn)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nightgal_state::sweetgal, sexygal)
+MACHINE_CONFIG_START(nightgal_state::sweetgal)
+ sexygal(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(sweetgal_map)
@@ -816,14 +818,16 @@ MACHINE_CONFIG_DERIVED(nightgal_state::sweetgal, sexygal)
MCFG_DEVICE_REMOVE("audiocpu")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nightgal_state::ngalsumr, royalqn)
+MACHINE_CONFIG_START(nightgal_state::ngalsumr)
+ royalqn(config);
MCFG_CPU_MODIFY("maincpu")
// TODO: happens from protection device
MCFG_CPU_PERIODIC_INT_DRIVER(nightgal_state, nmi_line_pulse, 60)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nightgal_state::sgaltrop, sexygal)
+MACHINE_CONFIG_START(nightgal_state::sgaltrop)
+ sexygal(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(sgaltrop_io)
diff --git a/src/mame/drivers/ninjakd2.cpp b/src/mame/drivers/ninjakd2.cpp
index d1cb7fff878..c7cf8d02546 100644
--- a/src/mame/drivers/ninjakd2.cpp
+++ b/src/mame/drivers/ninjakd2.cpp
@@ -976,20 +976,23 @@ MACHINE_CONFIG_START(ninjakd2_state::ninjakd2_core)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ninjakd2_state::ninjakd2, ninjakd2_core)
+MACHINE_CONFIG_START(ninjakd2_state::ninjakd2)
+ ninjakd2_core(config);
MCFG_CPU_REPLACE("soundcpu", MC8123, MAIN_CLOCK_5) /* verified */
MCFG_CPU_PROGRAM_MAP(ninjakd2_sound_cpu)
MCFG_CPU_IO_MAP(ninjakd2_sound_io)
MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ninjakd2_state::ninjakd2b, ninjakd2_core)
+MACHINE_CONFIG_START(ninjakd2_state::ninjakd2b)
+ ninjakd2_core(config);
MCFG_CPU_MODIFY("soundcpu")
MCFG_CPU_PROGRAM_MAP(ninjakd2_sound_cpu)
MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ninjakd2_state::mnight, ninjakd2_core)
+MACHINE_CONFIG_START(ninjakd2_state::mnight)
+ ninjakd2_core(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1005,7 +1008,8 @@ MACHINE_CONFIG_DERIVED(ninjakd2_state::mnight, ninjakd2_core)
MCFG_DEVICE_REMOVE("pcm")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ninjakd2_state::arkarea, ninjakd2_core)
+MACHINE_CONFIG_START(ninjakd2_state::arkarea)
+ ninjakd2_core(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(mnight_main_cpu)
@@ -1020,7 +1024,8 @@ MACHINE_CONFIG_DERIVED(ninjakd2_state::arkarea, ninjakd2_core)
MCFG_DEVICE_REMOVE("pcm")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ninjakd2_state::robokid, mnight)
+MACHINE_CONFIG_START(ninjakd2_state::robokid)
+ mnight(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1041,7 +1046,8 @@ MACHINE_CONFIG_DERIVED(ninjakd2_state::robokid, mnight)
MCFG_SCREEN_UPDATE_DRIVER(ninjakd2_state, screen_update_robokid)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ninjakd2_state::omegaf, robokid)
+MACHINE_CONFIG_START(ninjakd2_state::omegaf)
+ robokid(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/niyanpai.cpp b/src/mame/drivers/niyanpai.cpp
index 76a81357f3f..f1fdde217a9 100644
--- a/src/mame/drivers/niyanpai.cpp
+++ b/src/mame/drivers/niyanpai.cpp
@@ -717,7 +717,8 @@ MACHINE_CONFIG_START(niyanpai_state::niyanpai)
MCFG_NICHISND_ADD("nichisnd")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(niyanpai_state::musobana, niyanpai)
+MACHINE_CONFIG_START(niyanpai_state::musobana)
+ niyanpai(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -726,14 +727,16 @@ MACHINE_CONFIG_DERIVED(niyanpai_state::musobana, niyanpai)
MCFG_MACHINE_START_OVERRIDE(niyanpai_state, musobana)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(niyanpai_state::mhhonban, musobana)
+MACHINE_CONFIG_START(niyanpai_state::mhhonban)
+ musobana(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(mhhonban_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(niyanpai_state::zokumahj, musobana)
+MACHINE_CONFIG_START(niyanpai_state::zokumahj)
+ musobana(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/nmg5.cpp b/src/mame/drivers/nmg5.cpp
index 39f204b1d27..f8879011d23 100644
--- a/src/mame/drivers/nmg5.cpp
+++ b/src/mame/drivers/nmg5.cpp
@@ -1030,7 +1030,8 @@ MACHINE_CONFIG_START(nmg5_state::nmg5)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nmg5_state::garogun, nmg5)
+MACHINE_CONFIG_START(nmg5_state::garogun)
+ nmg5(config);
/* basic machine hardware */
@@ -1042,7 +1043,8 @@ MACHINE_CONFIG_DERIVED(nmg5_state::garogun, nmg5)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nmg5_state::pclubys, nmg5)
+MACHINE_CONFIG_START(nmg5_state::pclubys)
+ nmg5(config);
/* basic machine hardware */
@@ -1055,7 +1057,8 @@ MACHINE_CONFIG_DERIVED(nmg5_state::pclubys, nmg5)
MCFG_GFXDECODE_MODIFY("gfxdecode", pclubys)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nmg5_state::searchp2, nmg5)
+MACHINE_CONFIG_START(nmg5_state::searchp2)
+ nmg5(config);
/* basic machine hardware */
@@ -1065,7 +1068,8 @@ MACHINE_CONFIG_DERIVED(nmg5_state::searchp2, nmg5)
MCFG_GFXDECODE_MODIFY("gfxdecode", pclubys)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nmg5_state::_7ordi, nmg5)
+MACHINE_CONFIG_START(nmg5_state::_7ordi)
+ nmg5(config);
/* basic machine hardware */
diff --git a/src/mame/drivers/nmk16.cpp b/src/mame/drivers/nmk16.cpp
index 7edc70bace2..e48fde61e47 100644
--- a/src/mame/drivers/nmk16.cpp
+++ b/src/mame/drivers/nmk16.cpp
@@ -4228,7 +4228,9 @@ MACHINE_CONFIG_START(nmk16_state::tdragon)
MCFG_DEVICE_ADDRESS_MAP(0, oki2_map)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.10)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nmk16_state::tdragon_prot, tdragon)
+
+MACHINE_CONFIG_START(nmk16_state::tdragon_prot)
+ tdragon(config);
MCFG_TIMER_DRIVER_ADD_PERIODIC("coinsim", nmk16_state, tdragon_mcu_sim, attotime::from_hz(10000))
MACHINE_CONFIG_END
@@ -4342,7 +4344,9 @@ MACHINE_CONFIG_START(nmk16_state::hachamf)
MCFG_DEVICE_ADDRESS_MAP(0, oki2_map)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.10)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nmk16_state::hachamf_prot, hachamf)
+
+MACHINE_CONFIG_START(nmk16_state::hachamf_prot)
+ hachamf(config);
MCFG_TIMER_DRIVER_ADD_PERIODIC("coinsim", nmk16_state, hachamf_mcu_sim, attotime::from_hz(10000))
MACHINE_CONFIG_END
@@ -4558,7 +4562,8 @@ MACHINE_CONFIG_START(nmk16_state::tdragon2)
MCFG_NMK112_ROM1("oki2")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nmk16_state::tdragon3h, tdragon2)
+MACHINE_CONFIG_START(nmk16_state::tdragon3h)
+ tdragon2(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(tdragon3h_map)
MACHINE_CONFIG_END
@@ -5244,7 +5249,8 @@ MACHINE_CONFIG_START(nmk16_state::stagger1)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.70)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nmk16_state::redhawki, stagger1)
+MACHINE_CONFIG_START(nmk16_state::redhawki)
+ stagger1(config);
/* basic machine hardware */
/* video hardware */
@@ -5252,7 +5258,8 @@ MACHINE_CONFIG_DERIVED(nmk16_state::redhawki, stagger1)
MCFG_SCREEN_UPDATE_DRIVER(nmk16_state, screen_update_redhawki)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nmk16_state::redhawkb, stagger1)
+MACHINE_CONFIG_START(nmk16_state::redhawkb)
+ stagger1(config);
/* basic machine hardware */
/* video hardware */
@@ -5261,7 +5268,8 @@ MACHINE_CONFIG_DERIVED(nmk16_state::redhawkb, stagger1)
MCFG_SCREEN_UPDATE_DRIVER(nmk16_state, screen_update_redhawkb)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nmk16_state::grdnstrm, stagger1)
+MACHINE_CONFIG_START(nmk16_state::grdnstrm)
+ stagger1(config);
/* basic machine hardware */
@@ -5272,7 +5280,8 @@ MACHINE_CONFIG_DERIVED(nmk16_state::grdnstrm, stagger1)
MCFG_SCREEN_UPDATE_DRIVER(nmk16_state, screen_update_firehawk)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nmk16_state::grdnstrmk, stagger1) /* Side by side with PCB, the music seems too fast as well */
+MACHINE_CONFIG_START(nmk16_state::grdnstrmk) /* Side by side with PCB, the music seems too fast as well */
+ stagger1(config);
/* basic machine hardware */
@@ -5283,7 +5292,8 @@ MACHINE_CONFIG_DERIVED(nmk16_state::grdnstrmk, stagger1) /* Side by side with PC
MCFG_VIDEO_START_OVERRIDE(nmk16_state,grdnstrm)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nmk16_state::popspops, grdnstrm)
+MACHINE_CONFIG_START(nmk16_state::popspops)
+ grdnstrm(config);
/* basic machine hardware */
@@ -5325,7 +5335,8 @@ MACHINE_CONFIG_START(nmk16_state::firehawk)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nmk16_state::spec2k, firehawk)
+MACHINE_CONFIG_START(nmk16_state::spec2k)
+ firehawk(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(afega_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/nokia_3310.cpp b/src/mame/drivers/nokia_3310.cpp
index 247158e03c5..c31be561cb3 100644
--- a/src/mame/drivers/nokia_3310.cpp
+++ b/src/mame/drivers/nokia_3310.cpp
@@ -718,28 +718,32 @@ MACHINE_CONFIG_START(noki3310_state::noki3310)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(noki3310_state::noki3330, noki3310)
+MACHINE_CONFIG_START(noki3310_state::noki3330)
+ noki3310(config);
MCFG_DEVICE_REMOVE("flash")
MCFG_INTEL_TE28F320_ADD("flash")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(noki3310_state::noki3410, noki3330)
+MACHINE_CONFIG_START(noki3310_state::noki3410)
+ noki3330(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_SIZE(96, 65) // Philips OM6206
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(noki3310_state::noki7110, noki3330)
+MACHINE_CONFIG_START(noki3310_state::noki7110)
+ noki3330(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_SIZE(96, 65) // Epson SED1565
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(noki3310_state::noki6210, noki3330)
+MACHINE_CONFIG_START(noki3310_state::noki6210)
+ noki3330(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_SIZE(96, 60)
diff --git a/src/mame/drivers/norautp.cpp b/src/mame/drivers/norautp.cpp
index 5aa52a08438..ea02944a310 100644
--- a/src/mame/drivers/norautp.cpp
+++ b/src/mame/drivers/norautp.cpp
@@ -1277,7 +1277,8 @@ MACHINE_CONFIG_START(norautp_state::noraut_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(norautp_state::norautp, noraut_base)
+MACHINE_CONFIG_START(norautp_state::norautp)
+ noraut_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1285,7 +1286,8 @@ MACHINE_CONFIG_DERIVED(norautp_state::norautp, noraut_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(norautp_state::norautpl, noraut_base)
+MACHINE_CONFIG_START(norautp_state::norautpl)
+ noraut_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1297,7 +1299,8 @@ MACHINE_CONFIG_DERIVED(norautp_state::norautpl, noraut_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(norautp_state::norautxp, noraut_base)
+MACHINE_CONFIG_START(norautp_state::norautxp)
+ noraut_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1306,7 +1309,8 @@ MACHINE_CONFIG_DERIVED(norautp_state::norautxp, noraut_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(norautp_state::nortest1, noraut_base)
+MACHINE_CONFIG_START(norautp_state::nortest1)
+ noraut_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1315,7 +1319,8 @@ MACHINE_CONFIG_DERIVED(norautp_state::nortest1, noraut_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(norautp_state::norautx4, noraut_base)
+MACHINE_CONFIG_START(norautp_state::norautx4)
+ noraut_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1325,7 +1330,8 @@ MACHINE_CONFIG_END
#ifdef UNUSED_CODE
-static MACHINE_CONFIG_DERIVED( norautx8, noraut_base )
+static MACHINE_CONFIG_START( norautx8 )
+ noraut_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1335,7 +1341,8 @@ MACHINE_CONFIG_END
#endif
-MACHINE_CONFIG_DERIVED(norautp_state::kimble, noraut_base)
+MACHINE_CONFIG_START(norautp_state::kimble)
+ noraut_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1347,7 +1354,8 @@ MACHINE_CONFIG_DERIVED(norautp_state::kimble, noraut_base)
MCFG_DISCRETE_INTF(kimble)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(norautp_state::newhilop, noraut_base)
+MACHINE_CONFIG_START(norautp_state::newhilop)
+ noraut_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1359,7 +1367,8 @@ MACHINE_CONFIG_END
/********** 8080 based **********/
-MACHINE_CONFIG_DERIVED(norautp_state::dphl, noraut_base)
+MACHINE_CONFIG_START(norautp_state::dphl)
+ noraut_base(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", I8080, DPHL_CPU_CLOCK)
@@ -1372,7 +1381,8 @@ MACHINE_CONFIG_DERIVED(norautp_state::dphl, noraut_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(norautp_state::dphla, noraut_base)
+MACHINE_CONFIG_START(norautp_state::dphla)
+ noraut_base(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", I8080, DPHL_CPU_CLOCK)
@@ -1385,7 +1395,8 @@ MACHINE_CONFIG_DERIVED(norautp_state::dphla, noraut_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(norautp_state::kimbldhl, noraut_base)
+MACHINE_CONFIG_START(norautp_state::kimbldhl)
+ noraut_base(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", I8080, DPHL_CPU_CLOCK)
@@ -1398,7 +1409,8 @@ MACHINE_CONFIG_DERIVED(norautp_state::kimbldhl, noraut_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(norautp_state::dphltest, noraut_base)
+MACHINE_CONFIG_START(norautp_state::dphltest)
+ noraut_base(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", I8080, DPHL_CPU_CLOCK)
@@ -1411,7 +1423,8 @@ MACHINE_CONFIG_DERIVED(norautp_state::dphltest, noraut_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(norautp_state::drhl, noraut_base)
+MACHINE_CONFIG_START(norautp_state::drhl)
+ noraut_base(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", I8080, DPHL_CPU_CLOCK)
@@ -1424,7 +1437,8 @@ MACHINE_CONFIG_DERIVED(norautp_state::drhl, noraut_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(norautp_state::ssjkrpkr, noraut_base)
+MACHINE_CONFIG_START(norautp_state::ssjkrpkr)
+ noraut_base(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", I8080, DPHL_CPU_CLOCK)
diff --git a/src/mame/drivers/novag6502.cpp b/src/mame/drivers/novag6502.cpp
index e4db33bf9a1..6b3164238d9 100644
--- a/src/mame/drivers/novag6502.cpp
+++ b/src/mame/drivers/novag6502.cpp
@@ -947,7 +947,8 @@ MACHINE_CONFIG_START(novag6502_state::sexpert)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(novag6502_state::sforte, sexpert)
+MACHINE_CONFIG_START(novag6502_state::sforte)
+ sexpert(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/novagmcs48.cpp b/src/mame/drivers/novagmcs48.cpp
index ca61cebb8b3..3a1f2a95af3 100644
--- a/src/mame/drivers/novagmcs48.cpp
+++ b/src/mame/drivers/novagmcs48.cpp
@@ -162,7 +162,8 @@ MACHINE_CONFIG_START(novagmcs48_state::presto)
MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(novagmcs48_state::octo, presto)
+MACHINE_CONFIG_START(novagmcs48_state::octo)
+ presto(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/nwk-tr.cpp b/src/mame/drivers/nwk-tr.cpp
index 0178fb35dbc..f75b6dfae23 100644
--- a/src/mame/drivers/nwk-tr.cpp
+++ b/src/mame/drivers/nwk-tr.cpp
@@ -898,7 +898,8 @@ MACHINE_CONFIG_START(nwktr_state::nwktr)
MCFG_KONPPC_CGBOARD_TYPE(NWKTR)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nwktr_state::thrilld, nwktr)
+MACHINE_CONFIG_START(nwktr_state::thrilld)
+ nwktr(config);
MCFG_DEVICE_REMOVE("k001604")
MCFG_DEVICE_ADD("k001604", K001604, 0)
diff --git a/src/mame/drivers/odyssey2.cpp b/src/mame/drivers/odyssey2.cpp
index b63eafdcd3d..fa1d6689cbb 100644
--- a/src/mame/drivers/odyssey2.cpp
+++ b/src/mame/drivers/odyssey2.cpp
@@ -695,7 +695,7 @@ MACHINE_CONFIG_START(odyssey2_state::odyssey2)
MCFG_I8244_ADD( "i8244", XTAL(7'159'090)/2 * 2, "screen", INPUTLINE( "maincpu", 0 ), WRITE16( odyssey2_state, scanline_postprocess ) )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
- MCFG_FRAGMENT_ADD(odyssey2_cartslot)
+ odyssey2_cartslot(config);
MACHINE_CONFIG_END
@@ -721,7 +721,7 @@ MACHINE_CONFIG_START(odyssey2_state::videopac)
MCFG_I8245_ADD( "i8244", XTAL(17'734'470)/5 * 2, "screen", INPUTLINE( "maincpu", 0 ), WRITE16( odyssey2_state, scanline_postprocess ) )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
- MCFG_FRAGMENT_ADD(odyssey2_cartslot)
+ odyssey2_cartslot(config);
MACHINE_CONFIG_END
@@ -759,7 +759,7 @@ MACHINE_CONFIG_START(g7400_state::g7400)
MCFG_I8245_ADD( "i8244", 3540000 * 2, "screen", INPUTLINE( "maincpu", 0 ), WRITE16( g7400_state, scanline_postprocess ) )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
- MCFG_FRAGMENT_ADD(odyssey2_cartslot)
+ odyssey2_cartslot(config);
MCFG_DEVICE_REMOVE("cart_list")
MCFG_SOFTWARE_LIST_ADD("cart_list","g7400")
MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("ody2_list","odyssey2")
@@ -800,7 +800,7 @@ MACHINE_CONFIG_START(g7400_state::odyssey3)
MCFG_I8244_ADD( "i8244", 3540000 * 2, "screen", INPUTLINE( "maincpu", 0 ), WRITE16( g7400_state, scanline_postprocess ) )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
- MCFG_FRAGMENT_ADD(odyssey2_cartslot)
+ odyssey2_cartslot(config);
MCFG_DEVICE_REMOVE("cart_list")
MCFG_SOFTWARE_LIST_ADD("cart_list","g7400")
MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("ody2_list","odyssey2")
diff --git a/src/mame/drivers/okean240.cpp b/src/mame/drivers/okean240.cpp
index 14047ca11bd..757dc3d8882 100644
--- a/src/mame/drivers/okean240.cpp
+++ b/src/mame/drivers/okean240.cpp
@@ -544,7 +544,8 @@ MACHINE_CONFIG_START(okean240_state::okean240t)
MCFG_PALETTE_ADD_MONOCHROME("palette")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(okean240_state::okean240a, okean240t)
+MACHINE_CONFIG_START(okean240_state::okean240a)
+ okean240t(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(okean240a_io)
MCFG_GFXDECODE_ADD("gfxdecode", "palette", okean240a)
@@ -563,7 +564,8 @@ MACHINE_CONFIG_DERIVED(okean240_state::okean240a, okean240t)
MCFG_PIT8253_CLK1(1536000) // artificial rate
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(okean240_state::okean240, okean240t)
+MACHINE_CONFIG_START(okean240_state::okean240)
+ okean240t(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(okean240_io)
MCFG_GFXDECODE_ADD("gfxdecode", "palette", okean240)
diff --git a/src/mame/drivers/oneshot.cpp b/src/mame/drivers/oneshot.cpp
index 4dabf63ff1d..58ffb101e69 100644
--- a/src/mame/drivers/oneshot.cpp
+++ b/src/mame/drivers/oneshot.cpp
@@ -396,7 +396,8 @@ MACHINE_CONFIG_START(oneshot_state::oneshot)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(oneshot_state::maddonna, oneshot)
+MACHINE_CONFIG_START(oneshot_state::maddonna)
+ oneshot(config);
/* basic machine hardware */
diff --git a/src/mame/drivers/opwolf.cpp b/src/mame/drivers/opwolf.cpp
index 43ba692da7c..4a731de13de 100644
--- a/src/mame/drivers/opwolf.cpp
+++ b/src/mame/drivers/opwolf.cpp
@@ -838,7 +838,8 @@ MACHINE_CONFIG_START(opwolf_state::opwolf)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(opwolf_state::opwolfp, opwolf)
+MACHINE_CONFIG_START(opwolf_state::opwolfp)
+ opwolf(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu") /* 8 MHz */
diff --git a/src/mame/drivers/oric.cpp b/src/mame/drivers/oric.cpp
index 3f547e03847..96c8fe8b336 100644
--- a/src/mame/drivers/oric.cpp
+++ b/src/mame/drivers/oric.cpp
@@ -820,7 +820,8 @@ MACHINE_CONFIG_START(oric_state::oric)
MCFG_ORICEXT_ADD( "ext", oricext_intf, nullptr, "maincpu", WRITELINE(oric_state, ext_irq_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(oric_state::prav8d, oric)
+MACHINE_CONFIG_START(oric_state::prav8d)
+ oric(config);
MACHINE_CONFIG_END
FLOPPY_FORMATS_MEMBER( telestrat_state::floppy_formats )
@@ -831,7 +832,8 @@ static SLOT_INTERFACE_START( telestrat_floppies )
SLOT_INTERFACE( "3dsdd", FLOPPY_3_DSDD )
SLOT_INTERFACE_END
-MACHINE_CONFIG_DERIVED(telestrat_state::telstrat, oric)
+MACHINE_CONFIG_START(telestrat_state::telstrat)
+ oric(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(telestrat_mem)
diff --git a/src/mame/drivers/orion.cpp b/src/mame/drivers/orion.cpp
index 212627f56e6..f3f85130ca2 100644
--- a/src/mame/drivers/orion.cpp
+++ b/src/mame/drivers/orion.cpp
@@ -147,7 +147,8 @@ MACHINE_CONFIG_START(orion_state::orion128)
MCFG_RAM_DEFAULT_VALUE(0x00)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(orion_state::orion128ms, orion128)
+MACHINE_CONFIG_START(orion_state::orion128ms)
+ orion128(config);
MCFG_DEVICE_REMOVE("ppi8255_2")
MCFG_DEVICE_ADD("ppi8255_2", I8255A, 0)
MCFG_I8255_OUT_PORTA_CB(WRITE8(radio86_state, radio86_8255_porta_w2))
@@ -226,7 +227,8 @@ MACHINE_CONFIG_START(orion_state::orionz80)
MCFG_RAM_DEFAULT_VALUE(0x00)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(orion_state::orionz80ms, orionz80)
+MACHINE_CONFIG_START(orion_state::orionz80ms)
+ orionz80(config);
MCFG_DEVICE_REMOVE("ppi8255_2")
MCFG_DEVICE_ADD("ppi8255_2", I8255A, 0)
diff --git a/src/mame/drivers/osborne1.cpp b/src/mame/drivers/osborne1.cpp
index 672c4e721b1..c4a5f45009e 100644
--- a/src/mame/drivers/osborne1.cpp
+++ b/src/mame/drivers/osborne1.cpp
@@ -338,7 +338,8 @@ MACHINE_CONFIG_START(osborne1_state::osborne1)
MCFG_SOFTWARE_LIST_ADD("flop_list","osborne1")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(osborne1nv_state::osborne1nv, osborne1)
+MACHINE_CONFIG_START(osborne1nv_state::osborne1nv)
+ osborne1(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(osborne1nv_io)
diff --git a/src/mame/drivers/osi.cpp b/src/mame/drivers/osi.cpp
index 646b0d3ad02..054da0b3dba 100644
--- a/src/mame/drivers/osi.cpp
+++ b/src/mame/drivers/osi.cpp
@@ -712,7 +712,7 @@ MACHINE_CONFIG_START(sb2m600_state::osi600)
MCFG_CPU_PROGRAM_MAP(osi600_mem)
/* video hardware */
- MCFG_FRAGMENT_ADD(osi600_video)
+ osi600_video(config);
MCFG_GFXDECODE_ADD("gfxdecode", "palette", osi)
/* sound hardware */
@@ -743,7 +743,7 @@ MACHINE_CONFIG_START(uk101_state::uk101)
MCFG_CPU_PROGRAM_MAP(uk101_mem)
/* video hardware */
- MCFG_FRAGMENT_ADD(uk101_video)
+ uk101_video(config);
MCFG_GFXDECODE_ADD("gfxdecode", "palette", osi)
/* cassette ACIA */
@@ -768,7 +768,7 @@ MACHINE_CONFIG_START(c1p_state::c1p)
MCFG_CPU_PROGRAM_MAP(c1p_mem)
/* video hardware */
- MCFG_FRAGMENT_ADD(osi630_video)
+ osi630_video(config);
MCFG_GFXDECODE_ADD("gfxdecode", "palette", osi)
/* sound hardware */
@@ -799,7 +799,8 @@ MACHINE_CONFIG_START(c1p_state::c1p)
MCFG_RAM_EXTRA_OPTIONS("20K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(c1pmf_state::c1pmf, c1p)
+MACHINE_CONFIG_START(c1pmf_state::c1pmf)
+ c1p(config);
MCFG_CPU_MODIFY(M6502_TAG)
MCFG_CPU_PROGRAM_MAP(c1pmf_mem)
diff --git a/src/mame/drivers/pacman.cpp b/src/mame/drivers/pacman.cpp
index 6a467bcd1c0..481bc0236e2 100644
--- a/src/mame/drivers/pacman.cpp
+++ b/src/mame/drivers/pacman.cpp
@@ -3533,22 +3533,26 @@ MACHINE_CONFIG_START(pacman_state::pacman)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pacman_state::maketrax, pacman)
+MACHINE_CONFIG_START(pacman_state::maketrax)
+ pacman(config);
MCFG_MACHINE_RESET_OVERRIDE(pacman_state,maketrax)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pacman_state::korosuke, maketrax)
+MACHINE_CONFIG_START(pacman_state::korosuke)
+ maketrax(config);
MCFG_DEVICE_MODIFY("mainlatch") // 8K on original boards
MCFG_ADDRESSABLE_LATCH_Q7_OUT_CB(NOOP) // outputs 4-7 go to protection chip at 6P
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pacman_state::pengojpm, pacman)
+MACHINE_CONFIG_START(pacman_state::pengojpm)
+ pacman(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(pengojpm_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pacman_state::birdiy, pacman)
+MACHINE_CONFIG_START(pacman_state::birdiy)
+ pacman(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3570,7 +3574,8 @@ MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pacman_state::piranha, pacman)
+MACHINE_CONFIG_START(pacman_state::piranha)
+ pacman(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3578,7 +3583,8 @@ MACHINE_CONFIG_DERIVED(pacman_state::piranha, pacman)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pacman_state::nmouse, pacman)
+MACHINE_CONFIG_START(pacman_state::nmouse)
+ pacman(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3586,7 +3592,8 @@ MACHINE_CONFIG_DERIVED(pacman_state::nmouse, pacman)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pacman_state::mspacman, pacman)
+MACHINE_CONFIG_START(pacman_state::mspacman)
+ pacman(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3597,14 +3604,16 @@ MACHINE_CONFIG_DERIVED(pacman_state::mspacman, pacman)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pacman_state::woodpek, pacman)
+MACHINE_CONFIG_START(pacman_state::woodpek)
+ pacman(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(woodpek_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pacman_state::numcrash, pacman)
+MACHINE_CONFIG_START(pacman_state::numcrash)
+ pacman(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3615,7 +3624,8 @@ MACHINE_CONFIG_DERIVED(pacman_state::numcrash, pacman)
MCFG_ADDRESSABLE_LATCH_Q7_OUT_CB(NOOP) // ???
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pacman_state::alibaba, pacman)
+MACHINE_CONFIG_START(pacman_state::alibaba)
+ pacman(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3634,7 +3644,8 @@ MACHINE_CONFIG_DERIVED(pacman_state::alibaba, pacman)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pacman_state::dremshpr, pacman)
+MACHINE_CONFIG_START(pacman_state::dremshpr)
+ pacman(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3652,7 +3663,8 @@ MACHINE_CONFIG_DERIVED(pacman_state::dremshpr, pacman)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pacman_state::theglobp, pacman)
+MACHINE_CONFIG_START(pacman_state::theglobp)
+ pacman(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3664,7 +3676,8 @@ MACHINE_CONFIG_DERIVED(pacman_state::theglobp, pacman)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pacman_state::acitya, pacman)
+MACHINE_CONFIG_START(pacman_state::acitya)
+ pacman(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3676,7 +3689,8 @@ MACHINE_CONFIG_DERIVED(pacman_state::acitya, pacman)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pacman_state::eeekk, pacman)
+MACHINE_CONFIG_START(pacman_state::eeekk)
+ pacman(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3688,7 +3702,8 @@ MACHINE_CONFIG_DERIVED(pacman_state::eeekk, pacman)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pacman_state::vanvan, pacman)
+MACHINE_CONFIG_START(pacman_state::vanvan)
+ pacman(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3714,7 +3729,8 @@ MACHINE_CONFIG_DERIVED(pacman_state::vanvan, pacman)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pacman_state::bigbucks, pacman)
+MACHINE_CONFIG_START(pacman_state::bigbucks)
+ pacman(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3730,7 +3746,8 @@ MACHINE_CONFIG_DERIVED(pacman_state::bigbucks, pacman)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pacman_state::s2650games, pacman)
+MACHINE_CONFIG_START(pacman_state::s2650games)
+ pacman(config);
/* basic machine hardware */
MCFG_DEVICE_REMOVE("maincpu")
@@ -3767,7 +3784,8 @@ MACHINE_CONFIG_DERIVED(pacman_state::s2650games, pacman)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pacman_state::drivfrcp, s2650games)
+MACHINE_CONFIG_START(pacman_state::drivfrcp)
+ s2650games(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3775,7 +3793,8 @@ MACHINE_CONFIG_DERIVED(pacman_state::drivfrcp, s2650games)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pacman_state::_8bpm, s2650games )
+MACHINE_CONFIG_START(pacman_state::_8bpm )
+ s2650games(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3783,7 +3802,8 @@ MACHINE_CONFIG_DERIVED(pacman_state::_8bpm, s2650games )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pacman_state::porky, s2650games)
+MACHINE_CONFIG_START(pacman_state::porky)
+ s2650games(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3791,7 +3811,8 @@ MACHINE_CONFIG_DERIVED(pacman_state::porky, s2650games)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pacman_state::rocktrv2, pacman)
+MACHINE_CONFIG_START(pacman_state::rocktrv2)
+ pacman(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3803,7 +3824,8 @@ MACHINE_CONFIG_DERIVED(pacman_state::rocktrv2, pacman)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pacman_state::mschamp, pacman)
+MACHINE_CONFIG_START(pacman_state::mschamp)
+ pacman(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3815,7 +3837,8 @@ MACHINE_CONFIG_DERIVED(pacman_state::mschamp, pacman)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pacman_state::superabc, pacman)
+MACHINE_CONFIG_START(pacman_state::superabc)
+ pacman(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3830,13 +3853,15 @@ MACHINE_CONFIG_DERIVED(pacman_state::superabc, pacman)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pacman_state::crush4, mschamp)
+MACHINE_CONFIG_START(pacman_state::crush4)
+ mschamp(config);
/* basic machine hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", crush4)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pacman_state::crushs, pacman)
+MACHINE_CONFIG_START(pacman_state::crushs)
+ pacman(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/palm.cpp b/src/mame/drivers/palm.cpp
index 3e588423ba6..1b9c5ad9ad2 100644
--- a/src/mame/drivers/palm.cpp
+++ b/src/mame/drivers/palm.cpp
@@ -426,7 +426,8 @@ ROM_START( spt1740 )
ROM_RELOAD(0x000000, 0x004000)
ROM_END
-MACHINE_CONFIG_DERIVED(palm_state::pilot1k, palm)
+MACHINE_CONFIG_START(palm_state::pilot1k)
+ palm(config);
/* internal ram */
MCFG_RAM_ADD(RAM_TAG)
@@ -434,7 +435,8 @@ MACHINE_CONFIG_DERIVED(palm_state::pilot1k, palm)
MCFG_RAM_EXTRA_OPTIONS("512K,1M,2M,4M,8M")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(palm_state::pilot5k, palm)
+MACHINE_CONFIG_START(palm_state::pilot5k)
+ palm(config);
/* internal ram */
MCFG_RAM_ADD(RAM_TAG)
@@ -442,7 +444,8 @@ MACHINE_CONFIG_DERIVED(palm_state::pilot5k, palm)
MCFG_RAM_EXTRA_OPTIONS("1M,2M,4M,8M")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(palm_state::palmpro, palm)
+MACHINE_CONFIG_START(palm_state::palmpro)
+ palm(config);
/* internal ram */
MCFG_RAM_ADD(RAM_TAG)
@@ -450,7 +453,8 @@ MACHINE_CONFIG_DERIVED(palm_state::palmpro, palm)
MCFG_RAM_EXTRA_OPTIONS("2M,4M,8M")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(palm_state::palmiii, palm)
+MACHINE_CONFIG_START(palm_state::palmiii)
+ palm(config);
/* internal ram */
MCFG_RAM_ADD(RAM_TAG)
@@ -458,7 +462,8 @@ MACHINE_CONFIG_DERIVED(palm_state::palmiii, palm)
MCFG_RAM_EXTRA_OPTIONS("4M,8M")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(palm_state::palmv, palm)
+MACHINE_CONFIG_START(palm_state::palmv)
+ palm(config);
/* internal ram */
MCFG_RAM_ADD(RAM_TAG)
@@ -466,7 +471,8 @@ MACHINE_CONFIG_DERIVED(palm_state::palmv, palm)
MCFG_RAM_EXTRA_OPTIONS("4M,8M")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(palm_state::palmvx, palm)
+MACHINE_CONFIG_START(palm_state::palmvx)
+ palm(config);
/* internal ram */
MCFG_RAM_ADD(RAM_TAG)
diff --git a/src/mame/drivers/pangofun.cpp b/src/mame/drivers/pangofun.cpp
index 610fa1b4e4b..d984735ae3e 100644
--- a/src/mame/drivers/pangofun.cpp
+++ b/src/mame/drivers/pangofun.cpp
@@ -182,12 +182,12 @@ MACHINE_CONFIG_START(pangofun_state::pangofun)
MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb)
/* video hardware */
- MCFG_FRAGMENT_ADD( pcvideo_vga )
+ pcvideo_vga(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
- MCFG_FRAGMENT_ADD( pcat_common )
+ pcat_common(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/paradise.cpp b/src/mame/drivers/paradise.cpp
index 5e5bc6b0510..6d2a199290f 100644
--- a/src/mame/drivers/paradise.cpp
+++ b/src/mame/drivers/paradise.cpp
@@ -757,14 +757,16 @@ MACHINE_CONFIG_START(paradise_state::paradise)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(paradise_state::tgtball, paradise)
+MACHINE_CONFIG_START(paradise_state::tgtball)
+ paradise(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(tgtball_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(paradise_state::torus, paradise)
+MACHINE_CONFIG_START(paradise_state::torus)
+ paradise(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -778,7 +780,8 @@ MACHINE_CONFIG_DERIVED(paradise_state::torus, paradise)
MCFG_DEVICE_REMOVE("oki2")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(paradise_state::madball, torus)
+MACHINE_CONFIG_START(paradise_state::madball)
+ torus(config);
MCFG_GFXDECODE_MODIFY("gfxdecode", madball)
@@ -786,7 +789,8 @@ MACHINE_CONFIG_DERIVED(paradise_state::madball, torus)
MCFG_SCREEN_UPDATE_DRIVER(paradise_state, screen_update_madball)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(paradise_state::penky, paradise)
+MACHINE_CONFIG_START(paradise_state::penky)
+ paradise(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -795,7 +799,8 @@ MACHINE_CONFIG_DERIVED(paradise_state::penky, paradise)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(paradise_state::penkyi, penky)
+MACHINE_CONFIG_START(paradise_state::penkyi)
+ penky(config);
// TODO add ticket dispenser
diff --git a/src/mame/drivers/pasopia7.cpp b/src/mame/drivers/pasopia7.cpp
index c6902f31c08..6f28588201d 100644
--- a/src/mame/drivers/pasopia7.cpp
+++ b/src/mame/drivers/pasopia7.cpp
@@ -964,7 +964,8 @@ MACHINE_CONFIG_START(pasopia7_state::p7_base)
MCFG_FLOPPY_DRIVE_ADD("fdc:1", pasopia7_floppies, "525hd", floppy_image_device::default_floppy_formats)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pasopia7_state::p7_raster, p7_base)
+MACHINE_CONFIG_START(pasopia7_state::p7_raster)
+ p7_base(config);
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
@@ -983,7 +984,8 @@ MACHINE_CONFIG_DERIVED(pasopia7_state::p7_raster, p7_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pasopia7_state::p7_lcd, p7_base)
+MACHINE_CONFIG_START(pasopia7_state::p7_lcd)
+ p7_base(config);
MCFG_SCREEN_ADD("screen", LCD)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
diff --git a/src/mame/drivers/pb1000.cpp b/src/mame/drivers/pb1000.cpp
index 15edeeb37e9..6fb19150a29 100644
--- a/src/mame/drivers/pb1000.cpp
+++ b/src/mame/drivers/pb1000.cpp
@@ -516,7 +516,8 @@ MACHINE_CONFIG_START(pb1000_state::pb1000)
MCFG_SOUND_ROUTE( ALL_OUTPUTS, "mono", 1.00 )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pb1000_state::pb2000c, pb1000)
+MACHINE_CONFIG_START(pb1000_state::pb2000c)
+ pb1000(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(pb2000c_mem)
diff --git a/src/mame/drivers/pbaction.cpp b/src/mame/drivers/pbaction.cpp
index 2e09fefd21b..cba2e934d6f 100644
--- a/src/mame/drivers/pbaction.cpp
+++ b/src/mame/drivers/pbaction.cpp
@@ -323,7 +323,8 @@ MACHINE_CONFIG_START(pbaction_state::pbaction)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pbaction_state::pbactionx, pbaction)
+MACHINE_CONFIG_START(pbaction_state::pbactionx)
+ pbaction(config);
MCFG_CPU_REPLACE("maincpu", SEGA_CPU_PBACTIO4, 4000000) /* 4 MHz? */
MCFG_CPU_PROGRAM_MAP(pbaction_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", pbaction_state, vblank_irq)
diff --git a/src/mame/drivers/pc.cpp b/src/mame/drivers/pc.cpp
index 8edd1fd3f81..d3d7f161b19 100644
--- a/src/mame/drivers/pc.cpp
+++ b/src/mame/drivers/pc.cpp
@@ -555,13 +555,15 @@ void pc_state::cfg_single_720K(device_t *device)
}
//Data General One
-MACHINE_CONFIG_DERIVED(pc_state::dgone, pccga)
+MACHINE_CONFIG_START(pc_state::dgone)
+ pccga(config);
MCFG_DEVICE_MODIFY("isa2")
MCFG_SLOT_OPTION_MACHINE_CONFIG("fdc_xt", cfg_dual_720K)
MACHINE_CONFIG_END
// Ericsson Information System
-MACHINE_CONFIG_DERIVED(pc_state::epc, pccga)
+MACHINE_CONFIG_START(pc_state::epc)
+ pccga(config);
MCFG_DEVICE_REMOVE("maincpu")
MCFG_CPU_PC(pc8, epc, I8088, 4772720)
MCFG_DEVICE_MODIFY("isa1")
@@ -569,7 +571,8 @@ MACHINE_CONFIG_DERIVED(pc_state::epc, pccga)
MCFG_DEVICE_ADD("i8251", I8251, 0) // clock?
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pc_state::eppc, pccga)
+MACHINE_CONFIG_START(pc_state::eppc)
+ pccga(config);
MACHINE_CONFIG_END
// Bondwell BW230
@@ -582,7 +585,8 @@ static INPUT_PORTS_START( bondwell )
PORT_DIPSETTING( 0x02, "On (12 MHz)" )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(pc_state::bondwell, pccga)
+MACHINE_CONFIG_START(pc_state::bondwell)
+ pccga(config);
MCFG_DEVICE_REMOVE("maincpu")
MCFG_CPU_PC(pc8, pc8, I8088, 4772720) // turbo?
MACHINE_CONFIG_END
@@ -639,7 +643,8 @@ MACHINE_CONFIG_END
//MK-88
-MACHINE_CONFIG_DERIVED(pc_state::mk88, poisk2)
+MACHINE_CONFIG_START(pc_state::mk88)
+ poisk2(config);
MCFG_DEVICE_MODIFY("isa1")
MCFG_SLOT_DEFAULT_OPTION("cga_ec1841")
MACHINE_CONFIG_END
@@ -672,7 +677,8 @@ MACHINE_CONFIG_END
//NCR PC4i
-MACHINE_CONFIG_DERIVED(pc_state::ncrpc4i, pccga)
+MACHINE_CONFIG_START(pc_state::ncrpc4i)
+ pccga(config);
//MCFG_DEVICE_MODIFY("mb:isa")
MCFG_ISA8_SLOT_ADD("mb:isa", "isa6", pc_isa8_cards, nullptr, false)
MCFG_ISA8_SLOT_ADD("mb:isa", "isa7", pc_isa8_cards, nullptr, false)
@@ -740,7 +746,8 @@ static DEVICE_INPUT_DEFAULTS_START( m15 )
DEVICE_INPUT_DEFAULTS("DSW0", 0x01, 0x00)
DEVICE_INPUT_DEFAULTS_END
-MACHINE_CONFIG_DERIVED(pc_state::m15, pccga)
+MACHINE_CONFIG_START(pc_state::m15)
+ pccga(config);
MCFG_DEVICE_MODIFY("mb")
MCFG_DEVICE_INPUT_DEFAULTS(m15)
MCFG_DEVICE_MODIFY("isa2")
@@ -752,7 +759,8 @@ MACHINE_CONFIG_END
// Atari PC1
-MACHINE_CONFIG_DERIVED(pc_state::ataripc1, pccga)
+MACHINE_CONFIG_START(pc_state::ataripc1)
+ pccga(config);
MCFG_DEVICE_MODIFY("isa1")
MCFG_SLOT_DEFAULT_OPTION("ega")
MCFG_DEVICE_MODIFY("isa2")
@@ -760,7 +768,8 @@ MACHINE_CONFIG_DERIVED(pc_state::ataripc1, pccga)
MACHINE_CONFIG_END
//Eagle 1600
-MACHINE_CONFIG_DERIVED(pc_state::eagle1600, pccga)
+MACHINE_CONFIG_START(pc_state::eagle1600)
+ pccga(config);
MCFG_DEVICE_REMOVE("maincpu")
MCFG_CPU_PC(pc16, pc16, I8086, 8000000)
MACHINE_CONFIG_END
@@ -824,7 +833,8 @@ MACHINE_CONFIG_START(pc_state::laser_turbo_xt)
MACHINE_CONFIG_END
//Olytext 30
-MACHINE_CONFIG_DERIVED(pc_state::olytext30, pccga)
+MACHINE_CONFIG_START(pc_state::olytext30)
+ pccga(config);
MCFG_DEVICE_REMOVE("maincpu")
MCFG_CPU_PC(pc8, pc8, V20, XTAL(14'318'181)/3) /* 4,77 MHz */
MCFG_DEVICE_MODIFY("isa2")
@@ -838,7 +848,8 @@ MACHINE_CONFIG_DERIVED(pc_state::olytext30, pccga)
MACHINE_CONFIG_END
// Kaypro 16
-MACHINE_CONFIG_DERIVED(pc_state::kaypro16, pccga)
+MACHINE_CONFIG_START(pc_state::kaypro16)
+ pccga(config);
MCFG_DEVICE_MODIFY("isa1")
MCFG_SLOT_FIXED(true)
MCFG_DEVICE_MODIFY("isa2")
diff --git a/src/mame/drivers/pc1512.cpp b/src/mame/drivers/pc1512.cpp
index 055b8633a61..242cebcf795 100644
--- a/src/mame/drivers/pc1512.cpp
+++ b/src/mame/drivers/pc1512.cpp
@@ -1188,7 +1188,7 @@ MACHINE_CONFIG_START(pc1512_state::pc1512)
MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE(I8259A2_TAG, pic8259_device, inta_cb)
// video
- MCFG_FRAGMENT_ADD(pc1512_video)
+ pc1512_video(config);
// sound
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1295,7 +1295,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( pc1512dd )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(pc1512_state::pc1512dd, pc1512)
+MACHINE_CONFIG_START(pc1512_state::pc1512dd)
+ pc1512(config);
MCFG_DEVICE_MODIFY(PC_FDC_XT_TAG ":1")
MCFG_SLOT_DEFAULT_OPTION("525dd")
MACHINE_CONFIG_END
@@ -1305,7 +1306,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( pc1512hd )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(pc1512_state::pc1512hd, pc1512)
+MACHINE_CONFIG_START(pc1512_state::pc1512hd)
+ pc1512(config);
MCFG_DEVICE_MODIFY("isa1")
//MCFG_SLOT_DEFAULT_OPTION("wdxt_gen")
MCFG_SLOT_DEFAULT_OPTION("hdc")
@@ -1428,7 +1430,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( pc1640dd )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(pc1640_state::pc1640dd, pc1640)
+MACHINE_CONFIG_START(pc1640_state::pc1640dd)
+ pc1640(config);
MCFG_DEVICE_MODIFY(PC_FDC_XT_TAG ":1")
MCFG_SLOT_DEFAULT_OPTION("525dd")
MACHINE_CONFIG_END
@@ -1438,7 +1441,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( pc1640hd )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(pc1640_state::pc1640hd, pc1640)
+MACHINE_CONFIG_START(pc1640_state::pc1640hd)
+ pc1640(config);
MCFG_DEVICE_MODIFY("isa1")
//MCFG_SLOT_DEFAULT_OPTION("wdxt_gen")
MCFG_SLOT_DEFAULT_OPTION("hdc")
diff --git a/src/mame/drivers/pc2000.cpp b/src/mame/drivers/pc2000.cpp
index f655cafec10..20dc39511ac 100644
--- a/src/mame/drivers/pc2000.cpp
+++ b/src/mame/drivers/pc2000.cpp
@@ -875,7 +875,8 @@ MACHINE_CONFIG_START(pc2000_state::pc2000)
MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("pc1000_cart", "pc1000")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pc2000_state::gl2000, pc2000)
+MACHINE_CONFIG_START(pc2000_state::gl2000)
+ pc2000(config);
MCFG_SOFTWARE_LIST_ADD("cart_list", "gl2000")
MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("misterx_cart", "misterx")
MACHINE_CONFIG_END
@@ -897,7 +898,8 @@ HD44780_PIXEL_UPDATE(gl4004_state::gl4000_pixel_update)
}
}
-MACHINE_CONFIG_DERIVED(gl3000s_state::gl3000s, pc2000)
+MACHINE_CONFIG_START(gl3000s_state::gl3000s)
+ pc2000(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(gl3000s_io)
@@ -918,7 +920,8 @@ MACHINE_CONFIG_DERIVED(gl3000s_state::gl3000s, pc2000)
MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("misterx_cart", "misterx")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gl4004_state::gl4000, pc2000)
+MACHINE_CONFIG_START(gl4004_state::gl4000)
+ pc2000(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_SIZE(120, 36) // 4x20 chars
MCFG_SCREEN_VISIBLE_AREA(0, 120-1, 0, 36-1)
@@ -931,7 +934,8 @@ MACHINE_CONFIG_DERIVED(gl4004_state::gl4000, pc2000)
MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("misterx_cart", "misterx")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pc1000_state::misterx, pc2000)
+MACHINE_CONFIG_START(pc1000_state::misterx)
+ pc2000(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(pc1000_mem)
@@ -951,7 +955,8 @@ MACHINE_CONFIG_DERIVED(pc1000_state::misterx, pc2000)
MCFG_SOFTWARE_LIST_ADD("cart_list", "misterx")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pc1000_state::pc1000, misterx)
+MACHINE_CONFIG_START(pc1000_state::pc1000)
+ misterx(config);
MCFG_SOFTWARE_LIST_REMOVE("cart_list")
MCFG_SOFTWARE_LIST_REMOVE("pc1000_cart")
MCFG_SOFTWARE_LIST_ADD("cart_list", "pc1000")
diff --git a/src/mame/drivers/pc6001.cpp b/src/mame/drivers/pc6001.cpp
index c28cd7e4663..51e35c71dfd 100644
--- a/src/mame/drivers/pc6001.cpp
+++ b/src/mame/drivers/pc6001.cpp
@@ -1532,7 +1532,8 @@ MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pc6001mk2_state::pc6001mk2, pc6001)
+MACHINE_CONFIG_START(pc6001mk2_state::pc6001mk2)
+ pc6001(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(pc6001mk2_map)
@@ -1554,7 +1555,8 @@ MACHINE_CONFIG_DERIVED(pc6001mk2_state::pc6001mk2, pc6001)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pc6601_state::pc6601, pc6001mk2)
+MACHINE_CONFIG_START(pc6601_state::pc6601)
+ pc6001mk2(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", Z80, PC6001_MAIN_CLOCK / 2)
@@ -1564,7 +1566,8 @@ MACHINE_CONFIG_DERIVED(pc6601_state::pc6601, pc6001mk2)
MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(pc6001_state, irq_callback)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pc6001sr_state::pc6001sr, pc6001mk2)
+MACHINE_CONFIG_START(pc6001sr_state::pc6001sr)
+ pc6001mk2(config);
/* basic machine hardware */
//*Yes*, PC-6001 SR Z80 CPU is actually slower than older models (better waitstates tho?)
diff --git a/src/mame/drivers/pc8401a.cpp b/src/mame/drivers/pc8401a.cpp
index 7b267341612..acf7765a391 100644
--- a/src/mame/drivers/pc8401a.cpp
+++ b/src/mame/drivers/pc8401a.cpp
@@ -594,7 +594,7 @@ MACHINE_CONFIG_START(pc8401a_state::pc8401a)
MCFG_RS232_DSR_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_dsr))
/* video hardware */
- MCFG_FRAGMENT_ADD(pc8401a_video)
+ pc8401a_video(config);
/* option ROM cartridge */
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, nullptr)
@@ -636,7 +636,7 @@ MACHINE_CONFIG_START(pc8500_state::pc8500)
MCFG_RS232_DSR_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_dsr))
/* video hardware */
- MCFG_FRAGMENT_ADD(pc8500_video)
+ pc8500_video(config);
/* option ROM cartridge */
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, nullptr)
diff --git a/src/mame/drivers/pc8801.cpp b/src/mame/drivers/pc8801.cpp
index c1107d26601..e9f41954820 100644
--- a/src/mame/drivers/pc8801.cpp
+++ b/src/mame/drivers/pc8801.cpp
@@ -2655,15 +2655,18 @@ MACHINE_CONFIG_START(pc8801_state::pc8801)
MCFG_TIMER_DRIVER_ADD_PERIODIC("rtc_timer", pc8801_state, pc8801_rtc_irq, attotime::from_hz(600))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pc8801_state::pc8801fh, pc8801)
+MACHINE_CONFIG_START(pc8801_state::pc8801fh)
+ pc8801(config);
MCFG_MACHINE_RESET_OVERRIDE(pc8801_state, pc8801_clock_speed )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pc8801_state::pc8801ma, pc8801)
+MACHINE_CONFIG_START(pc8801_state::pc8801ma)
+ pc8801(config);
MCFG_MACHINE_RESET_OVERRIDE(pc8801_state, pc8801_dic )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pc8801_state::pc8801mc, pc8801)
+MACHINE_CONFIG_START(pc8801_state::pc8801mc)
+ pc8801(config);
MCFG_MACHINE_RESET_OVERRIDE(pc8801_state, pc8801_cdrom )
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/pc9801.cpp b/src/mame/drivers/pc9801.cpp
index bf49153d944..ff5488bbac6 100644
--- a/src/mame/drivers/pc9801.cpp
+++ b/src/mame/drivers/pc9801.cpp
@@ -2309,9 +2309,9 @@ MACHINE_CONFIG_START(pc9801_state::pc9801_common)
/* TODO: check this one */
MCFG_I8255_IN_PORTB_CB(IOPORT("DSW5"))
- MCFG_FRAGMENT_ADD(pc9801_keyboard)
- MCFG_FRAGMENT_ADD(pc9801_mouse)
- MCFG_FRAGMENT_ADD(pc9801_cbus)
+ pc9801_keyboard(config);
+ pc9801_mouse(config);
+ pc9801_cbus(config);
MCFG_DEVICE_ADD(UPD8251_TAG, I8251, 0)
@@ -2359,7 +2359,7 @@ MACHINE_CONFIG_START(pc9801_state::pc9801)
MCFG_CPU_VBLANK_INT_DRIVER("screen", pc9801_state, vrtc_irq)
MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_master", pic8259_device, inta_cb)
- MCFG_FRAGMENT_ADD(pc9801_common)
+ pc9801_common(config);
MCFG_MACHINE_START_OVERRIDE(pc9801_state,pc9801f)
MCFG_MACHINE_RESET_OVERRIDE(pc9801_state,pc9801f)
@@ -2375,7 +2375,7 @@ MACHINE_CONFIG_START(pc9801_state::pc9801)
MCFG_FLOPPY_DRIVE_ADD("upd765_2dd:0", pc9801_floppies, "525dd", pc9801_state::floppy_formats)
MCFG_FLOPPY_DRIVE_ADD("upd765_2dd:1", pc9801_floppies, "525dd", pc9801_state::floppy_formats)
- MCFG_FRAGMENT_ADD(pc9801_sasi)
+ pc9801_sasi(config);
MCFG_UPD1990A_ADD(UPD1990A_TAG, XTAL(32'768), NOOP, NOOP)
MCFG_DEVICE_MODIFY("i8237")
@@ -2394,7 +2394,7 @@ MACHINE_CONFIG_START(pc9801_state::pc9801rs)
MCFG_CPU_VBLANK_INT_DRIVER("screen", pc9801_state, vrtc_irq)
MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_master", pic8259_device, inta_cb)
- MCFG_FRAGMENT_ADD(pc9801_common)
+ pc9801_common(config);
MCFG_DEVICE_ADD("ipl_bank", ADDRESS_MAP_BANK, 0)
MCFG_DEVICE_PROGRAM_MAP(ipl_bank)
@@ -2409,7 +2409,7 @@ MACHINE_CONFIG_START(pc9801_state::pc9801rs)
MCFG_DEVICE_MODIFY("i8237")
MCFG_DEVICE_CLOCK(MAIN_CLOCK_X1*8); // unknown clock
- MCFG_FRAGMENT_ADD(pc9801_ide)
+ pc9801_ide(config);
MCFG_UPD4990A_ADD("upd1990a", XTAL(32'768), NOOP, NOOP)
MCFG_RAM_ADD(RAM_TAG)
@@ -2423,7 +2423,8 @@ MACHINE_CONFIG_START(pc9801_state::pc9801rs)
MCFG_PALETTE_INIT_OWNER(pc9801_state,pc9801)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pc9801_state::pc9801vm, pc9801rs)
+MACHINE_CONFIG_START(pc9801_state::pc9801vm)
+ pc9801rs(config);
MCFG_CPU_REPLACE("maincpu",V30,10000000)
MCFG_CPU_PROGRAM_MAP(pc9801ux_map)
MCFG_CPU_IO_MAP(pc9801ux_io)
@@ -2437,7 +2438,8 @@ MACHINE_CONFIG_DERIVED(pc9801_state::pc9801vm, pc9801rs)
MCFG_MACHINE_RESET_OVERRIDE(pc9801_state,pc9801_common)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pc9801_state::pc9801ux, pc9801rs)
+MACHINE_CONFIG_START(pc9801_state::pc9801ux)
+ pc9801rs(config);
MCFG_CPU_REPLACE("maincpu",I80286,10000000)
MCFG_CPU_PROGRAM_MAP(pc9801ux_map)
MCFG_CPU_IO_MAP(pc9801ux_io)
@@ -2447,7 +2449,8 @@ MACHINE_CONFIG_DERIVED(pc9801_state::pc9801ux, pc9801rs)
// MCFG_DEVICE_MODIFY("i8237", AM9157A, 10000000) // unknown clock
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pc9801_state::pc9801bx2, pc9801rs)
+MACHINE_CONFIG_START(pc9801_state::pc9801bx2)
+ pc9801rs(config);
MCFG_CPU_REPLACE("maincpu",I486,25000000)
MCFG_CPU_PROGRAM_MAP(pc9821_map)
MCFG_CPU_IO_MAP(pc9821_io)
@@ -2457,7 +2460,8 @@ MACHINE_CONFIG_DERIVED(pc9801_state::pc9801bx2, pc9801rs)
MCFG_MACHINE_START_OVERRIDE(pc9801_state,pc9801bx2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pc9801_state::pc9821, pc9801rs)
+MACHINE_CONFIG_START(pc9801_state::pc9821)
+ pc9801rs(config);
MCFG_CPU_REPLACE("maincpu", I486, 16000000) // unknown clock
MCFG_CPU_PROGRAM_MAP(pc9821_map)
MCFG_CPU_IO_MAP(pc9821_io)
@@ -2480,7 +2484,8 @@ MACHINE_CONFIG_DERIVED(pc9801_state::pc9821, pc9801rs)
MCFG_PALETTE_INIT_OWNER(pc9801_state,pc9801)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pc9801_state::pc9821ap2, pc9821)
+MACHINE_CONFIG_START(pc9801_state::pc9821ap2)
+ pc9821(config);
MCFG_CPU_REPLACE("maincpu", I486, 66666667) // unknown clock
MCFG_CPU_PROGRAM_MAP(pc9821_map)
MCFG_CPU_IO_MAP(pc9821_io)
@@ -2490,7 +2495,8 @@ MACHINE_CONFIG_DERIVED(pc9801_state::pc9821ap2, pc9821)
MCFG_MACHINE_START_OVERRIDE(pc9801_state,pc9821ap2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pc9801_state::pc9821v20, pc9821)
+MACHINE_CONFIG_START(pc9801_state::pc9821v20)
+ pc9821(config);
MCFG_CPU_REPLACE("maincpu",PENTIUM,32000000) /* TODO: clock */
MCFG_CPU_PROGRAM_MAP(pc9821_map)
MCFG_CPU_IO_MAP(pc9821_io)
diff --git a/src/mame/drivers/pcat_dyn.cpp b/src/mame/drivers/pcat_dyn.cpp
index 8e3c30ef962..ae84e3b205b 100644
--- a/src/mame/drivers/pcat_dyn.cpp
+++ b/src/mame/drivers/pcat_dyn.cpp
@@ -165,12 +165,12 @@ MACHINE_CONFIG_START(pcat_dyn_state::pcat_dyn)
MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb)
/* video hardware */
- MCFG_FRAGMENT_ADD( pcvideo_trident_vga )
+ pcvideo_trident_vga(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_DEVICE_REPLACE("vga", TVGA9000_VGA, 0)
- MCFG_FRAGMENT_ADD( pcat_common )
+ pcat_common(config);
MCFG_DEVICE_REMOVE("rtc")
MCFG_DS12885_ADD("rtc")
diff --git a/src/mame/drivers/pcat_nit.cpp b/src/mame/drivers/pcat_nit.cpp
index d311b675f8d..1b2c680f7dd 100644
--- a/src/mame/drivers/pcat_nit.cpp
+++ b/src/mame/drivers/pcat_nit.cpp
@@ -232,9 +232,9 @@ MACHINE_CONFIG_START(pcat_nit_state::pcat_nit)
MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb)
/* video hardware */
- MCFG_FRAGMENT_ADD( pcvideo_vga )
+ pcvideo_vga(config);
- MCFG_FRAGMENT_ADD( pcat_common )
+ pcat_common(config);
MCFG_DEVICE_ADD( "ns16450_0", NS16450, XTAL(1'843'200) )
MCFG_INS8250_OUT_TX_CB(DEVWRITELINE("microtouch", microtouch_device, rx))
MCFG_INS8250_OUT_INT_CB(DEVWRITELINE("pic8259_1", pic8259_device, ir4_w))
@@ -251,9 +251,9 @@ MACHINE_CONFIG_START(pcat_nit_state::bonanza)
MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb)
/* video hardware */
- MCFG_FRAGMENT_ADD( pcvideo_cirrus_gd5428 )
+ pcvideo_cirrus_gd5428(config);
- MCFG_FRAGMENT_ADD( pcat_common )
+ pcat_common(config);
MCFG_DEVICE_ADD( "ns16450_0", NS16450, XTAL(1'843'200) )
MCFG_INS8250_OUT_TX_CB(DEVWRITELINE("microtouch", microtouch_device, rx))
MCFG_INS8250_OUT_INT_CB(DEVWRITELINE("pic8259_1", pic8259_device, ir4_w))
diff --git a/src/mame/drivers/pcd.cpp b/src/mame/drivers/pcd.cpp
index 24d3cd1a7e2..6a5a702ca39 100644
--- a/src/mame/drivers/pcd.cpp
+++ b/src/mame/drivers/pcd.cpp
@@ -573,7 +573,8 @@ MACHINE_CONFIG_START(pcd_state::pcd)
MCFG_SCSIDEV_ADD("scsi:1", "harddisk", OMTI5100, SCSI_ID_0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pcd_state::pcx, pcd)
+MACHINE_CONFIG_START(pcd_state::pcx)
+ pcd(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(pcx_io)
diff --git a/src/mame/drivers/pce.cpp b/src/mame/drivers/pce.cpp
index e343a97ceef..ba9ca71e72c 100644
--- a/src/mame/drivers/pce.cpp
+++ b/src/mame/drivers/pce.cpp
@@ -347,13 +347,15 @@ MACHINE_CONFIG_START(pce_state::pce_common)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pce_state::pce, pce_common)
+MACHINE_CONFIG_START(pce_state::pce)
+ pce_common(config);
MCFG_PCE_CARTRIDGE_ADD("cartslot", pce_cart, nullptr)
MCFG_SOFTWARE_LIST_ADD("cart_list","pce")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pce_state::tg16, pce_common)
+MACHINE_CONFIG_START(pce_state::tg16)
+ pce_common(config);
MCFG_TG16_CARTRIDGE_ADD("cartslot", pce_cart, nullptr)
MCFG_SOFTWARE_LIST_ADD("cart_list","tg16")
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/pcktgal.cpp b/src/mame/drivers/pcktgal.cpp
index dc322952205..875cca31817 100644
--- a/src/mame/drivers/pcktgal.cpp
+++ b/src/mame/drivers/pcktgal.cpp
@@ -269,13 +269,15 @@ MACHINE_CONFIG_START(pcktgal_state::pcktgal)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pcktgal_state::bootleg, pcktgal)
+MACHINE_CONFIG_START(pcktgal_state::bootleg)
+ pcktgal(config);
MCFG_GFXDECODE_MODIFY("gfxdecode", bootleg)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(pcktgal_state, screen_update_pcktgalb)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pcktgal_state::pcktgal2, pcktgal)
+MACHINE_CONFIG_START(pcktgal_state::pcktgal2)
+ pcktgal(config);
MCFG_DEVICE_REMOVE("audiocpu")
MCFG_CPU_ADD("audiocpu", M6502, 1500000) /* doesn't use the encrypted 222 */
MCFG_CPU_PROGRAM_MAP(pcktgal_sound_map)
diff --git a/src/mame/drivers/pcw.cpp b/src/mame/drivers/pcw.cpp
index 01c51281838..0ec799cb2da 100644
--- a/src/mame/drivers/pcw.cpp
+++ b/src/mame/drivers/pcw.cpp
@@ -1301,7 +1301,8 @@ MACHINE_CONFIG_START(pcw_state::pcw)
MCFG_TIMER_DRIVER_ADD_PERIODIC("pcw_timer", pcw_state, pcw_timer_interrupt, attotime::from_hz(300))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pcw_state::pcw8256, pcw)
+MACHINE_CONFIG_START(pcw_state::pcw8256)
+ pcw(config);
MCFG_SCREEN_ADD("printer",RASTER)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_SIZE( PCW_PRINTER_WIDTH, PCW_PRINTER_HEIGHT )
@@ -1313,7 +1314,8 @@ MACHINE_CONFIG_DERIVED(pcw_state::pcw8256, pcw)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pcw_state::pcw8512, pcw)
+MACHINE_CONFIG_START(pcw_state::pcw8512)
+ pcw(config);
MCFG_SCREEN_ADD("printer",RASTER)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_SIZE( PCW_PRINTER_WIDTH, PCW_PRINTER_HEIGHT )
@@ -1329,7 +1331,8 @@ MACHINE_CONFIG_DERIVED(pcw_state::pcw8512, pcw)
MACHINE_CONFIG_END
/* PCW9512, PCW9512+, PCW10 */
-MACHINE_CONFIG_DERIVED(pcw_state::pcw9512, pcw)
+MACHINE_CONFIG_START(pcw_state::pcw9512)
+ pcw(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_IO_MAP(pcw9512_io)
diff --git a/src/mame/drivers/pdp11.cpp b/src/mame/drivers/pdp11.cpp
index b2de6e818c2..526e5d967d4 100644
--- a/src/mame/drivers/pdp11.cpp
+++ b/src/mame/drivers/pdp11.cpp
@@ -365,11 +365,13 @@ MACHINE_CONFIG_START(pdp11_state::pdp11)
MCFG_RX01_ADD("rx01")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pdp11_state::pdp11ub2, pdp11)
+MACHINE_CONFIG_START(pdp11_state::pdp11ub2)
+ pdp11(config);
MCFG_MACHINE_RESET_OVERRIDE(pdp11_state,pdp11ub2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pdp11_state::pdp11qb, pdp11)
+MACHINE_CONFIG_START(pdp11_state::pdp11qb)
+ pdp11(config);
MCFG_MACHINE_RESET_OVERRIDE(pdp11_state,pdp11qb)
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/pecom.cpp b/src/mame/drivers/pecom.cpp
index f0adf324b64..7903507ea94 100644
--- a/src/mame/drivers/pecom.cpp
+++ b/src/mame/drivers/pecom.cpp
@@ -180,7 +180,7 @@ MACHINE_CONFIG_START(pecom_state::pecom64)
MCFG_COSMAC_SC_CALLBACK(WRITE8(pecom_state, sc_w))
// sound and video hardware
- MCFG_FRAGMENT_ADD(pecom_video)
+ pecom_video(config);
// devices
MCFG_CASSETTE_ADD( "cassette" )
diff --git a/src/mame/drivers/pegasus.cpp b/src/mame/drivers/pegasus.cpp
index e05460869b1..ccaa03426a2 100644
--- a/src/mame/drivers/pegasus.cpp
+++ b/src/mame/drivers/pegasus.cpp
@@ -543,7 +543,8 @@ MACHINE_CONFIG_START(pegasus_state::pegasus)
MCFG_SOFTWARE_LIST_ADD("cart_list", "pegasus_cart")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pegasus_state::pegasusm, pegasus)
+MACHINE_CONFIG_START(pegasus_state::pegasusm)
+ pegasus(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(pegasusm_mem)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/pengo.cpp b/src/mame/drivers/pengo.cpp
index d47fc05af92..7738d7f2e97 100644
--- a/src/mame/drivers/pengo.cpp
+++ b/src/mame/drivers/pengo.cpp
@@ -414,13 +414,15 @@ MACHINE_CONFIG_START(pengo_state::pengo)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pengo_state::pengou, pengo)
+MACHINE_CONFIG_START(pengo_state::pengou)
+ pengo(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_DEVICE_REMOVE_ADDRESS_MAP(AS_OPCODES)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pengo_state::pengoe, pengo)
+MACHINE_CONFIG_START(pengo_state::pengoe)
+ pengo(config);
MCFG_CPU_REPLACE("maincpu", SEGA_315_5010, MASTER_CLOCK/6)
MCFG_CPU_PROGRAM_MAP(pengo_map)
MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
@@ -428,7 +430,8 @@ MACHINE_CONFIG_DERIVED(pengo_state::pengoe, pengo)
MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pengo_state::jrpacmbl, pengo)
+MACHINE_CONFIG_START(pengo_state::jrpacmbl)
+ pengo(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/pentagon.cpp b/src/mame/drivers/pentagon.cpp
index c6add6af322..e7e22744fd9 100644
--- a/src/mame/drivers/pentagon.cpp
+++ b/src/mame/drivers/pentagon.cpp
@@ -253,7 +253,8 @@ GFXDECODE_END
-MACHINE_CONFIG_DERIVED(pentagon_state::pentagon, spectrum_128)
+MACHINE_CONFIG_START(pentagon_state::pentagon)
+ spectrum_128(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(XTAL(14'000'000) / 4)
MCFG_CPU_PROGRAM_MAP(pentagon_mem)
@@ -282,7 +283,8 @@ MACHINE_CONFIG_DERIVED(pentagon_state::pentagon, spectrum_128)
MCFG_SOFTWARE_LIST_ADD("cass_list_pen","pentagon_cass")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pentagon_state::pent1024, pentagon)
+MACHINE_CONFIG_START(pentagon_state::pent1024)
+ pentagon(config);
/* internal ram */
MCFG_RAM_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("1024K")
diff --git a/src/mame/drivers/pet.cpp b/src/mame/drivers/pet.cpp
index 408061f38e6..45ee779b3d4 100644
--- a/src/mame/drivers/pet.cpp
+++ b/src/mame/drivers/pet.cpp
@@ -1857,8 +1857,9 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( pet2001 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(pet_state::pet2001, pet)
- MCFG_FRAGMENT_ADD(_4k)
+MACHINE_CONFIG_START(pet_state::pet2001)
+ pet(config);
+ _4k(config);
MACHINE_CONFIG_END
@@ -1866,8 +1867,9 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( pet20018 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(pet_state::pet20018, pet)
- MCFG_FRAGMENT_ADD(_8k)
+MACHINE_CONFIG_START(pet_state::pet20018)
+ pet(config);
+ _8k(config);
MACHINE_CONFIG_END
@@ -1875,7 +1877,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( pet2001n )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(pet_state::pet2001n, pet)
+MACHINE_CONFIG_START(pet_state::pet2001n)
+ pet(config);
MCFG_GENERIC_CARTSLOT_ADD("cart_9000", generic_linear_slot, "pet_9000_rom")
MCFG_GENERIC_EXTENSIONS("bin,rom")
@@ -1893,8 +1896,9 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( pet2001n8 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(pet_state::pet2001n8, pet2001n)
- MCFG_FRAGMENT_ADD(_8k)
+MACHINE_CONFIG_START(pet_state::pet2001n8)
+ pet2001n(config);
+ _8k(config);
MACHINE_CONFIG_END
@@ -1902,8 +1906,9 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( pet2001n16 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(pet_state::pet2001n16, pet2001n)
- MCFG_FRAGMENT_ADD(_16k)
+MACHINE_CONFIG_START(pet_state::pet2001n16)
+ pet2001n(config);
+ _16k(config);
MACHINE_CONFIG_END
@@ -1911,8 +1916,9 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( pet2001n32 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(pet_state::pet2001n32, pet2001n)
- MCFG_FRAGMENT_ADD(_32k)
+MACHINE_CONFIG_START(pet_state::pet2001n32)
+ pet2001n(config);
+ _32k(config);
MACHINE_CONFIG_END
@@ -1920,7 +1926,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( cbm3000 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(pet_state::cbm3000, pet2001n)
+MACHINE_CONFIG_START(pet_state::cbm3000)
+ pet2001n(config);
// video hardware
MCFG_SCREEN_MODIFY(SCREEN_TAG)
MCFG_SCREEN_REFRESH_RATE(50)
@@ -1937,8 +1944,9 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( cbm3008 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(pet_state::cbm3008, cbm3000)
- MCFG_FRAGMENT_ADD(_8k)
+MACHINE_CONFIG_START(pet_state::cbm3008)
+ cbm3000(config);
+ _8k(config);
MACHINE_CONFIG_END
@@ -1946,8 +1954,9 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( cbm3016 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(pet_state::cbm3016, cbm3000)
- MCFG_FRAGMENT_ADD(_16k)
+MACHINE_CONFIG_START(pet_state::cbm3016)
+ cbm3000(config);
+ _16k(config);
MACHINE_CONFIG_END
@@ -1955,8 +1964,9 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( cbm3032 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(pet_state::cbm3032, cbm3000)
- MCFG_FRAGMENT_ADD(_32k)
+MACHINE_CONFIG_START(pet_state::cbm3032)
+ cbm3000(config);
+ _32k(config);
MACHINE_CONFIG_END
@@ -1964,7 +1974,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( pet2001b )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(pet2001b_state::pet2001b, pet2001n)
+MACHINE_CONFIG_START(pet2001b_state::pet2001b)
+ pet2001n(config);
MCFG_DEVICE_MODIFY(M6520_1_TAG)
MCFG_PIA_READPB_HANDLER(READ8(pet2001b_state, pia1_pb_r))
MACHINE_CONFIG_END
@@ -1974,8 +1985,9 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( pet2001b8 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(pet2001b_state::pet2001b8, pet2001b)
- MCFG_FRAGMENT_ADD(_8k)
+MACHINE_CONFIG_START(pet2001b_state::pet2001b8)
+ pet2001b(config);
+ _8k(config);
MACHINE_CONFIG_END
@@ -1983,8 +1995,9 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( pet2001b16 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(pet2001b_state::pet2001b16, pet2001b)
- MCFG_FRAGMENT_ADD(_16k)
+MACHINE_CONFIG_START(pet2001b_state::pet2001b16)
+ pet2001b(config);
+ _16k(config);
MACHINE_CONFIG_END
@@ -1992,8 +2005,9 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( pet2001b32 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(pet2001b_state::pet2001b32, pet2001b)
- MCFG_FRAGMENT_ADD(_32k)
+MACHINE_CONFIG_START(pet2001b_state::pet2001b32)
+ pet2001b(config);
+ _32k(config);
MACHINE_CONFIG_END
@@ -2001,7 +2015,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( cbm3032b )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(pet2001b_state::cbm3032b, pet2001b)
+MACHINE_CONFIG_START(pet2001b_state::cbm3032b)
+ pet2001b(config);
// video hardware
MCFG_SCREEN_MODIFY(SCREEN_TAG)
MCFG_SCREEN_REFRESH_RATE(50)
@@ -2012,7 +2027,7 @@ MACHINE_CONFIG_DERIVED(pet2001b_state::cbm3032b, pet2001b)
MCFG_DEVICE_REMOVE("sync_timer")
MCFG_TIMER_DRIVER_ADD_PERIODIC("sync_timer", pet_state, sync_tick, attotime::from_hz(100))
- MCFG_FRAGMENT_ADD(_32k)
+ _32k(config);
MACHINE_CONFIG_END
@@ -2020,7 +2035,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( pet4000 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(pet2001b_state::pet4000, pet2001n )
+MACHINE_CONFIG_START(pet2001b_state::pet4000 )
+ pet2001n(config);
MCFG_DEVICE_REMOVE("cart_b000")
MACHINE_CONFIG_END
@@ -2029,7 +2045,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( pet4016 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(pet2001b_state::pet4016, pet4000)
+MACHINE_CONFIG_START(pet2001b_state::pet4016)
+ pet4000(config);
// RAM not upgradeable
MCFG_RAM_ADD(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("16K")
@@ -2040,8 +2057,9 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( pet4032 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(pet2001b_state::pet4032, pet4000)
- MCFG_FRAGMENT_ADD(_32k)
+MACHINE_CONFIG_START(pet2001b_state::pet4032)
+ pet4000(config);
+ _32k(config);
MACHINE_CONFIG_END
@@ -2049,7 +2067,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( pet4032f )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(pet2001b_state::pet4032f, pet4000)
+MACHINE_CONFIG_START(pet2001b_state::pet4032f)
+ pet4000(config);
MCFG_MACHINE_START_OVERRIDE(pet_state, pet40)
MCFG_MACHINE_RESET_OVERRIDE(pet_state, pet40)
@@ -2074,7 +2093,7 @@ MACHINE_CONFIG_DERIVED(pet2001b_state::pet4032f, pet4000)
MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
- MCFG_FRAGMENT_ADD(_32k)
+ _32k(config);
MACHINE_CONFIG_END
@@ -2082,7 +2101,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( cbm4000 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(pet_state::cbm4000, pet2001n)
+MACHINE_CONFIG_START(pet_state::cbm4000)
+ pet2001n(config);
// video hardware
MCFG_SCREEN_MODIFY(SCREEN_TAG)
MCFG_SCREEN_REFRESH_RATE(50)
@@ -2101,7 +2121,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( cbm4016 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(pet_state::cbm4016, cbm4000)
+MACHINE_CONFIG_START(pet_state::cbm4016)
+ cbm4000(config);
// RAM not upgradeable
MCFG_RAM_ADD(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("16K")
@@ -2112,8 +2133,9 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( cbm4032 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(pet_state::cbm4032, cbm4000)
- MCFG_FRAGMENT_ADD(_32k)
+MACHINE_CONFIG_START(pet_state::cbm4032)
+ cbm4000(config);
+ _32k(config);
MACHINE_CONFIG_END
@@ -2121,7 +2143,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( cbm4032f )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(pet_state::cbm4032f, cbm4000)
+MACHINE_CONFIG_START(pet_state::cbm4032f)
+ cbm4000(config);
MCFG_MACHINE_START_OVERRIDE(pet_state, pet40)
MCFG_MACHINE_RESET_OVERRIDE(pet_state, pet40)
@@ -2146,7 +2169,7 @@ MACHINE_CONFIG_DERIVED(pet_state::cbm4032f, cbm4000)
MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
- MCFG_FRAGMENT_ADD(_32k)
+ _32k(config);
MACHINE_CONFIG_END
@@ -2154,7 +2177,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( pet4000b )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(pet2001b_state::pet4000b, pet2001b)
+MACHINE_CONFIG_START(pet2001b_state::pet4000b)
+ pet2001b(config);
MCFG_DEVICE_REMOVE("cart_b000")
MACHINE_CONFIG_END
@@ -2163,8 +2187,9 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( pet4032b )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(pet2001b_state::pet4032b, pet4000b)
- MCFG_FRAGMENT_ADD(_32k)
+MACHINE_CONFIG_START(pet2001b_state::pet4032b)
+ pet4000b(config);
+ _32k(config);
MACHINE_CONFIG_END
@@ -2172,7 +2197,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( cbm4000b )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(pet2001b_state::cbm4000b, pet2001b)
+MACHINE_CONFIG_START(pet2001b_state::cbm4000b)
+ pet2001b(config);
// video hardware
MCFG_SCREEN_MODIFY(SCREEN_TAG)
MCFG_SCREEN_REFRESH_RATE(50)
@@ -2191,8 +2217,9 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( cbm4032b )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(pet2001b_state::cbm4032b, cbm4000b)
- MCFG_FRAGMENT_ADD(_32k)
+MACHINE_CONFIG_START(pet2001b_state::cbm4032b)
+ cbm4000b(config);
+ _32k(config);
MACHINE_CONFIG_END
@@ -2300,8 +2327,9 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( pet8032 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(pet80_state::pet8032, pet80)
- MCFG_FRAGMENT_ADD(_32k)
+MACHINE_CONFIG_START(pet80_state::pet8032)
+ pet80(config);
+ _32k(config);
MACHINE_CONFIG_END
@@ -2309,7 +2337,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( superpet )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(superpet_state::superpet, pet8032)
+MACHINE_CONFIG_START(superpet_state::superpet)
+ pet8032(config);
MCFG_DEVICE_REMOVE(PET_EXPANSION_SLOT_TAG)
MCFG_PET_EXPANSION_SLOT_ADD(PET_EXPANSION_SLOT_TAG, XTAL(16'000'000)/16, pet_expansion_cards, "superpet")
MCFG_PET_EXPANSION_SLOT_DMA_CALLBACKS(READ8(pet_state, read), WRITE8(pet_state, write))
@@ -2322,7 +2351,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( cbm8096 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(cbm8096_state::cbm8096, pet80)
+MACHINE_CONFIG_START(cbm8096_state::cbm8096)
+ pet80(config);
MCFG_DEVICE_REMOVE(PET_EXPANSION_SLOT_TAG)
MCFG_PET_EXPANSION_SLOT_ADD(PET_EXPANSION_SLOT_TAG, XTAL(16'000'000)/16, pet_expansion_cards, "64k")
MCFG_PET_EXPANSION_SLOT_DMA_CALLBACKS(READ8(pet_state, read), WRITE8(pet_state, write))
@@ -2338,7 +2368,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( cbm8296 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(cbm8296_state::cbm8296, pet80)
+MACHINE_CONFIG_START(cbm8296_state::cbm8296)
+ pet80(config);
MCFG_MACHINE_START_OVERRIDE(cbm8296_state, cbm8296)
MCFG_MACHINE_RESET_OVERRIDE(cbm8296_state, cbm8296)
@@ -2369,7 +2400,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( cbm8296d )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(cbm8296_state::cbm8296d, cbm8296)
+MACHINE_CONFIG_START(cbm8296_state::cbm8296d)
+ cbm8296(config);
MCFG_DEVICE_MODIFY("ieee8")
MCFG_DEVICE_SLOT_INTERFACE(cbm8296d_ieee488_devices, "c8250lp", false)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/peyper.cpp b/src/mame/drivers/peyper.cpp
index a5bba7a211d..a1f5335103e 100644
--- a/src/mame/drivers/peyper.cpp
+++ b/src/mame/drivers/peyper.cpp
@@ -593,7 +593,7 @@ MACHINE_CONFIG_START(peyper_state::peyper)
MCFG_DEFAULT_LAYOUT(layout_peyper)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MCFG_SPEAKER_STANDARD_MONO("ayvol")
MCFG_SOUND_ADD("ay1", AY8910, 2500000)
MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(peyper_state, p1a_w))
diff --git a/src/mame/drivers/pg685.cpp b/src/mame/drivers/pg685.cpp
index 63558c2a578..3209017437e 100644
--- a/src/mame/drivers/pg685.cpp
+++ b/src/mame/drivers/pg685.cpp
@@ -437,7 +437,7 @@ MACHINE_CONFIG_START(pg685_state::pg675)
// sound hardware
// devices
- MCFG_FRAGMENT_ADD(pg685_module)
+ pg685_module(config);
MCFG_DEVICE_ADD("mainuart", I8251, XTAL(12'288'000) / 6) // divider guessed
@@ -486,8 +486,8 @@ MACHINE_CONFIG_START(pg685_state::pg685)
// sound hardware
// devices
- MCFG_FRAGMENT_ADD(pg685_backplane)
- MCFG_FRAGMENT_ADD(pg685_module)
+ pg685_backplane(config);
+ pg685_module(config);
MCFG_DEVICE_ADD("mainuart", I8251, XTAL(12'288'000) / 6) // divider guessed
@@ -537,8 +537,8 @@ MACHINE_CONFIG_START(pg685_state::pg685oua12)
// sound hardware
// devices
- MCFG_FRAGMENT_ADD(pg685_backplane)
- MCFG_FRAGMENT_ADD(pg685_module)
+ pg685_backplane(config);
+ pg685_module(config);
MCFG_DEVICE_ADD("mainuart", I8251, 12288000 / 6) // wrong
diff --git a/src/mame/drivers/pgm.cpp b/src/mame/drivers/pgm.cpp
index f585318829e..42a22df302e 100644
--- a/src/mame/drivers/pgm.cpp
+++ b/src/mame/drivers/pgm.cpp
@@ -551,7 +551,7 @@ MACHINE_CONFIG_START(pgm_state::pgmbase)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(pgm_state::pgm)
- MCFG_FRAGMENT_ADD(pgmbase)
+ pgmbase(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/pgm2.cpp b/src/mame/drivers/pgm2.cpp
index 98f6e6cdd88..5f4de7ad041 100644
--- a/src/mame/drivers/pgm2.cpp
+++ b/src/mame/drivers/pgm2.cpp
@@ -814,19 +814,22 @@ MACHINE_CONFIG_START(pgm2_state::pgm2)
MACHINE_CONFIG_END
// not strictly needed as the video code supports changing on the fly, but makes recording easier etc.
-MACHINE_CONFIG_DERIVED(pgm2_state::pgm2_lores, pgm2)
+MACHINE_CONFIG_START(pgm2_state::pgm2_lores)
+ pgm2(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 240-1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pgm2_state::pgm2_hires, pgm2)
+MACHINE_CONFIG_START(pgm2_state::pgm2_hires)
+ pgm2(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(pgm2_module_rom_map)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 240-1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pgm2_state::pgm2_ramrom, pgm2)
+MACHINE_CONFIG_START(pgm2_state::pgm2_ramrom)
+ pgm2(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(pgm2_ram_rom_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/phc25.cpp b/src/mame/drivers/phc25.cpp
index dfc920f8540..777634b58ed 100644
--- a/src/mame/drivers/phc25.cpp
+++ b/src/mame/drivers/phc25.cpp
@@ -340,7 +340,8 @@ MACHINE_CONFIG_START(phc25_state::phc25)
MCFG_SOFTWARE_LIST_ADD("cass_list", "phc25_cass")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(phc25_state::pal, phc25)
+MACHINE_CONFIG_START(phc25_state::pal)
+ phc25(config);
/* video hardware */
MCFG_SCREEN_MC6847_PAL_ADD(SCREEN_TAG, MC6847_TAG)
@@ -352,7 +353,8 @@ MACHINE_CONFIG_DERIVED(phc25_state::pal, phc25)
// other lines not connected
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(phc25_state::ntsc, phc25)
+MACHINE_CONFIG_START(phc25_state::ntsc)
+ phc25(config);
/* video hardware */
MCFG_SCREEN_MC6847_NTSC_ADD(SCREEN_TAG, MC6847_TAG)
diff --git a/src/mame/drivers/phoenix.cpp b/src/mame/drivers/phoenix.cpp
index ec02821b57f..6e6f9eb9caa 100644
--- a/src/mame/drivers/phoenix.cpp
+++ b/src/mame/drivers/phoenix.cpp
@@ -475,7 +475,8 @@ MACHINE_CONFIG_START(phoenix_state::phoenix)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(phoenix_state::pleiads, phoenix)
+MACHINE_CONFIG_START(phoenix_state::pleiads)
+ phoenix(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -542,7 +543,8 @@ MACHINE_CONFIG_END
/* Uses a Z80 */
-MACHINE_CONFIG_DERIVED(phoenix_state::condor, phoenix)
+MACHINE_CONFIG_START(phoenix_state::condor)
+ phoenix(config);
/* basic machine hardware */
/* FIXME: Verify clock. This is most likely 11MHz/2 */
diff --git a/src/mame/drivers/photoply.cpp b/src/mame/drivers/photoply.cpp
index c34522faf98..12ad92a7abb 100644
--- a/src/mame/drivers/photoply.cpp
+++ b/src/mame/drivers/photoply.cpp
@@ -295,7 +295,7 @@ MACHINE_CONFIG_START(photoply_state::photoply)
MCFG_CPU_IO_MAP(photoply_io)
MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb)
- MCFG_FRAGMENT_ADD( pcat_common )
+ pcat_common(config);
MCFG_GFXDECODE_ADD("gfxdecode", "palette", photoply )
diff --git a/src/mame/drivers/pinball2k.cpp b/src/mame/drivers/pinball2k.cpp
index 6823022afd2..6b1aae23444 100644
--- a/src/mame/drivers/pinball2k.cpp
+++ b/src/mame/drivers/pinball2k.cpp
@@ -603,7 +603,7 @@ MACHINE_CONFIG_START(pinball2k_state::mediagx)
MCFG_CPU_IO_MAP(mediagx_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(18, nullptr, cx5510_pci_r, cx5510_pci_w)
diff --git a/src/mame/drivers/pingpong.cpp b/src/mame/drivers/pingpong.cpp
index 08783357944..16341198293 100644
--- a/src/mame/drivers/pingpong.cpp
+++ b/src/mame/drivers/pingpong.cpp
@@ -476,7 +476,8 @@ MACHINE_CONFIG_START(pingpong_state::pingpong)
MACHINE_CONFIG_END
/* too fast! */
-MACHINE_CONFIG_DERIVED(pingpong_state::merlinmm, pingpong)
+MACHINE_CONFIG_START(pingpong_state::merlinmm)
+ pingpong(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(merlinmm_map)
MCFG_TIMER_MODIFY("scantimer")
diff --git a/src/mame/drivers/pitnrun.cpp b/src/mame/drivers/pitnrun.cpp
index 930fd94ee5d..49217973600 100644
--- a/src/mame/drivers/pitnrun.cpp
+++ b/src/mame/drivers/pitnrun.cpp
@@ -327,7 +327,8 @@ MACHINE_CONFIG_START(pitnrun_state::pitnrun)
MCFG_DEVICE_ADD("noiselatch", LS259, 0) // 1J
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pitnrun_state::pitnrun_mcu, pitnrun)
+MACHINE_CONFIG_START(pitnrun_state::pitnrun_mcu)
+ pitnrun(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(pitnrun_map_mcu)
diff --git a/src/mame/drivers/play_1.cpp b/src/mame/drivers/play_1.cpp
index 8bb1eef7b98..804567a7ec6 100644
--- a/src/mame/drivers/play_1.cpp
+++ b/src/mame/drivers/play_1.cpp
@@ -482,7 +482,7 @@ MACHINE_CONFIG_START(play_1_state::play_1)
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(play_1_state, clock_w))
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
@@ -490,7 +490,8 @@ MACHINE_CONFIG_START(play_1_state::play_1)
MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("speaker", speaker_sound_device, level_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(play_1_state::chance, play_1)
+MACHINE_CONFIG_START(play_1_state::chance)
+ play_1(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(chance_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/play_2.cpp b/src/mame/drivers/play_2.cpp
index d4769f533a8..28dc9545f6f 100644
--- a/src/mame/drivers/play_2.cpp
+++ b/src/mame/drivers/play_2.cpp
@@ -388,14 +388,15 @@ MACHINE_CONFIG_START(play_2_state::play_2)
MCFG_7474_COMP_OUTPUT_CB(DEVWRITELINE("maincpu", cosmac_device, int_w)) MCFG_DEVCB_INVERT // int is reversed in mame
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_CDP1863_ADD("1863", 0, XTAL(2'950'000) / 8)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(play_2_state::zira, play_2)
+MACHINE_CONFIG_START(play_2_state::zira)
+ play_2(config);
MCFG_CPU_ADD("cop402", COP402, XTAL(2'000'000))
MCFG_CPU_PROGRAM_MAP(zira_sound_map)
MCFG_COP400_CONFIG( COP400_CKI_DIVISOR_16, COP400_CKO_OSCILLATOR_OUTPUT, false )
diff --git a/src/mame/drivers/play_3.cpp b/src/mame/drivers/play_3.cpp
index 7468ffc9171..3844fbf4ee9 100644
--- a/src/mame/drivers/play_3.cpp
+++ b/src/mame/drivers/play_3.cpp
@@ -497,7 +497,7 @@ MACHINE_CONFIG_START(play_3_state::play_3)
MCFG_7474_COMP_OUTPUT_CB(DEVWRITELINE("maincpu", cosmac_device, int_w)) MCFG_DEVCB_INVERT // inverted
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MCFG_CPU_ADD("audiocpu", CDP1802, XTAL(3'579'545))
MCFG_CPU_PROGRAM_MAP(play_3_audio_map)
@@ -512,7 +512,8 @@ MACHINE_CONFIG_START(play_3_state::play_3)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.75)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(play_3_state::megaaton, play_3)
+MACHINE_CONFIG_START(play_3_state::megaaton)
+ play_3(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(XTAL(2'950'000))
MCFG_CPU_IO_MAP(megaaton_io)
@@ -521,7 +522,8 @@ MACHINE_CONFIG_DERIVED(play_3_state::megaaton, play_3)
MCFG_DEVICE_CLOCK(XTAL(2'950'000) / 8) // TPB line from CPU
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(play_3_state::sklflite, play_3)
+MACHINE_CONFIG_START(play_3_state::sklflite)
+ play_3(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(sklflite_io)
diff --git a/src/mame/drivers/playch10.cpp b/src/mame/drivers/playch10.cpp
index 7ff27ddba96..9938b0efbe0 100644
--- a/src/mame/drivers/playch10.cpp
+++ b/src/mame/drivers/playch10.cpp
@@ -695,11 +695,13 @@ MACHINE_CONFIG_START(playch10_state::playch10)
MCFG_RP5H01_ADD("rp5h01")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(playch10_state::playchnv, playch10)
+MACHINE_CONFIG_START(playch10_state::playchnv)
+ playch10(config);
MCFG_NVRAM_ADD_0FILL("nvram")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(playch10_state::playch10_hboard, playch10)
+MACHINE_CONFIG_START(playch10_state::playch10_hboard)
+ playch10(config);
MCFG_VIDEO_START_OVERRIDE(playch10_state,playch10_hboard)
MCFG_MACHINE_START_OVERRIDE(playch10_state,playch10_hboard)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/plus4.cpp b/src/mame/drivers/plus4.cpp
index b12d5eed6f2..17c8906b5a1 100644
--- a/src/mame/drivers/plus4.cpp
+++ b/src/mame/drivers/plus4.cpp
@@ -978,7 +978,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( plus4p )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(c16_state::plus4p, plus4)
+MACHINE_CONFIG_START(c16_state::plus4p)
+ plus4(config);
MCFG_DEVICE_MODIFY(MOS7501_TAG)
MCFG_DEVICE_CLOCK(XTAL(17'734'470)/20)
@@ -999,7 +1000,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( plus4n )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(c16_state::plus4n, plus4)
+MACHINE_CONFIG_START(c16_state::plus4n)
+ plus4(config);
MCFG_DEVICE_MODIFY(MOS7501_TAG)
MCFG_DEVICE_CLOCK(XTAL(14'318'181)/16)
@@ -1020,7 +1022,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( c16n )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(c16_state::c16n, plus4n)
+MACHINE_CONFIG_START(c16_state::c16n)
+ plus4n(config);
MCFG_CPU_MODIFY(MOS7501_TAG)
MCFG_M7501_PORT_CALLBACKS(READ8(c16_state, cpu_r), WRITE8(plus4_state, cpu_w))
MCFG_M7501_PORT_PULLS(0x00, 0xc0)
@@ -1042,7 +1045,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( c16p )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(c16_state::c16p, plus4p)
+MACHINE_CONFIG_START(c16_state::c16p)
+ plus4p(config);
MCFG_CPU_MODIFY(MOS7501_TAG)
MCFG_M7501_PORT_CALLBACKS(READ8(c16_state, cpu_r), WRITE8(plus4_state, cpu_w))
MCFG_M7501_PORT_PULLS(0x00, 0xc0)
@@ -1064,7 +1068,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( c232 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(c16_state::c232, c16p)
+MACHINE_CONFIG_START(c16_state::c232)
+ c16p(config);
MCFG_DEVICE_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("32K")
MACHINE_CONFIG_END
@@ -1074,7 +1079,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( v364 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(c16_state::v364, plus4n)
+MACHINE_CONFIG_START(c16_state::v364)
+ plus4n(config);
MCFG_SOUND_ADD(T6721A_TAG, T6721A, XTAL(640'000))
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
diff --git a/src/mame/drivers/pmd85.cpp b/src/mame/drivers/pmd85.cpp
index bf274c4e9c7..42cfb573d5e 100644
--- a/src/mame/drivers/pmd85.cpp
+++ b/src/mame/drivers/pmd85.cpp
@@ -640,7 +640,8 @@ MACHINE_CONFIG_START(pmd85_state::pmd85)
MCFG_RAM_DEFAULT_SIZE("64K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pmd85_state::pmd851, pmd85)
+MACHINE_CONFIG_START(pmd85_state::pmd851)
+ pmd85(config);
MCFG_DEVICE_ADD("ppi8255_0", I8255, 0)
MCFG_I8255_IN_PORTA_CB(READ8(pmd85_state, pmd85_ppi_0_porta_r))
@@ -675,17 +676,20 @@ MACHINE_CONFIG_DERIVED(pmd85_state::pmd851, pmd85)
MCFG_I8255_OUT_PORTC_CB(WRITE8(pmd85_state, pmd85_ppi_3_portc_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pmd85_state::pmd852a, pmd851)
+MACHINE_CONFIG_START(pmd85_state::pmd852a)
+ pmd851(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(pmd852a_mem)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pmd85_state::pmd853, pmd851)
+MACHINE_CONFIG_START(pmd85_state::pmd853)
+ pmd851(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(pmd853_mem)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pmd85_state::alfa, pmd85)
+MACHINE_CONFIG_START(pmd85_state::alfa)
+ pmd85(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(alfa_mem)
@@ -714,7 +718,8 @@ MACHINE_CONFIG_DERIVED(pmd85_state::alfa, pmd85)
MCFG_I8255_OUT_PORTC_CB(WRITE8(pmd85_state, pmd85_ppi_2_portc_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pmd85_state::mato, pmd85)
+MACHINE_CONFIG_START(pmd85_state::mato)
+ pmd85(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(mato_mem)
MCFG_CPU_IO_MAP(mato_io_map)
@@ -731,7 +736,8 @@ MACHINE_CONFIG_DERIVED(pmd85_state::mato, pmd85)
MCFG_DEVICE_REMOVE("uart")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pmd85_state::c2717, pmd851)
+MACHINE_CONFIG_START(pmd85_state::c2717)
+ pmd851(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(c2717_mem)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/pocketc.cpp b/src/mame/drivers/pocketc.cpp
index 4de92e7f7c9..1424190f482 100644
--- a/src/mame/drivers/pocketc.cpp
+++ b/src/mame/drivers/pocketc.cpp
@@ -739,7 +739,8 @@ MACHINE_CONFIG_START(pocketc_state::pocketc)
MCFG_PALETTE_INIT_OWNER( pocketc_state, pocketc )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pc1401_state::pc1401, pocketc)
+MACHINE_CONFIG_START(pc1401_state::pc1401)
+ pocketc(config);
MCFG_CPU_ADD("maincpu", SC61860, 192000) /* 7.8336 MHz */
MCFG_CPU_PROGRAM_MAP(pc1401_mem)
MCFG_SC61860_READ_RESET_HANDLER(READLINE(pc1401_state,pc1401_reset))
@@ -755,12 +756,14 @@ MACHINE_CONFIG_DERIVED(pc1401_state::pc1401, pocketc)
MCFG_SCREEN_UPDATE_DRIVER(pc1401_state, screen_update_pc1401)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pc1401_state::pc1402, pc1401)
+MACHINE_CONFIG_START(pc1401_state::pc1402)
+ pc1401(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP( pc1402_mem)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pc1251_state::pc1250, pocketc)
+MACHINE_CONFIG_START(pc1251_state::pc1250)
+ pocketc(config);
MCFG_CPU_ADD("maincpu", SC61860, 192000) /* 7.8336 MHz */
MCFG_CPU_PROGRAM_MAP( pc1250_mem)
MCFG_SC61860_READ_RESET_HANDLER(NOOP)
@@ -780,29 +783,34 @@ MACHINE_CONFIG_DERIVED(pc1251_state::pc1250, pocketc)
MCFG_GFXDECODE_MODIFY("gfxdecode", pc1251 )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pc1251_state::pc1251, pc1250)
+MACHINE_CONFIG_START(pc1251_state::pc1251)
+ pc1250(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP( pc1251_mem)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pc1251_state::pc1255, pc1250)
+MACHINE_CONFIG_START(pc1251_state::pc1255)
+ pc1250(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP( pc1255_mem)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pc1251_state::pc1260, pc1250)
+MACHINE_CONFIG_START(pc1251_state::pc1260)
+ pc1250(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP( pc1260_mem)
MCFG_MACHINE_START_OVERRIDE(pc1251_state, pc1260 )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pc1251_state::pc1261, pc1260)
+MACHINE_CONFIG_START(pc1251_state::pc1261)
+ pc1260(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP( pc1261_mem)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pc1350_state::pc1350, pocketc)
+MACHINE_CONFIG_START(pc1350_state::pc1350)
+ pocketc(config);
MCFG_CPU_ADD("maincpu", SC61860, 192000) /* 7.8336 MHz */
MCFG_CPU_PROGRAM_MAP( pc1350_mem)
MCFG_SC61860_READ_RESET_HANDLER(NOOP)
@@ -830,7 +838,8 @@ MACHINE_CONFIG_DERIVED(pc1350_state::pc1350, pocketc)
MCFG_RAM_EXTRA_OPTIONS("12K,20K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pc1403_state::pc1403, pocketc)
+MACHINE_CONFIG_START(pc1403_state::pc1403)
+ pocketc(config);
MCFG_CPU_ADD( "maincpu", SC61860, 256000 )
MCFG_CPU_PROGRAM_MAP( pc1403_mem)
MCFG_SC61860_READ_RESET_HANDLER(NOOP)
@@ -855,7 +864,8 @@ MACHINE_CONFIG_DERIVED(pc1403_state::pc1403, pocketc)
MCFG_SCREEN_UPDATE_DRIVER(pc1403_state, screen_update_pc1403)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pc1403_state::pc1403h, pc1403)
+MACHINE_CONFIG_START(pc1403_state::pc1403h)
+ pc1403(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP( pc1403h_mem)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/polepos.cpp b/src/mame/drivers/polepos.cpp
index d786a1a6fec..513a751c7bb 100644
--- a/src/mame/drivers/polepos.cpp
+++ b/src/mame/drivers/polepos.cpp
@@ -1058,7 +1058,8 @@ MACHINE_CONFIG_START(polepos_state::topracern)
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(polepos_state::polepos2bi, topracern)
+MACHINE_CONFIG_START(polepos_state::polepos2bi)
+ topracern(config);
MCFG_CPU_ADD("soundz80bl", Z80, MASTER_CLOCK/8) /*? MHz */
MCFG_CPU_PROGRAM_MAP(sound_z80_bootleg_map)
diff --git a/src/mame/drivers/polgar.cpp b/src/mame/drivers/polgar.cpp
index 9037a5ffc18..2329f73f018 100644
--- a/src/mame/drivers/polgar.cpp
+++ b/src/mame/drivers/polgar.cpp
@@ -484,7 +484,8 @@ MACHINE_CONFIG_START(mephisto_polgar_state::polgar)
MCFG_DEFAULT_LAYOUT(layout_mephisto_lcd)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mephisto_polgar_state::polgar10, polgar)
+MACHINE_CONFIG_START(mephisto_polgar_state::polgar10)
+ polgar(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK( XTAL(10'000'000) )
MACHINE_CONFIG_END
@@ -510,7 +511,8 @@ MACHINE_CONFIG_START(mephisto_risc_state::mrisc)
MCFG_DEFAULT_LAYOUT(layout_mephisto_lcd)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mephisto_milano_state::milano, polgar)
+MACHINE_CONFIG_START(mephisto_milano_state::milano)
+ polgar(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(milano_mem)
@@ -520,14 +522,16 @@ MACHINE_CONFIG_DERIVED(mephisto_milano_state::milano, polgar)
MCFG_DEFAULT_LAYOUT(layout_mephisto_milano)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mephisto_academy_state::academy, polgar)
+MACHINE_CONFIG_START(mephisto_academy_state::academy)
+ polgar(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(academy_mem)
MCFG_DEFAULT_LAYOUT(layout_mephisto_academy)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mephisto_modena_state::modena, polgar)
+MACHINE_CONFIG_START(mephisto_modena_state::modena)
+ polgar(config);
MCFG_CPU_MODIFY("maincpu") // W65C02SP
MCFG_CPU_CLOCK(XTAL(4'194'304))
MCFG_CPU_PROGRAM_MAP(modena_mem)
diff --git a/src/mame/drivers/policetr.cpp b/src/mame/drivers/policetr.cpp
index 06844094d34..f3b242582d7 100644
--- a/src/mame/drivers/policetr.cpp
+++ b/src/mame/drivers/policetr.cpp
@@ -428,7 +428,8 @@ MACHINE_CONFIG_START(policetr_state::policetr)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(policetr_state::sshooter, policetr)
+MACHINE_CONFIG_START(policetr_state::sshooter)
+ policetr(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/poly88.cpp b/src/mame/drivers/poly88.cpp
index 10fc9853520..a14f460dc8f 100644
--- a/src/mame/drivers/poly88.cpp
+++ b/src/mame/drivers/poly88.cpp
@@ -231,7 +231,8 @@ MACHINE_CONFIG_START(poly88_state::poly88)
MCFG_SNAPSHOT_ADD("snapshot", poly88_state, poly88, "img", 2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(poly88_state::poly8813, poly88)
+MACHINE_CONFIG_START(poly88_state::poly8813)
+ poly88(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(poly8813_mem)
MCFG_CPU_IO_MAP(poly8813_io)
diff --git a/src/mame/drivers/polyplay.cpp b/src/mame/drivers/polyplay.cpp
index 4c5ca9cc674..66869e4e059 100644
--- a/src/mame/drivers/polyplay.cpp
+++ b/src/mame/drivers/polyplay.cpp
@@ -351,7 +351,7 @@ MACHINE_CONFIG_START(polyplay_state::polyplay_zre)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(polyplay_state::polyplay_zrepp)
- MCFG_FRAGMENT_ADD( polyplay_zre )
+ polyplay_zre(config);
/* basic machine hardware */
MCFG_CPU_MODIFY(Z80CPU_TAG) /* UB880D */
diff --git a/src/mame/drivers/pong.cpp b/src/mame/drivers/pong.cpp
index 9b8de923d86..4f182270dfe 100644
--- a/src/mame/drivers/pong.cpp
+++ b/src/mame/drivers/pong.cpp
@@ -463,7 +463,8 @@ MACHINE_CONFIG_START(breakout_state::breakout)
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(pong_state::pongf, pong)
+MACHINE_CONFIG_START(pong_state::pongf)
+ pong(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
diff --git a/src/mame/drivers/popeye.cpp b/src/mame/drivers/popeye.cpp
index d694cabd192..7065ce712ef 100644
--- a/src/mame/drivers/popeye.cpp
+++ b/src/mame/drivers/popeye.cpp
@@ -500,7 +500,8 @@ MACHINE_CONFIG_START(tnx1_state::config)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tpp2_state::config, tpp1_state::config)
+MACHINE_CONFIG_START(tpp2_state::config)
+ tpp1_state::config(config);
MCFG_SOUND_MODIFY("aysnd")
MCFG_SOUND_ROUTES_RESET()
MCFG_AY8910_OUTPUT_TYPE(AY8910_RESISTOR_OUTPUT) /* Does tnx1, tpp1 & popeyebl have the same filtering? */
diff --git a/src/mame/drivers/powerins.cpp b/src/mame/drivers/powerins.cpp
index 01f90743ca9..96cf4c0fd59 100644
--- a/src/mame/drivers/powerins.cpp
+++ b/src/mame/drivers/powerins.cpp
@@ -341,7 +341,8 @@ MACHINE_CONFIG_START(powerins_state::powerins)
MCFG_NMK112_ROM1("oki2")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(powerins_state::powerinsa, powerins)
+MACHINE_CONFIG_START(powerins_state::powerinsa)
+ powerins(config);
/* basic machine hardware */
@@ -364,7 +365,8 @@ MACHINE_CONFIG_DERIVED(powerins_state::powerinsa, powerins)
MCFG_DEVICE_REMOVE("nmk112")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(powerins_state::powerinsb, powerins)
+MACHINE_CONFIG_START(powerins_state::powerinsb)
+ powerins(config);
/* basic machine hardware */
diff --git a/src/mame/drivers/prestige.cpp b/src/mame/drivers/prestige.cpp
index cb2b71e4579..546c1784557 100644
--- a/src/mame/drivers/prestige.cpp
+++ b/src/mame/drivers/prestige.cpp
@@ -767,7 +767,8 @@ MACHINE_CONFIG_START(prestige_state::prestige_base)
MCFG_RAM_EXTRA_OPTIONS("64K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(prestige_state::glcolor, prestige_base)
+MACHINE_CONFIG_START(prestige_state::glcolor)
+ prestige_base(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(glcolor_io)
@@ -785,41 +786,48 @@ MACHINE_CONFIG_DERIVED(prestige_state::glcolor, prestige_base)
MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("snotec_cart", "snotec")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(prestige_state::glmcolor, glcolor)
+MACHINE_CONFIG_START(prestige_state::glmcolor)
+ glcolor(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(prestige_io)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(prestige_state::snotec, glcolor)
+MACHINE_CONFIG_START(prestige_state::snotec)
+ glcolor(config);
MCFG_SOFTWARE_LIST_REMOVE("cart_list")
MCFG_SOFTWARE_LIST_REMOVE("snotec_cart")
MCFG_SOFTWARE_LIST_ADD("cart_list", "snotec")
MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("glcolor_cart", "glcolor")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(prestige_state::prestige, prestige_base)
+MACHINE_CONFIG_START(prestige_state::prestige)
+ prestige_base(config);
MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("gl6000sl_cart", "gl6000sl")
MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("misterx_cart", "misterx")
MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("gl2000_cart", "gl2000")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(prestige_state::gl6000sl, prestige_base)
+MACHINE_CONFIG_START(prestige_state::gl6000sl)
+ prestige_base(config);
MCFG_SOFTWARE_LIST_ADD("cart_list", "gl6000sl")
MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("misterx_cart", "misterx")
MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("gl2000_cart", "gl2000")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(prestige_state::gl7007sl, prestige_base)
+MACHINE_CONFIG_START(prestige_state::gl7007sl)
+ prestige_base(config);
MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("gl6000sl_cart", "gl6000sl")
MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("gl2000_cart", "gl2000")
MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("misterx_cart", "misterx")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(prestige_state::gjmovie, prestige_base)
+MACHINE_CONFIG_START(prestige_state::gjmovie)
+ prestige_base(config);
MCFG_SOFTWARE_LIST_ADD("cart_list", "gjmovie")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(prestige_state::princ, prestige_base)
+MACHINE_CONFIG_START(prestige_state::princ)
+ prestige_base(config);
MCFG_DEVICE_REMOVE("cartslot")
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "princ_cart")
MCFG_SOFTWARE_LIST_ADD("cart_list", "princ")
diff --git a/src/mame/drivers/primo.cpp b/src/mame/drivers/primo.cpp
index 55551c0ec35..e917ed6e4d8 100644
--- a/src/mame/drivers/primo.cpp
+++ b/src/mame/drivers/primo.cpp
@@ -284,38 +284,44 @@ MACHINE_CONFIG_START(primo_state::primoa32)
MCFG_GENERIC_EXTENSIONS("bin,rom")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(primo_state::primoa48, primoa32)
+MACHINE_CONFIG_START(primo_state::primoa48)
+ primoa32(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(primo48_mem)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(primo_state::primoa64, primoa32)
+MACHINE_CONFIG_START(primo_state::primoa64)
+ primoa32(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(primo64_mem)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(primo_state::primob32, primoa32)
+MACHINE_CONFIG_START(primo_state::primob32)
+ primoa32(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(primob_port)
MCFG_MACHINE_RESET_OVERRIDE(primo_state, primob)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(primo_state::primob48, primoa48)
+MACHINE_CONFIG_START(primo_state::primob48)
+ primoa48(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(primob_port)
MCFG_MACHINE_RESET_OVERRIDE(primo_state, primob)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(primo_state::primob64, primoa64)
+MACHINE_CONFIG_START(primo_state::primob64)
+ primoa64(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(primob_port)
MCFG_MACHINE_RESET_OVERRIDE(primo_state, primob)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(primo_state::primoc64, primoa64)
+MACHINE_CONFIG_START(primo_state::primoc64)
+ primoa64(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(primob_port)
diff --git a/src/mame/drivers/progolf.cpp b/src/mame/drivers/progolf.cpp
index 9d83d7a33ed..b4d8f0b3d1c 100644
--- a/src/mame/drivers/progolf.cpp
+++ b/src/mame/drivers/progolf.cpp
@@ -454,7 +454,8 @@ MACHINE_CONFIG_START(progolf_state::progolf)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.23)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(progolf_state::progolfa, progolf)
+MACHINE_CONFIG_START(progolf_state::progolfa)
+ progolf(config);
MCFG_DEVICE_REMOVE("maincpu") /* different encrypted cpu to progolf */
MCFG_CPU_ADD("maincpu", DECO_CPU6, 3000000/2) /* guess, 3 Mhz makes the game to behave worse? */
MCFG_CPU_PROGRAM_MAP(main_cpu)
diff --git a/src/mame/drivers/ps2.cpp b/src/mame/drivers/ps2.cpp
index 94741a87f4a..e1d644fabd1 100644
--- a/src/mame/drivers/ps2.cpp
+++ b/src/mame/drivers/ps2.cpp
@@ -91,7 +91,7 @@ MACHINE_CONFIG_START(ps2_state::ps2m30286)
MCFG_DEVICE_ADD("mb", AT_MB, 0)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_FRAGMENT_ADD( at_softlists )
+ at_softlists(config);
MCFG_ISA16_SLOT_ADD("mb:isabus","isa1", pc_isa16_cards, "vga", true)
MCFG_ISA16_SLOT_ADD("mb:isabus","isa2", pc_isa16_cards, "fdc", false)
@@ -113,7 +113,7 @@ MACHINE_CONFIG_START(ps2_state::ps2386)
MCFG_DEVICE_ADD("mb", AT_MB, 0)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_FRAGMENT_ADD( at_softlists )
+ at_softlists(config);
// on board devices
MCFG_ISA16_SLOT_ADD("mb:isabus","board1", pc_isa16_cards, "fdcsmc", true)
diff --git a/src/mame/drivers/psikyo.cpp b/src/mame/drivers/psikyo.cpp
index d7f5f61ac69..9b09694a8f5 100644
--- a/src/mame/drivers/psikyo.cpp
+++ b/src/mame/drivers/psikyo.cpp
@@ -1086,7 +1086,8 @@ MACHINE_CONFIG_START(psikyo_state::gunbird)
MCFG_GENERIC_LATCH_SEPARATE_ACKNOWLEDGE(true)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(psikyo_state::s1945jn, gunbird)
+MACHINE_CONFIG_START(psikyo_state::s1945jn)
+ gunbird(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(s1945jn_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/psikyo4.cpp b/src/mame/drivers/psikyo4.cpp
index 27b1ec05337..9f9e48a1887 100644
--- a/src/mame/drivers/psikyo4.cpp
+++ b/src/mame/drivers/psikyo4.cpp
@@ -695,7 +695,8 @@ MACHINE_CONFIG_START(psikyo4_state::ps4big)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(psikyo4_state::ps4small, ps4big)
+MACHINE_CONFIG_START(psikyo4_state::ps4small)
+ ps4big(config);
/* basic machine hardware */
diff --git a/src/mame/drivers/psikyosh.cpp b/src/mame/drivers/psikyosh.cpp
index ee7172c0c3f..3b14da362f3 100644
--- a/src/mame/drivers/psikyosh.cpp
+++ b/src/mame/drivers/psikyosh.cpp
@@ -810,7 +810,8 @@ MACHINE_CONFIG_START(psikyosh_state::psikyo3v1)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(psikyosh_state::psikyo5, psikyo3v1)
+MACHINE_CONFIG_START(psikyosh_state::psikyo5)
+ psikyo3v1(config);
/* basic machine hardware */
@@ -818,7 +819,8 @@ MACHINE_CONFIG_DERIVED(psikyosh_state::psikyo5, psikyo3v1)
MCFG_CPU_PROGRAM_MAP(ps5_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(psikyosh_state::psikyo5_240, psikyo3v1)
+MACHINE_CONFIG_START(psikyosh_state::psikyo5_240)
+ psikyo3v1(config);
/* basic machine hardware */
diff --git a/src/mame/drivers/psion.cpp b/src/mame/drivers/psion.cpp
index 43980cca345..cb2e3329098 100644
--- a/src/mame/drivers/psion.cpp
+++ b/src/mame/drivers/psion.cpp
@@ -604,7 +604,8 @@ MACHINE_CONFIG_START(psion_state::psion_2lines)
MACHINE_CONFIG_END
/* basic configuration for 4 lines display */
-MACHINE_CONFIG_DERIVED(psion_state::psion_4lines, psion_2lines)
+MACHINE_CONFIG_START(psion_state::psion_4lines)
+ psion_2lines(config);
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_SIZE(6*20, 9*4)
@@ -615,7 +616,8 @@ MACHINE_CONFIG_DERIVED(psion_state::psion_4lines, psion_2lines)
MCFG_HD44780_PIXEL_UPDATE_CB(psion_state,lz_pixel_update)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(psion1_state::psion1, psion_2lines)
+MACHINE_CONFIG_START(psion1_state::psion1)
+ psion_2lines(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(psion1_mem)
@@ -635,25 +637,29 @@ MACHINE_CONFIG_DERIVED(psion1_state::psion1, psion_2lines)
MCFG_SOFTWARE_LIST_ADD("pack_list", "psion1")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(psion_state::psioncm, psion_2lines)
+MACHINE_CONFIG_START(psion_state::psioncm)
+ psion_2lines(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(psioncm_mem)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(psion_state::psionla, psion_2lines)
+MACHINE_CONFIG_START(psion_state::psionla)
+ psion_2lines(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(psionla_mem)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(psion_state::psionlam, psion_2lines)
+MACHINE_CONFIG_START(psion_state::psionlam)
+ psion_2lines(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(psionlam_mem)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(psion_state::psionp350, psion_2lines)
+MACHINE_CONFIG_START(psion_state::psionp350)
+ psion_2lines(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(psionp350_mem)
@@ -661,7 +667,8 @@ MACHINE_CONFIG_DERIVED(psion_state::psionp350, psion_2lines)
MCFG_NVRAM_ADD_0FILL("nvram3") // paged RAM
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(psion_state::psionlz, psion_4lines)
+MACHINE_CONFIG_START(psion_state::psionlz)
+ psion_4lines(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(psionlz_mem)
diff --git a/src/mame/drivers/psx.cpp b/src/mame/drivers/psx.cpp
index 2e59b135352..3543709f36c 100644
--- a/src/mame/drivers/psx.cpp
+++ b/src/mame/drivers/psx.cpp
@@ -555,7 +555,8 @@ MACHINE_CONFIG_START(psx1_state::psj)
MCFG_PSX_DMA_CHANNEL_WRITE( "maincpu", 3, psxdma_device::write_delegate(&psx1_state::cd_dma_write, this ) )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(psx1_state::psu, psj)
+MACHINE_CONFIG_START(psx1_state::psu)
+ psj(config);
MCFG_CPU_ADD( "subcpu", HD63705, 4166667 ) // MC68HC05G6
MCFG_CPU_PROGRAM_MAP( subcpu_map )
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/puckpkmn.cpp b/src/mame/drivers/puckpkmn.cpp
index b6f46d45c0c..78a400fc0f3 100644
--- a/src/mame/drivers/puckpkmn.cpp
+++ b/src/mame/drivers/puckpkmn.cpp
@@ -276,7 +276,7 @@ ADDRESS_MAP_START(md_boot_state::puckpkmna_map)
ADDRESS_MAP_END
MACHINE_CONFIG_START(md_boot_state::puckpkmn)
- MCFG_FRAGMENT_ADD(md_ntsc)
+ md_ntsc(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(puckpkmn_map)
@@ -290,14 +290,16 @@ MACHINE_CONFIG_START(md_boot_state::puckpkmn)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker",0.25)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(md_boot_state::puckpkmna, puckpkmn)
+MACHINE_CONFIG_START(md_boot_state::puckpkmna)
+ puckpkmn(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(puckpkmna_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(md_boot_state::jzth, puckpkmn)
+MACHINE_CONFIG_START(md_boot_state::jzth)
+ puckpkmn(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(jzth_map)
diff --git a/src/mame/drivers/punchout.cpp b/src/mame/drivers/punchout.cpp
index a094bd5ea3d..991a45aeb60 100644
--- a/src/mame/drivers/punchout.cpp
+++ b/src/mame/drivers/punchout.cpp
@@ -671,7 +671,8 @@ MACHINE_CONFIG_START(punchout_state::punchout)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(punchout_state::spnchout, punchout)
+MACHINE_CONFIG_START(punchout_state::spnchout)
+ punchout(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -685,7 +686,8 @@ MACHINE_CONFIG_DERIVED(punchout_state::spnchout, punchout)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(punchout_state::armwrest, punchout)
+MACHINE_CONFIG_START(punchout_state::armwrest)
+ punchout(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/px4.cpp b/src/mame/drivers/px4.cpp
index fd5e6ba3870..a1d3582475b 100644
--- a/src/mame/drivers/px4.cpp
+++ b/src/mame/drivers/px4.cpp
@@ -1543,7 +1543,8 @@ MACHINE_CONFIG_START(px4_state::px4)
MCFG_SOFTWARE_LIST_ADD("epson_cpm_list", "epson_cpm")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(px4p_state::px4p, px4)
+MACHINE_CONFIG_START(px4p_state::px4p)
+ px4(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(px4p_io)
diff --git a/src/mame/drivers/pyl601.cpp b/src/mame/drivers/pyl601.cpp
index 5e2e4146531..2906dd7f168 100644
--- a/src/mame/drivers/pyl601.cpp
+++ b/src/mame/drivers/pyl601.cpp
@@ -569,7 +569,8 @@ MACHINE_CONFIG_START(pyl601_state::pyl601)
MCFG_RAM_DEFAULT_SIZE("576K") // 64 + 512
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pyl601_state::pyl601a, pyl601)
+MACHINE_CONFIG_START(pyl601_state::pyl601a)
+ pyl601(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK( XTAL(2'000'000))
diff --git a/src/mame/drivers/qix.cpp b/src/mame/drivers/qix.cpp
index b1e78db4e76..bf1577b1116 100644
--- a/src/mame/drivers/qix.cpp
+++ b/src/mame/drivers/qix.cpp
@@ -623,20 +623,22 @@ MACHINE_CONFIG_START(qix_state::qix_base)
MCFG_PIA_WRITEPB_HANDLER(WRITE8(qix_state, qix_coinctl_w))
/* video hardware */
- MCFG_FRAGMENT_ADD(qix_video)
+ qix_video(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(qix_state::qix, qix_base)
- MCFG_FRAGMENT_ADD(qix_audio)
+MACHINE_CONFIG_START(qix_state::qix)
+ qix_base(config);
+ qix_audio(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(qix_state::kram3, qix)
+MACHINE_CONFIG_START(qix_state::kram3)
+ qix(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(kram3_main_map)
MCFG_MC6809E_LIC_CB(WRITELINE(qix_state, kram3_lic_maincpu_changed))
- MCFG_FRAGMENT_ADD(kram3_video)
+ kram3_video(config);
MACHINE_CONFIG_END
/***************************************************************************
@@ -646,7 +648,8 @@ MACHINE_CONFIG_END
***************************************************************************/
-MACHINE_CONFIG_DERIVED(qix_state::mcu, qix)
+MACHINE_CONFIG_START(qix_state::mcu)
+ qix(config);
/* basic machine hardware */
@@ -667,7 +670,8 @@ MACHINE_CONFIG_DERIVED(qix_state::mcu, qix)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(qix_state::zookeep, mcu)
+MACHINE_CONFIG_START(qix_state::zookeep)
+ mcu(config);
/* basic machine hardware */
@@ -675,7 +679,7 @@ MACHINE_CONFIG_DERIVED(qix_state::zookeep, mcu)
MCFG_CPU_PROGRAM_MAP(zoo_main_map)
/* video hardware */
- MCFG_FRAGMENT_ADD(zookeep_video)
+ zookeep_video(config);
MACHINE_CONFIG_END
@@ -687,7 +691,8 @@ MACHINE_CONFIG_END
***************************************************************************/
-MACHINE_CONFIG_DERIVED(qix_state::slither, qix_base)
+MACHINE_CONFIG_START(qix_state::slither)
+ qix_base(config);
/* basic machine hardware */
@@ -705,10 +710,10 @@ MACHINE_CONFIG_DERIVED(qix_state::slither, qix_base)
MCFG_PIA_READPB_HANDLER(NOOP)
/* video hardware */
- MCFG_FRAGMENT_ADD(slither_video)
+ slither_video(config);
/* audio hardware */
- MCFG_FRAGMENT_ADD(slither_audio)
+ slither_audio(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/ql.cpp b/src/mame/drivers/ql.cpp
index 707afb7d409..e483710bff2 100644
--- a/src/mame/drivers/ql.cpp
+++ b/src/mame/drivers/ql.cpp
@@ -977,7 +977,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( ql_ntsc )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(ql_state::ql_ntsc, ql)
+MACHINE_CONFIG_START(ql_state::ql_ntsc)
+ ql(config);
// video hardware
MCFG_SCREEN_MODIFY(SCREEN_TAG)
MCFG_SCREEN_REFRESH_RATE(60)
@@ -990,7 +991,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( opd )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(ql_state::opd, ql)
+MACHINE_CONFIG_START(ql_state::opd)
+ ql(config);
// internal ram
MCFG_RAM_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("128K")
@@ -1003,7 +1005,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( megaopd )
//-------------------------------------------------
-static MACHINE_CONFIG_DERIVED( megaopd, ql )
+static MACHINE_CONFIG_START( megaopd )
+static ql(config);
// internal ram
MCFG_RAM_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("256K")
diff --git a/src/mame/drivers/quakeat.cpp b/src/mame/drivers/quakeat.cpp
index b59b01480a5..f4e995b1bc5 100644
--- a/src/mame/drivers/quakeat.cpp
+++ b/src/mame/drivers/quakeat.cpp
@@ -126,7 +126,7 @@ MACHINE_CONFIG_START(quakeat_state::quake)
MCFG_CPU_IO_MAP(quake_io)
MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb)
- MCFG_FRAGMENT_ADD( pcat_common )
+ pcat_common(config);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/queen.cpp b/src/mame/drivers/queen.cpp
index 92ce9bab749..992aebef1f2 100644
--- a/src/mame/drivers/queen.cpp
+++ b/src/mame/drivers/queen.cpp
@@ -279,7 +279,7 @@ MACHINE_CONFIG_START(queen_state::queen)
MCFG_CPU_IO_MAP(queen_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)
@@ -292,7 +292,7 @@ MACHINE_CONFIG_START(queen_state::queen)
MCFG_ATA_INTERFACE_IRQ_HANDLER(DEVWRITELINE("pic8259_2", pic8259_device, ir7_w))
/* video hardware */
- MCFG_FRAGMENT_ADD( pcvideo_vga )
+ pcvideo_vga(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/quizdna.cpp b/src/mame/drivers/quizdna.cpp
index deb80a0df0c..13c9ef6cf10 100644
--- a/src/mame/drivers/quizdna.cpp
+++ b/src/mame/drivers/quizdna.cpp
@@ -471,7 +471,8 @@ MACHINE_CONFIG_START(quizdna_state::quizdna)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(quizdna_state::gakupara, quizdna)
+MACHINE_CONFIG_START(quizdna_state::gakupara)
+ quizdna(config);
/* basic machine hardware */
@@ -480,7 +481,8 @@ MACHINE_CONFIG_DERIVED(quizdna_state::gakupara, quizdna)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(quizdna_state::gekiretu, quizdna)
+MACHINE_CONFIG_START(quizdna_state::gekiretu)
+ quizdna(config);
/* basic machine hardware */
diff --git a/src/mame/drivers/quizpun2.cpp b/src/mame/drivers/quizpun2.cpp
index 34a9050d294..1a3f322e2a2 100644
--- a/src/mame/drivers/quizpun2.cpp
+++ b/src/mame/drivers/quizpun2.cpp
@@ -614,7 +614,8 @@ MACHINE_CONFIG_START(quizpun2_state::quizpun2)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(quizpun2_state::quizpun, quizpun2)
+MACHINE_CONFIG_START(quizpun2_state::quizpun)
+ quizpun2(config);
MCFG_DEVICE_REMOVE("cop")
MCFG_CPU_ADD("mcu", M68705P5, XTAL(4'000'000)) // xtal is 4MHz, divided by 4 internally
diff --git a/src/mame/drivers/r2dx_v33.cpp b/src/mame/drivers/r2dx_v33.cpp
index eaf8ec43382..e828666cc7f 100644
--- a/src/mame/drivers/r2dx_v33.cpp
+++ b/src/mame/drivers/r2dx_v33.cpp
@@ -857,7 +857,8 @@ MACHINE_CONFIG_START(r2dx_v33_state::nzerotea)
MCFG_SEIBU_SOUND_YM_WRITE_CB(DEVWRITE8("ymsnd", ym3812_device, write))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(r2dx_v33_state::zerotm2k, nzerotea)
+MACHINE_CONFIG_START(r2dx_v33_state::zerotm2k)
+ nzerotea(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(zerotm2k_map)
diff --git a/src/mame/drivers/radio86.cpp b/src/mame/drivers/radio86.cpp
index 79a04540d34..245edc71c29 100644
--- a/src/mame/drivers/radio86.cpp
+++ b/src/mame/drivers/radio86.cpp
@@ -391,13 +391,15 @@ MACHINE_CONFIG_START(radio86_state::radio86)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(radio86_state::radio16, radio86)
+MACHINE_CONFIG_START(radio86_state::radio16)
+ radio86(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(radio86_16_mem)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(radio86_state::radiorom, radio86)
+MACHINE_CONFIG_START(radio86_state::radiorom)
+ radio86(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(radio86rom_mem)
@@ -413,7 +415,8 @@ MACHINE_CONFIG_DERIVED(radio86_state::radiorom, radio86)
MCFG_SOFTWARE_LIST_ADD("cart_list", "radio86_cart")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(radio86_state::radioram, radio86)
+MACHINE_CONFIG_START(radio86_state::radioram)
+ radio86(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(radio86ram_mem)
@@ -424,7 +427,8 @@ MACHINE_CONFIG_DERIVED(radio86_state::radioram, radio86)
MCFG_I8255_OUT_PORTC_CB(WRITE8(radio86_state, radio86_romdisk_portc_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(radio86_state::rk7007, radio86)
+MACHINE_CONFIG_START(radio86_state::rk7007)
+ radio86(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(rk7007_io)
@@ -436,7 +440,8 @@ MACHINE_CONFIG_DERIVED(radio86_state::rk7007, radio86)
MCFG_I8255_OUT_PORTC_CB(WRITE8(radio86_state, radio86_8255_portc_w2))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(radio86_state::rk700716, radio16)
+MACHINE_CONFIG_START(radio86_state::rk700716)
+ radio16(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(rk7007_io)
@@ -448,13 +453,15 @@ MACHINE_CONFIG_DERIVED(radio86_state::rk700716, radio16)
MCFG_I8255_OUT_PORTC_CB(WRITE8(radio86_state, radio86_8255_portc_w2))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(radio86_state::mikron2, radio86)
+MACHINE_CONFIG_START(radio86_state::mikron2)
+ radio86(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(mikron2_mem)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(radio86_state::impuls03, radio86)
+MACHINE_CONFIG_START(radio86_state::impuls03)
+ radio86(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(impuls03_mem)
diff --git a/src/mame/drivers/raiden.cpp b/src/mame/drivers/raiden.cpp
index 4c827b4a0fe..bcd3c292dcf 100644
--- a/src/mame/drivers/raiden.cpp
+++ b/src/mame/drivers/raiden.cpp
@@ -367,7 +367,8 @@ MACHINE_CONFIG_START(raiden_state::raiden)
MCFG_SEIBU_SOUND_YM_WRITE_CB(DEVWRITE8("ymsnd", ym3812_device, write))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(raiden_state::raidene, raiden)
+MACHINE_CONFIG_START(raiden_state::raidene)
+ raiden(config);
MCFG_DEVICE_MODIFY("audiocpu")
MCFG_CPU_PROGRAM_MAP(raiden_sound_map)
MCFG_CPU_OPCODES_MAP(raiden_sound_decrypted_opcodes_map)
@@ -376,7 +377,8 @@ MACHINE_CONFIG_DERIVED(raiden_state::raidene, raiden)
MCFG_DEVICE_PROGRAM_MAP(sei80bu_encrypted_full_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(raiden_state::raidenu, raidene)
+MACHINE_CONFIG_START(raiden_state::raidenu)
+ raidene(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -391,7 +393,8 @@ WRITE16_MEMBER( raiden_state::raidenb_layer_scroll_w )
COMBINE_DATA(&m_raidenb_scroll_ram[offset]);
}
-MACHINE_CONFIG_DERIVED(raiden_state::raidenb, raiden)
+MACHINE_CONFIG_START(raiden_state::raidenb)
+ raiden(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/raiden2.cpp b/src/mame/drivers/raiden2.cpp
index c43b5090350..738c10876d6 100644
--- a/src/mame/drivers/raiden2.cpp
+++ b/src/mame/drivers/raiden2.cpp
@@ -1458,7 +1458,8 @@ MACHINE_CONFIG_START(raiden2_state::raiden2)
MCFG_SEIBU_SOUND_YM_WRITE_CB(DEVWRITE8("ymsnd", ym2151_device, write))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(raiden2_state::xsedae, raiden2)
+MACHINE_CONFIG_START(raiden2_state::xsedae)
+ raiden2(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(xsedae_mem)
@@ -1469,7 +1470,8 @@ MACHINE_CONFIG_DERIVED(raiden2_state::xsedae, raiden2)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0, 32*8-1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(raiden2_state::raidendx, raiden2)
+MACHINE_CONFIG_START(raiden2_state::raidendx)
+ raiden2(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(raidendx_mem)
diff --git a/src/mame/drivers/rallyx.cpp b/src/mame/drivers/rallyx.cpp
index 56bd79b2745..b2f4c929312 100644
--- a/src/mame/drivers/rallyx.cpp
+++ b/src/mame/drivers/rallyx.cpp
@@ -912,7 +912,8 @@ MACHINE_CONFIG_START(rallyx_state::jungler)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(rallyx_state::tactcian, jungler)
+MACHINE_CONFIG_START(rallyx_state::tactcian)
+ jungler(config);
/* basic machine hardware */
@@ -923,7 +924,8 @@ MACHINE_CONFIG_DERIVED(rallyx_state::tactcian, jungler)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(rallyx_state::locomotn, jungler)
+MACHINE_CONFIG_START(rallyx_state::locomotn)
+ jungler(config);
/* basic machine hardware */
@@ -935,7 +937,8 @@ MACHINE_CONFIG_DERIVED(rallyx_state::locomotn, jungler)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(rallyx_state::commsega, jungler)
+MACHINE_CONFIG_START(rallyx_state::commsega)
+ jungler(config);
/* basic machine hardware */
diff --git a/src/mame/drivers/rbisland.cpp b/src/mame/drivers/rbisland.cpp
index f6e966be623..d4e6bc4345e 100644
--- a/src/mame/drivers/rbisland.cpp
+++ b/src/mame/drivers/rbisland.cpp
@@ -723,7 +723,8 @@ MACHINE_CONFIG_START(rbisland_state::jumping)
MACHINE_CONFIG_END
/* Imnoe PCB uses 16MHz CPU crystal instead of 18.432 for CPU */
-MACHINE_CONFIG_DERIVED(rbisland_state::jumpingi, jumping)
+MACHINE_CONFIG_START(rbisland_state::jumpingi)
+ jumping(config);
MCFG_CPU_REPLACE("maincpu", M68000, XTAL(16'000'000)/2) /* verified on pcb */
MCFG_CPU_PROGRAM_MAP(jumping_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", rbisland_state, irq4_line_hold)
diff --git a/src/mame/drivers/rbmk.cpp b/src/mame/drivers/rbmk.cpp
index 80e331e5045..d3bc3b2deb6 100644
--- a/src/mame/drivers/rbmk.cpp
+++ b/src/mame/drivers/rbmk.cpp
@@ -599,7 +599,8 @@ MACHINE_CONFIG_START(rbmk_state::rbmk)
MCFG_SOUND_ROUTE(1, "rspeaker", 0.60)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(rbmk_state::rbspm, rbmk)
+MACHINE_CONFIG_START(rbmk_state::rbspm)
+ rbmk(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(rbspm_mem)
diff --git a/src/mame/drivers/re900.cpp b/src/mame/drivers/re900.cpp
index 4115e38a526..46e0a0c34ec 100644
--- a/src/mame/drivers/re900.cpp
+++ b/src/mame/drivers/re900.cpp
@@ -407,7 +407,8 @@ MACHINE_CONFIG_START(re900_state::re900)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(re900_state::bs94, re900)
+MACHINE_CONFIG_START(re900_state::bs94)
+ re900(config);
/* sound hardware */
MCFG_SOUND_MODIFY("ay_re900")
diff --git a/src/mame/drivers/realbrk.cpp b/src/mame/drivers/realbrk.cpp
index 5ae80e51511..969953f3be2 100644
--- a/src/mame/drivers/realbrk.cpp
+++ b/src/mame/drivers/realbrk.cpp
@@ -791,7 +791,8 @@ MACHINE_CONFIG_START(realbrk_state::realbrk)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(realbrk_state::pkgnsh, realbrk)
+MACHINE_CONFIG_START(realbrk_state::pkgnsh)
+ realbrk(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(pkgnsh_mem)
@@ -799,12 +800,14 @@ MACHINE_CONFIG_DERIVED(realbrk_state::pkgnsh, realbrk)
MCFG_TMP68301_OUT_PARALLEL_CB(NOOP)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(realbrk_state::pkgnshdx, pkgnsh)
+MACHINE_CONFIG_START(realbrk_state::pkgnshdx)
+ pkgnsh(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(pkgnshdx_mem)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(realbrk_state::dai2kaku, realbrk)
+MACHINE_CONFIG_START(realbrk_state::dai2kaku)
+ realbrk(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(dai2kaku_mem)
diff --git a/src/mame/drivers/redalert.cpp b/src/mame/drivers/redalert.cpp
index cc955f31a4a..6595613c786 100644
--- a/src/mame/drivers/redalert.cpp
+++ b/src/mame/drivers/redalert.cpp
@@ -395,10 +395,10 @@ MACHINE_CONFIG_START(redalert_state::redalert)
MCFG_CPU_VBLANK_INT_DRIVER("screen", redalert_state, redalert_vblank_interrupt)
/* video hardware */
- MCFG_FRAGMENT_ADD(redalert_video)
+ redalert_video(config);
/* audio hardware */
- MCFG_FRAGMENT_ADD(redalert_audio)
+ redalert_audio(config);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(redalert_state::ww3)
@@ -409,10 +409,10 @@ MACHINE_CONFIG_START(redalert_state::ww3)
MCFG_CPU_VBLANK_INT_DRIVER("screen", redalert_state, redalert_vblank_interrupt)
/* video hardware */
- MCFG_FRAGMENT_ADD(ww3_video)
+ ww3_video(config);
/* audio hardware */
- MCFG_FRAGMENT_ADD(ww3_audio)
+ ww3_audio(config);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(redalert_state::panther)
@@ -423,10 +423,10 @@ MACHINE_CONFIG_START(redalert_state::panther)
MCFG_CPU_VBLANK_INT_DRIVER("screen", redalert_state, redalert_vblank_interrupt)
/* video hardware */
- MCFG_FRAGMENT_ADD(panther_video)
+ panther_video(config);
/* audio hardware */
- MCFG_FRAGMENT_ADD(ww3_audio)
+ ww3_audio(config);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(redalert_state::demoneye)
@@ -437,10 +437,10 @@ MACHINE_CONFIG_START(redalert_state::demoneye)
MCFG_CPU_VBLANK_INT_DRIVER("screen", redalert_state, redalert_vblank_interrupt)
/* video hardware */
- MCFG_FRAGMENT_ADD(demoneye_video)
+ demoneye_video(config);
/* audio hardware */
- MCFG_FRAGMENT_ADD(demoneye_audio)
+ demoneye_audio(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/renegade.cpp b/src/mame/drivers/renegade.cpp
index 125dbe7434e..cb214c2144a 100644
--- a/src/mame/drivers/renegade.cpp
+++ b/src/mame/drivers/renegade.cpp
@@ -505,7 +505,8 @@ MACHINE_CONFIG_START(renegade_state::renegade)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(renegade_state::kuniokunb, renegade)
+MACHINE_CONFIG_START(renegade_state::kuniokunb)
+ renegade(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(renegade_nomcu_map)
diff --git a/src/mame/drivers/retofinv.cpp b/src/mame/drivers/retofinv.cpp
index 5e29b3d014c..752e25e1fc3 100644
--- a/src/mame/drivers/retofinv.cpp
+++ b/src/mame/drivers/retofinv.cpp
@@ -465,13 +465,15 @@ MACHINE_CONFIG_START(retofinv_state::retofinv)
MACHINE_CONFIG_END
/* bootleg which has different palette clut */
-MACHINE_CONFIG_DERIVED(retofinv_state::retofinvb1, retofinv)
+MACHINE_CONFIG_START(retofinv_state::retofinvb1)
+ retofinv(config);
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_INIT_OWNER(retofinv_state, retofinv_bl)
MACHINE_CONFIG_END
/* bootleg which has no mcu */
-MACHINE_CONFIG_DERIVED(retofinv_state::retofinvb_nomcu, retofinv)
+MACHINE_CONFIG_START(retofinv_state::retofinvb_nomcu)
+ retofinv(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(bootleg_map)
@@ -482,7 +484,8 @@ MACHINE_CONFIG_DERIVED(retofinv_state::retofinvb_nomcu, retofinv)
MACHINE_CONFIG_END
/* bootleg which has different pallete clut and also has no mcu */
-MACHINE_CONFIG_DERIVED(retofinv_state::retofinvb1_nomcu, retofinvb1)
+MACHINE_CONFIG_START(retofinv_state::retofinvb1_nomcu)
+ retofinvb1(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(bootleg_map)
diff --git a/src/mame/drivers/riscpc.cpp b/src/mame/drivers/riscpc.cpp
index 463257d0c42..04f40140588 100644
--- a/src/mame/drivers/riscpc.cpp
+++ b/src/mame/drivers/riscpc.cpp
@@ -851,7 +851,8 @@ MACHINE_CONFIG_START(riscpc_state::a7000)
MCFG_PALETTE_ADD("palette", 0x200)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(riscpc_state::a7000p, a7000)
+MACHINE_CONFIG_START(riscpc_state::a7000p)
+ a7000(config);
MCFG_CPU_MODIFY("maincpu") // ARM7500FE
MCFG_CPU_CLOCK(XTAL(48'000'000))
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/rmhaihai.cpp b/src/mame/drivers/rmhaihai.cpp
index e31d0caf0fe..09b84f648f5 100644
--- a/src/mame/drivers/rmhaihai.cpp
+++ b/src/mame/drivers/rmhaihai.cpp
@@ -514,7 +514,8 @@ MACHINE_CONFIG_START(rmhaihai_state::rmhaihai)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(rmhaihai_state::rmhaisei, rmhaihai)
+MACHINE_CONFIG_START(rmhaihai_state::rmhaisei)
+ rmhaihai(config);
/* basic machine hardware */
@@ -524,7 +525,8 @@ MACHINE_CONFIG_DERIVED(rmhaihai_state::rmhaisei, rmhaihai)
MCFG_PALETTE_ENTRIES(0x200)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(rmhaihai_state::themj, rmhaihai)
+MACHINE_CONFIG_START(rmhaihai_state::themj)
+ rmhaihai(config);
/* basic machine hardware */
diff --git a/src/mame/drivers/rohga.cpp b/src/mame/drivers/rohga.cpp
index 75e58cc6919..b97ba1f3a02 100644
--- a/src/mame/drivers/rohga.cpp
+++ b/src/mame/drivers/rohga.cpp
@@ -1280,7 +1280,8 @@ MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(rohga_state::hangzo, schmeisr)
+MACHINE_CONFIG_START(rohga_state::hangzo)
+ schmeisr(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/rollrace.cpp b/src/mame/drivers/rollrace.cpp
index d95c6974882..d008efa9219 100644
--- a/src/mame/drivers/rollrace.cpp
+++ b/src/mame/drivers/rollrace.cpp
@@ -293,7 +293,8 @@ MACHINE_CONFIG_START(rollrace_state::rollrace)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.10)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(rollrace_state::rollace2, rollrace)
+MACHINE_CONFIG_START(rollrace_state::rollace2)
+ rollrace(config);
/* basic machine hardware */
diff --git a/src/mame/drivers/route16.cpp b/src/mame/drivers/route16.cpp
index 58cbf7bec7f..6d4d5a02cdb 100644
--- a/src/mame/drivers/route16.cpp
+++ b/src/mame/drivers/route16.cpp
@@ -631,7 +631,8 @@ MACHINE_CONFIG_START(route16_state::route16)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(route16_state::routex, route16)
+MACHINE_CONFIG_START(route16_state::routex)
+ route16(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("cpu1")
@@ -639,7 +640,8 @@ MACHINE_CONFIG_DERIVED(route16_state::routex, route16)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(route16_state::stratvox, route16)
+MACHINE_CONFIG_START(route16_state::stratvox)
+ route16(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("cpu1")
@@ -679,7 +681,8 @@ MACHINE_CONFIG_DERIVED(route16_state::stratvox, route16)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(route16_state::speakres, stratvox)
+MACHINE_CONFIG_START(route16_state::speakres)
+ stratvox(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("cpu1")
@@ -689,7 +692,8 @@ MACHINE_CONFIG_DERIVED(route16_state::speakres, stratvox)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(route16_state::spacecho, speakres)
+MACHINE_CONFIG_START(route16_state::spacecho)
+ speakres(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("cpu2")
@@ -697,7 +701,8 @@ MACHINE_CONFIG_DERIVED(route16_state::spacecho, speakres)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(route16_state::ttmahjng, route16)
+MACHINE_CONFIG_START(route16_state::ttmahjng)
+ route16(config);
MCFG_CPU_MODIFY("cpu1")
MCFG_CPU_PROGRAM_MAP(ttmahjng_cpu1_map)
MCFG_DEVICE_REMOVE_ADDRESS_MAP(AS_IO)
diff --git a/src/mame/drivers/royalmah.cpp b/src/mame/drivers/royalmah.cpp
index 185ac69cb9e..c36bdcc9de3 100644
--- a/src/mame/drivers/royalmah.cpp
+++ b/src/mame/drivers/royalmah.cpp
@@ -3467,7 +3467,8 @@ MACHINE_CONFIG_START(royalmah_state::royalmah)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(royalmah_state::janoh, royalmah)
+MACHINE_CONFIG_START(royalmah_state::janoh)
+ royalmah(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(8000000/2) /* 4 MHz ? */
MCFG_CPU_PROGRAM_MAP(janoh_map)
@@ -3478,7 +3479,8 @@ MACHINE_CONFIG_DERIVED(royalmah_state::janoh, royalmah)
MCFG_CPU_VBLANK_INT_DRIVER("screen", royalmah_state, irq0_line_hold)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(royalmah_state::jansou, royalmah)
+MACHINE_CONFIG_START(royalmah_state::jansou)
+ royalmah(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(jansou_map)
@@ -3496,48 +3498,56 @@ MACHINE_CONFIG_DERIVED(royalmah_state::jansou, royalmah)
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(royalmah_state::dondenmj, royalmah)
+MACHINE_CONFIG_START(royalmah_state::dondenmj)
+ royalmah(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(8000000/2) /* 4 MHz ? */
MCFG_CPU_IO_MAP(dondenmj_iomap)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(royalmah_state::tahjong, royalmah)
+MACHINE_CONFIG_START(royalmah_state::tahjong)
+ royalmah(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(8000000/2) /* 4 MHz ? */
MCFG_CPU_PROGRAM_MAP(tahjong_map)
MCFG_CPU_IO_MAP(tahjong_iomap)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(royalmah_state::makaijan, royalmah)
+MACHINE_CONFIG_START(royalmah_state::makaijan)
+ royalmah(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(8000000/2) /* 4 MHz ? */
MCFG_CPU_IO_MAP(makaijan_iomap)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(royalmah_state::daisyari, royalmah)
+MACHINE_CONFIG_START(royalmah_state::daisyari)
+ royalmah(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(8000000/2) /* 4 MHz ? */
MCFG_CPU_IO_MAP(daisyari_iomap)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(royalmah_state::mjclub, royalmah)
+MACHINE_CONFIG_START(royalmah_state::mjclub)
+ royalmah(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(8000000/2) /* 4 MHz ? */
MCFG_CPU_IO_MAP(mjclub_iomap)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(royalmah_state::mjyarou, royalmah)
+MACHINE_CONFIG_START(royalmah_state::mjyarou)
+ royalmah(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(mjyarou_iomap)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(royalmah_state::ippatsu, dondenmj)
+MACHINE_CONFIG_START(royalmah_state::ippatsu)
+ dondenmj(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(ippatsu_iomap)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(royalmah_state::janyoup2, ippatsu)
+MACHINE_CONFIG_START(royalmah_state::janyoup2)
+ ippatsu(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(XTAL(18'432'000)/4) // unknown divider
MCFG_CPU_IO_MAP(janyoup2_iomap)
@@ -3547,7 +3557,8 @@ MACHINE_CONFIG_DERIVED(royalmah_state::janyoup2, ippatsu)
MCFG_MC6845_CHAR_WIDTH(4)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(royalmah_state::seljan, janyoup2)
+MACHINE_CONFIG_START(royalmah_state::seljan)
+ janyoup2(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(seljan_map)
MCFG_CPU_IO_MAP(seljan_iomap)
@@ -3559,34 +3570,40 @@ INTERRUPT_GEN_MEMBER(royalmah_state::suzume_irq)
device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
}
-MACHINE_CONFIG_DERIVED(royalmah_state::suzume, dondenmj)
+MACHINE_CONFIG_START(royalmah_state::suzume)
+ dondenmj(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(suzume_iomap)
MCFG_CPU_VBLANK_INT_DRIVER("screen", royalmah_state, suzume_irq)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(royalmah_state::tontonb, dondenmj)
+MACHINE_CONFIG_START(royalmah_state::tontonb)
+ dondenmj(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(tontonb_iomap)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(royalmah_state::mjdiplob, dondenmj)
+MACHINE_CONFIG_START(royalmah_state::mjdiplob)
+ dondenmj(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(mjdiplob_iomap)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(royalmah_state::majs101b, dondenmj)
+MACHINE_CONFIG_START(royalmah_state::majs101b)
+ dondenmj(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(majs101b_iomap)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(royalmah_state::mjapinky, dondenmj)
+MACHINE_CONFIG_START(royalmah_state::mjapinky)
+ dondenmj(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(mjapinky_map)
MCFG_CPU_IO_MAP(mjapinky_iomap)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(royalmah_state::mjderngr, dondenmj)
+MACHINE_CONFIG_START(royalmah_state::mjderngr)
+ dondenmj(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(mjderngr_iomap)
@@ -3596,7 +3613,8 @@ MACHINE_CONFIG_DERIVED(royalmah_state::mjderngr, dondenmj)
MCFG_PALETTE_INIT_OWNER(royalmah_state,mjderngr)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(royalmah_state::janptr96, mjderngr)
+MACHINE_CONFIG_START(royalmah_state::janptr96)
+ mjderngr(config);
MCFG_DEVICE_REMOVE("maincpu")
MCFG_CPU_ADD("maincpu", TMPZ84C015, XTAL(16'000'000)/2) /* 8 MHz? */
@@ -3616,7 +3634,8 @@ MACHINE_CONFIG_DERIVED(royalmah_state::janptr96, mjderngr)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(royalmah_state::mjifb, mjderngr)
+MACHINE_CONFIG_START(royalmah_state::mjifb)
+ mjderngr(config);
MCFG_CPU_REPLACE("maincpu",TMP90841, 8000000) /* ? */
MCFG_CPU_PROGRAM_MAP(mjifb_map)
MCFG_TLCS90_PORT_P3_READ_CB(READ8(royalmah_state, mjifb_p3_r))
@@ -3634,7 +3653,8 @@ MACHINE_CONFIG_DERIVED(royalmah_state::mjifb, mjderngr)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(royalmah_state::mjdejavu, mjderngr)
+MACHINE_CONFIG_START(royalmah_state::mjdejavu)
+ mjderngr(config);
MCFG_CPU_REPLACE("maincpu",TMP90841, 8000000) /* ? */
MCFG_CPU_PROGRAM_MAP(mjdejavu_map)
MCFG_TLCS90_PORT_P3_READ_CB(READ8(royalmah_state, mjifb_p3_r))
@@ -3652,7 +3672,8 @@ MACHINE_CONFIG_DERIVED(royalmah_state::mjdejavu, mjderngr)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(royalmah_state::mjtensin, mjderngr)
+MACHINE_CONFIG_START(royalmah_state::mjtensin)
+ mjderngr(config);
MCFG_CPU_REPLACE("maincpu",TMP90841, 12000000) /* ? */
MCFG_CPU_PROGRAM_MAP(mjtensin_map)
MCFG_TLCS90_PORT_P3_READ_CB(READ8(royalmah_state, mjtensin_p3_r))
@@ -3667,7 +3688,8 @@ MACHINE_CONFIG_DERIVED(royalmah_state::mjtensin, mjderngr)
MCFG_MSM6242_OUT_INT_HANDLER(INPUTLINE("maincpu", INPUT_LINE_IRQ1))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(royalmah_state::cafetime, mjderngr)
+MACHINE_CONFIG_START(royalmah_state::cafetime)
+ mjderngr(config);
MCFG_CPU_REPLACE("maincpu",TMP90841, 12000000) /* ? */
MCFG_CPU_PROGRAM_MAP(cafetime_map)
MCFG_TLCS90_PORT_P3_WRITE_CB(WRITE8(royalmah_state, cafetime_p3_w))
@@ -3682,7 +3704,8 @@ MACHINE_CONFIG_DERIVED(royalmah_state::cafetime, mjderngr)
MCFG_MSM6242_OUT_INT_HANDLER(INPUTLINE("maincpu", INPUT_LINE_IRQ1))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(royalmah_state::mjvegasa, mjderngr)
+MACHINE_CONFIG_START(royalmah_state::mjvegasa)
+ mjderngr(config);
MCFG_CPU_REPLACE("maincpu",TMP90841, XTAL(8'000'000)) /* ? */
MCFG_CPU_PROGRAM_MAP(mjvegasa_map)
MCFG_TLCS90_PORT_P3_READ_CB(READ8(royalmah_state, mjtensin_p3_r))
diff --git a/src/mame/drivers/rpunch.cpp b/src/mame/drivers/rpunch.cpp
index 57c854f4112..e2de8364767 100644
--- a/src/mame/drivers/rpunch.cpp
+++ b/src/mame/drivers/rpunch.cpp
@@ -499,7 +499,8 @@ MACHINE_CONFIG_START(rpunch_state::rpunch)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(rpunch_state::svolley, rpunch)
+MACHINE_CONFIG_START(rpunch_state::svolley)
+ rpunch(config);
MCFG_VIDEO_START_OVERRIDE(rpunch_state,svolley)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/rt1715.cpp b/src/mame/drivers/rt1715.cpp
index 60a3e4263ae..54a72522247 100644
--- a/src/mame/drivers/rt1715.cpp
+++ b/src/mame/drivers/rt1715.cpp
@@ -321,7 +321,8 @@ MACHINE_CONFIG_START(rt1715_state::rt1715)
MCFG_RAM_DEFAULT_VALUE(0x00)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(rt1715_state::rt1715w, rt1715)
+MACHINE_CONFIG_START(rt1715_state::rt1715w)
+ rt1715(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/runaway.cpp b/src/mame/drivers/runaway.cpp
index 3058adc9f51..714704aa235 100644
--- a/src/mame/drivers/runaway.cpp
+++ b/src/mame/drivers/runaway.cpp
@@ -368,7 +368,8 @@ MACHINE_CONFIG_START(runaway_state::runaway)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(runaway_state::qwak, runaway)
+MACHINE_CONFIG_START(runaway_state::qwak)
+ runaway(config);
/* basic machine hardware */
diff --git a/src/mame/drivers/rungun.cpp b/src/mame/drivers/rungun.cpp
index 4fa03f6f0eb..0be791f2a65 100644
--- a/src/mame/drivers/rungun.cpp
+++ b/src/mame/drivers/rungun.cpp
@@ -459,7 +459,8 @@ MACHINE_CONFIG_END
// for dual-screen output Run and Gun requires the video de-multiplexer board connected to the Jamma output, this gives you 2 Jamma connectors, one for each screen.
// this means when operated as a single dedicated cabinet the game runs at 60fps, and has smoother animations than when operated as a twin setup where each
// screen only gets an update every other frame.
-MACHINE_CONFIG_DERIVED(rungun_state::rng_dual, rng)
+MACHINE_CONFIG_START(rungun_state::rng_dual)
+ rng(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(rungun_state, screen_update_rng_dual_left)
diff --git a/src/mame/drivers/s11.cpp b/src/mame/drivers/s11.cpp
index 70e298fc59b..51b3150083a 100644
--- a/src/mame/drivers/s11.cpp
+++ b/src/mame/drivers/s11.cpp
@@ -389,7 +389,7 @@ MACHINE_CONFIG_START(s11_state::s11)
MCFG_DEFAULT_LAYOUT(layout_s11)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
/* Devices */
MCFG_DEVICE_ADD("pia21", PIA6821, 0)
diff --git a/src/mame/drivers/s11a.cpp b/src/mame/drivers/s11a.cpp
index 6c8c8eab1e4..1cd95825d81 100644
--- a/src/mame/drivers/s11a.cpp
+++ b/src/mame/drivers/s11a.cpp
@@ -181,7 +181,7 @@ MACHINE_CONFIG_START(s11a_state::s11a)
MCFG_DEFAULT_LAYOUT(layout_s11a)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
/* Devices */
MCFG_DEVICE_ADD("pia21", PIA6821, 0)
diff --git a/src/mame/drivers/s11b.cpp b/src/mame/drivers/s11b.cpp
index ed0801eda67..bda57333aad 100644
--- a/src/mame/drivers/s11b.cpp
+++ b/src/mame/drivers/s11b.cpp
@@ -255,7 +255,7 @@ MACHINE_CONFIG_START(s11b_state::s11b)
MCFG_DEFAULT_LAYOUT(layout_s11b)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
/* Devices */
MCFG_DEVICE_ADD("pia21", PIA6821, 0)
diff --git a/src/mame/drivers/s11c.cpp b/src/mame/drivers/s11c.cpp
index 7516de3d663..7a77e824d75 100644
--- a/src/mame/drivers/s11c.cpp
+++ b/src/mame/drivers/s11c.cpp
@@ -160,7 +160,7 @@ MACHINE_CONFIG_START(s11c_state::s11c)
MCFG_DEFAULT_LAYOUT(layout_s11c)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
/* Devices */
MCFG_DEVICE_ADD("pia21", PIA6821, 0)
diff --git a/src/mame/drivers/s3.cpp b/src/mame/drivers/s3.cpp
index 830f28303d8..4649dc0ad0b 100644
--- a/src/mame/drivers/s3.cpp
+++ b/src/mame/drivers/s3.cpp
@@ -439,7 +439,7 @@ MACHINE_CONFIG_START(s3_state::s3)
MCFG_DEFAULT_LAYOUT(layout_s3)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
/* Devices */
MCFG_DEVICE_ADD("pia22", PIA6821, 0)
@@ -480,7 +480,8 @@ MACHINE_CONFIG_START(s3_state::s3)
MCFG_NVRAM_ADD_0FILL("nvram")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(s3_state::s3a, s3)
+MACHINE_CONFIG_START(s3_state::s3a)
+ s3(config);
/* Add the soundcard */
MCFG_CPU_ADD("audiocpu", M6802, 3580000)
MCFG_CPU_PROGRAM_MAP(s3_audio_map)
diff --git a/src/mame/drivers/s4.cpp b/src/mame/drivers/s4.cpp
index 7a3c01daa7f..bb29669084c 100644
--- a/src/mame/drivers/s4.cpp
+++ b/src/mame/drivers/s4.cpp
@@ -433,7 +433,7 @@ MACHINE_CONFIG_START(s4_state::s4)
MCFG_DEFAULT_LAYOUT(layout_s4)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
/* Devices */
MCFG_DEVICE_ADD("pia22", PIA6821, 0)
@@ -474,7 +474,8 @@ MACHINE_CONFIG_START(s4_state::s4)
MCFG_NVRAM_ADD_0FILL("nvram")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(s4_state::s4a, s4)
+MACHINE_CONFIG_START(s4_state::s4a)
+ s4(config);
/* Add the soundcard */
MCFG_CPU_ADD("audiocpu", M6808, 3580000)
MCFG_CPU_PROGRAM_MAP(s4_audio_map)
diff --git a/src/mame/drivers/s6.cpp b/src/mame/drivers/s6.cpp
index 2b3413cdab1..28544ec7a39 100644
--- a/src/mame/drivers/s6.cpp
+++ b/src/mame/drivers/s6.cpp
@@ -409,7 +409,7 @@ MACHINE_CONFIG_START(s6_state::s6)
MCFG_DEFAULT_LAYOUT(layout_s6)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
/* Devices */
MCFG_DEVICE_ADD("pia22", PIA6821, 0)
diff --git a/src/mame/drivers/s6a.cpp b/src/mame/drivers/s6a.cpp
index 21b106c2a86..1544e458460 100644
--- a/src/mame/drivers/s6a.cpp
+++ b/src/mame/drivers/s6a.cpp
@@ -392,7 +392,7 @@ MACHINE_CONFIG_START(s6a_state::s6a)
MCFG_DEFAULT_LAYOUT(layout_s6a)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
/* Devices */
MCFG_DEVICE_ADD("pia22", PIA6821, 0)
diff --git a/src/mame/drivers/s7.cpp b/src/mame/drivers/s7.cpp
index 60b9665c3cb..12d8933729d 100644
--- a/src/mame/drivers/s7.cpp
+++ b/src/mame/drivers/s7.cpp
@@ -435,7 +435,7 @@ MACHINE_CONFIG_START(s7_state::s7)
MCFG_DEFAULT_LAYOUT(layout_s7)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
/* Devices */
MCFG_DEVICE_ADD("pia21", PIA6821, 0)
diff --git a/src/mame/drivers/s8.cpp b/src/mame/drivers/s8.cpp
index e55ab413759..4470d77577f 100644
--- a/src/mame/drivers/s8.cpp
+++ b/src/mame/drivers/s8.cpp
@@ -317,7 +317,7 @@ MACHINE_CONFIG_START(s8_state::s8)
MCFG_DEFAULT_LAYOUT(layout_s8)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
/* Devices */
MCFG_DEVICE_ADD("pia21", PIA6821, 0)
diff --git a/src/mame/drivers/s8a.cpp b/src/mame/drivers/s8a.cpp
index f6d0a4863e7..e9b63e8cefc 100644
--- a/src/mame/drivers/s8a.cpp
+++ b/src/mame/drivers/s8a.cpp
@@ -289,7 +289,7 @@ MACHINE_CONFIG_START(s8a_state::s8a)
MCFG_DEFAULT_LAYOUT(layout_s8a)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
/* Devices */
MCFG_DEVICE_ADD("pia21", PIA6821, 0)
diff --git a/src/mame/drivers/s9.cpp b/src/mame/drivers/s9.cpp
index fe22e8fb541..f66ef8357bd 100644
--- a/src/mame/drivers/s9.cpp
+++ b/src/mame/drivers/s9.cpp
@@ -323,7 +323,7 @@ MACHINE_CONFIG_START(s9_state::s9)
MCFG_DEFAULT_LAYOUT(layout_s9)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
/* Devices */
MCFG_DEVICE_ADD("pia21", PIA6821, 0)
diff --git a/src/mame/drivers/safarir.cpp b/src/mame/drivers/safarir.cpp
index 2465283736b..327f14273a5 100644
--- a/src/mame/drivers/safarir.cpp
+++ b/src/mame/drivers/safarir.cpp
@@ -422,7 +422,7 @@ MACHINE_CONFIG_START(safarir_state::safarir)
MCFG_SCREEN_PALETTE("palette")
/* audio hardware */
- MCFG_FRAGMENT_ADD(safarir_audio)
+ safarir_audio(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/sapi1.cpp b/src/mame/drivers/sapi1.cpp
index 2614c2515f8..e303e1205cf 100644
--- a/src/mame/drivers/sapi1.cpp
+++ b/src/mame/drivers/sapi1.cpp
@@ -644,7 +644,8 @@ MACHINE_CONFIG_START(sapi1_state::sapi1)
MCFG_RAM_DEFAULT_SIZE("64K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sapi1_state::sapi2, sapi1)
+MACHINE_CONFIG_START(sapi1_state::sapi2)
+ sapi1(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(sapi2_mem)
@@ -652,7 +653,8 @@ MACHINE_CONFIG_DERIVED(sapi1_state::sapi2, sapi1)
MCFG_GENERIC_KEYBOARD_CB(PUT(sapi1_state, kbd_put))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sapi1_state::sapi3, sapi2)
+MACHINE_CONFIG_START(sapi1_state::sapi3)
+ sapi2(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(sapi3_mem)
@@ -664,7 +666,8 @@ MACHINE_CONFIG_DERIVED(sapi1_state::sapi3, sapi2)
MCFG_SCREEN_UPDATE_DRIVER(sapi1_state, screen_update_sapi3)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sapi1_state::sapi3b, sapi3)
+MACHINE_CONFIG_START(sapi1_state::sapi3b)
+ sapi3(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(sapi3b_mem)
diff --git a/src/mame/drivers/saturn.cpp b/src/mame/drivers/saturn.cpp
index 9de50308b27..fff30c623be 100644
--- a/src/mame/drivers/saturn.cpp
+++ b/src/mame/drivers/saturn.cpp
@@ -866,7 +866,8 @@ static SLOT_INTERFACE_START(saturn_cart)
SLOT_INTERFACE_END
-MACHINE_CONFIG_DERIVED(sat_console_state::saturnus, saturn)
+MACHINE_CONFIG_START(sat_console_state::saturnus)
+ saturn(config);
MCFG_CDROM_ADD( "cdrom" )
MCFG_CDROM_INTERFACE("sat_cdrom")
MCFG_DEVICE_ADD("saturn_cdb", SATURN_CDB, 16000000)
@@ -882,7 +883,8 @@ MACHINE_CONFIG_DERIVED(sat_console_state::saturnus, saturn)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sat_console_state::saturneu, saturn)
+MACHINE_CONFIG_START(sat_console_state::saturneu)
+ saturn(config);
MCFG_CDROM_ADD( "cdrom" )
MCFG_CDROM_INTERFACE("sat_cdrom")
MCFG_DEVICE_ADD("saturn_cdb", SATURN_CDB, 16000000)
@@ -897,7 +899,8 @@ MACHINE_CONFIG_DERIVED(sat_console_state::saturneu, saturn)
smpc_hle_device::static_set_region_code(*device, 12);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sat_console_state::saturnjp, saturn)
+MACHINE_CONFIG_START(sat_console_state::saturnjp)
+ saturn(config);
MCFG_CDROM_ADD( "cdrom" )
MCFG_CDROM_INTERFACE("sat_cdrom")
MCFG_DEVICE_ADD("saturn_cdb", SATURN_CDB, 16000000)
diff --git a/src/mame/drivers/sauro.cpp b/src/mame/drivers/sauro.cpp
index 6977c5acb2e..a2531dfadd1 100644
--- a/src/mame/drivers/sauro.cpp
+++ b/src/mame/drivers/sauro.cpp
@@ -473,7 +473,8 @@ MACHINE_CONFIG_START(sauro_state::tecfri)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sauro_state::trckydoc, tecfri)
+MACHINE_CONFIG_START(sauro_state::trckydoc)
+ tecfri(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(trckydoc_map)
@@ -491,7 +492,8 @@ MACHINE_CONFIG_DERIVED(sauro_state::trckydoc, tecfri)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sauro_state::sauro, tecfri)
+MACHINE_CONFIG_START(sauro_state::sauro)
+ tecfri(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(sauro_map)
@@ -522,7 +524,8 @@ MACHINE_CONFIG_DERIVED(sauro_state::sauro, tecfri)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sauro_state::saurob, sauro)
+MACHINE_CONFIG_START(sauro_state::saurob)
+ sauro(config);
MCFG_CPU_MODIFY("audiocpu")
MCFG_CPU_PROGRAM_MAP(saurob_sound_map)
diff --git a/src/mame/drivers/savquest.cpp b/src/mame/drivers/savquest.cpp
index 3735eac482d..f7b496586a8 100644
--- a/src/mame/drivers/savquest.cpp
+++ b/src/mame/drivers/savquest.cpp
@@ -811,7 +811,7 @@ MACHINE_CONFIG_START(savquest_state::savquest)
MCFG_CPU_IO_MAP(savquest_io)
MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb)
- MCFG_FRAGMENT_ADD( pcat_common )
+ pcat_common(config);
MCFG_DEVICE_REMOVE("rtc")
MCFG_DS12885_ADD("rtc")
@@ -833,7 +833,7 @@ MACHINE_CONFIG_START(savquest_state::savquest)
MCFG_ISA16_SLOT_ADD("isa", "isa1", savquest_isa16_cards, "sb16", false)
/* video hardware */
- MCFG_FRAGMENT_ADD( pcvideo_s3_vga )
+ pcvideo_s3_vga(config);
MCFG_DEVICE_ADD("voodoo", VOODOO_2, STD_VOODOO_2_CLOCK)
MCFG_VOODOO_FBMEM(4)
diff --git a/src/mame/drivers/sbasketb.cpp b/src/mame/drivers/sbasketb.cpp
index d0e866938aa..384904a9d01 100644
--- a/src/mame/drivers/sbasketb.cpp
+++ b/src/mame/drivers/sbasketb.cpp
@@ -245,7 +245,8 @@ MACHINE_CONFIG_START(sbasketb_state::sbasketb)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sbasketb_state::sbasketbu, sbasketb)
+MACHINE_CONFIG_START(sbasketb_state::sbasketbu)
+ sbasketb(config);
MCFG_DEVICE_REMOVE("maincpu")
MCFG_CPU_ADD("maincpu", MC6809E, 1400000) /* 6809E at 1.400 MHz ??? */
MCFG_CPU_PROGRAM_MAP(sbasketb_map)
diff --git a/src/mame/drivers/sbrkout.cpp b/src/mame/drivers/sbrkout.cpp
index 1329cd10e52..2122899aed0 100644
--- a/src/mame/drivers/sbrkout.cpp
+++ b/src/mame/drivers/sbrkout.cpp
@@ -617,7 +617,8 @@ MACHINE_CONFIG_START(sbrkout_state::sbrkout)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sbrkout_state::sbrkoutct, sbrkout)
+MACHINE_CONFIG_START(sbrkout_state::sbrkoutct)
+ sbrkout(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(sbrkoutct_main_map)
diff --git a/src/mame/drivers/scobra.cpp b/src/mame/drivers/scobra.cpp
index b6397a23b5b..cc44dc18617 100644
--- a/src/mame/drivers/scobra.cpp
+++ b/src/mame/drivers/scobra.cpp
@@ -916,7 +916,8 @@ MACHINE_CONFIG_END
/* Rescue, Minefield and Strategy X have extra colors, and custom video initialise */
/* routines to set up the graduated color backgound they use */
-MACHINE_CONFIG_DERIVED(scobra_state::rescue, type1)
+MACHINE_CONFIG_START(scobra_state::rescue)
+ type1(config);
/* basic machine hardware */
@@ -929,19 +930,22 @@ MACHINE_CONFIG_DERIVED(scobra_state::rescue, type1)
MCFG_VIDEO_START_OVERRIDE(scobra_state,rescue)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(scobra_state::rescuefe, rescue)
+MACHINE_CONFIG_START(scobra_state::rescuefe)
+ rescue(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(rescuefe_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(scobra_state::rescueb, rescue)
+MACHINE_CONFIG_START(scobra_state::rescueb)
+ rescue(config);
MCFG_DEVICE_MODIFY("ppi8255_1")
MCFG_I8255_IN_PORTC_CB(READ8(scobra_state, rescueb_a002_r)) // protection? must return 0xfc or the game jumps to 0x00
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(scobra_state::minefld, type1)
+MACHINE_CONFIG_START(scobra_state::minefld)
+ type1(config);
/* basic machine hardware */
@@ -954,13 +958,15 @@ MACHINE_CONFIG_DERIVED(scobra_state::minefld, type1)
MCFG_VIDEO_START_OVERRIDE(scobra_state,minefld)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(scobra_state::minefldfe, minefld)
+MACHINE_CONFIG_START(scobra_state::minefldfe)
+ minefld(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(minefldfe_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(scobra_state::mimonkey, type1)
+MACHINE_CONFIG_START(scobra_state::mimonkey)
+ type1(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -971,14 +977,16 @@ MACHINE_CONFIG_DERIVED(scobra_state::mimonkey, type1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(scobra_state::type2, type1)
+MACHINE_CONFIG_START(scobra_state::type2)
+ type1(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(type2_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(scobra_state::tazmani3, type2)
+MACHINE_CONFIG_START(scobra_state::tazmani3)
+ type2(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -986,7 +994,8 @@ MACHINE_CONFIG_DERIVED(scobra_state::tazmani3, type2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(scobra_state::stratgyx, type2)
+MACHINE_CONFIG_START(scobra_state::stratgyx)
+ type2(config);
/* basic machine hardware */
@@ -1005,7 +1014,8 @@ MACHINE_CONFIG_DERIVED(scobra_state::stratgyx, type2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(scobra_state::darkplnt, type2)
+MACHINE_CONFIG_START(scobra_state::darkplnt)
+ type2(config);
/* basic machine hardware */
@@ -1077,7 +1087,8 @@ MACHINE_CONFIG_START(scobra_state::hustler)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.33)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(scobra_state::hustlerb, hustler)
+MACHINE_CONFIG_START(scobra_state::hustlerb)
+ hustler(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1088,7 +1099,8 @@ MACHINE_CONFIG_DERIVED(scobra_state::hustlerb, hustler)
MCFG_CPU_IO_MAP(hustlerb_sound_io_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(scobra_state::hustlerb4, hustler)
+MACHINE_CONFIG_START(scobra_state::hustlerb4)
+ hustler(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/scorpion.cpp b/src/mame/drivers/scorpion.cpp
index 31137594861..fe8b40070da 100644
--- a/src/mame/drivers/scorpion.cpp
+++ b/src/mame/drivers/scorpion.cpp
@@ -286,7 +286,8 @@ static GFXDECODE_START( quorum )
GFXDECODE_ENTRY( "maincpu", 0x1fb00, quorum_charlayout, 0, 8 )
GFXDECODE_END
-MACHINE_CONFIG_DERIVED(scorpion_state::scorpion, spectrum_128)
+MACHINE_CONFIG_START(scorpion_state::scorpion)
+ spectrum_128(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(scorpion_mem)
MCFG_CPU_IO_MAP(scorpion_io)
@@ -307,11 +308,13 @@ MACHINE_CONFIG_DERIVED(scorpion_state::scorpion, spectrum_128)
MCFG_DEVICE_REMOVE("exp")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(scorpion_state::profi, scorpion)
+MACHINE_CONFIG_START(scorpion_state::profi)
+ scorpion(config);
MCFG_GFXDECODE_MODIFY("gfxdecode", profi)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(scorpion_state::quorum, scorpion)
+MACHINE_CONFIG_START(scorpion_state::quorum)
+ scorpion(config);
MCFG_GFXDECODE_MODIFY("gfxdecode", quorum)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/scramble.cpp b/src/mame/drivers/scramble.cpp
index d06ce766d45..e6bc6278f8c 100644
--- a/src/mame/drivers/scramble.cpp
+++ b/src/mame/drivers/scramble.cpp
@@ -1347,7 +1347,8 @@ MACHINE_CONFIG_START(scramble_state::scramble)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.16)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(scramble_state::mars, scramble)
+MACHINE_CONFIG_START(scramble_state::mars)
+ scramble(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1365,7 +1366,8 @@ MACHINE_CONFIG_DERIVED(scramble_state::mars, scramble)
MCFG_PALETTE_INIT_OWNER(scramble_state,galaxold)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(scramble_state::devilfsh, scramble)
+MACHINE_CONFIG_START(scramble_state::devilfsh)
+ scramble(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1378,7 +1380,8 @@ MACHINE_CONFIG_DERIVED(scramble_state::devilfsh, scramble)
MCFG_PALETTE_INIT_OWNER(scramble_state,galaxold)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(scramble_state::newsin7, scramble)
+MACHINE_CONFIG_START(scramble_state::newsin7)
+ scramble(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1393,7 +1396,8 @@ MACHINE_CONFIG_DERIVED(scramble_state::newsin7, scramble)
MCFG_VIDEO_START_OVERRIDE(scramble_state,newsin7)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(scramble_state::mrkougb, scramble)
+MACHINE_CONFIG_START(scramble_state::mrkougb)
+ scramble(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1410,13 +1414,15 @@ MACHINE_CONFIG_DERIVED(scramble_state::mrkougb, scramble)
MCFG_PALETTE_INIT_OWNER(scramble_state,galaxold)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(scramble_state::mrkougar, mrkougb)
+MACHINE_CONFIG_START(scramble_state::mrkougar)
+ mrkougb(config);
/* video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", mrkougar)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(scramble_state::ckongs, scramble)
+MACHINE_CONFIG_START(scramble_state::ckongs)
+ scramble(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1429,7 +1435,8 @@ MACHINE_CONFIG_DERIVED(scramble_state::ckongs, scramble)
MCFG_VIDEO_START_OVERRIDE(scramble_state,ckongs)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(scramble_state::hotshock, scramble)
+MACHINE_CONFIG_START(scramble_state::hotshock)
+ scramble(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1460,7 +1467,8 @@ MACHINE_CONFIG_DERIVED(scramble_state::hotshock, scramble)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.33)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(scramble_state::cavelon, scramble)
+MACHINE_CONFIG_START(scramble_state::cavelon)
+ scramble(config);
/* basic machine hardware */
@@ -1471,7 +1479,8 @@ MACHINE_CONFIG_DERIVED(scramble_state::cavelon, scramble)
MCFG_VIDEO_START_OVERRIDE(scramble_state,ckongs)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(scramble_state::mimonscr, scramble)
+MACHINE_CONFIG_START(scramble_state::mimonscr)
+ scramble(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1482,7 +1491,8 @@ MACHINE_CONFIG_DERIVED(scramble_state::mimonscr, scramble)
MACHINE_CONFIG_END
/* Triple Punch and Mariner are different - only one CPU, one 8910 */
-MACHINE_CONFIG_DERIVED(scramble_state::triplep, scramble)
+MACHINE_CONFIG_START(scramble_state::triplep)
+ scramble(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1509,7 +1519,8 @@ MACHINE_CONFIG_DERIVED(scramble_state::triplep, scramble)
MCFG_DEVICE_REMOVE("8910.2")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(scramble_state::mariner, triplep)
+MACHINE_CONFIG_START(scramble_state::mariner)
+ triplep(config);
/* basic machine hardware */
@@ -1522,7 +1533,8 @@ MACHINE_CONFIG_DERIVED(scramble_state::mariner, triplep)
MACHINE_CONFIG_END
/* Hunchback replaces the Z80 with a S2650 CPU */
-MACHINE_CONFIG_DERIVED(scramble_state::hunchbks, scramble)
+MACHINE_CONFIG_START(scramble_state::hunchbks)
+ scramble(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", S2650, 18432000/6)
@@ -1541,7 +1553,8 @@ MACHINE_CONFIG_DERIVED(scramble_state::hunchbks, scramble)
MCFG_PALETTE_INIT_OWNER(scramble_state,galaxold)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(scramble_state::hncholms, hunchbks)
+MACHINE_CONFIG_START(scramble_state::hncholms)
+ hunchbks(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1587,12 +1600,13 @@ MACHINE_CONFIG_START(scramble_state::ad2083)
/* sound hardware */
- MCFG_FRAGMENT_ADD(ad2083_audio)
+ ad2083_audio(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(scramble_state::harem, scramble)
+MACHINE_CONFIG_START(scramble_state::harem)
+ scramble(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/scv.cpp b/src/mame/drivers/scv.cpp
index 863cd0ffb85..656c3f4b0d9 100644
--- a/src/mame/drivers/scv.cpp
+++ b/src/mame/drivers/scv.cpp
@@ -686,7 +686,8 @@ MACHINE_CONFIG_START(scv_state::scv)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(scv_state::scv_pal, scv)
+MACHINE_CONFIG_START(scv_state::scv_pal)
+ scv(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_CLOCK( 3780000 )
diff --git a/src/mame/drivers/seattle.cpp b/src/mame/drivers/seattle.cpp
index f039e6b7c92..cec3b9c3451 100644
--- a/src/mame/drivers/seattle.cpp
+++ b/src/mame/drivers/seattle.cpp
@@ -1907,7 +1907,8 @@ MACHINE_CONFIG_START(seattle_state::seattle_common)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seattle_state::phoenixsa, seattle_common)
+MACHINE_CONFIG_START(seattle_state::phoenixsa)
+ seattle_common(config);
MCFG_CPU_REPLACE("maincpu", R4700LE, SYSTEM_CLOCK*2)
MCFG_MIPS3_ICACHE_SIZE(16384)
MCFG_MIPS3_DCACHE_SIZE(16384)
@@ -1919,7 +1920,8 @@ MACHINE_CONFIG_DERIVED(seattle_state::phoenixsa, seattle_common)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seattle_state::seattle150, seattle_common)
+MACHINE_CONFIG_START(seattle_state::seattle150)
+ seattle_common(config);
MCFG_CPU_REPLACE("maincpu", R5000LE, SYSTEM_CLOCK*3)
MCFG_MIPS3_ICACHE_SIZE(16384)
MCFG_MIPS3_DCACHE_SIZE(16384)
@@ -1927,13 +1929,15 @@ MACHINE_CONFIG_DERIVED(seattle_state::seattle150, seattle_common)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seattle_state::seattle150_widget, seattle150)
+MACHINE_CONFIG_START(seattle_state::seattle150_widget)
+ seattle150(config);
MCFG_SMC91C94_ADD("ethernet")
MCFG_SMC91C94_IRQ_CALLBACK(WRITELINE(seattle_state, ethernet_interrupt))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seattle_state::seattle200, seattle_common)
+MACHINE_CONFIG_START(seattle_state::seattle200)
+ seattle_common(config);
MCFG_CPU_REPLACE("maincpu", R5000LE, SYSTEM_CLOCK*4)
MCFG_MIPS3_ICACHE_SIZE(16384)
MCFG_MIPS3_DCACHE_SIZE(16384)
@@ -1941,12 +1945,14 @@ MACHINE_CONFIG_DERIVED(seattle_state::seattle200, seattle_common)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seattle_state::seattle200_widget, seattle200)
+MACHINE_CONFIG_START(seattle_state::seattle200_widget)
+ seattle200(config);
MCFG_SMC91C94_ADD("ethernet")
MCFG_SMC91C94_IRQ_CALLBACK(WRITELINE(seattle_state, ethernet_interrupt))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seattle_state::flagstaff, seattle_common)
+MACHINE_CONFIG_START(seattle_state::flagstaff)
+ seattle_common(config);
MCFG_CPU_REPLACE("maincpu", R5000LE, SYSTEM_CLOCK*4)
MCFG_MIPS3_ICACHE_SIZE(16384)
MCFG_MIPS3_DCACHE_SIZE(16384)
@@ -1965,7 +1971,8 @@ MACHINE_CONFIG_END
// Per game configurations
-MACHINE_CONFIG_DERIVED(seattle_state::wg3dh, phoenixsa)
+MACHINE_CONFIG_START(seattle_state::wg3dh)
+ phoenixsa(config);
MCFG_DEVICE_ADD("dcs", DCS2_AUDIO_2115, 0)
MCFG_DCS2_AUDIO_DRAM_IN_MB(2)
MCFG_DCS2_AUDIO_POLLING_OFFSET(0x3839)
@@ -1978,7 +1985,8 @@ MACHINE_CONFIG_DERIVED(seattle_state::wg3dh, phoenixsa)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seattle_state::mace, seattle150)
+MACHINE_CONFIG_START(seattle_state::mace)
+ seattle150(config);
MCFG_DEVICE_ADD("dcs", DCS2_AUDIO_2115, 0)
MCFG_DCS2_AUDIO_DRAM_IN_MB(2)
MCFG_DCS2_AUDIO_POLLING_OFFSET(0x3839)
@@ -1990,7 +1998,8 @@ MACHINE_CONFIG_DERIVED(seattle_state::mace, seattle150)
MCFG_MIDWAY_IOASIC_IRQ_CALLBACK(WRITELINE(seattle_state, ioasic_irq))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seattle_state::sfrush, flagstaff)
+MACHINE_CONFIG_START(seattle_state::sfrush)
+ flagstaff(config);
MCFG_DEVICE_ADD("cage", ATARI_CAGE_SEATTLE, 0)
MCFG_ATARI_CAGE_SPEEDUP(0x5236)
MCFG_ATARI_CAGE_IRQ_CALLBACK(DEVWRITE8("ioasic",midway_ioasic_device,cage_irq_handler))
@@ -2003,7 +2012,8 @@ MACHINE_CONFIG_DERIVED(seattle_state::sfrush, flagstaff)
MCFG_MIDWAY_IOASIC_AUX_OUT_CB(WRITE32(seattle_state, wheel_board_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seattle_state::sfrushrk, flagstaff)
+MACHINE_CONFIG_START(seattle_state::sfrushrk)
+ flagstaff(config);
MCFG_DEVICE_ADD("cage", ATARI_CAGE_SEATTLE, 0)
MCFG_ATARI_CAGE_SPEEDUP(0x5329)
MCFG_ATARI_CAGE_IRQ_CALLBACK(DEVWRITE8("ioasic",midway_ioasic_device,cage_irq_handler))
@@ -2016,12 +2026,14 @@ MACHINE_CONFIG_DERIVED(seattle_state::sfrushrk, flagstaff)
MCFG_MIDWAY_IOASIC_AUX_OUT_CB(WRITE32(seattle_state, wheel_board_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seattle_state::sfrushrkw, sfrushrk)
+MACHINE_CONFIG_START(seattle_state::sfrushrkw)
+ sfrushrk(config);
MCFG_DEVICE_MODIFY("ioasic")
MCFG_MIDWAY_IOASIC_SHUFFLE(MIDWAY_IOASIC_STANDARD)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seattle_state::calspeed, seattle150_widget)
+MACHINE_CONFIG_START(seattle_state::calspeed)
+ seattle150_widget(config);
MCFG_DEVICE_ADD("dcs", DCS2_AUDIO_2115, 0)
MCFG_DCS2_AUDIO_DRAM_IN_MB(2)
MCFG_DCS2_AUDIO_POLLING_OFFSET(0x39c0)
@@ -2034,7 +2046,8 @@ MACHINE_CONFIG_DERIVED(seattle_state::calspeed, seattle150_widget)
MCFG_MIDWAY_IOASIC_AUTO_ACK(1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seattle_state::vaportrx, seattle200_widget)
+MACHINE_CONFIG_START(seattle_state::vaportrx)
+ seattle200_widget(config);
MCFG_DEVICE_ADD("dcs", DCS2_AUDIO_2115, 0)
MCFG_DCS2_AUDIO_DRAM_IN_MB(2)
MCFG_DCS2_AUDIO_POLLING_OFFSET(0x39c2)
@@ -2046,7 +2059,8 @@ MACHINE_CONFIG_DERIVED(seattle_state::vaportrx, seattle200_widget)
MCFG_MIDWAY_IOASIC_IRQ_CALLBACK(WRITELINE(seattle_state, ioasic_irq))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seattle_state::biofreak, seattle150)
+MACHINE_CONFIG_START(seattle_state::biofreak)
+ seattle150(config);
MCFG_DEVICE_ADD("dcs", DCS2_AUDIO_2115, 0)
MCFG_DCS2_AUDIO_DRAM_IN_MB(2)
MCFG_DCS2_AUDIO_POLLING_OFFSET(0x3835)
@@ -2058,7 +2072,8 @@ MACHINE_CONFIG_DERIVED(seattle_state::biofreak, seattle150)
MCFG_MIDWAY_IOASIC_IRQ_CALLBACK(WRITELINE(seattle_state, ioasic_irq))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seattle_state::blitz, seattle150)
+MACHINE_CONFIG_START(seattle_state::blitz)
+ seattle150(config);
MCFG_DEVICE_ADD("dcs", DCS2_AUDIO_2115, 0)
MCFG_DCS2_AUDIO_DRAM_IN_MB(2)
MCFG_DCS2_AUDIO_POLLING_OFFSET(0x39c2)
@@ -2070,7 +2085,8 @@ MACHINE_CONFIG_DERIVED(seattle_state::blitz, seattle150)
MCFG_MIDWAY_IOASIC_IRQ_CALLBACK(WRITELINE(seattle_state, ioasic_irq))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seattle_state::blitz99, seattle150)
+MACHINE_CONFIG_START(seattle_state::blitz99)
+ seattle150(config);
MCFG_DEVICE_ADD("dcs", DCS2_AUDIO_2115, 0)
MCFG_DCS2_AUDIO_DRAM_IN_MB(2)
MCFG_DCS2_AUDIO_POLLING_OFFSET(0x0afb)
@@ -2082,7 +2098,8 @@ MACHINE_CONFIG_DERIVED(seattle_state::blitz99, seattle150)
MCFG_MIDWAY_IOASIC_IRQ_CALLBACK(WRITELINE(seattle_state, ioasic_irq))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seattle_state::blitz2k, seattle150)
+MACHINE_CONFIG_START(seattle_state::blitz2k)
+ seattle150(config);
MCFG_DEVICE_ADD("dcs", DCS2_AUDIO_2115, 0)
MCFG_DCS2_AUDIO_DRAM_IN_MB(2)
MCFG_DCS2_AUDIO_POLLING_OFFSET(0x0b5d)
@@ -2094,7 +2111,8 @@ MACHINE_CONFIG_DERIVED(seattle_state::blitz2k, seattle150)
MCFG_MIDWAY_IOASIC_IRQ_CALLBACK(WRITELINE(seattle_state, ioasic_irq))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seattle_state::carnevil, seattle150)
+MACHINE_CONFIG_START(seattle_state::carnevil)
+ seattle150(config);
MCFG_DEVICE_ADD("dcs", DCS2_AUDIO_2115, 0)
MCFG_DCS2_AUDIO_DRAM_IN_MB(2)
MCFG_DCS2_AUDIO_POLLING_OFFSET(0x0af7)
@@ -2106,7 +2124,8 @@ MACHINE_CONFIG_DERIVED(seattle_state::carnevil, seattle150)
MCFG_MIDWAY_IOASIC_IRQ_CALLBACK(WRITELINE(seattle_state, ioasic_irq))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seattle_state::hyprdriv, seattle200_widget)
+MACHINE_CONFIG_START(seattle_state::hyprdriv)
+ seattle200_widget(config);
MCFG_DEVICE_ADD("dcs", DCS2_AUDIO_2115, 0)
MCFG_DCS2_AUDIO_DRAM_IN_MB(2)
MCFG_DCS2_AUDIO_POLLING_OFFSET(0x0af7)
diff --git a/src/mame/drivers/segac2.cpp b/src/mame/drivers/segac2.cpp
index 21e8723dd65..5c50584375b 100644
--- a/src/mame/drivers/segac2.cpp
+++ b/src/mame/drivers/segac2.cpp
@@ -1592,7 +1592,8 @@ MACHINE_CONFIG_START(segac2_state::segac)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segac2_state::segac2, segac)
+MACHINE_CONFIG_START(segac2_state::segac2)
+ segac(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("io")
diff --git a/src/mame/drivers/segae.cpp b/src/mame/drivers/segae.cpp
index 74ad723a84a..aef93fe35a2 100644
--- a/src/mame/drivers/segae.cpp
+++ b/src/mame/drivers/segae.cpp
@@ -906,14 +906,16 @@ MACHINE_CONFIG_START(systeme_state::systeme)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(systeme_state::hangonjr, systeme)
+MACHINE_CONFIG_START(systeme_state::hangonjr)
+ systeme(config);
MCFG_DEVICE_MODIFY("ppi")
MCFG_I8255_IN_PORTA_CB(READ8(systeme_state, hangonjr_port_f8_read))
MCFG_I8255_IN_PORTC_CB(CONSTANT(0)) // bit 4 must be the ADC0804 /INTR signal
MCFG_I8255_OUT_PORTC_CB(WRITE8(systeme_state, hangonjr_port_fa_write)) // CD4051 selector input
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(systeme_state::ridleofp, systeme)
+MACHINE_CONFIG_START(systeme_state::ridleofp)
+ systeme(config);
MCFG_DEVICE_ADD("upd4701", UPD4701A, 0) // on 834-6193 I/O sub board
MCFG_UPD4701_PORTX("PAD1")
MCFG_UPD4701_PORTY("PAD2")
@@ -927,14 +929,16 @@ MACHINE_CONFIG_DERIVED(systeme_state::ridleofp, systeme)
MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("upd4701", upd4701_device, resety_w)) MCFG_DEVCB_BIT(0) // or possibly bit 1
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(systeme_state::systemex, systeme)
+MACHINE_CONFIG_START(systeme_state::systemex)
+ systeme(config);
MCFG_CPU_REPLACE("maincpu", MC8123, XTAL(10'738'635)/2) /* Z80B @ 5.3693Mhz */
MCFG_CPU_PROGRAM_MAP(systeme_map)
MCFG_CPU_IO_MAP(io_map)
MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(systeme_state::systemex_315_5177, systeme)
+MACHINE_CONFIG_START(systeme_state::systemex_315_5177)
+ systeme(config);
MCFG_CPU_REPLACE("maincpu", SEGA_315_5177, XTAL(10'738'635)/2) /* Z80B @ 5.3693Mhz */
MCFG_CPU_PROGRAM_MAP(systeme_map)
MCFG_CPU_IO_MAP(io_map)
@@ -942,7 +946,8 @@ MACHINE_CONFIG_DERIVED(systeme_state::systemex_315_5177, systeme)
MCFG_SEGAZ80_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(systeme_state::systemeb, systeme)
+MACHINE_CONFIG_START(systeme_state::systemeb)
+ systeme(config);
MCFG_CPU_REPLACE("maincpu", MC8123, XTAL(10'738'635)/2) /* Z80B @ 5.3693Mhz */
MCFG_CPU_PROGRAM_MAP(systeme_map)
MCFG_CPU_IO_MAP(io_map)
diff --git a/src/mame/drivers/segag80r.cpp b/src/mame/drivers/segag80r.cpp
index 3e8f3aa02aa..80afbe2290f 100644
--- a/src/mame/drivers/segag80r.cpp
+++ b/src/mame/drivers/segag80r.cpp
@@ -853,17 +853,19 @@ MACHINE_CONFIG_START(segag80r_state::g80r_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segag80r_state::astrob, g80r_base)
+MACHINE_CONFIG_START(segag80r_state::astrob)
+ g80r_base(config);
/* basic machine hardware */
/* sound boards */
- MCFG_FRAGMENT_ADD(astrob_sound_board)
- MCFG_FRAGMENT_ADD(sega_speech_board)
+ astrob_sound_board(config);
+ sega_speech_board(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segag80r_state::sega005, g80r_base)
+MACHINE_CONFIG_START(segag80r_state::sega005)
+ g80r_base(config);
/* basic machine hardware */
@@ -871,11 +873,12 @@ MACHINE_CONFIG_DERIVED(segag80r_state::sega005, g80r_base)
MCFG_CPU_IO_MAP(main_ppi8255_portmap)
/* sound boards */
- MCFG_FRAGMENT_ADD(sega005_sound_board)
+ sega005_sound_board(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segag80r_state::spaceod, g80r_base)
+MACHINE_CONFIG_START(segag80r_state::spaceod)
+ g80r_base(config);
/* basic machine hardware */
@@ -887,11 +890,12 @@ MACHINE_CONFIG_DERIVED(segag80r_state::spaceod, g80r_base)
MCFG_PALETTE_ENTRIES(64+64)
/* sound boards */
- MCFG_FRAGMENT_ADD(spaceod_sound_board)
+ spaceod_sound_board(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segag80r_state::monsterb, g80r_base)
+MACHINE_CONFIG_START(segag80r_state::monsterb)
+ g80r_base(config);
/* basic machine hardware */
@@ -904,10 +908,11 @@ MACHINE_CONFIG_DERIVED(segag80r_state::monsterb, g80r_base)
MCFG_PALETTE_ENTRIES(64+64)
/* sound boards */
- MCFG_FRAGMENT_ADD(monsterb_sound_board)
+ monsterb_sound_board(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segag80r_state::monster2, monsterb)
+MACHINE_CONFIG_START(segag80r_state::monster2)
+ monsterb(config);
MCFG_CPU_REPLACE("maincpu", SEGA_315_SPAT, VIDEO_CLOCK/4)
MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_CPU_IO_MAP(main_ppi8255_portmap)
@@ -917,7 +922,8 @@ MACHINE_CONFIG_DERIVED(segag80r_state::monster2, monsterb)
MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segag80r_state::pignewt, g80r_base)
+MACHINE_CONFIG_START(segag80r_state::pignewt)
+ g80r_base(config);
/* basic machine hardware */
@@ -931,7 +937,8 @@ MACHINE_CONFIG_DERIVED(segag80r_state::pignewt, g80r_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segag80r_state::sindbadm, g80r_base)
+MACHINE_CONFIG_START(segag80r_state::sindbadm)
+ g80r_base(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", SEGA_315_5028, VIDEO_CLOCK/4)
diff --git a/src/mame/drivers/segag80v.cpp b/src/mame/drivers/segag80v.cpp
index ebb5cb940cc..750ca3355d5 100644
--- a/src/mame/drivers/segag80v.cpp
+++ b/src/mame/drivers/segag80v.cpp
@@ -894,7 +894,8 @@ MACHINE_CONFIG_START(segag80v_state::g80v_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segag80v_state::elim2, g80v_base)
+MACHINE_CONFIG_START(segag80v_state::elim2)
+ g80v_base(config);
/* custom sound board */
MCFG_SOUND_ADD("samples", SAMPLES, 0)
@@ -904,7 +905,8 @@ MACHINE_CONFIG_DERIVED(segag80v_state::elim2, g80v_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segag80v_state::spacfury, g80v_base)
+MACHINE_CONFIG_START(segag80v_state::spacfury)
+ g80v_base(config);
/* custom sound board */
MCFG_SOUND_ADD("samples", SAMPLES, 0)
@@ -913,11 +915,12 @@ MACHINE_CONFIG_DERIVED(segag80v_state::spacfury, g80v_base)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1)
/* speech board */
- MCFG_FRAGMENT_ADD(sega_speech_board)
+ sega_speech_board(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segag80v_state::zektor, g80v_base)
+MACHINE_CONFIG_START(segag80v_state::zektor)
+ g80v_base(config);
/* custom sound board */
MCFG_SOUND_ADD("samples", SAMPLES, 0)
@@ -929,21 +932,23 @@ MACHINE_CONFIG_DERIVED(segag80v_state::zektor, g80v_base)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.33)
/* speech board */
- MCFG_FRAGMENT_ADD(sega_speech_board)
+ sega_speech_board(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segag80v_state::tacscan, g80v_base)
+MACHINE_CONFIG_START(segag80v_state::tacscan)
+ g80v_base(config);
/* universal sound board */
MCFG_SEGAUSB_ADD("usbsnd")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segag80v_state::startrek, g80v_base)
+MACHINE_CONFIG_START(segag80v_state::startrek)
+ g80v_base(config);
/* speech board */
- MCFG_FRAGMENT_ADD(sega_speech_board)
+ sega_speech_board(config);
/* universal sound board */
MCFG_SEGAUSB_ADD("usbsnd")
diff --git a/src/mame/drivers/segahang.cpp b/src/mame/drivers/segahang.cpp
index c43dfe7a2d3..53b6426d4eb 100644
--- a/src/mame/drivers/segahang.cpp
+++ b/src/mame/drivers/segahang.cpp
@@ -784,13 +784,15 @@ MACHINE_CONFIG_START(segahang_state::shared_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segahang_state::hangon_base, shared_base)
+MACHINE_CONFIG_START(segahang_state::hangon_base)
+ shared_base(config);
// video hardware
MCFG_SEGA_HANGON_SPRITES_ADD("sprites")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segahang_state::sharrier_base, shared_base)
+MACHINE_CONFIG_START(segahang_state::sharrier_base)
+ shared_base(config);
// basic machine hardware
MCFG_CPU_MODIFY("maincpu")
@@ -805,7 +807,8 @@ MACHINE_CONFIG_DERIVED(segahang_state::sharrier_base, shared_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segahang_state::enduror_base, sharrier_base)
+MACHINE_CONFIG_START(segahang_state::enduror_base)
+ sharrier_base(config);
// basic machine hardware
MCFG_CPU_REPLACE("maincpu", FD1089B, MASTER_CLOCK_10MHz)
@@ -813,7 +816,8 @@ MACHINE_CONFIG_DERIVED(segahang_state::enduror_base, sharrier_base)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", segahang_state, irq4_line_hold)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segahang_state::endurord_base, sharrier_base)
+MACHINE_CONFIG_START(segahang_state::endurord_base)
+ sharrier_base(config);
// basic machine hardware
MCFG_CPU_REPLACE("maincpu", M68000, MASTER_CLOCK_10MHz)
@@ -914,13 +918,15 @@ MACHINE_CONFIG_END
// SPECIFIC MACHINE DRIVERS
//**************************************************************************
-MACHINE_CONFIG_DERIVED(segahang_state::hangon, hangon_base)
- MCFG_FRAGMENT_ADD(sound_board_2203)
+MACHINE_CONFIG_START(segahang_state::hangon)
+ hangon_base(config);
+ sound_board_2203(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segahang_state::shangupb, hangon_base)
- MCFG_FRAGMENT_ADD(sound_board_2151)
+MACHINE_CONFIG_START(segahang_state::shangupb)
+ hangon_base(config);
+ sound_board_2151(config);
// not sure about these speeds, but at 6MHz, the road is not updated fast enough
MCFG_CPU_MODIFY("maincpu")
@@ -930,15 +936,17 @@ MACHINE_CONFIG_DERIVED(segahang_state::shangupb, hangon_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segahang_state::shangonro, shangupb)
+MACHINE_CONFIG_START(segahang_state::shangonro)
+ shangupb(config);
MCFG_CPU_REPLACE("subcpu", FD1094, 10000000)
MCFG_CPU_PROGRAM_MAP(sub_map)
MCFG_CPU_OPCODES_MAP(fd1094_decrypted_opcodes_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segahang_state::sharrier, sharrier_base)
- MCFG_FRAGMENT_ADD(sound_board_2203)
+MACHINE_CONFIG_START(segahang_state::sharrier)
+ sharrier_base(config);
+ sound_board_2203(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", segahang_state, i8751_main_cpu_vblank)
@@ -951,37 +959,43 @@ MACHINE_CONFIG_DERIVED(segahang_state::sharrier, sharrier_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segahang_state::enduror, enduror_base)
- MCFG_FRAGMENT_ADD(sound_board_2151)
+MACHINE_CONFIG_START(segahang_state::enduror)
+ enduror_base(config);
+ sound_board_2151(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segahang_state::enduror1, enduror_base)
- MCFG_FRAGMENT_ADD(sound_board_2203)
+MACHINE_CONFIG_START(segahang_state::enduror1)
+ enduror_base(config);
+ sound_board_2203(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segahang_state::endurord, endurord_base)
- MCFG_FRAGMENT_ADD(sound_board_2151)
+MACHINE_CONFIG_START(segahang_state::endurord)
+ endurord_base(config);
+ sound_board_2151(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segahang_state::enduror1d, endurord_base)
- MCFG_FRAGMENT_ADD(sound_board_2203)
+MACHINE_CONFIG_START(segahang_state::enduror1d)
+ endurord_base(config);
+ sound_board_2203(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segahang_state::endurobl, sharrier_base)
+MACHINE_CONFIG_START(segahang_state::endurobl)
+ sharrier_base(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
- MCFG_FRAGMENT_ADD(sound_board_2203)
+ sound_board_2203(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segahang_state::endurob2, sharrier_base)
+MACHINE_CONFIG_START(segahang_state::endurob2)
+ sharrier_base(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
- MCFG_FRAGMENT_ADD(sound_board_2203x2)
+ sound_board_2203x2(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/segam1.cpp b/src/mame/drivers/segam1.cpp
index 56ced3aad5b..8cf5828c790 100644
--- a/src/mame/drivers/segam1.cpp
+++ b/src/mame/drivers/segam1.cpp
@@ -393,7 +393,8 @@ MACHINE_CONFIG_START(segam1_state::segam1)
//MCFG_YM2612_IRQ_HANDLER(WRITELINE(segam1_state, ym3438_irq_handler))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segam1_state::unkm1, segam1)
+MACHINE_CONFIG_START(segam1_state::unkm1)
+ segam1(config);
MCFG_CPU_MODIFY("audiocpu")
MCFG_CPU_PROGRAM_MAP(unkm1_sound_map)
diff --git a/src/mame/drivers/segaorun.cpp b/src/mame/drivers/segaorun.cpp
index bd0d9cc74e3..83f0470fe0e 100644
--- a/src/mame/drivers/segaorun.cpp
+++ b/src/mame/drivers/segaorun.cpp
@@ -1244,7 +1244,8 @@ MACHINE_CONFIG_END
// GAME-SPECIFIC MACHINE DRIVERS
//**************************************************************************
-MACHINE_CONFIG_DERIVED(segaorun_state::outrundx, outrun_base)
+MACHINE_CONFIG_START(segaorun_state::outrundx)
+ outrun_base(config);
// basic machine hardware
MCFG_TIMER_DRIVER_ADD_PERIODIC("bankmotor", segaorun_state, bankmotor_update, attotime::from_msec(10))
@@ -1253,13 +1254,15 @@ MACHINE_CONFIG_DERIVED(segaorun_state::outrundx, outrun_base)
MCFG_SEGA_OUTRUN_SPRITES_ADD("sprites")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segaorun_state::outrun, outrundx)
+MACHINE_CONFIG_START(segaorun_state::outrun)
+ outrundx(config);
// basic machine hardware
MCFG_NVRAM_ADD_0FILL("nvram")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segaorun_state::outrun_fd1094, outrun)
+MACHINE_CONFIG_START(segaorun_state::outrun_fd1094)
+ outrun(config);
// basic machine hardware
MCFG_CPU_REPLACE("maincpu", FD1094, MASTER_CLOCK/4)
@@ -1267,7 +1270,8 @@ MACHINE_CONFIG_DERIVED(segaorun_state::outrun_fd1094, outrun)
MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segaorun_state::outrun_fd1089a, outrun)
+MACHINE_CONFIG_START(segaorun_state::outrun_fd1089a)
+ outrun(config);
// basic machine hardware
MCFG_CPU_REPLACE("maincpu", FD1089A, MASTER_CLOCK/4)
@@ -1275,7 +1279,8 @@ MACHINE_CONFIG_DERIVED(segaorun_state::outrun_fd1089a, outrun)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segaorun_state::shangon, outrun_base)
+MACHINE_CONFIG_START(segaorun_state::shangon)
+ outrun_base(config);
// basic machine hardware
MCFG_DEVICE_REMOVE("i8255")
@@ -1297,7 +1302,8 @@ MACHINE_CONFIG_DERIVED(segaorun_state::shangon, outrun_base)
MCFG_SEGA_SYS16B_SPRITES_ADD("sprites")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segaorun_state::shangon_fd1089b, shangon)
+MACHINE_CONFIG_START(segaorun_state::shangon_fd1089b)
+ shangon(config);
// basic machine hardware
MCFG_CPU_REPLACE("maincpu", FD1089B, MASTER_CLOCK/4)
diff --git a/src/mame/drivers/segapico.cpp b/src/mame/drivers/segapico.cpp
index b2516065176..0b1117f90f3 100644
--- a/src/mame/drivers/segapico.cpp
+++ b/src/mame/drivers/segapico.cpp
@@ -389,7 +389,7 @@ MACHINE_START_MEMBER(pico_state,pico)
}
MACHINE_CONFIG_START(pico_state::pico)
- MCFG_FRAGMENT_ADD( md_ntsc )
+ md_ntsc(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(pico_mem)
@@ -410,7 +410,7 @@ MACHINE_CONFIG_START(pico_state::pico)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(pico_state::picopal)
- MCFG_FRAGMENT_ADD( md_pal )
+ md_pal(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(pico_mem)
@@ -603,7 +603,7 @@ MACHINE_START_MEMBER(copera_state,copera)
}
MACHINE_CONFIG_START(copera_state::copera)
- MCFG_FRAGMENT_ADD( md_ntsc )
+ md_ntsc(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(copera_mem)
diff --git a/src/mame/drivers/segas16a.cpp b/src/mame/drivers/segas16a.cpp
index f54c2775a63..09a6da73867 100644
--- a/src/mame/drivers/segas16a.cpp
+++ b/src/mame/drivers/segas16a.cpp
@@ -2025,31 +2025,36 @@ MACHINE_CONFIG_START(segas16a_state::system16a)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas16a_state::system16a_fd1089a, system16a)
+MACHINE_CONFIG_START(segas16a_state::system16a_fd1089a)
+ system16a(config);
MCFG_CPU_REPLACE("maincpu", FD1089A, 10000000)
MCFG_CPU_PROGRAM_MAP(system16a_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", segas16a_state, irq4_line_hold)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas16a_state::system16a_fd1089b, system16a)
+MACHINE_CONFIG_START(segas16a_state::system16a_fd1089b)
+ system16a(config);
MCFG_CPU_REPLACE("maincpu", FD1089B, 10000000)
MCFG_CPU_PROGRAM_MAP(system16a_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", segas16a_state, irq4_line_hold)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas16a_state::system16a_fd1094, system16a)
+MACHINE_CONFIG_START(segas16a_state::system16a_fd1094)
+ system16a(config);
MCFG_CPU_REPLACE("maincpu", FD1094, 10000000)
MCFG_CPU_PROGRAM_MAP(system16a_map)
MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", segas16a_state, irq4_line_hold)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas16a_state::aceattaca_fd1094, system16a_fd1094)
+MACHINE_CONFIG_START(segas16a_state::aceattaca_fd1094)
+ system16a_fd1094(config);
MCFG_DEVICE_ADD("cxdio", CXD1095, 0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas16a_state::system16a_i8751, system16a)
+MACHINE_CONFIG_START(segas16a_state::system16a_i8751)
+ system16a(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", segas16a_state, i8751_main_cpu_vblank)
@@ -2059,7 +2064,8 @@ MACHINE_CONFIG_DERIVED(segas16a_state::system16a_i8751, system16a)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas16a_state::system16a_no7751, system16a)
+MACHINE_CONFIG_START(segas16a_state::system16a_no7751)
+ system16a(config);
MCFG_CPU_MODIFY("soundcpu")
MCFG_CPU_IO_MAP(sound_no7751_portmap)
@@ -2071,7 +2077,8 @@ MACHINE_CONFIG_DERIVED(segas16a_state::system16a_no7751, system16a)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas16a_state::system16a_no7751p, system16a_no7751)
+MACHINE_CONFIG_START(segas16a_state::system16a_no7751p)
+ system16a_no7751(config);
MCFG_CPU_REPLACE("soundcpu", SEGA_315_5177, 4000000)
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_IO_MAP(sound_no7751_portmap)
@@ -2080,7 +2087,8 @@ MACHINE_CONFIG_DERIVED(segas16a_state::system16a_no7751p, system16a_no7751)
MACHINE_CONFIG_END
/*
-static MACHINE_CONFIG_DERIVED( system16a_i8751_no7751, system16a_i8751 )
+static MACHINE_CONFIG_START( system16a_i8751_no7751 )
+ system16a_i8751(config);
MCFG_DEVICE_REMOVE("n7751")
MCFG_DEVICE_REMOVE("dac")
MCFG_DEVICE_REMOVE("vref")
@@ -2090,7 +2098,8 @@ static MACHINE_CONFIG_DERIVED( system16a_i8751_no7751, system16a_i8751 )
MACHINE_CONFIG_END
*/
-MACHINE_CONFIG_DERIVED(segas16a_state::system16a_fd1089a_no7751, system16a_fd1089a)
+MACHINE_CONFIG_START(segas16a_state::system16a_fd1089a_no7751)
+ system16a_fd1089a(config);
MCFG_CPU_MODIFY("soundcpu")
MCFG_CPU_IO_MAP(sound_no7751_portmap)
@@ -2102,7 +2111,8 @@ MACHINE_CONFIG_DERIVED(segas16a_state::system16a_fd1089a_no7751, system16a_fd108
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas16a_state::system16a_fd1089b_no7751, system16a_fd1089b)
+MACHINE_CONFIG_START(segas16a_state::system16a_fd1089b_no7751)
+ system16a_fd1089b(config);
MCFG_CPU_MODIFY("soundcpu")
MCFG_CPU_IO_MAP(sound_no7751_portmap)
@@ -2114,7 +2124,8 @@ MACHINE_CONFIG_DERIVED(segas16a_state::system16a_fd1089b_no7751, system16a_fd108
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas16a_state::system16a_fd1094_no7751, system16a_fd1094)
+MACHINE_CONFIG_START(segas16a_state::system16a_fd1094_no7751)
+ system16a_fd1094(config);
MCFG_CPU_MODIFY("soundcpu")
MCFG_CPU_IO_MAP(sound_no7751_portmap)
diff --git a/src/mame/drivers/segas16b.cpp b/src/mame/drivers/segas16b.cpp
index 1247b841905..763e97e2fa0 100644
--- a/src/mame/drivers/segas16b.cpp
+++ b/src/mame/drivers/segas16b.cpp
@@ -3741,33 +3741,38 @@ MACHINE_CONFIG_START(segas16b_state::system16b)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.48)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas16b_state::system16b_mc8123, system16b)
+MACHINE_CONFIG_START(segas16b_state::system16b_mc8123)
+ system16b(config);
MCFG_CPU_REPLACE("soundcpu", MC8123, MASTER_CLOCK_10MHz/2)
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_IO_MAP(sound_portmap)
MCFG_CPU_OPCODES_MAP(sound_decrypted_opcodes_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas16b_state::system16b_fd1089a, system16b)
+MACHINE_CONFIG_START(segas16b_state::system16b_fd1089a)
+ system16b(config);
MCFG_CPU_REPLACE("maincpu", FD1089A, MASTER_CLOCK_10MHz)
MCFG_CPU_PROGRAM_MAP(system16b_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", segas16b_state, irq4_line_hold)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas16b_state::system16b_fd1089b, system16b)
+MACHINE_CONFIG_START(segas16b_state::system16b_fd1089b)
+ system16b(config);
MCFG_CPU_REPLACE("maincpu", FD1089B, MASTER_CLOCK_10MHz)
MCFG_CPU_PROGRAM_MAP(system16b_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", segas16b_state, irq4_line_hold)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas16b_state::system16b_fd1094, system16b)
+MACHINE_CONFIG_START(segas16b_state::system16b_fd1094)
+ system16b(config);
MCFG_CPU_REPLACE("maincpu", FD1094, MASTER_CLOCK_10MHz)
MCFG_CPU_PROGRAM_MAP(system16b_map)
MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", segas16b_state, irq4_line_hold)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas16b_state::aceattacb_fd1094, system16b_fd1094)
+MACHINE_CONFIG_START(segas16b_state::aceattacb_fd1094)
+ system16b_fd1094(config);
// 834-6602 I/O board
MCFG_DEVICE_ADD("upd4701a1", UPD4701A, 0)
MCFG_DEVICE_ADD("upd4701a2", UPD4701A, 0)
@@ -3777,7 +3782,8 @@ MACHINE_CONFIG_DERIVED(segas16b_state::aceattacb_fd1094, system16b_fd1094)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas16b_state::system16b_i8751, system16b)
+MACHINE_CONFIG_START(segas16b_state::system16b_i8751)
+ system16b(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", segas16b_state, i8751_main_cpu_vblank)
@@ -3796,19 +3802,23 @@ MACHINE_CONFIG_START(segas16b_state::rom_5797_fragment)
MCFG_SEGA_315_5250_COMPARE_TIMER_ADD("cmptimer_2")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas16b_state::system16b_5797, system16b)
- MCFG_FRAGMENT_ADD(rom_5797_fragment)
+MACHINE_CONFIG_START(segas16b_state::system16b_5797)
+ system16b(config);
+ rom_5797_fragment(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas16b_state::system16b_i8751_5797, system16b_i8751)
- MCFG_FRAGMENT_ADD(rom_5797_fragment)
+MACHINE_CONFIG_START(segas16b_state::system16b_i8751_5797)
+ system16b_i8751(config);
+ rom_5797_fragment(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas16b_state::system16b_fd1094_5797, system16b_fd1094)
- MCFG_FRAGMENT_ADD(rom_5797_fragment)
+MACHINE_CONFIG_START(segas16b_state::system16b_fd1094_5797)
+ system16b_fd1094(config);
+ rom_5797_fragment(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas16b_state::system16b_split, system16b)
+MACHINE_CONFIG_START(segas16b_state::system16b_split)
+ system16b(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(system16b_bootleg_map)
MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map_x)
@@ -3842,7 +3852,8 @@ void segas16b_state::tilemap_16b_fpointbl_fill_latch(int i, uint16_t* latched_pa
// printf("%02x returning latched page select %04x scrollx %04x scrolly %04x\n", i, latched_pageselect[i], latched_xscroll[i], latched_yscroll[i]);
}
-MACHINE_CONFIG_DERIVED(segas16b_state::fpointbl, system16b)
+MACHINE_CONFIG_START(segas16b_state::fpointbl)
+ system16b(config);
MCFG_DEVICE_REMOVE("mapper")
MCFG_DEVICE_REMOVE("sprites")
@@ -3863,7 +3874,8 @@ MACHINE_CONFIG_DERIVED(segas16b_state::fpointbl, system16b)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas16b_state::fpointbla, fpointbl)
+MACHINE_CONFIG_START(segas16b_state::fpointbla)
+ fpointbl(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(map_fpointbla)
MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map_fpointbla)
@@ -3926,7 +3938,8 @@ MACHINE_CONFIG_END
// GAME-SPECIFIC MACHINE DRIVERS
//**************************************************************************
-MACHINE_CONFIG_DERIVED(segas16b_state::atomicp, system16b) // 10MHz CPU Clock verified
+MACHINE_CONFIG_START(segas16b_state::atomicp) // 10MHz CPU Clock verified
+ system16b(config);
// basic machine hardware
MCFG_DEVICE_REMOVE("soundcpu")
@@ -3942,7 +3955,8 @@ MACHINE_CONFIG_DERIVED(segas16b_state::atomicp, system16b) // 10MHz CPU Clock ve
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas16b_state::system16c, system16b)
+MACHINE_CONFIG_START(segas16b_state::system16c)
+ system16b(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(system16c_map)
MACHINE_CONFIG_END
@@ -9717,7 +9731,8 @@ void isgsm_state::machine_reset()
}
-MACHINE_CONFIG_DERIVED(isgsm_state::isgsm, system16b)
+MACHINE_CONFIG_START(isgsm_state::isgsm)
+ system16b(config);
// basic machine hardware
MCFG_DEVICE_REMOVE("maincpu")
diff --git a/src/mame/drivers/segas18.cpp b/src/mame/drivers/segas18.cpp
index e6fa31bc3a1..b75f38996b4 100644
--- a/src/mame/drivers/segas18.cpp
+++ b/src/mame/drivers/segas18.cpp
@@ -1389,7 +1389,8 @@ MACHINE_CONFIG_START(segas18_state::system18)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas18_state::system18_fd1094, system18)
+MACHINE_CONFIG_START(segas18_state::system18_fd1094)
+ system18(config);
// basic machine hardware
MCFG_CPU_REPLACE("maincpu", FD1094, 10000000)
@@ -1398,21 +1399,24 @@ MACHINE_CONFIG_DERIVED(segas18_state::system18_fd1094, system18)
MCFG_CPU_VBLANK_INT_DRIVER("screen", segas18_state, irq4_line_hold)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas18_state::lghost_fd1094, system18_fd1094)
+MACHINE_CONFIG_START(segas18_state::lghost_fd1094)
+ system18_fd1094(config);
// basic machine hardware
MCFG_DEVICE_MODIFY("io")
MCFG_315_5296_OUT_PORTC_CB(WRITE8(segas18_state, lghost_gun_recoil_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas18_state::lghost, system18)
+MACHINE_CONFIG_START(segas18_state::lghost)
+ system18(config);
// basic machine hardware
MCFG_DEVICE_MODIFY("io")
MCFG_315_5296_OUT_PORTC_CB(WRITE8(segas18_state, lghost_gun_recoil_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas18_state::wwally_fd1094, system18_fd1094)
+MACHINE_CONFIG_START(segas18_state::wwally_fd1094)
+ system18_fd1094(config);
MCFG_DEVICE_ADD("upd1", UPD4701A, 0)
MCFG_UPD4701_PORTX("TRACKX1")
MCFG_UPD4701_PORTY("TRACKY1")
@@ -1426,7 +1430,8 @@ MACHINE_CONFIG_DERIVED(segas18_state::wwally_fd1094, system18_fd1094)
MCFG_UPD4701_PORTY("TRACKY3")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas18_state::wwally, system18)
+MACHINE_CONFIG_START(segas18_state::wwally)
+ system18(config);
MCFG_DEVICE_ADD("upd1", UPD4701A, 0)
MCFG_UPD4701_PORTX("TRACKX1")
MCFG_UPD4701_PORTY("TRACKY1")
@@ -1440,7 +1445,8 @@ MACHINE_CONFIG_DERIVED(segas18_state::wwally, system18)
MCFG_UPD4701_PORTY("TRACKY3")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas18_state::system18_i8751, system18)
+MACHINE_CONFIG_START(segas18_state::system18_i8751)
+ system18(config);
// basic machine hardware
MCFG_CPU_MODIFY("maincpu")
@@ -1451,7 +1457,8 @@ MACHINE_CONFIG_DERIVED(segas18_state::system18_i8751, system18)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", segas18_state, irq0_line_hold)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas18_state::system18_fd1094_i8751, system18_fd1094)
+MACHINE_CONFIG_START(segas18_state::system18_fd1094_i8751)
+ system18_fd1094(config);
// basic machine hardware
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/segas24.cpp b/src/mame/drivers/segas24.cpp
index 697c622d8bc..4f4fed049fb 100644
--- a/src/mame/drivers/segas24.cpp
+++ b/src/mame/drivers/segas24.cpp
@@ -1914,18 +1914,21 @@ MACHINE_CONFIG_START(segas24_state::system24)
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(segas24_state::mahmajn, system24)
+MACHINE_CONFIG_START(segas24_state::mahmajn)
+ system24(config);
MCFG_DEVICE_MODIFY("io")
MCFG_315_5296_IN_PORTA_CB(READ8(segas24_state, mahmajn_input_line_r))
MCFG_315_5296_IN_PORTC_CB(READ8(segas24_state, mahmajn_inputs_r))
MCFG_315_5296_OUT_PORTD_CB(WRITE8(segas24_state, mahmajn_mux_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas24_state::system24_floppy, system24)
+MACHINE_CONFIG_START(segas24_state::system24_floppy)
+ system24(config);
MCFG_NVRAM_ADD_NO_FILL("floppy_nvram")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas24_state::system24_floppy_hotrod, system24_floppy)
+MACHINE_CONFIG_START(segas24_state::system24_floppy_hotrod)
+ system24_floppy(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(hotrod_cpu1_map)
MCFG_CPU_MODIFY("subcpu")
@@ -1948,13 +1951,15 @@ MACHINE_CONFIG_DERIVED(segas24_state::system24_floppy_hotrod, system24_floppy)
MCFG_DEVICE_ADD("adc2", MSM6253, 0) // IC2 - 33k/33p R/C clock
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas24_state::system24_floppy_fd1094, system24_floppy)
+MACHINE_CONFIG_START(segas24_state::system24_floppy_fd1094)
+ system24_floppy(config);
MCFG_CPU_REPLACE("subcpu", FD1094, MASTER_CLOCK/2)
MCFG_CPU_PROGRAM_MAP(system24_cpu2_map)
MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas24_state::system24_floppy_fd_upd, system24_floppy_fd1094)
+MACHINE_CONFIG_START(segas24_state::system24_floppy_fd_upd)
+ system24_floppy_fd1094(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(roughrac_cpu1_map)
MCFG_CPU_MODIFY("subcpu")
@@ -1965,13 +1970,15 @@ MACHINE_CONFIG_DERIVED(segas24_state::system24_floppy_fd_upd, system24_floppy_fd
MCFG_UPD4701_PORTY("DIAL2")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas24_state::dcclub, system24)
+MACHINE_CONFIG_START(segas24_state::dcclub)
+ system24(config);
MCFG_DEVICE_MODIFY("io")
MCFG_315_5296_IN_PORTA_CB(READ8(segas24_state, dcclub_p1_r))
MCFG_315_5296_IN_PORTC_CB(READ8(segas24_state, dcclub_p3_r))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas24_state::system24_floppy_dcclub, system24_floppy_fd1094)
+MACHINE_CONFIG_START(segas24_state::system24_floppy_dcclub)
+ system24_floppy_fd1094(config);
MCFG_DEVICE_MODIFY("io")
MCFG_315_5296_IN_PORTA_CB(READ8(segas24_state, dcclub_p1_r))
MCFG_315_5296_IN_PORTC_CB(READ8(segas24_state, dcclub_p3_r))
diff --git a/src/mame/drivers/segasp.cpp b/src/mame/drivers/segasp.cpp
index 847e88c1e8f..29e62259442 100644
--- a/src/mame/drivers/segasp.cpp
+++ b/src/mame/drivers/segasp.cpp
@@ -296,7 +296,8 @@ INPUT_PORTS_START( segasp )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(segasp_state::segasp, naomi_aw_base)
+MACHINE_CONFIG_START(segasp_state::segasp)
+ naomi_aw_base(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(segasp_map)
MCFG_CPU_IO_MAP(onchip_port)
diff --git a/src/mame/drivers/segaufo.cpp b/src/mame/drivers/segaufo.cpp
index 3cde336f063..185ff4a9c90 100644
--- a/src/mame/drivers/segaufo.cpp
+++ b/src/mame/drivers/segaufo.cpp
@@ -804,7 +804,8 @@ MACHINE_CONFIG_START(ufo_state::newufo)
MCFG_SOUND_ROUTE(1, "mono", 0.40)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ufo_state::ufomini, newufo)
+MACHINE_CONFIG_START(ufo_state::ufomini)
+ newufo(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("io1")
@@ -814,7 +815,8 @@ MACHINE_CONFIG_DERIVED(ufo_state::ufomini, newufo)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ufo_state::ufo21, newufo)
+MACHINE_CONFIG_START(ufo_state::ufo21)
+ newufo(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -837,7 +839,8 @@ MACHINE_CONFIG_DERIVED(ufo_state::ufo21, newufo)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ufo_state::ufo800, newufo)
+MACHINE_CONFIG_START(ufo_state::ufo800)
+ newufo(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/segaybd.cpp b/src/mame/drivers/segaybd.cpp
index 2d8898279f6..dc91aadaaee 100644
--- a/src/mame/drivers/segaybd.cpp
+++ b/src/mame/drivers/segaybd.cpp
@@ -1382,7 +1382,8 @@ MACHINE_CONFIG_END
// irq at 0x28 is from MB8421, and irq at 0x38 probably from MB89372?
-MACHINE_CONFIG_DERIVED(segaybd_state::yboard_link, yboard)
+MACHINE_CONFIG_START(segaybd_state::yboard_link)
+ yboard(config);
// basic machine hardware
MCFG_CPU_MODIFY("maincpu")
@@ -1397,7 +1398,8 @@ MACHINE_CONFIG_DERIVED(segaybd_state::yboard_link, yboard)
MCFG_MB8421_INTR_HANDLER(WRITELINE(segaybd_state, mb8421_intr))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segaybd_state::yboard_deluxe, yboard)
+MACHINE_CONFIG_START(segaybd_state::yboard_deluxe)
+ yboard(config);
// basic machine hardware
MCFG_CPU_ADD("motorcpu", Z80, XTAL(16'000'000)/2 ) // 8 Mhz(guessed)
diff --git a/src/mame/drivers/seibuspi.cpp b/src/mame/drivers/seibuspi.cpp
index c5f78177031..1380841965c 100644
--- a/src/mame/drivers/seibuspi.cpp
+++ b/src/mame/drivers/seibuspi.cpp
@@ -1913,13 +1913,15 @@ MACHINE_CONFIG_START(seibuspi_state::spi)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seibuspi_state::ejanhs, spi)
+MACHINE_CONFIG_START(seibuspi_state::ejanhs)
+ spi(config);
/* video hardware */
MCFG_VIDEO_START_OVERRIDE(seibuspi_state, ejanhs)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seibuspi_state::rdft2, spi)
+MACHINE_CONFIG_START(seibuspi_state::rdft2)
+ spi(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(rdft2_map)
MACHINE_CONFIG_END
@@ -1934,7 +1936,8 @@ MACHINE_RESET_MEMBER(seibuspi_state,sxx2e)
m_sb_coin_latch = 0;
}
-MACHINE_CONFIG_DERIVED(seibuspi_state::sxx2e, spi)
+MACHINE_CONFIG_START(seibuspi_state::sxx2e)
+ spi(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1958,7 +1961,8 @@ MACHINE_CONFIG_DERIVED(seibuspi_state::sxx2e, spi)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seibuspi_state::sxx2f, sxx2e)
+MACHINE_CONFIG_START(seibuspi_state::sxx2f)
+ sxx2e(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1972,7 +1976,8 @@ MACHINE_CONFIG_DERIVED(seibuspi_state::sxx2f, sxx2e)
// clock is unknown, possibly slower than 7.159MHz
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seibuspi_state::sxx2g, sxx2f) // clocks differ, but otherwise same hw as sxx2f
+MACHINE_CONFIG_START(seibuspi_state::sxx2g) // clocks differ, but otherwise same hw as sxx2f
+ sxx2f(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu") // AMD AM386DX/DX-40, 28.63636MHz
diff --git a/src/mame/drivers/seicross.cpp b/src/mame/drivers/seicross.cpp
index b76941efae1..daccdd167f0 100644
--- a/src/mame/drivers/seicross.cpp
+++ b/src/mame/drivers/seicross.cpp
@@ -433,7 +433,8 @@ MACHINE_CONFIG_START(seicross_state::no_nvram)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seicross_state::nvram, no_nvram)
+MACHINE_CONFIG_START(seicross_state::nvram)
+ no_nvram(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("mcu")
@@ -442,7 +443,8 @@ MACHINE_CONFIG_DERIVED(seicross_state::nvram, no_nvram)
MCFG_NVRAM_ADD_CUSTOM_DRIVER("nvram", seicross_state, nvram_init)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seicross_state::friskytb, nvram)
+MACHINE_CONFIG_START(seicross_state::friskytb)
+ nvram(config);
MCFG_CPU_MODIFY("mcu")
MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/selz80.cpp b/src/mame/drivers/selz80.cpp
index f04c6a12788..b50e7b1cfde 100644
--- a/src/mame/drivers/selz80.cpp
+++ b/src/mame/drivers/selz80.cpp
@@ -236,7 +236,8 @@ MACHINE_CONFIG_START(selz80_state::selz80)
MCFG_I8279_IN_CTRL_CB(VCC)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(selz80_state::dagz80, selz80)
+MACHINE_CONFIG_START(selz80_state::dagz80)
+ selz80(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(dagz80_mem)
MCFG_MACHINE_RESET_OVERRIDE(selz80_state, dagz80 )
diff --git a/src/mame/drivers/senjyo.cpp b/src/mame/drivers/senjyo.cpp
index 007910d250d..b9793d60db1 100644
--- a/src/mame/drivers/senjyo.cpp
+++ b/src/mame/drivers/senjyo.cpp
@@ -598,7 +598,8 @@ MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(senjyo_state::senjyox_e, senjyo)
+MACHINE_CONFIG_START(senjyo_state::senjyox_e)
+ senjyo(config);
MCFG_CPU_REPLACE("maincpu", SEGA_315_5015, 4000000) /* 4 MHz? */
MCFG_CPU_PROGRAM_MAP(senjyo_map)
MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
@@ -606,7 +607,8 @@ MACHINE_CONFIG_DERIVED(senjyo_state::senjyox_e, senjyo)
MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(senjyo_state::senjyox_a, senjyo)
+MACHINE_CONFIG_START(senjyo_state::senjyox_a)
+ senjyo(config);
MCFG_CPU_REPLACE("maincpu", SEGA_315_5018, 4000000) /* 4 MHz? */
MCFG_CPU_PROGRAM_MAP(senjyo_map)
MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
@@ -615,7 +617,8 @@ MACHINE_CONFIG_DERIVED(senjyo_state::senjyox_a, senjyo)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(senjyo_state::starforb, senjyox_e)
+MACHINE_CONFIG_START(senjyo_state::starforb)
+ senjyox_e(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/seta.cpp b/src/mame/drivers/seta.cpp
index c23564c2c37..f031310fd0b 100644
--- a/src/mame/drivers/seta.cpp
+++ b/src/mame/drivers/seta.cpp
@@ -8256,7 +8256,8 @@ ADDRESS_MAP_START(seta_state::blockcarb_sound_portmap)
// AM_RANGE(0xc0, 0xc0) AM_MIRROR(0x3f) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
-MACHINE_CONFIG_DERIVED(seta_state::blockcarb, blockcar)
+MACHINE_CONFIG_START(seta_state::blockcarb)
+ blockcar(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -8649,7 +8650,8 @@ MACHINE_CONFIG_END
Zombie Raid
***************************************************************************/
-MACHINE_CONFIG_DERIVED(seta_state::zombraid, gundhara)
+MACHINE_CONFIG_START(seta_state::zombraid)
+ gundhara(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -8863,7 +8865,8 @@ MACHINE_CONFIG_START(seta_state::keroppij)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seta_state::keroppi, keroppij)
+MACHINE_CONFIG_START(seta_state::keroppi)
+ keroppij(config);
MCFG_GFXDECODE_MODIFY("gfxdecode", tndrcade)
MACHINE_CONFIG_END
@@ -9263,7 +9266,8 @@ ADDRESS_MAP_START(seta_state::thunderlbl_sound_portmap)
ADDRESS_MAP_END
-MACHINE_CONFIG_DERIVED(seta_state::thunderlbl, thunderl)
+MACHINE_CONFIG_START(seta_state::thunderlbl)
+ thunderl(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -9323,7 +9327,8 @@ MACHINE_CONFIG_START(seta_state::wiggie)
MCFG_GENERIC_LATCH_DATA_PENDING_CB(INPUTLINE("audiocpu", 0))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seta_state::superbar, wiggie)
+MACHINE_CONFIG_START(seta_state::superbar)
+ wiggie(config);
MCFG_GFXDECODE_MODIFY("gfxdecode", superbar)
MACHINE_CONFIG_END
@@ -9545,7 +9550,8 @@ MACHINE_CONFIG_START(seta_state::zingzip)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seta_state::zingzipbl, zingzip)
+MACHINE_CONFIG_START(seta_state::zingzipbl)
+ zingzip(config);
MCFG_GFXDECODE_MODIFY("gfxdecode", zingzipbl)
MCFG_DEVICE_REMOVE("maincpu")
@@ -9726,7 +9732,8 @@ MACHINE_CONFIG_END
International Toote
***************************************************************************/
-MACHINE_CONFIG_DERIVED(jockeyc_state::inttoote, jockeyc)
+MACHINE_CONFIG_START(jockeyc_state::inttoote)
+ jockeyc(config);
MCFG_DEVICE_REMOVE("maincpu")
MCFG_CPU_ADD("maincpu", M68000, XTAL(16'000'000)) // TMP68HC000N-16
MCFG_CPU_PROGRAM_MAP(inttoote_map)
diff --git a/src/mame/drivers/seta2.cpp b/src/mame/drivers/seta2.cpp
index f6587902ee3..92bced002e1 100644
--- a/src/mame/drivers/seta2.cpp
+++ b/src/mame/drivers/seta2.cpp
@@ -2536,13 +2536,15 @@ MACHINE_CONFIG_START(seta2_state::seta2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seta2_state::mj4simai, seta2)
+MACHINE_CONFIG_START(seta2_state::mj4simai)
+ seta2(config);
MCFG_MACHINE_START_OVERRIDE(seta2_state, mj4simai)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seta2_state::gundamex, seta2)
+MACHINE_CONFIG_START(seta2_state::gundamex)
+ seta2(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(gundamex_map)
@@ -2558,7 +2560,8 @@ MACHINE_CONFIG_DERIVED(seta2_state::gundamex, seta2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seta2_state::grdians, seta2)
+MACHINE_CONFIG_START(seta2_state::grdians)
+ seta2(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(grdians_map)
@@ -2568,7 +2571,8 @@ MACHINE_CONFIG_DERIVED(seta2_state::grdians, seta2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seta2_state::myangel, seta2)
+MACHINE_CONFIG_START(seta2_state::myangel)
+ seta2(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(myangel_map)
@@ -2580,7 +2584,8 @@ MACHINE_CONFIG_DERIVED(seta2_state::myangel, seta2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seta2_state::myangel2, seta2)
+MACHINE_CONFIG_START(seta2_state::myangel2)
+ seta2(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(myangel2_map)
@@ -2592,7 +2597,8 @@ MACHINE_CONFIG_DERIVED(seta2_state::myangel2, seta2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seta2_state::pzlbowl, seta2)
+MACHINE_CONFIG_START(seta2_state::pzlbowl)
+ seta2(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(pzlbowl_map)
@@ -2602,7 +2608,8 @@ MACHINE_CONFIG_DERIVED(seta2_state::pzlbowl, seta2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seta2_state::penbros, seta2)
+MACHINE_CONFIG_START(seta2_state::penbros)
+ seta2(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(penbros_map)
@@ -2611,7 +2618,8 @@ MACHINE_CONFIG_DERIVED(seta2_state::penbros, seta2)
MCFG_SCREEN_VISIBLE_AREA(0, 0x140-1, 0x80, 0x160-1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seta2_state::ablastb, penbros)
+MACHINE_CONFIG_START(seta2_state::ablastb)
+ penbros(config);
MCFG_CPU_REPLACE("maincpu", M68000, XTAL(16'000'000)) // TMP68HC000P-16
MCFG_CPU_PROGRAM_MAP(ablastb_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", seta2_state, irq2_line_hold)
@@ -2619,7 +2627,8 @@ MACHINE_CONFIG_DERIVED(seta2_state::ablastb, penbros)
MCFG_DEVICE_REMOVE("tmp68301")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seta2_state::reelquak, seta2)
+MACHINE_CONFIG_START(seta2_state::reelquak)
+ seta2(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(reelquak_map)
@@ -2637,7 +2646,8 @@ MACHINE_CONFIG_DERIVED(seta2_state::reelquak, seta2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seta2_state::samshoot, seta2)
+MACHINE_CONFIG_START(seta2_state::samshoot)
+ seta2(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(samshoot_map)
MCFG_CPU_PERIODIC_INT_DRIVER(seta2_state, samshoot_interrupt, 60)
@@ -2653,7 +2663,8 @@ MACHINE_CONFIG_DERIVED(seta2_state::samshoot, seta2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(staraudi_state::staraudi, seta2)
+MACHINE_CONFIG_START(staraudi_state::staraudi)
+ seta2(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(staraudi_map)
@@ -2669,7 +2680,8 @@ MACHINE_CONFIG_DERIVED(staraudi_state::staraudi, seta2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seta2_state::telpacfl, seta2)
+MACHINE_CONFIG_START(seta2_state::telpacfl)
+ seta2(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(telpacfl_map)
@@ -2760,7 +2772,8 @@ MACHINE_CONFIG_START(seta2_state::funcube)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seta2_state::funcube2, funcube)
+MACHINE_CONFIG_START(seta2_state::funcube2)
+ funcube(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(funcube2_map)
@@ -2773,7 +2786,8 @@ MACHINE_CONFIG_DERIVED(seta2_state::funcube2, funcube)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(seta2_state::funcube3, funcube2)
+MACHINE_CONFIG_START(seta2_state::funcube3)
+ funcube2(config);
// video hardware
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0x0, 0x140-1, 0x80-0x40, 0x170-1-0x40)
diff --git a/src/mame/drivers/sf.cpp b/src/mame/drivers/sf.cpp
index 4953f2a86eb..376febf47f9 100644
--- a/src/mame/drivers/sf.cpp
+++ b/src/mame/drivers/sf.cpp
@@ -585,7 +585,8 @@ MACHINE_CONFIG_START(sf_state::sfan)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sf_state::sfus, sfan)
+MACHINE_CONFIG_START(sf_state::sfus)
+ sfan(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -593,7 +594,8 @@ MACHINE_CONFIG_DERIVED(sf_state::sfus, sfan)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sf_state::sfjp, sfan)
+MACHINE_CONFIG_START(sf_state::sfjp)
+ sfan(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -601,7 +603,8 @@ MACHINE_CONFIG_DERIVED(sf_state::sfjp, sfan)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sf_state::sfp, sfan)
+MACHINE_CONFIG_START(sf_state::sfp)
+ sfan(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/sg1000.cpp b/src/mame/drivers/sg1000.cpp
index 70469438b20..42dd6a1bf0c 100644
--- a/src/mame/drivers/sg1000.cpp
+++ b/src/mame/drivers/sg1000.cpp
@@ -551,10 +551,11 @@ MACHINE_CONFIG_START(sg1000_state::sg1000)
MACHINE_CONFIG_END
/*-------------------------------------------------
- MACHINE_CONFIG_DERIVED( omv, sg1000 )
+ MACHINE_CONFIG_START( omv )
-------------------------------------------------*/
-MACHINE_CONFIG_DERIVED(sg1000_state::omv, sg1000)
+MACHINE_CONFIG_START(sg1000_state::omv)
+ sg1000(config);
MCFG_CPU_MODIFY(Z80_TAG)
MCFG_CPU_PROGRAM_MAP(omv_map)
MCFG_CPU_IO_MAP(omv_io_map)
diff --git a/src/mame/drivers/sg1000a.cpp b/src/mame/drivers/sg1000a.cpp
index 9bf178a3a8f..e98326d7a26 100644
--- a/src/mame/drivers/sg1000a.cpp
+++ b/src/mame/drivers/sg1000a.cpp
@@ -488,7 +488,8 @@ MACHINE_CONFIG_START(sg1000a_state::sg1000a)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sg1000a_state::sg1000ax, sg1000a)
+MACHINE_CONFIG_START(sg1000a_state::sg1000ax)
+ sg1000a(config);
MCFG_CPU_REPLACE("maincpu", SEGA_315_5033, XTAL(3'579'545))
MCFG_CPU_PROGRAM_MAP(program_map)
MCFG_CPU_IO_MAP(io_map)
@@ -496,7 +497,8 @@ MACHINE_CONFIG_DERIVED(sg1000a_state::sg1000ax, sg1000a)
MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sg1000a_state::sderby2s, sg1000a)
+MACHINE_CONFIG_START(sg1000a_state::sderby2s)
+ sg1000a(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(XTAL(10'738'635) / 3)
MCFG_CPU_IO_MAP(sderby2_io_map)
diff --git a/src/mame/drivers/shangkid.cpp b/src/mame/drivers/shangkid.cpp
index 192fbff73eb..65e30df2195 100644
--- a/src/mame/drivers/shangkid.cpp
+++ b/src/mame/drivers/shangkid.cpp
@@ -422,7 +422,8 @@ MACHINE_CONFIG_START(shangkid_state::chinhero)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(shangkid_state::shangkid, chinhero)
+MACHINE_CONFIG_START(shangkid_state::shangkid)
+ chinhero(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/shaolins.cpp b/src/mame/drivers/shaolins.cpp
index cd8354845ff..04b39935a8d 100644
--- a/src/mame/drivers/shaolins.cpp
+++ b/src/mame/drivers/shaolins.cpp
@@ -225,7 +225,8 @@ MACHINE_CONFIG_START(shaolins_state::shaolins)
MACHINE_CONFIG_END
#if 0 // a bootleg board was found with downgraded sound hardware, but is otherwise the same
-static MACHINE_CONFIG_DERIVED( shaolinb, shaolins )
+static MACHINE_CONFIG_START( shaolinb )
+ shaolins(config);
MCFG_SOUND_REPLACE("sn1", SN76489, MASTER_CLOCK/12) /* only type verified on pcb */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
diff --git a/src/mame/drivers/shootout.cpp b/src/mame/drivers/shootout.cpp
index 6d52cc99338..1ab752e6496 100644
--- a/src/mame/drivers/shootout.cpp
+++ b/src/mame/drivers/shootout.cpp
@@ -337,7 +337,8 @@ MACHINE_CONFIG_START(shootout_state::shootouj)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(shootout_state::shootouk, shootouj)
+MACHINE_CONFIG_START(shootout_state::shootouk)
+ shootouj(config);
/* the Korean 'bootleg' has the usual DECO222 style encryption */
MCFG_DEVICE_REMOVE("maincpu")
MCFG_CPU_ADD("maincpu", DECO_222, XTAL(12'000'000) / 6) // 2 MHz? (Assuming the same XTAL as DE-0219 pcb)
diff --git a/src/mame/drivers/sidepckt.cpp b/src/mame/drivers/sidepckt.cpp
index d3e3d141288..f68975291cd 100644
--- a/src/mame/drivers/sidepckt.cpp
+++ b/src/mame/drivers/sidepckt.cpp
@@ -403,7 +403,8 @@ MACHINE_CONFIG_START(sidepckt_state::sidepckt)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sidepckt_state::sidepcktb, sidepckt)
+MACHINE_CONFIG_START(sidepckt_state::sidepcktb)
+ sidepckt(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/sigmab98.cpp b/src/mame/drivers/sigmab98.cpp
index a4b1faad03f..8f92f61de73 100644
--- a/src/mame/drivers/sigmab98.cpp
+++ b/src/mame/drivers/sigmab98.cpp
@@ -2852,19 +2852,22 @@ MACHINE_CONFIG_START(sigmab98_state::sigmab98)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sigmab98_state::dodghero, sigmab98)
+MACHINE_CONFIG_START(sigmab98_state::dodghero)
+ sigmab98(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP( dodghero_mem_map )
MCFG_CPU_IO_MAP( dodghero_io_map )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sigmab98_state::gegege, sigmab98)
+MACHINE_CONFIG_START(sigmab98_state::gegege)
+ sigmab98(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP( gegege_mem_map )
MCFG_CPU_IO_MAP( gegege_io_map )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sigmab98_state::dashhero, sigmab98)
+MACHINE_CONFIG_START(sigmab98_state::dashhero)
+ sigmab98(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP( gegege_mem_map )
MCFG_CPU_IO_MAP( dashhero_io_map )
@@ -3005,13 +3008,15 @@ MACHINE_CONFIG_START(sigmab98_state::sammymdl)
MCFG_SOUND_ROUTE(1, "rspeaker", 0.80)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sigmab98_state::animalc, sammymdl)
+MACHINE_CONFIG_START(sigmab98_state::animalc)
+ sammymdl(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP( animalc_map )
MCFG_CPU_IO_MAP( animalc_io )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sigmab98_state::gocowboy, sammymdl)
+MACHINE_CONFIG_START(sigmab98_state::gocowboy)
+ sammymdl(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP( gocowboy_map )
MCFG_CPU_IO_MAP( gocowboy_io )
@@ -3021,25 +3026,29 @@ MACHINE_CONFIG_DERIVED(sigmab98_state::gocowboy, sammymdl)
MCFG_TICKET_DISPENSER_ADD("hopper_large", attotime::from_msec(1000), TICKET_MOTOR_ACTIVE_LOW, TICKET_STATUS_ACTIVE_LOW )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sigmab98_state::haekaka, sammymdl)
+MACHINE_CONFIG_START(sigmab98_state::haekaka)
+ sammymdl(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP( haekaka_map )
MCFG_CPU_IO_MAP( haekaka_io )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sigmab98_state::itazuram, sammymdl)
+MACHINE_CONFIG_START(sigmab98_state::itazuram)
+ sammymdl(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP( itazuram_map )
MCFG_CPU_IO_MAP( itazuram_io )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sigmab98_state::pyenaget, sammymdl)
+MACHINE_CONFIG_START(sigmab98_state::pyenaget)
+ sammymdl(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP( haekaka_map )
MCFG_CPU_IO_MAP( pyenaget_io )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sigmab98_state::tdoboon, sammymdl)
+MACHINE_CONFIG_START(sigmab98_state::tdoboon)
+ sammymdl(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP( tdoboon_map )
MCFG_CPU_IO_MAP( tdoboon_io )
diff --git a/src/mame/drivers/silvmil.cpp b/src/mame/drivers/silvmil.cpp
index 9648d0c2a61..613f539410d 100644
--- a/src/mame/drivers/silvmil.cpp
+++ b/src/mame/drivers/silvmil.cpp
@@ -443,7 +443,8 @@ MACHINE_CONFIG_START(silvmil_state::silvmil)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(silvmil_state::puzzlove, silvmil)
+MACHINE_CONFIG_START(silvmil_state::puzzlove)
+ silvmil(config);
MCFG_DEVICE_REMOVE("audiocpu")
MCFG_CPU_ADD("audiocpu", Z80, XTAL(4'000'000)) /* Verified */
MCFG_CPU_PROGRAM_MAP(silvmil_sound_map)
@@ -456,11 +457,12 @@ MACHINE_CONFIG_DERIVED(silvmil_state::puzzlove, silvmil)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(silvmil_state::puzzlovek, puzzlove)
- MCFG_DEVICE_REMOVE("ymsnd")
- MCFG_YM2151_ADD("ymsnd", XTAL(15'000'000)/4) /* Verified */
- MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
+MACHINE_CONFIG_START(silvmil_state::puzzlovek)
+ puzzlove(config);
+ MCFG_DEVICE_REMOVE("ymsnd")
+ MCFG_YM2151_ADD("ymsnd", XTAL(15'000'000)/4) /* Verified */
+ MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/simpl156.cpp b/src/mame/drivers/simpl156.cpp
index 3a6a88a8028..0a1f09262a2 100644
--- a/src/mame/drivers/simpl156.cpp
+++ b/src/mame/drivers/simpl156.cpp
@@ -452,28 +452,32 @@ MACHINE_CONFIG_START(simpl156_state::chainrec)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(simpl156_state::magdrop, chainrec)
+MACHINE_CONFIG_START(simpl156_state::magdrop)
+ chainrec(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(magdrop_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(simpl156_state::magdropp, chainrec)
+MACHINE_CONFIG_START(simpl156_state::magdropp)
+ chainrec(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(magdropp_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(simpl156_state::joemacr, chainrec)
+MACHINE_CONFIG_START(simpl156_state::joemacr)
+ chainrec(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(joemacr_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(simpl156_state::mitchell156, chainrec)
+MACHINE_CONFIG_START(simpl156_state::mitchell156)
+ chainrec(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/simple_st0016.cpp b/src/mame/drivers/simple_st0016.cpp
index 1c77c7b72ef..f8f25956c0f 100644
--- a/src/mame/drivers/simple_st0016.cpp
+++ b/src/mame/drivers/simple_st0016.cpp
@@ -483,7 +483,8 @@ MACHINE_CONFIG_START(st0016_state::st0016)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(st0016_state::mayjinsn, st0016)
+MACHINE_CONFIG_START(st0016_state::mayjinsn)
+ st0016(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(st0016_m2_io)
MCFG_CPU_ADD("sub", V810, 10000000)//25 Mhz ?
@@ -491,7 +492,8 @@ MACHINE_CONFIG_DERIVED(st0016_state::mayjinsn, st0016)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(st0016_state::renju, st0016)
+MACHINE_CONFIG_START(st0016_state::renju)
+ st0016(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(renju_mem)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/sitcom.cpp b/src/mame/drivers/sitcom.cpp
index 7e2de43b3e8..2e77a776f41 100644
--- a/src/mame/drivers/sitcom.cpp
+++ b/src/mame/drivers/sitcom.cpp
@@ -372,7 +372,8 @@ MACHINE_CONFIG_START(sitcom_state::sitcom)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sitcom_timer_state::sitcomtmr, sitcom)
+MACHINE_CONFIG_START(sitcom_timer_state::sitcomtmr)
+ sitcom(config);
MCFG_DEVICE_ADD("ds2", DL1414T, 0) // remote display
MCFG_DL1414_UPDATE_HANDLER(WRITE16(sitcom_state, update_ds<2>))
diff --git a/src/mame/drivers/skylncr.cpp b/src/mame/drivers/skylncr.cpp
index e1b5bb49134..686fc183063 100644
--- a/src/mame/drivers/skylncr.cpp
+++ b/src/mame/drivers/skylncr.cpp
@@ -1678,14 +1678,16 @@ MACHINE_CONFIG_START(skylncr_state::skylncr)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(skylncr_state::mbutrfly, skylncr)
+MACHINE_CONFIG_START(skylncr_state::mbutrfly)
+ skylncr(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(io_map_mbutrfly)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(skylncr_state::neraidou, skylncr)
+MACHINE_CONFIG_START(skylncr_state::neraidou)
+ skylncr(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1693,7 +1695,8 @@ MACHINE_CONFIG_DERIVED(skylncr_state::neraidou, skylncr)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(skylncr_state::sstar97, skylncr)
+MACHINE_CONFIG_START(skylncr_state::sstar97)
+ skylncr(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1701,7 +1704,8 @@ MACHINE_CONFIG_DERIVED(skylncr_state::sstar97, skylncr)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(skylncr_state::bdream97, skylncr)
+MACHINE_CONFIG_START(skylncr_state::bdream97)
+ skylncr(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/slapfght.cpp b/src/mame/drivers/slapfght.cpp
index 11b51dc0cc3..72a2b244d5b 100644
--- a/src/mame/drivers/slapfght.cpp
+++ b/src/mame/drivers/slapfght.cpp
@@ -975,7 +975,8 @@ MACHINE_CONFIG_START(slapfght_state::tigerh)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(slapfght_state::tigerhb1, tigerh)
+MACHINE_CONFIG_START(slapfght_state::tigerhb1)
+ tigerh(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -985,7 +986,8 @@ MACHINE_CONFIG_DERIVED(slapfght_state::tigerhb1, tigerh)
MCFG_DEVICE_REMOVE("bmcu")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(slapfght_state::tigerhb2, tigerhb1)
+MACHINE_CONFIG_START(slapfght_state::tigerhb2)
+ tigerhb1(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1046,7 +1048,8 @@ MACHINE_CONFIG_START(slapfght_state::slapfigh)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(slapfght_state::slapfighb1, slapfigh)
+MACHINE_CONFIG_START(slapfght_state::slapfighb1)
+ slapfigh(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1056,21 +1059,24 @@ MACHINE_CONFIG_DERIVED(slapfght_state::slapfighb1, slapfigh)
MCFG_DEVICE_REMOVE("bmcu")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(slapfght_state::slapfighb2, slapfighb1)
+MACHINE_CONFIG_START(slapfght_state::slapfighb2)
+ slapfighb1(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(slapfighb2_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(slapfght_state::getstarb1, slapfighb1)
+MACHINE_CONFIG_START(slapfght_state::getstarb1)
+ slapfighb1(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(getstarb1_io_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(slapfght_state::getstarb2, slapfighb1)
+MACHINE_CONFIG_START(slapfght_state::getstarb2)
+ slapfighb1(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/sms.cpp b/src/mame/drivers/sms.cpp
index 140831a4634..c3a7c5f6661 100644
--- a/src/mame/drivers/sms.cpp
+++ b/src/mame/drivers/sms.cpp
@@ -506,7 +506,8 @@ MACHINE_CONFIG_START(sms_state::sms_base)
MCFG_SMS_CONTROL_PORT_PIXEL_HANDLER(READ32(sms_state, sms_pixel_color))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sms_state::sms_ntsc_base, sms_base)
+MACHINE_CONFIG_START(sms_state::sms_ntsc_base)
+ sms_base(config);
MCFG_CPU_ADD("maincpu", Z80, XTAL(10'738'635)/3)
MCFG_CPU_PROGRAM_MAP(sms_mem)
MCFG_CPU_IO_MAP(sms_io)
@@ -566,7 +567,8 @@ MACHINE_CONFIG_END
MCFG_SCREEN_REFRESH_RATE(_pixelclock / (sega315_5124_device::WIDTH * sega315_5124_device::HEIGHT_NTSC))
-MACHINE_CONFIG_DERIVED(sms_state::sms2_ntsc, sms_ntsc_base)
+MACHINE_CONFIG_START(sms_state::sms2_ntsc)
+ sms_ntsc_base(config);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_SMS_NTSC_RAW_PARAMS(XTAL(10'738'635)/2)
@@ -580,7 +582,8 @@ MACHINE_CONFIG_DERIVED(sms_state::sms2_ntsc, sms_ntsc_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sms_state::sms1_ntsc, sms_ntsc_base)
+MACHINE_CONFIG_START(sms_state::sms1_ntsc)
+ sms_ntsc_base(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(sms1_mem) // This adds the SegaScope handlers for 3-D glasses
@@ -616,7 +619,8 @@ MACHINE_CONFIG_DERIVED(sms_state::sms1_ntsc, sms_ntsc_base)
MCFG_SMS_EXPANSION_ADD("smsexp", sms_expansion_devices, nullptr)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(smssdisp_state::sms_sdisp, sms1_ntsc)
+MACHINE_CONFIG_START(smssdisp_state::sms_sdisp)
+ sms1_ntsc(config);
MCFG_DEVICE_MODIFY("sms_vdp")
MCFG_SEGA315_5124_INT_CB(WRITELINE(smssdisp_state, sms_store_int_callback))
@@ -663,7 +667,8 @@ MACHINE_CONFIG_DERIVED(smssdisp_state::sms_sdisp, sms1_ntsc)
MCFG_SMS_CARD_ADD("slot32", sms_cart, nullptr)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sms_state::sms_pal_base, sms_base)
+MACHINE_CONFIG_START(sms_state::sms_pal_base)
+ sms_base(config);
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK_PAL/15)
MCFG_CPU_PROGRAM_MAP(sms_mem)
@@ -676,7 +681,8 @@ MACHINE_CONFIG_DERIVED(sms_state::sms_pal_base, sms_base)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sms_state::sms2_pal, sms_pal_base)
+MACHINE_CONFIG_START(sms_state::sms2_pal)
+ sms_pal_base(config);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -690,7 +696,8 @@ MACHINE_CONFIG_DERIVED(sms_state::sms2_pal, sms_pal_base)
MCFG_SEGA315_5246_PAUSE_CB(WRITELINE(sms_state, sms_pause_callback))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sms_state::sms1_pal, sms_pal_base)
+MACHINE_CONFIG_START(sms_state::sms1_pal)
+ sms_pal_base(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(sms1_mem) // This adds the SegaScope handlers for 3-D glasses
@@ -727,7 +734,8 @@ MACHINE_CONFIG_DERIVED(sms_state::sms1_pal, sms_pal_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sms_state::sms_paln_base, sms_base)
+MACHINE_CONFIG_START(sms_state::sms_paln_base)
+ sms_base(config);
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK_PALN/3)
MCFG_CPU_PROGRAM_MAP(sms_mem)
@@ -740,7 +748,8 @@ MACHINE_CONFIG_DERIVED(sms_state::sms_paln_base, sms_base)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sms_state::sms3_paln, sms_paln_base)
+MACHINE_CONFIG_START(sms_state::sms3_paln)
+ sms_paln_base(config);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -754,7 +763,8 @@ MACHINE_CONFIG_DERIVED(sms_state::sms3_paln, sms_paln_base)
MCFG_SEGA315_5246_PAUSE_CB(WRITELINE(sms_state, sms_pause_callback))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sms_state::sms1_paln, sms_paln_base)
+MACHINE_CONFIG_START(sms_state::sms1_paln)
+ sms_paln_base(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(sms1_mem) // This adds the SegaScope handlers for 3-D glasses
@@ -791,7 +801,8 @@ MACHINE_CONFIG_DERIVED(sms_state::sms1_paln, sms_paln_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sms_state::sms_br_base, sms_base)
+MACHINE_CONFIG_START(sms_state::sms_br_base)
+ sms_base(config);
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK_PALM/3)
MCFG_CPU_PROGRAM_MAP(sms_mem)
@@ -805,7 +816,8 @@ MACHINE_CONFIG_DERIVED(sms_state::sms_br_base, sms_base)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sms_state::sms3_br, sms_br_base)
+MACHINE_CONFIG_START(sms_state::sms3_br)
+ sms_br_base(config);
/* video hardware */
// PAL-M height/width parameters are the same of NTSC screens.
MCFG_SCREEN_ADD("screen", RASTER)
@@ -819,7 +831,8 @@ MACHINE_CONFIG_DERIVED(sms_state::sms3_br, sms_br_base)
MCFG_SEGA315_5246_PAUSE_CB(WRITELINE(sms_state, sms_pause_callback))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sms_state::sms1_br, sms_br_base)
+MACHINE_CONFIG_START(sms_state::sms1_br)
+ sms_br_base(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(sms1_mem) // This adds the SegaScope handlers for 3-D glasses
@@ -857,7 +870,8 @@ MACHINE_CONFIG_DERIVED(sms_state::sms1_br, sms_br_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sms_state::sms2_kr, sms2_ntsc)
+MACHINE_CONFIG_START(sms_state::sms2_kr)
+ sms2_ntsc(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(smskr_io)
@@ -866,7 +880,8 @@ MACHINE_CONFIG_DERIVED(sms_state::sms2_kr, sms2_ntsc)
MCFG_SOFTWARE_LIST_ADD("cart_list2","sg1000")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sms_state::sms1_kr, sms1_ntsc)
+MACHINE_CONFIG_START(sms_state::sms1_kr)
+ sms1_ntsc(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(smskr_io)
@@ -885,7 +900,8 @@ MACHINE_CONFIG_DERIVED(sms_state::sms1_kr, sms1_ntsc)
MCFG_SEGA315_5124_CSYNC_CB(WRITELINE(sms_state, sms_csync_callback))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sms_state::smsj, sms1_kr)
+MACHINE_CONFIG_START(sms_state::smsj)
+ sms1_kr(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(smsj_io)
@@ -895,7 +911,8 @@ MACHINE_CONFIG_DERIVED(sms_state::smsj, sms1_kr)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sms_state::sg1000m3, sms1_ntsc)
+MACHINE_CONFIG_START(sms_state::sg1000m3)
+ sms1_ntsc(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(sg1000m3_io)
diff --git a/src/mame/drivers/smsmcorp.cpp b/src/mame/drivers/smsmcorp.cpp
index aa0c7981ba9..f6beb935e8e 100644
--- a/src/mame/drivers/smsmcorp.cpp
+++ b/src/mame/drivers/smsmcorp.cpp
@@ -577,7 +577,8 @@ MACHINE_CONFIG_START(smsmfg_state::sms)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(smsmfg_state::sureshot, sms)
+MACHINE_CONFIG_START(smsmfg_state::sureshot)
+ sms(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(sureshot_map)
diff --git a/src/mame/drivers/snes.cpp b/src/mame/drivers/snes.cpp
index dbec33b71dd..604d131f2c9 100644
--- a/src/mame/drivers/snes.cpp
+++ b/src/mame/drivers/snes.cpp
@@ -1369,7 +1369,8 @@ MACHINE_CONFIG_START(snes_console_state::snes)
MCFG_SOFTWARE_LIST_ADD("st_list","snes_strom")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(snes_console_state::snespal, snes)
+MACHINE_CONFIG_START(snes_console_state::snespal)
+ snes(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_CLOCK( MCLK_PAL )
diff --git a/src/mame/drivers/snesb.cpp b/src/mame/drivers/snesb.cpp
index e469105c51c..fdf2c424bef 100644
--- a/src/mame/drivers/snesb.cpp
+++ b/src/mame/drivers/snesb.cpp
@@ -725,7 +725,8 @@ ADDRESS_MAP_START(snesb_state::mcu_io_map)
ADDRESS_MAP_END
-MACHINE_CONFIG_DERIVED(snesb_state::mk3snes, kinstb)
+MACHINE_CONFIG_START(snesb_state::mk3snes)
+ kinstb(config);
MCFG_CPU_ADD("mcu", I8751, XTAL(8'000'000))
MCFG_CPU_IO_MAP(mcu_io_map)
@@ -741,7 +742,8 @@ MACHINE_RESET_MEMBER( snesb_state, ffight2b )
cpu0space.write_byte(0x7eadce, 0x00);
}
-MACHINE_CONFIG_DERIVED(snesb_state::ffight2b, kinstb)
+MACHINE_CONFIG_START(snesb_state::ffight2b)
+ kinstb(config);
MCFG_MACHINE_RESET_OVERRIDE( snesb_state, ffight2b )
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/snk.cpp b/src/mame/drivers/snk.cpp
index fcca50cb5c7..d3f8d7911ad 100644
--- a/src/mame/drivers/snk.cpp
+++ b/src/mame/drivers/snk.cpp
@@ -3658,7 +3658,8 @@ MACHINE_CONFIG_START(snk_state::marvins)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(snk_state::vangrd2, marvins)
+MACHINE_CONFIG_START(snk_state::vangrd2)
+ marvins(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3669,7 +3670,8 @@ MACHINE_CONFIG_DERIVED(snk_state::vangrd2, marvins)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(snk_state::madcrush, marvins)
+MACHINE_CONFIG_START(snk_state::madcrush)
+ marvins(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3727,7 +3729,8 @@ MACHINE_CONFIG_START(snk_state::jcross)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(snk_state::sgladiat, jcross)
+MACHINE_CONFIG_START(snk_state::sgladiat)
+ jcross(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3744,7 +3747,8 @@ MACHINE_CONFIG_DERIVED(snk_state::sgladiat, jcross)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(snk_state::hal21, jcross)
+MACHINE_CONFIG_START(snk_state::hal21)
+ jcross(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3806,7 +3810,8 @@ MACHINE_CONFIG_START(snk_state::tnk3)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(snk_state::aso, tnk3)
+MACHINE_CONFIG_START(snk_state::aso)
+ tnk3(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3823,7 +3828,8 @@ MACHINE_CONFIG_DERIVED(snk_state::aso, tnk3)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(snk_state::athena, tnk3)
+MACHINE_CONFIG_START(snk_state::athena)
+ tnk3(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("audiocpu")
@@ -3836,7 +3842,8 @@ MACHINE_CONFIG_DERIVED(snk_state::athena, tnk3)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(snk_state::fitegolf, tnk3)
+MACHINE_CONFIG_START(snk_state::fitegolf)
+ tnk3(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("audiocpu")
@@ -3849,7 +3856,8 @@ MACHINE_CONFIG_DERIVED(snk_state::fitegolf, tnk3)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 2.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(snk_state::fitegolf2, fitegolf)
+MACHINE_CONFIG_START(snk_state::fitegolf2)
+ fitegolf(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(snk_state, screen_update_fitegolf2)
MACHINE_CONFIG_END
@@ -3901,7 +3909,8 @@ MACHINE_CONFIG_START(snk_state::ikari)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(snk_state::victroad, ikari)
+MACHINE_CONFIG_START(snk_state::victroad)
+ ikari(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("audiocpu")
@@ -3958,14 +3967,16 @@ MACHINE_CONFIG_START(snk_state::bermudat)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(snk_state::psychos, bermudat)
+MACHINE_CONFIG_START(snk_state::psychos)
+ bermudat(config);
/* video hardware */
MCFG_VIDEO_START_OVERRIDE(snk_state,psychos)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(snk_state::gwar, bermudat)
+MACHINE_CONFIG_START(snk_state::gwar)
+ bermudat(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3977,7 +3988,8 @@ MACHINE_CONFIG_DERIVED(snk_state::gwar, bermudat)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(snk_state::gwara, bermudat)
+MACHINE_CONFIG_START(snk_state::gwara)
+ bermudat(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3988,7 +4000,8 @@ MACHINE_CONFIG_DERIVED(snk_state::gwara, bermudat)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(snk_state::chopper1, bermudat)
+MACHINE_CONFIG_START(snk_state::chopper1)
+ bermudat(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("sub")
@@ -4004,7 +4017,8 @@ MACHINE_CONFIG_DERIVED(snk_state::chopper1, bermudat)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(snk_state::choppera, chopper1)
+MACHINE_CONFIG_START(snk_state::choppera)
+ chopper1(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -4058,7 +4072,8 @@ MACHINE_CONFIG_START(snk_state::tdfever)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(snk_state::tdfever2, tdfever)
+MACHINE_CONFIG_START(snk_state::tdfever2)
+ tdfever(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("audiocpu")
diff --git a/src/mame/drivers/snk6502.cpp b/src/mame/drivers/snk6502.cpp
index 6bd071c6b8f..56070575241 100644
--- a/src/mame/drivers/snk6502.cpp
+++ b/src/mame/drivers/snk6502.cpp
@@ -923,7 +923,8 @@ MACHINE_CONFIG_START(snk6502_state::sasuke)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(snk6502_state::satansat, sasuke)
+MACHINE_CONFIG_START(snk6502_state::satansat)
+ sasuke(config);
// basic machine hardware
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(satansat_map)
@@ -1036,7 +1037,8 @@ MACHINE_CONFIG_START(snk6502_state::vanguard)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(snk6502_state::fantasy, vanguard)
+MACHINE_CONFIG_START(snk6502_state::fantasy)
+ vanguard(config);
// basic machine hardware
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(fantasy_map)
@@ -1073,13 +1075,15 @@ MACHINE_CONFIG_DERIVED(snk6502_state::fantasy, vanguard)
MCFG_DEVICE_REMOVE("sn76477.2")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(snk6502_state::nibbler, fantasy)
+MACHINE_CONFIG_START(snk6502_state::nibbler)
+ fantasy(config);
// sound hardware
MCFG_DEVICE_REMOVE("samples")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(snk6502_state::pballoon, nibbler)
+MACHINE_CONFIG_START(snk6502_state::pballoon)
+ nibbler(config);
// basic machine hardware
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(pballoon_map)
diff --git a/src/mame/drivers/snk68.cpp b/src/mame/drivers/snk68.cpp
index 50e436cc871..488ec234ef0 100644
--- a/src/mame/drivers/snk68.cpp
+++ b/src/mame/drivers/snk68.cpp
@@ -630,12 +630,14 @@ MACHINE_CONFIG_START(snk68_state::pow)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(snk68_state::streetsm, pow)
+MACHINE_CONFIG_START(snk68_state::streetsm)
+ pow(config);
MCFG_DEVICE_MODIFY("sprites")
MCFG_SNK68_SPR_SET_TILE_INDIRECT( snk68_state, tile_callback_notpow )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(snk68_state::searchar, streetsm)
+MACHINE_CONFIG_START(snk68_state::searchar)
+ streetsm(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(searchar_map)
diff --git a/src/mame/drivers/snookr10.cpp b/src/mame/drivers/snookr10.cpp
index 9b90455f256..a9742820d4e 100644
--- a/src/mame/drivers/snookr10.cpp
+++ b/src/mame/drivers/snookr10.cpp
@@ -1067,7 +1067,8 @@ MACHINE_CONFIG_START(snookr10_state::snookr10)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(snookr10_state::apple10, snookr10)
+MACHINE_CONFIG_START(snookr10_state::apple10)
+ snookr10(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1079,7 +1080,8 @@ MACHINE_CONFIG_DERIVED(snookr10_state::apple10, snookr10)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(snookr10_state::tenballs, snookr10)
+MACHINE_CONFIG_START(snookr10_state::tenballs)
+ snookr10(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1087,7 +1089,8 @@ MACHINE_CONFIG_DERIVED(snookr10_state::tenballs, snookr10)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(snookr10_state::crystalc, snookr10)
+MACHINE_CONFIG_START(snookr10_state::crystalc)
+ snookr10(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/snowbros.cpp b/src/mame/drivers/snowbros.cpp
index 090c2af4171..ab6f356e39a 100644
--- a/src/mame/drivers/snowbros.cpp
+++ b/src/mame/drivers/snowbros.cpp
@@ -1781,7 +1781,8 @@ MACHINE_CONFIG_START(snowbros_state::snowbros)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(snowbros_state::wintbob, snowbros)
+MACHINE_CONFIG_START(snowbros_state::wintbob)
+ snowbros(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1798,7 +1799,8 @@ MACHINE_CONFIG_DERIVED(snowbros_state::wintbob, snowbros)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(snowbros_state::semicom, snowbros)
+MACHINE_CONFIG_START(snowbros_state::semicom)
+ snowbros(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1828,7 +1830,8 @@ MACHINE_CONFIG_DERIVED(snowbros_state::semicom, snowbros)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(snowbros_state::semicom_mcu, semicom)
+MACHINE_CONFIG_START(snowbros_state::semicom_mcu)
+ semicom(config);
/* basic machine hardware */
@@ -1838,7 +1841,8 @@ MACHINE_CONFIG_DERIVED(snowbros_state::semicom_mcu, semicom)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(snowbros_state::semiprot, semicom)
+MACHINE_CONFIG_START(snowbros_state::semiprot)
+ semicom(config);
MCFG_MACHINE_RESET_OVERRIDE (snowbros_state, semiprot )
MACHINE_CONFIG_END
@@ -1940,7 +1944,8 @@ Intel P8752 (mcu)
*/
-MACHINE_CONFIG_DERIVED(snowbros_state::finalttr, semicom)
+MACHINE_CONFIG_START(snowbros_state::finalttr)
+ semicom(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(XTAL(12'000'000))
@@ -1961,7 +1966,8 @@ MACHINE_CONFIG_DERIVED(snowbros_state::finalttr, semicom)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(snowbros_state::_4in1, semicom)
+MACHINE_CONFIG_START(snowbros_state::_4in1)
+ semicom(config);
/* basic machine hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", snowbros)
diff --git a/src/mame/drivers/socrates.cpp b/src/mame/drivers/socrates.cpp
index 22c85530354..0c18333a0aa 100644
--- a/src/mame/drivers/socrates.cpp
+++ b/src/mame/drivers/socrates.cpp
@@ -1503,7 +1503,8 @@ MACHINE_CONFIG_START(socrates_state::socrates)
MCFG_SOFTWARE_LIST_ADD("cart_list", "socrates")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(socrates_state::socrates_pal, socrates)
+MACHINE_CONFIG_START(socrates_state::socrates_pal)
+ socrates(config);
MCFG_CPU_REPLACE("maincpu", Z80, XTAL(26'601'712)/8)
MCFG_CPU_PROGRAM_MAP(z80_mem)
MCFG_CPU_IO_MAP(z80_io)
diff --git a/src/mame/drivers/sorcerer.cpp b/src/mame/drivers/sorcerer.cpp
index 1cf32893baa..c18f5406e76 100644
--- a/src/mame/drivers/sorcerer.cpp
+++ b/src/mame/drivers/sorcerer.cpp
@@ -481,7 +481,8 @@ MACHINE_CONFIG_START(sorcerer_state::sorcerer)
MCFG_RAM_EXTRA_OPTIONS("8K,16K,32K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sorcerer_state::sorcererd, sorcerer)
+MACHINE_CONFIG_START(sorcerer_state::sorcererd)
+ sorcerer(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(sorcererd_mem)
diff --git a/src/mame/drivers/spacefb.cpp b/src/mame/drivers/spacefb.cpp
index 94aa1686437..6e632704d01 100644
--- a/src/mame/drivers/spacefb.cpp
+++ b/src/mame/drivers/spacefb.cpp
@@ -352,7 +352,7 @@ MACHINE_CONFIG_START(spacefb_state::spacefb)
MCFG_SCREEN_UPDATE_DRIVER(spacefb_state, screen_update)
/* audio hardware */
- MCFG_FRAGMENT_ADD(spacefb_audio)
+ spacefb_audio(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/spcforce.cpp b/src/mame/drivers/spcforce.cpp
index c0587014201..2bce652320d 100644
--- a/src/mame/drivers/spcforce.cpp
+++ b/src/mame/drivers/spcforce.cpp
@@ -331,7 +331,8 @@ MACHINE_CONFIG_START(spcforce_state::spcforce)
MCFG_SN76496_READY_HANDLER(WRITELINE(spcforce_state, write_sn3_ready))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(spcforce_state::meteors, spcforce)
+MACHINE_CONFIG_START(spcforce_state::meteors)
+ spcforce(config);
MCFG_DEVICE_MODIFY("mainlatch")
MCFG_ADDRESSABLE_LATCH_Q3_OUT_CB(NOOP)
MCFG_ADDRESSABLE_LATCH_Q5_OUT_CB(WRITELINE(spcforce_state, irq_mask_w)) // ??
diff --git a/src/mame/drivers/spec128.cpp b/src/mame/drivers/spec128.cpp
index b8436c5bb71..a5d5be4fb96 100644
--- a/src/mame/drivers/spec128.cpp
+++ b/src/mame/drivers/spec128.cpp
@@ -288,7 +288,8 @@ static GFXDECODE_START( spec128 )
GFXDECODE_END
-MACHINE_CONFIG_DERIVED(spectrum_state::spectrum_128, spectrum)
+MACHINE_CONFIG_START(spectrum_state::spectrum_128)
+ spectrum(config);
MCFG_DEVICE_REMOVE("maincpu")
diff --git a/src/mame/drivers/special.cpp b/src/mame/drivers/special.cpp
index 944ca60d82e..84afade68c7 100644
--- a/src/mame/drivers/special.cpp
+++ b/src/mame/drivers/special.cpp
@@ -402,7 +402,8 @@ MACHINE_CONFIG_START(special_state::special)
MCFG_SOFTWARE_LIST_ADD("cass_list","special_cass")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(special_state::specialp, special)
+MACHINE_CONFIG_START(special_state::specialp)
+ special(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(specialp_mem)
@@ -414,7 +415,8 @@ MACHINE_CONFIG_DERIVED(special_state::specialp, special)
MCFG_VIDEO_START_OVERRIDE(special_state,specialp)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(special_state::specialm, special)
+MACHINE_CONFIG_START(special_state::specialm)
+ special(config);
MCFG_DEVICE_REMOVE("ppi8255")
MCFG_DEVICE_ADD("ppi8255", I8255, 0)
MCFG_I8255_IN_PORTA_CB(READ8(special_state, specialist_8255_porta_r))
@@ -425,7 +427,8 @@ MACHINE_CONFIG_DERIVED(special_state::specialm, special)
MCFG_I8255_OUT_PORTC_CB(WRITE8(special_state, specialist_8255_portc_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(special_state::specimx, special)
+MACHINE_CONFIG_START(special_state::specimx)
+ special(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(specimx_mem)
diff --git a/src/mame/drivers/specpls3.cpp b/src/mame/drivers/specpls3.cpp
index 056c796efad..02363858cdd 100644
--- a/src/mame/drivers/specpls3.cpp
+++ b/src/mame/drivers/specpls3.cpp
@@ -369,7 +369,8 @@ static GFXDECODE_START( specpls3 )
GFXDECODE_END
-MACHINE_CONFIG_DERIVED(spectrum_state::spectrum_plus3, spectrum_128)
+MACHINE_CONFIG_START(spectrum_state::spectrum_plus3)
+ spectrum_128(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(spectrum_plus3_mem)
MCFG_CPU_IO_MAP(spectrum_plus3_io)
diff --git a/src/mame/drivers/spectra.cpp b/src/mame/drivers/spectra.cpp
index a2a477306e8..c03d07ba614 100644
--- a/src/mame/drivers/spectra.cpp
+++ b/src/mame/drivers/spectra.cpp
@@ -244,7 +244,7 @@ MACHINE_CONFIG_START(spectra_state::spectra)
MCFG_DEFAULT_LAYOUT(layout_spectra)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("snsnd", SN76477, 0)
diff --git a/src/mame/drivers/spectrum.cpp b/src/mame/drivers/spectrum.cpp
index efa61db70ce..01c8d24100d 100644
--- a/src/mame/drivers/spectrum.cpp
+++ b/src/mame/drivers/spectrum.cpp
@@ -699,7 +699,8 @@ MACHINE_CONFIG_START(spectrum_state::spectrum_common)
MCFG_SOFTWARE_LIST_ADD("cass_list", "spectrum_cass")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(spectrum_state::spectrum, spectrum_common)
+MACHINE_CONFIG_START(spectrum_state::spectrum)
+ spectrum_common(config);
/* internal ram */
MCFG_RAM_ADD(RAM_TAG) // This configuration is verified only for the original ZX Spectrum.
diff --git a/src/mame/drivers/spiders.cpp b/src/mame/drivers/spiders.cpp
index 10ed7094de8..2f4bcbe0ece 100644
--- a/src/mame/drivers/spiders.cpp
+++ b/src/mame/drivers/spiders.cpp
@@ -597,7 +597,7 @@ MACHINE_CONFIG_START(spiders_state::spiders)
MCFG_TTL74123_OUTPUT_CHANGED_CB(WRITELINE(spiders_state, ic60_74123_output_changed))
/* audio hardware */
- MCFG_FRAGMENT_ADD(spiders_audio)
+ spiders_audio(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/spinb.cpp b/src/mame/drivers/spinb.cpp
index a4bf7be936e..6fafdaa1fb4 100644
--- a/src/mame/drivers/spinb.cpp
+++ b/src/mame/drivers/spinb.cpp
@@ -657,7 +657,7 @@ MACHINE_CONFIG_START(spinb_state::spinb)
MCFG_PALETTE_INIT_OWNER(spinb_state, spinb)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MCFG_SPEAKER_STANDARD_MONO("msmavol")
MCFG_SOUND_ADD("msm_a", MSM5205, XTAL(384'000))
MCFG_MSM5205_VCK_CALLBACK(DEVWRITELINE("ic5a", ttl7474_device, clock_w))
@@ -727,7 +727,8 @@ MACHINE_CONFIG_START(spinb_state::spinb)
MCFG_74157_OUT_CB(DEVWRITE8("msm_m", msm5205_device, data_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(spinb_state::jolypark, spinb)
+MACHINE_CONFIG_START(spinb_state::jolypark)
+ spinb(config);
MCFG_SOUND_REPLACE("msm_a", MSM6585, XTAL(640'000))
MCFG_MSM6585_VCK_CALLBACK(DEVWRITELINE("ic5a", ttl7474_device, clock_w))
MCFG_MSM6585_PRESCALER_SELECTOR(S40)
@@ -738,7 +739,8 @@ MACHINE_CONFIG_DERIVED(spinb_state::jolypark, spinb)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "msmmvol", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(spinb_state::vrnwrld, jolypark)
+MACHINE_CONFIG_START(spinb_state::vrnwrld)
+ jolypark(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(vrnwrld_map)
diff --git a/src/mame/drivers/spirit76.cpp b/src/mame/drivers/spirit76.cpp
index 45dc39f88b7..e306884a2f5 100644
--- a/src/mame/drivers/spirit76.cpp
+++ b/src/mame/drivers/spirit76.cpp
@@ -139,7 +139,7 @@ MACHINE_CONFIG_START(spirit76_state::spirit76)
// MCFG_PIA_IRQB_HANDLER(INPUTLINE("maincpu", M6800_IRQ_LINE))
/* sound hardware */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/spoker.cpp b/src/mame/drivers/spoker.cpp
index 613f8b0cf7d..7e1ee0a91bc 100644
--- a/src/mame/drivers/spoker.cpp
+++ b/src/mame/drivers/spoker.cpp
@@ -637,7 +637,8 @@ MACHINE_CONFIG_START(spoker_state::spoker)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(spoker_state::_3super8, spoker)
+MACHINE_CONFIG_START(spoker_state::_3super8)
+ spoker(config);
MCFG_CPU_REPLACE("maincpu", Z80, XTAL(24'000'000) / 4) /* z840006, 24/4 MHz? */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/spool99.cpp b/src/mame/drivers/spool99.cpp
index 8e21127e62c..63b8161e697 100644
--- a/src/mame/drivers/spool99.cpp
+++ b/src/mame/drivers/spool99.cpp
@@ -388,7 +388,8 @@ MACHINE_CONFIG_START(spool99_state::spool99)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.47)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(spool99_state::vcarn, spool99)
+MACHINE_CONFIG_START(spool99_state::vcarn)
+ spool99(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(vcarn_map)
diff --git a/src/mame/drivers/sprint2.cpp b/src/mame/drivers/sprint2.cpp
index 364dfe95fac..8975ab3704e 100644
--- a/src/mame/drivers/sprint2.cpp
+++ b/src/mame/drivers/sprint2.cpp
@@ -551,7 +551,8 @@ MACHINE_CONFIG_START(sprint2_state::sprint2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sprint2_state::sprint1, sprint2)
+MACHINE_CONFIG_START(sprint2_state::sprint1)
+ sprint2(config);
/* sound hardware */
MCFG_DEVICE_REMOVE("lspeaker")
@@ -566,7 +567,8 @@ MACHINE_CONFIG_DERIVED(sprint2_state::sprint1, sprint2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sprint2_state::dominos, sprint2)
+MACHINE_CONFIG_START(sprint2_state::dominos)
+ sprint2(config);
/* sound hardware */
MCFG_DEVICE_REMOVE("lspeaker")
@@ -580,7 +582,8 @@ MACHINE_CONFIG_DERIVED(sprint2_state::dominos, sprint2)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sprint2_state::dominos4, dominos)
+MACHINE_CONFIG_START(sprint2_state::dominos4)
+ dominos(config);
MCFG_DEVICE_MODIFY("outlatch")
MCFG_ADDRESSABLE_LATCH_Q5_OUT_CB(WRITELINE(sprint2_state, lamp3_w))
MCFG_ADDRESSABLE_LATCH_Q6_OUT_CB(WRITELINE(sprint2_state, lamp4_w))
diff --git a/src/mame/drivers/sprint8.cpp b/src/mame/drivers/sprint8.cpp
index d860a9cd466..e7f4b07ff9a 100644
--- a/src/mame/drivers/sprint8.cpp
+++ b/src/mame/drivers/sprint8.cpp
@@ -477,7 +477,7 @@ MACHINE_CONFIG_START(sprint8_state::sprint8)
MCFG_PALETTE_INDIRECT_ENTRIES(18)
MCFG_PALETTE_INIT_OWNER(sprint8_state, sprint8)
- MCFG_FRAGMENT_ADD(sprint8_audio)
+ sprint8_audio(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/srmp2.cpp b/src/mame/drivers/srmp2.cpp
index f2291c3800e..6018b9538c2 100644
--- a/src/mame/drivers/srmp2.cpp
+++ b/src/mame/drivers/srmp2.cpp
@@ -1225,7 +1225,8 @@ MACHINE_CONFIG_START(srmp2_state::srmp3)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.45)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(srmp2_state::rmgoldyh, srmp3)
+MACHINE_CONFIG_START(srmp2_state::rmgoldyh)
+ srmp3(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(rmgoldyh_map)
diff --git a/src/mame/drivers/ssfindo.cpp b/src/mame/drivers/ssfindo.cpp
index 89a336c8a79..89fffd54122 100644
--- a/src/mame/drivers/ssfindo.cpp
+++ b/src/mame/drivers/ssfindo.cpp
@@ -809,7 +809,8 @@ MACHINE_CONFIG_START(ssfindo_state::ssfindo)
MCFG_PALETTE_ADD("palette", 256)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ssfindo_state::ppcar, ssfindo)
+MACHINE_CONFIG_START(ssfindo_state::ppcar)
+ ssfindo(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -818,7 +819,8 @@ MACHINE_CONFIG_DERIVED(ssfindo_state::ppcar, ssfindo)
MCFG_DEVICE_REMOVE("i2cmem")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ssfindo_state::tetfight, ppcar)
+MACHINE_CONFIG_START(ssfindo_state::tetfight)
+ ppcar(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/sshangha.cpp b/src/mame/drivers/sshangha.cpp
index d7a9ffd1630..abc8e48d36a 100644
--- a/src/mame/drivers/sshangha.cpp
+++ b/src/mame/drivers/sshangha.cpp
@@ -443,7 +443,8 @@ MACHINE_CONFIG_START(sshangha_state::sshangha)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.27)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(sshangha_state::sshanghb, sshangha)
+MACHINE_CONFIG_START(sshangha_state::sshanghb)
+ sshangha(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(sshanghb_map)
diff --git a/src/mame/drivers/ssingles.cpp b/src/mame/drivers/ssingles.cpp
index 816dcafc84b..24389a8d1c2 100644
--- a/src/mame/drivers/ssingles.cpp
+++ b/src/mame/drivers/ssingles.cpp
@@ -578,7 +578,8 @@ INTERRUPT_GEN_MEMBER(ssingles_state::atamanot_irq)
// ...
}
-MACHINE_CONFIG_DERIVED(ssingles_state::atamanot, ssingles)
+MACHINE_CONFIG_START(ssingles_state::atamanot)
+ ssingles(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(atamanot_map)
MCFG_CPU_IO_MAP(atamanot_io_map)
diff --git a/src/mame/drivers/sstrangr.cpp b/src/mame/drivers/sstrangr.cpp
index d6913a9cf44..9d482bcd53a 100644
--- a/src/mame/drivers/sstrangr.cpp
+++ b/src/mame/drivers/sstrangr.cpp
@@ -258,7 +258,8 @@ static INPUT_PORTS_START( sstrngr2 )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(sstrangr_state::sstrngr2, sstrangr)
+MACHINE_CONFIG_START(sstrangr_state::sstrngr2)
+ sstrangr(config);
/* basic machine hardware */
diff --git a/src/mame/drivers/ssv.cpp b/src/mame/drivers/ssv.cpp
index 3c7b3dba5d6..7bac230bb38 100644
--- a/src/mame/drivers/ssv.cpp
+++ b/src/mame/drivers/ssv.cpp
@@ -2585,7 +2585,8 @@ MACHINE_CONFIG_START(ssv_state::ssv)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ssv_state::drifto94, ssv)
+MACHINE_CONFIG_START(ssv_state::drifto94)
+ ssv(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2605,7 +2606,8 @@ MACHINE_CONFIG_DERIVED(ssv_state::drifto94, ssv)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ssv_state::gdfs, ssv)
+MACHINE_CONFIG_START(ssv_state::gdfs)
+ ssv(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2628,7 +2630,8 @@ MACHINE_CONFIG_DERIVED(ssv_state::gdfs, ssv)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ssv_state::hypreact, ssv)
+MACHINE_CONFIG_START(ssv_state::hypreact)
+ ssv(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2642,7 +2645,8 @@ MACHINE_CONFIG_DERIVED(ssv_state::hypreact, ssv)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ssv_state::hypreac2, ssv)
+MACHINE_CONFIG_START(ssv_state::hypreac2)
+ ssv(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2656,7 +2660,8 @@ MACHINE_CONFIG_DERIVED(ssv_state::hypreac2, ssv)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ssv_state::janjans1, ssv)
+MACHINE_CONFIG_START(ssv_state::janjans1)
+ ssv(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2668,7 +2673,8 @@ MACHINE_CONFIG_DERIVED(ssv_state::janjans1, ssv)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ssv_state::keithlcy, ssv)
+MACHINE_CONFIG_START(ssv_state::keithlcy)
+ ssv(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2680,7 +2686,8 @@ MACHINE_CONFIG_DERIVED(ssv_state::keithlcy, ssv)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ssv_state::meosism, ssv)
+MACHINE_CONFIG_START(ssv_state::meosism)
+ ssv(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2696,7 +2703,8 @@ MACHINE_CONFIG_DERIVED(ssv_state::meosism, ssv)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ssv_state::mslider, ssv)
+MACHINE_CONFIG_START(ssv_state::mslider)
+ ssv(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2708,7 +2716,8 @@ MACHINE_CONFIG_DERIVED(ssv_state::mslider, ssv)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ssv_state::ryorioh, ssv)
+MACHINE_CONFIG_START(ssv_state::ryorioh)
+ ssv(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2721,7 +2730,8 @@ MACHINE_CONFIG_DERIVED(ssv_state::ryorioh, ssv)
MCFG_SCREEN_VISIBLE_AREA(0, (0xcb-0x23)*2-1, 0, (0xfe - 0x0e)-1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ssv_state::vasara, ssv)
+MACHINE_CONFIG_START(ssv_state::vasara)
+ ssv(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2734,7 +2744,8 @@ MACHINE_CONFIG_DERIVED(ssv_state::vasara, ssv)
MCFG_SCREEN_VISIBLE_AREA(0, (0xcc-0x24)*2-1, 0,(0xfe - 0x0e)-1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ssv_state::srmp4, ssv)
+MACHINE_CONFIG_START(ssv_state::srmp4)
+ ssv(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2748,7 +2759,8 @@ MACHINE_CONFIG_DERIVED(ssv_state::srmp4, ssv)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ssv_state::srmp7, ssv)
+MACHINE_CONFIG_START(ssv_state::srmp7)
+ ssv(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2762,7 +2774,8 @@ MACHINE_CONFIG_DERIVED(ssv_state::srmp7, ssv)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ssv_state::stmblade, ssv)
+MACHINE_CONFIG_START(ssv_state::stmblade)
+ ssv(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2782,7 +2795,8 @@ MACHINE_CONFIG_DERIVED(ssv_state::stmblade, ssv)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ssv_state::survarts, ssv)
+MACHINE_CONFIG_START(ssv_state::survarts)
+ ssv(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2796,7 +2810,8 @@ MACHINE_CONFIG_DERIVED(ssv_state::survarts, ssv)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ssv_state::dynagear, survarts)
+MACHINE_CONFIG_START(ssv_state::dynagear)
+ survarts(config);
/* basic machine hardware */
/* video hardware */
@@ -2805,7 +2820,8 @@ MACHINE_CONFIG_DERIVED(ssv_state::dynagear, survarts)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ssv_state::eaglshot, ssv)
+MACHINE_CONFIG_START(ssv_state::eaglshot)
+ ssv(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2829,7 +2845,8 @@ MACHINE_CONFIG_DERIVED(ssv_state::eaglshot, ssv)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ssv_state::sxyreact, ssv)
+MACHINE_CONFIG_START(ssv_state::sxyreact)
+ ssv(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2844,7 +2861,8 @@ MACHINE_CONFIG_DERIVED(ssv_state::sxyreact, ssv)
MCFG_SCREEN_VISIBLE_AREA(0, (0xcb - 0x22)*2-1, 0, (0xfe - 0x0e)-1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ssv_state::sxyreac2, ssv)
+MACHINE_CONFIG_START(ssv_state::sxyreac2)
+ ssv(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2859,7 +2877,8 @@ MACHINE_CONFIG_DERIVED(ssv_state::sxyreac2, ssv)
MCFG_SCREEN_VISIBLE_AREA(0, (0xcb - 0x23)*2-1, 0, (0xfe - 0x0e)-1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ssv_state::cairblad, ssv)
+MACHINE_CONFIG_START(ssv_state::cairblad)
+ ssv(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2874,7 +2893,8 @@ MACHINE_CONFIG_DERIVED(ssv_state::cairblad, ssv)
MCFG_SCREEN_VISIBLE_AREA(0, (0xcb - 0x22)*2-1, 0, (0xfe - 0x0e)-1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ssv_state::twineag2, ssv)
+MACHINE_CONFIG_START(ssv_state::twineag2)
+ ssv(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2894,7 +2914,8 @@ MACHINE_CONFIG_DERIVED(ssv_state::twineag2, ssv)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ssv_state::ultrax, ssv)
+MACHINE_CONFIG_START(ssv_state::ultrax)
+ ssv(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2907,7 +2928,8 @@ MACHINE_CONFIG_DERIVED(ssv_state::ultrax, ssv)
MCFG_SCREEN_VISIBLE_AREA(0, (0xd4 - 0x2c)*2-1, 0, (0x102 - 0x12)-1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ssv_state::jsk, ssv)
+MACHINE_CONFIG_START(ssv_state::jsk)
+ ssv(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/st_mp100.cpp b/src/mame/drivers/st_mp100.cpp
index eade3d28ae7..bae2b6a0eb0 100644
--- a/src/mame/drivers/st_mp100.cpp
+++ b/src/mame/drivers/st_mp100.cpp
@@ -713,7 +713,7 @@ MACHINE_CONFIG_START(st_mp100_state::st_mp100)
MCFG_DEFAULT_LAYOUT(layout_st_mp100)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
/* Devices */
MCFG_DEVICE_ADD("pia_u10", PIA6821, 0)
diff --git a/src/mame/drivers/st_mp200.cpp b/src/mame/drivers/st_mp200.cpp
index 156acac97a3..da0a7c3f231 100644
--- a/src/mame/drivers/st_mp200.cpp
+++ b/src/mame/drivers/st_mp200.cpp
@@ -581,7 +581,7 @@ MACHINE_CONFIG_START(st_mp200_state::st_mp200)
MCFG_DEFAULT_LAYOUT(layout_st_mp200)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
/* Devices */
MCFG_DEVICE_ADD("pia_u10", PIA6821, 0)
@@ -606,7 +606,8 @@ MACHINE_CONFIG_START(st_mp200_state::st_mp200)
MCFG_TIMER_DRIVER_ADD_PERIODIC("timer_d", st_mp200_state, u11_timer, attotime::from_hz(634)) // 555 timer*2
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(st_mp200_state::st_mp201, st_mp200)
+MACHINE_CONFIG_START(st_mp200_state::st_mp201)
+ st_mp200(config);
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("speech", S14001A, S14001_CLOCK)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
diff --git a/src/mame/drivers/stactics.cpp b/src/mame/drivers/stactics.cpp
index 53b513435cb..cae778ccfb9 100644
--- a/src/mame/drivers/stactics.cpp
+++ b/src/mame/drivers/stactics.cpp
@@ -341,7 +341,7 @@ MACHINE_CONFIG_START(stactics_state::stactics)
MCFG_ADDRESSABLE_LATCH_Q6_OUT_CB(WRITELINE(stactics_state, barrier_lamp_w))
/* video hardware */
- MCFG_FRAGMENT_ADD(stactics_video)
+ stactics_video(config);
/* audio hardware */
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/starfire.cpp b/src/mame/drivers/starfire.cpp
index fb17eb11976..b8f42454e77 100644
--- a/src/mame/drivers/starfire.cpp
+++ b/src/mame/drivers/starfire.cpp
@@ -343,7 +343,8 @@ MACHINE_CONFIG_START(starfire_state::fireone)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(starfire_state::starfire, fireone)
+MACHINE_CONFIG_START(starfire_state::starfire)
+ fireone(config);
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/stargame.cpp b/src/mame/drivers/stargame.cpp
index 70528d26e7e..46a2ebd0f46 100644
--- a/src/mame/drivers/stargame.cpp
+++ b/src/mame/drivers/stargame.cpp
@@ -118,7 +118,7 @@ MACHINE_CONFIG_START(stargame_state::stargame)
MCFG_Z80CTC_ZC0_CB(INPUTLINE("audiocpu", INPUT_LINE_IRQ0)) // SINT - turn on interrupt of the audiocpu
/* sound hardware */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MCFG_SPEAKER_STANDARD_MONO("measnd")
MCFG_SOUND_ADD("mea8000", MEA8000, 15000000 / 4)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "measnd", 1.0)
diff --git a/src/mame/drivers/starwars.cpp b/src/mame/drivers/starwars.cpp
index abe56b54bfb..f1c0330dc5f 100644
--- a/src/mame/drivers/starwars.cpp
+++ b/src/mame/drivers/starwars.cpp
@@ -370,7 +370,8 @@ MACHINE_CONFIG_START(starwars_state::starwars)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(starwars_state::esb, starwars)
+MACHINE_CONFIG_START(starwars_state::esb)
+ starwars(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(esb_main_map)
diff --git a/src/mame/drivers/statriv2.cpp b/src/mame/drivers/statriv2.cpp
index 606a4976a26..a5a1ed1d783 100644
--- a/src/mame/drivers/statriv2.cpp
+++ b/src/mame/drivers/statriv2.cpp
@@ -634,7 +634,8 @@ MACHINE_CONFIG_START(statriv2_state::statriv2)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(statriv2_state::statriv2v, statriv2)
+MACHINE_CONFIG_START(statriv2_state::statriv2v)
+ statriv2(config);
/* basic machine hardware */
@@ -645,7 +646,8 @@ MACHINE_CONFIG_DERIVED(statriv2_state::statriv2v, statriv2)
MCFG_GFXDECODE_MODIFY("gfxdecode", vertical)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(statriv2_state::funcsino, statriv2)
+MACHINE_CONFIG_START(statriv2_state::funcsino)
+ statriv2(config);
/* basic machine hardware */
diff --git a/src/mame/drivers/stfight.cpp b/src/mame/drivers/stfight.cpp
index 57bcd81d3bc..9a345552474 100644
--- a/src/mame/drivers/stfight.cpp
+++ b/src/mame/drivers/stfight.cpp
@@ -492,7 +492,8 @@ MACHINE_CONFIG_START(stfight_state::stfight_base)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(stfight_state::stfight, stfight_base)
+MACHINE_CONFIG_START(stfight_state::stfight)
+ stfight_base(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(stfight_cpu1_map)
MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
@@ -502,7 +503,8 @@ MACHINE_CONFIG_DERIVED(stfight_state::stfight, stfight_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(stfight_state::cshooter, stfight_base)
+MACHINE_CONFIG_START(stfight_state::cshooter)
+ stfight_base(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(cshooter_cpu1_map)
MCFG_CPU_VBLANK_INT_DRIVER("airraid_vid:screen", stfight_state, stfight_vb_interrupt)
diff --git a/src/mame/drivers/stlforce.cpp b/src/mame/drivers/stlforce.cpp
index 41911f08a89..81d5c26d02a 100644
--- a/src/mame/drivers/stlforce.cpp
+++ b/src/mame/drivers/stlforce.cpp
@@ -220,7 +220,8 @@ MACHINE_CONFIG_START(stlforce_state::stlforce)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(stlforce_state::twinbrat, stlforce)
+MACHINE_CONFIG_START(stlforce_state::twinbrat)
+ stlforce(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/strnskil.cpp b/src/mame/drivers/strnskil.cpp
index 57cc27a6d5b..b97769b8109 100644
--- a/src/mame/drivers/strnskil.cpp
+++ b/src/mame/drivers/strnskil.cpp
@@ -375,7 +375,8 @@ MACHINE_CONFIG_START(strnskil_state::strnskil)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(strnskil_state::banbam, strnskil)
+MACHINE_CONFIG_START(strnskil_state::banbam)
+ strnskil(config);
MCFG_CPU_ADD("mcu", MB8841, 8000000/2)
// MCFG_MB88XX_READ_K_CB(READ8(strnskil_state, mcu_portk_r))
// MCFG_MB88XX_READ_R0_CB(READ8(strnskil_state, mcu_portr0_r))
diff --git a/src/mame/drivers/studio2.cpp b/src/mame/drivers/studio2.cpp
index 1935e2554c4..5dceae1ad50 100644
--- a/src/mame/drivers/studio2.cpp
+++ b/src/mame/drivers/studio2.cpp
@@ -656,7 +656,7 @@ MACHINE_CONFIG_START(studio2_state::studio2)
MCFG_SOUND_ADD("beeper", BEEP, 300)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
- MCFG_FRAGMENT_ADD( studio2_cartslot )
+ studio2_cartslot(config);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(visicom_state::visicom)
@@ -717,7 +717,7 @@ MACHINE_CONFIG_START(mpt02_state::mpt02)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
- MCFG_FRAGMENT_ADD( studio2_cartslot )
+ studio2_cartslot(config);
MACHINE_CONFIG_END
/* ROMs */
diff --git a/src/mame/drivers/stv.cpp b/src/mame/drivers/stv.cpp
index b64288faab5..f2b83b22803 100644
--- a/src/mame/drivers/stv.cpp
+++ b/src/mame/drivers/stv.cpp
@@ -1125,7 +1125,8 @@ MACHINE_CONFIG_START(stv_state::stv)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(stv_state::stv_5881, stv)
+MACHINE_CONFIG_START(stv_state::stv_5881)
+ stv(config);
MCFG_DEVICE_ADD("315_5881", SEGA315_5881_CRYPT, 0)
MCFG_SET_READ_CALLBACK(stv_state, crypt_read_callback)
MACHINE_CONFIG_END
@@ -1141,7 +1142,8 @@ uint16_t stv_state::crypt_read_callback_ch2(uint32_t addr)
return m_maincpu->space().read_word(0x02000000 + 0x0000000 + (addr * 2));
}
-MACHINE_CONFIG_DERIVED(stv_state::stv_5838, stv)
+MACHINE_CONFIG_START(stv_state::stv_5838)
+ stv(config);
MCFG_DEVICE_ADD("315_5838", SEGA315_5838_COMP, 0)
MCFG_SET_5838_READ_CALLBACK_CH1(stv_state, crypt_read_callback_ch1)
MCFG_SET_5838_READ_CALLBACK_CH2(stv_state, crypt_read_callback_ch2)
@@ -1163,7 +1165,8 @@ WRITE32_MEMBER( stv_state::batmanfr_sound_comms_w )
}
-MACHINE_CONFIG_DERIVED(stv_state::batmanfr, stv)
+MACHINE_CONFIG_START(stv_state::batmanfr)
+ stv(config);
MCFG_DEVICE_ADD("rax", ACCLAIM_RAX, 0)
MACHINE_CONFIG_END
@@ -1182,12 +1185,14 @@ MACHINE_CONFIG_START(stv_state::stv_cartslot)
MCFG_SOFTWARE_LIST_ADD("cart_list","stv")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(stv_state::stv_slot, stv)
- MCFG_FRAGMENT_ADD( stv_cartslot )
+MACHINE_CONFIG_START(stv_state::stv_slot)
+ stv(config);
+ stv_cartslot(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(stv_state::hopper, stv)
- MCFG_HOPPER_ADD("hopper", attotime::from_msec(100), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_HIGH)
+MACHINE_CONFIG_START(stv_state::hopper)
+ stv(config);
+ MCFG_HOPPER_ADD("hopper", attotime::from_msec(100), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_HIGH)
MACHINE_CONFIG_END
MACHINE_RESET_MEMBER(stv_state,stv)
diff --git a/src/mame/drivers/su2000.cpp b/src/mame/drivers/su2000.cpp
index 8cbcbe1672c..1b47f574587 100644
--- a/src/mame/drivers/su2000.cpp
+++ b/src/mame/drivers/su2000.cpp
@@ -144,9 +144,9 @@ MACHINE_CONFIG_START(su2000_state::su2000)
#endif
/* Video hardware */
- MCFG_FRAGMENT_ADD(pcvideo_vga)
+ pcvideo_vga(config);
- MCFG_FRAGMENT_ADD(pcat_common)
+ pcat_common(config);
MCFG_DEVICE_REMOVE("rtc")
MCFG_DS12885_ADD("rtc")
diff --git a/src/mame/drivers/subsino.cpp b/src/mame/drivers/subsino.cpp
index b2bd52f5b5d..26d0f5b4299 100644
--- a/src/mame/drivers/subsino.cpp
+++ b/src/mame/drivers/subsino.cpp
@@ -2808,7 +2808,8 @@ MACHINE_CONFIG_START(subsino_state::victor21)
MACHINE_CONFIG_END
/* same but with an additional protection. */
-MACHINE_CONFIG_DERIVED(subsino_state::victor5, victor21)
+MACHINE_CONFIG_START(subsino_state::victor5)
+ victor21(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2893,7 +2894,8 @@ MACHINE_CONFIG_START(subsino_state::srider)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(subsino_state::sharkpy, srider)
+MACHINE_CONFIG_START(subsino_state::sharkpy)
+ srider(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2984,7 +2986,8 @@ MACHINE_CONFIG_START(subsino_state::stbsub)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(subsino_state::mtrainnv, stbsub)
+MACHINE_CONFIG_START(subsino_state::mtrainnv)
+ stbsub(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/subsino2.cpp b/src/mame/drivers/subsino2.cpp
index 56f04af30a4..4cc39439f0e 100644
--- a/src/mame/drivers/subsino2.cpp
+++ b/src/mame/drivers/subsino2.cpp
@@ -2380,7 +2380,8 @@ MACHINE_CONFIG_START(subsino2_state::bishjan)
// SS9904
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(subsino2_state::new2001, bishjan)
+MACHINE_CONFIG_START(subsino2_state::new2001)
+ bishjan(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP( new2001_map )
@@ -2389,7 +2390,8 @@ MACHINE_CONFIG_DERIVED(subsino2_state::new2001, bishjan)
MCFG_SCREEN_VISIBLE_AREA( 0, 640-1, 0, 256-16-1 )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(subsino2_state::humlan, bishjan)
+MACHINE_CONFIG_START(subsino2_state::humlan)
+ bishjan(config);
MCFG_CPU_REPLACE("maincpu", H83044, XTAL(48'000'000) / 3)
MCFG_CPU_PROGRAM_MAP( humlan_map )
MCFG_CPU_VBLANK_INT_DRIVER("screen", subsino2_state, irq0_line_hold)
@@ -2504,12 +2506,14 @@ MACHINE_CONFIG_START(subsino2_state::xplan)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(subsino2_state::xtrain, xplan)
+MACHINE_CONFIG_START(subsino2_state::xtrain)
+ xplan(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(xtrain_io)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(subsino2_state::expcard, xplan)
+MACHINE_CONFIG_START(subsino2_state::expcard)
+ xplan(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(expcard_io)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/sun3.cpp b/src/mame/drivers/sun3.cpp
index d11b8a7fde6..46297ee15b1 100644
--- a/src/mame/drivers/sun3.cpp
+++ b/src/mame/drivers/sun3.cpp
@@ -1032,7 +1032,8 @@ MACHINE_CONFIG_START(sun3_state::sun3)
MACHINE_CONFIG_END
// Sun 3/60
-MACHINE_CONFIG_DERIVED(sun3_state::sun3_60, sun3)
+MACHINE_CONFIG_START(sun3_state::sun3_60)
+ sun3(config);
MCFG_CPU_REPLACE("maincpu", M68020, 20000000)
MCFG_CPU_PROGRAM_MAP(sun3_mem)
@@ -1044,13 +1045,15 @@ MACHINE_CONFIG_DERIVED(sun3_state::sun3_60, sun3)
MACHINE_CONFIG_END
// Sun 3/E
-MACHINE_CONFIG_DERIVED(sun3_state::sun3e, sun3)
+MACHINE_CONFIG_START(sun3_state::sun3e)
+ sun3(config);
MCFG_CPU_REPLACE("maincpu", M68020, 20000000)
MCFG_CPU_PROGRAM_MAP(sun3_mem)
MACHINE_CONFIG_END
// 3/260 and 3/280 (the Sun 3200 board)
-MACHINE_CONFIG_DERIVED(sun3_state::sun3200, sun3)
+MACHINE_CONFIG_START(sun3_state::sun3200)
+ sun3(config);
MCFG_CPU_REPLACE("maincpu", M68020, 25000000)
MCFG_CPU_PROGRAM_MAP(sun3_mem)
diff --git a/src/mame/drivers/suna8.cpp b/src/mame/drivers/suna8.cpp
index 5fd69b95ff6..153bbb7d4b2 100644
--- a/src/mame/drivers/suna8.cpp
+++ b/src/mame/drivers/suna8.cpp
@@ -2049,7 +2049,8 @@ MACHINE_CONFIG_START(suna8_state::brickzn11)
MCFG_SOUND_ROUTE_EX(0, "rdac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac2", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(suna8_state::brickzn, brickzn11)
+MACHINE_CONFIG_START(suna8_state::brickzn)
+ brickzn11(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(brickzn_map)
MCFG_CPU_IO_MAP(brickzn_io_map)
@@ -2079,7 +2080,8 @@ MACHINE_RESET_MEMBER(suna8_state,hardhea2)
hardhea2_rambank_0_w(space,0,0);
}
-MACHINE_CONFIG_DERIVED(suna8_state::hardhea2, brickzn)
+MACHINE_CONFIG_START(suna8_state::hardhea2)
+ brickzn(config);
MCFG_DEVICE_REMOVE("maincpu")
MCFG_CPU_ADD("maincpu", Z80, SUNA8_MASTER_CLOCK / 4) /* SUNA T568009 */
@@ -2094,7 +2096,8 @@ MACHINE_CONFIG_DERIVED(suna8_state::hardhea2, brickzn)
MCFG_PALETTE_ENDIANNESS(ENDIANNESS_BIG)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(suna8_state::hardhea2b, hardhea2)
+MACHINE_CONFIG_START(suna8_state::hardhea2b)
+ hardhea2(config);
MCFG_DEVICE_REMOVE("maincpu")
MCFG_CPU_ADD("maincpu", Z80, SUNA8_MASTER_CLOCK / 4) //bootleg clock not verified (?)
diff --git a/src/mame/drivers/supbtime.cpp b/src/mame/drivers/supbtime.cpp
index d7c6141c19d..dc2e688aaae 100644
--- a/src/mame/drivers/supbtime.cpp
+++ b/src/mame/drivers/supbtime.cpp
@@ -487,12 +487,14 @@ MACHINE_CONFIG_START(supbtime_state::supbtime)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(supbtime_state::chinatwn, supbtime)
+MACHINE_CONFIG_START(supbtime_state::chinatwn)
+ supbtime(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(chinatwn_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(supbtime_state::tumblep, supbtime)
+MACHINE_CONFIG_START(supbtime_state::tumblep)
+ supbtime(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(tumblep_map)
diff --git a/src/mame/drivers/super80.cpp b/src/mame/drivers/super80.cpp
index ec31a22c9fc..079fb187547 100644
--- a/src/mame/drivers/super80.cpp
+++ b/src/mame/drivers/super80.cpp
@@ -753,13 +753,15 @@ MACHINE_CONFIG_START(super80_state::super80)
MCFG_SOFTWARE_LIST_ADD("cass_list", "super80_cass")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(super80_state::super80d, super80)
+MACHINE_CONFIG_START(super80_state::super80d)
+ super80(config);
MCFG_GFXDECODE_MODIFY("gfxdecode", super80d)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(super80_state, screen_update_super80d)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(super80_state::super80e, super80)
+MACHINE_CONFIG_START(super80_state::super80e)
+ super80(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(super80e_io)
MCFG_GFXDECODE_MODIFY("gfxdecode", super80e)
@@ -767,7 +769,8 @@ MACHINE_CONFIG_DERIVED(super80_state::super80e, super80)
MCFG_SCREEN_UPDATE_DRIVER(super80_state, screen_update_super80e)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(super80_state::super80m, super80)
+MACHINE_CONFIG_START(super80_state::super80m)
+ super80(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(super80m_map)
@@ -839,7 +842,8 @@ MACHINE_CONFIG_START(super80_state::super80v)
MCFG_TIMER_DRIVER_ADD_PERIODIC("timer_k", super80_state, timer_k, attotime::from_hz(300)) // keyb scan
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(super80_state::super80r, super80v)
+MACHINE_CONFIG_START(super80_state::super80r)
+ super80v(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(super80r_io)
diff --git a/src/mame/drivers/superchs.cpp b/src/mame/drivers/superchs.cpp
index 81328c73df7..4e80d9a643e 100644
--- a/src/mame/drivers/superchs.cpp
+++ b/src/mame/drivers/superchs.cpp
@@ -286,7 +286,8 @@ MACHINE_CONFIG_START(superchs_state::superchs)
MCFG_DEVICE_ADD("taito_en", TAITO_EN, 0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(superchs_state::chase3, superchs)
+MACHINE_CONFIG_START(superchs_state::chase3)
+ superchs(config);
MCFG_CPU_MODIFY("sub")
MCFG_CPU_PROGRAM_MAP(chase3_cpub_map)
diff --git a/src/mame/drivers/superqix.cpp b/src/mame/drivers/superqix.cpp
index 421cb057cbc..6d64994db85 100644
--- a/src/mame/drivers/superqix.cpp
+++ b/src/mame/drivers/superqix.cpp
@@ -1446,7 +1446,8 @@ MACHINE_CONFIG_START(superqix_state::sqix)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(superqix_state::sqix_8031, sqix)
+MACHINE_CONFIG_START(superqix_state::sqix_8031)
+ sqix(config);
MCFG_CPU_MODIFY("mcu") /* p8031ah, clock not verified */
MCFG_CPU_IO_MAP(sqix_8031_mcu_io_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/suprnova.cpp b/src/mame/drivers/suprnova.cpp
index c3c7598a5b5..31ec7ba9b1b 100644
--- a/src/mame/drivers/suprnova.cpp
+++ b/src/mame/drivers/suprnova.cpp
@@ -855,23 +855,28 @@ MACHINE_RESET_MEMBER(skns_state,sknsk)
}
-MACHINE_CONFIG_DERIVED(skns_state::sknsa, skns)
+MACHINE_CONFIG_START(skns_state::sknsa)
+ skns(config);
MCFG_MACHINE_RESET_OVERRIDE(skns_state,sknsa)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(skns_state::sknsj, skns)
+MACHINE_CONFIG_START(skns_state::sknsj)
+ skns(config);
MCFG_MACHINE_RESET_OVERRIDE(skns_state,sknsj)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(skns_state::sknsu, skns)
+MACHINE_CONFIG_START(skns_state::sknsu)
+ skns(config);
MCFG_MACHINE_RESET_OVERRIDE(skns_state,sknsu)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(skns_state::sknse, skns)
+MACHINE_CONFIG_START(skns_state::sknse)
+ skns(config);
MCFG_MACHINE_RESET_OVERRIDE(skns_state,sknse)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(skns_state::sknsk, skns)
+MACHINE_CONFIG_START(skns_state::sknsk)
+ skns(config);
MCFG_MACHINE_RESET_OVERRIDE(skns_state,sknsk)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/svi318.cpp b/src/mame/drivers/svi318.cpp
index 7dff385066a..e067658a9ad 100644
--- a/src/mame/drivers/svi318.cpp
+++ b/src/mame/drivers/svi318.cpp
@@ -586,7 +586,8 @@ MACHINE_CONFIG_START(svi3x8_state::svi318)
MCFG_SVI_EXPANDER_EXCSW_HANDLER(WRITE8(svi3x8_state, excs_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(svi3x8_state::svi318n, svi318)
+MACHINE_CONFIG_START(svi3x8_state::svi318n)
+ svi318(config);
MCFG_DEVICE_REMOVE("vdp")
MCFG_DEVICE_REMOVE("screen")
MCFG_DEVICE_ADD("vdp", TMS9928A, XTAL(10'738'635) / 2)
@@ -596,13 +597,15 @@ MACHINE_CONFIG_DERIVED(svi3x8_state::svi318n, svi318)
MCFG_SCREEN_UPDATE_DEVICE("vdp", tms9928a_device, screen_update)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(svi3x8_state::svi328, svi318)
+MACHINE_CONFIG_START(svi3x8_state::svi328)
+ svi318(config);
MCFG_DEVICE_REMOVE(RAM_TAG)
MCFG_RAM_ADD(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("64K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(svi3x8_state::svi328n, svi318n)
+MACHINE_CONFIG_START(svi3x8_state::svi328n)
+ svi318n(config);
MCFG_DEVICE_REMOVE(RAM_TAG)
MCFG_RAM_ADD(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("64K")
diff --git a/src/mame/drivers/svision.cpp b/src/mame/drivers/svision.cpp
index d67e80137bd..00c1b8eb4a7 100644
--- a/src/mame/drivers/svision.cpp
+++ b/src/mame/drivers/svision.cpp
@@ -548,11 +548,13 @@ MACHINE_CONFIG_START(svision_state::svision)
MCFG_SOFTWARE_LIST_ADD("cart_list", "svision")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(svision_state::svisions, svision)
+MACHINE_CONFIG_START(svision_state::svisions)
+ svision(config);
MCFG_TIMER_DRIVER_ADD_PERIODIC("pet_timer", svision_state, svision_pet_timer_dev, attotime::from_seconds(8))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(svision_state::svisionp, svision)
+MACHINE_CONFIG_START(svision_state::svisionp)
+ svision(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(4430000)
MCFG_SCREEN_MODIFY("screen")
@@ -561,7 +563,8 @@ MACHINE_CONFIG_DERIVED(svision_state::svisionp, svision)
MCFG_PALETTE_INIT_OWNER(svision_state, svisionp)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(svision_state::svisionn, svision)
+MACHINE_CONFIG_START(svision_state::svisionn)
+ svision(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(3560000/*?*/)
MCFG_SCREEN_MODIFY("screen")
@@ -570,7 +573,8 @@ MACHINE_CONFIG_DERIVED(svision_state::svisionn, svision)
MCFG_PALETTE_INIT_OWNER(svision_state, svisionn)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(svision_state::tvlinkp, svisionp)
+MACHINE_CONFIG_START(svision_state::tvlinkp)
+ svisionp(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(tvlink_mem)
diff --git a/src/mame/drivers/swtpc.cpp b/src/mame/drivers/swtpc.cpp
index 7eaf6de0cd6..b007b51b3ae 100644
--- a/src/mame/drivers/swtpc.cpp
+++ b/src/mame/drivers/swtpc.cpp
@@ -176,7 +176,8 @@ MACHINE_CONFIG_START(swtpc_state::swtpc)
MCFG_RAM_EXTRA_OPTIONS("4K,8K,12K,16K,20K,24K,28K,32K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(swtpc_state::swtpcm, swtpc)
+MACHINE_CONFIG_START(swtpc_state::swtpcm)
+ swtpc(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(XTAL(1'797'100) / 2)
diff --git a/src/mame/drivers/swtpc09.cpp b/src/mame/drivers/swtpc09.cpp
index 9083102ca7e..a35cc0d0550 100644
--- a/src/mame/drivers/swtpc09.cpp
+++ b/src/mame/drivers/swtpc09.cpp
@@ -201,14 +201,16 @@ MACHINE_CONFIG_START(swtpc09_state::swtpc09_base)
MCFG_FLOPPY_DRIVE_ADD("fdc:3", swtpc09_floppies, "dd", swtpc09_state::floppy_formats)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(swtpc09_state::swtpc09, swtpc09_base)
+MACHINE_CONFIG_START(swtpc09_state::swtpc09)
+ swtpc09_base(config);
MCFG_DEVICE_MODIFY("fdc")
MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(swtpc09_state, fdc_intrq_w))
MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(swtpc09_state, fdc_drq_w))
MACHINE_CONFIG_END
/* MPU09, MPID, MPS2 DC4 PIAIDE*/
-MACHINE_CONFIG_DERIVED(swtpc09_state::swtpc09i, swtpc09_base)
+MACHINE_CONFIG_START(swtpc09_state::swtpc09i)
+ swtpc09_base(config);
MCFG_DEVICE_MODIFY("bankdev")
MCFG_DEVICE_PROGRAM_MAP(flex_dc4_piaide_mem)
@@ -223,14 +225,16 @@ MACHINE_CONFIG_DERIVED(swtpc09_state::swtpc09i, swtpc09_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(swtpc09_state::swtpc09u, swtpc09)
+MACHINE_CONFIG_START(swtpc09_state::swtpc09u)
+ swtpc09(config);
MCFG_DEVICE_MODIFY("bankdev")
MCFG_DEVICE_PROGRAM_MAP(uniflex_dmf2_mem)
MACHINE_CONFIG_END
/* MPU09, MPID, MPS2 DMF3 */
-MACHINE_CONFIG_DERIVED(swtpc09_state::swtpc09d3, swtpc09_base)
+MACHINE_CONFIG_START(swtpc09_state::swtpc09d3)
+ swtpc09_base(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(XTAL(8'000'000))
diff --git a/src/mame/drivers/system1.cpp b/src/mame/drivers/system1.cpp
index 89378a60d2a..637540a8cf4 100644
--- a/src/mame/drivers/system1.cpp
+++ b/src/mame/drivers/system1.cpp
@@ -2190,7 +2190,8 @@ MACHINE_CONFIG_END
/* reduced visible area for scrolling games */
-MACHINE_CONFIG_DERIVED(system1_state::sys1ppis, sys1ppi)
+MACHINE_CONFIG_START(system1_state::sys1ppis)
+ sys1ppi(config);
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -2203,7 +2204,8 @@ MACHINE_CONFIG_END
/* revised board with 128kbit ROMs and a Z80 PIO for outputs */
-MACHINE_CONFIG_DERIVED(system1_state::sys1pio, sys1ppi)
+MACHINE_CONFIG_START(system1_state::sys1pio)
+ sys1ppi(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(system1_pio_io_map)
@@ -2234,162 +2236,188 @@ MACHINE_CONFIG_END
MCFG_CPU_VBLANK_INT_DRIVER("screen", system1_state, irq0_line_hold)
-MACHINE_CONFIG_DERIVED(system1_state::sys1pioxb, sys1pio)
+MACHINE_CONFIG_START(system1_state::sys1pioxb)
+ sys1pio(config);
MCFG_CPU_REPLACE("maincpu", MC8123, MASTER_CLOCK)
ENCRYPTED_SYS1PIO_MAPS
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(system1_state::sys1ppix_315_5178, sys1ppi)
+MACHINE_CONFIG_START(system1_state::sys1ppix_315_5178)
+ sys1ppi(config);
MCFG_CPU_REPLACE("maincpu", SEGA_315_5178, MASTER_CLOCK)
ENCRYPTED_SYS1PPI_MAPS
MCFG_SEGAZ80_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(system1_state::sys1ppix_315_5179, sys1ppi)
+MACHINE_CONFIG_START(system1_state::sys1ppix_315_5179)
+ sys1ppi(config);
MCFG_CPU_REPLACE("maincpu", SEGA_315_5179, MASTER_CLOCK)
ENCRYPTED_SYS1PPI_MAPS
MCFG_SEGAZ80_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(system1_state::sys1ppix_315_5051, sys1ppi)
+MACHINE_CONFIG_START(system1_state::sys1ppix_315_5051)
+ sys1ppi(config);
MCFG_CPU_REPLACE("maincpu", SEGA_315_5051, MASTER_CLOCK)
ENCRYPTED_SYS1PPI_MAPS
MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(system1_state::sys1ppix_315_5048, sys1ppi)
+MACHINE_CONFIG_START(system1_state::sys1ppix_315_5048)
+ sys1ppi(config);
MCFG_CPU_REPLACE("maincpu", SEGA_315_5048, MASTER_CLOCK)
ENCRYPTED_SYS1PPI_MAPS
MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(system1_state::sys1ppix_315_5033, sys1ppi)
+MACHINE_CONFIG_START(system1_state::sys1ppix_315_5033)
+ sys1ppi(config);
MCFG_CPU_REPLACE("maincpu", SEGA_315_5033, MASTER_CLOCK)
ENCRYPTED_SYS1PPI_MAPS
MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(system1_state::sys1ppix_315_5065, sys1ppi)
+MACHINE_CONFIG_START(system1_state::sys1ppix_315_5065)
+ sys1ppi(config);
MCFG_CPU_REPLACE("maincpu", SEGA_315_5065, MASTER_CLOCK)
ENCRYPTED_SYS1PPI_MAPS
MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(system1_state::sys1ppix_315_5098, sys1ppi)
+MACHINE_CONFIG_START(system1_state::sys1ppix_315_5098)
+ sys1ppi(config);
MCFG_CPU_REPLACE("maincpu", SEGA_315_5098, MASTER_CLOCK)
ENCRYPTED_SYS1PPI_MAPS
MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(system1_state::sys1piox_315_5177, sys1pio)
+MACHINE_CONFIG_START(system1_state::sys1piox_315_5177)
+ sys1pio(config);
MCFG_CPU_REPLACE("maincpu", SEGA_315_5177, MASTER_CLOCK)
ENCRYPTED_SYS1PIO_MAPS
MCFG_SEGAZ80_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(system1_state::sys1piox_315_5162, sys1pio)
+MACHINE_CONFIG_START(system1_state::sys1piox_315_5162)
+ sys1pio(config);
MCFG_CPU_REPLACE("maincpu", SEGA_315_5162, MASTER_CLOCK)
ENCRYPTED_SYS1PIO_MAPS
MCFG_SEGAZ80_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(system1_state::sys1piox_317_0006, sys1pio)
+MACHINE_CONFIG_START(system1_state::sys1piox_317_0006)
+ sys1pio(config);
MCFG_CPU_REPLACE("maincpu", SEGA_317_0006, MASTER_CLOCK)
ENCRYPTED_SYS1PIO_MAPS
MCFG_SEGAZ80_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(system1_state::sys1piox_315_5135, sys1pio)
+MACHINE_CONFIG_START(system1_state::sys1piox_315_5135)
+ sys1pio(config);
MCFG_CPU_REPLACE("maincpu", SEGA_315_5135, MASTER_CLOCK)
ENCRYPTED_SYS1PIO_MAPS
MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(system1_state::sys1piox_315_5132, sys1pio)
+MACHINE_CONFIG_START(system1_state::sys1piox_315_5132)
+ sys1pio(config);
MCFG_CPU_REPLACE("maincpu", SEGA_315_5132, MASTER_CLOCK)
ENCRYPTED_SYS1PIO_MAPS
MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(system1_state::sys1piox_315_5155, sys1pio)
+MACHINE_CONFIG_START(system1_state::sys1piox_315_5155)
+ sys1pio(config);
MCFG_CPU_REPLACE("maincpu", SEGA_315_5155, MASTER_CLOCK)
ENCRYPTED_SYS1PIO_MAPS
MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(system1_state::sys1piox_315_5110, sys1pio)
+MACHINE_CONFIG_START(system1_state::sys1piox_315_5110)
+ sys1pio(config);
MCFG_CPU_REPLACE("maincpu", SEGA_315_5110, MASTER_CLOCK)
ENCRYPTED_SYS1PIO_MAPS
MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(system1_state::sys1piox_315_5051, sys1pio)
+MACHINE_CONFIG_START(system1_state::sys1piox_315_5051)
+ sys1pio(config);
MCFG_CPU_REPLACE("maincpu", SEGA_315_5051, MASTER_CLOCK)
ENCRYPTED_SYS1PIO_MAPS
MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(system1_state::sys1piox_315_5098, sys1pio)
+MACHINE_CONFIG_START(system1_state::sys1piox_315_5098)
+ sys1pio(config);
MCFG_CPU_REPLACE("maincpu", SEGA_315_5098, MASTER_CLOCK)
ENCRYPTED_SYS1PIO_MAPS
MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(system1_state::sys1piox_315_5102, sys1pio)
+MACHINE_CONFIG_START(system1_state::sys1piox_315_5102)
+ sys1pio(config);
MCFG_CPU_REPLACE("maincpu", SEGA_315_5102, MASTER_CLOCK)
ENCRYPTED_SYS1PIO_MAPS
MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(system1_state::sys1piox_315_5133, sys1pio)
+MACHINE_CONFIG_START(system1_state::sys1piox_315_5133)
+ sys1pio(config);
MCFG_CPU_REPLACE("maincpu", SEGA_315_5133, MASTER_CLOCK)
ENCRYPTED_SYS1PIO_MAPS
MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(system1_state::sys1piox_315_5093, sys1pio)
+MACHINE_CONFIG_START(system1_state::sys1piox_315_5093)
+ sys1pio(config);
MCFG_CPU_REPLACE("maincpu", SEGA_315_5093, MASTER_CLOCK)
ENCRYPTED_SYS1PIO_MAPS
MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(system1_state::sys1piox_315_5065, sys1pio)
+MACHINE_CONFIG_START(system1_state::sys1piox_315_5065)
+ sys1pio(config);
MCFG_CPU_REPLACE("maincpu", SEGA_315_5065, MASTER_CLOCK)
ENCRYPTED_SYS1PIO_MAPS
MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
/* reduced visible area for scrolling games */
-MACHINE_CONFIG_DERIVED(system1_state::sys1pios, sys1pio)
+MACHINE_CONFIG_START(system1_state::sys1pios)
+ sys1pio(config);
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(2*(0*8+8), 2*(32*8-1-8), 0*8, 28*8-1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(system1_state::sys1piosx_315_5099, sys1pios)
+MACHINE_CONFIG_START(system1_state::sys1piosx_315_5099)
+ sys1pios(config);
MCFG_CPU_REPLACE("maincpu", SEGA_315_5065, MASTER_CLOCK)
ENCRYPTED_SYS1PIO_MAPS
MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(system1_state::sys1piosx_315_spat, sys1pios)
+MACHINE_CONFIG_START(system1_state::sys1piosx_315_spat)
+ sys1pios(config);
MCFG_CPU_REPLACE("maincpu", SEGA_315_SPAT, MASTER_CLOCK)
ENCRYPTED_SYS1PIO_MAPS
MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(system1_state::sys1ppisx_315_5064, sys1ppis)
+MACHINE_CONFIG_START(system1_state::sys1ppisx_315_5064)
+ sys1ppis(config);
MCFG_CPU_REPLACE("maincpu", SEGA_315_5064, MASTER_CLOCK)
ENCRYPTED_SYS1PPI_MAPS
MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(system1_state::sys1ppisx_315_5041, sys1ppis)
+MACHINE_CONFIG_START(system1_state::sys1ppisx_315_5041)
+ sys1ppis(config);
MCFG_CPU_REPLACE("maincpu", SEGA_315_5041, MASTER_CLOCK)
ENCRYPTED_SYS1PPI_MAPS
MCFG_SEGACRPT_SET_DECRYPTED_TAG(":decrypted_opcodes")
@@ -2417,14 +2445,16 @@ MACHINE_CONFIG_END
/* alternate program map with RAM/collision swapped */
-MACHINE_CONFIG_DERIVED(system1_state::nob, sys1ppi)
+MACHINE_CONFIG_START(system1_state::nob)
+ sys1ppi(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(nobo_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(system1_state::nobm, nob)
+MACHINE_CONFIG_START(system1_state::nobm)
+ nob(config);
/* basic machine hardware */
MCFG_CPU_ADD("mcu", I8751, SOUND_CLOCK)
@@ -2434,7 +2464,8 @@ MACHINE_CONFIG_END
/* system2 video */
-MACHINE_CONFIG_DERIVED(system1_state::sys2, sys1ppi)
+MACHINE_CONFIG_START(system1_state::sys2)
+ sys1ppi(config);
MCFG_MACHINE_START_OVERRIDE(system1_state,system2)
@@ -2444,70 +2475,82 @@ MACHINE_CONFIG_DERIVED(system1_state::sys2, sys1ppi)
MCFG_SCREEN_UPDATE_DRIVER(system1_state, screen_update_system2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(system1_state::sys2x, sys2)
+MACHINE_CONFIG_START(system1_state::sys2x)
+ sys2(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(system1_state::sys2_315_5177, sys2)
+MACHINE_CONFIG_START(system1_state::sys2_315_5177)
+ sys2(config);
MCFG_CPU_REPLACE("maincpu", SEGA_315_5177, MASTER_CLOCK)
ENCRYPTED_SYS1PPI_MAPS
MCFG_SEGAZ80_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(system1_state::sys2_315_5176, sys2)
+MACHINE_CONFIG_START(system1_state::sys2_315_5176)
+ sys2(config);
MCFG_CPU_REPLACE("maincpu", SEGA_315_5176, MASTER_CLOCK)
ENCRYPTED_SYS1PPI_MAPS
MCFG_SEGAZ80_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(system1_state::sys2_317_0006, sys2)
+MACHINE_CONFIG_START(system1_state::sys2_317_0006)
+ sys2(config);
MCFG_CPU_REPLACE("maincpu", SEGA_317_0006, MASTER_CLOCK)
ENCRYPTED_SYS1PPI_MAPS
MCFG_SEGAZ80_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(system1_state::sys2_317_0007, sys2)
+MACHINE_CONFIG_START(system1_state::sys2_317_0007)
+ sys2(config);
MCFG_CPU_REPLACE("maincpu", SEGA_317_0007, MASTER_CLOCK)
ENCRYPTED_SYS1PPI_MAPS
MCFG_SEGAZ80_SET_DECRYPTED_TAG(":decrypted_opcodes")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(system1_state::sys2xb, sys2)
+MACHINE_CONFIG_START(system1_state::sys2xb)
+ sys2(config);
MCFG_CPU_REPLACE("maincpu", MC8123, MASTER_CLOCK)
ENCRYPTED_SYS2_MC8123_MAPS
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(system1_state::sys2xboot, sys2)
+MACHINE_CONFIG_START(system1_state::sys2xboot)
+ sys2(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_OPCODES_MAP(banked_decrypted_opcodes_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(system1_state::sys2m, sys2)
- MCFG_FRAGMENT_ADD( mcu )
+MACHINE_CONFIG_START(system1_state::sys2m)
+ sys2(config);
+ mcu(config);
MACHINE_CONFIG_END
/* system2 with rowscroll */
-MACHINE_CONFIG_DERIVED(system1_state::sys2row, sys2)
+MACHINE_CONFIG_START(system1_state::sys2row)
+ sys2(config);
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(system1_state, screen_update_system2_rowscroll)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(system1_state::sys2rowxb, sys2row)
+MACHINE_CONFIG_START(system1_state::sys2rowxb)
+ sys2row(config);
MCFG_CPU_REPLACE("maincpu", MC8123, MASTER_CLOCK)
ENCRYPTED_SYS2_MC8123_MAPS
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(system1_state::sys2rowxboot, sys2row)
+MACHINE_CONFIG_START(system1_state::sys2rowxboot)
+ sys2row(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_OPCODES_MAP(banked_decrypted_opcodes_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(system1_state::sys2rowm, sys2row)
- MCFG_FRAGMENT_ADD( mcu )
+MACHINE_CONFIG_START(system1_state::sys2rowm)
+ sys2row(config);
+ mcu(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/system16.cpp b/src/mame/drivers/system16.cpp
index b854a3fe138..b7128791afc 100644
--- a/src/mame/drivers/system16.cpp
+++ b/src/mame/drivers/system16.cpp
@@ -2166,7 +2166,8 @@ MACHINE_CONFIG_START(segas1x_bootleg_state::system16_base)
MCFG_GENERIC_LATCH_8_ADD("soundlatch")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas1x_bootleg_state::shinobi_datsu, system16_base)
+MACHINE_CONFIG_START(segas1x_bootleg_state::shinobi_datsu)
+ system16_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2179,11 +2180,12 @@ MACHINE_CONFIG_DERIVED(segas1x_bootleg_state::shinobi_datsu, system16_base)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(segas1x_bootleg_state, screen_update_s16a_bootleg)
- MCFG_FRAGMENT_ADD(datsu_2x_ym2203_msm5205)
+ datsu_2x_ym2203_msm5205(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas1x_bootleg_state::passshtb, system16_base)
+MACHINE_CONFIG_START(segas1x_bootleg_state::passshtb)
+ system16_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2197,11 +2199,12 @@ MACHINE_CONFIG_DERIVED(segas1x_bootleg_state::passshtb, system16_base)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(segas1x_bootleg_state, screen_update_s16a_bootleg)
- MCFG_FRAGMENT_ADD(z80_ym2151_upd7759)
+ z80_ym2151_upd7759(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas1x_bootleg_state::passsht4b, system16_base)
+MACHINE_CONFIG_START(segas1x_bootleg_state::passsht4b)
+ system16_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2216,12 +2219,13 @@ MACHINE_CONFIG_DERIVED(segas1x_bootleg_state::passsht4b, system16_base)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(segas1x_bootleg_state, screen_update_s16a_bootleg_passht4b)
- MCFG_FRAGMENT_ADD(datsu_2x_ym2203_msm5205)
+ datsu_2x_ym2203_msm5205(config);
MCFG_DEVICE_MODIFY("5205")
MCFG_MSM5205_PRESCALER_SELECTOR(S96_4B)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas1x_bootleg_state::wb3bb, system16_base)
+MACHINE_CONFIG_START(segas1x_bootleg_state::wb3bb)
+ system16_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2236,7 +2240,7 @@ MACHINE_CONFIG_DERIVED(segas1x_bootleg_state::wb3bb, system16_base)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(segas1x_bootleg_state, screen_update_s16a_bootleg)
- MCFG_FRAGMENT_ADD(z80_ym2151)
+ z80_ym2151(config);
MACHINE_CONFIG_END
@@ -2270,56 +2274,62 @@ MACHINE_CONFIG_START(segas1x_bootleg_state::goldnaxeb_base)
MCFG_GENERIC_LATCH_8_ADD("soundlatch")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas1x_bootleg_state::goldnaxeb1, goldnaxeb_base)
+MACHINE_CONFIG_START(segas1x_bootleg_state::goldnaxeb1)
+ goldnaxeb_base(config);
- MCFG_FRAGMENT_ADD(z80_ym2151_upd7759)
+ z80_ym2151_upd7759(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas1x_bootleg_state::goldnaxeb2, goldnaxeb_base)
+MACHINE_CONFIG_START(segas1x_bootleg_state::goldnaxeb2)
+ goldnaxeb_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(goldnaxeb2_map)
MCFG_DEVICE_REMOVE_ADDRESS_MAP(AS_OPCODES)
- MCFG_FRAGMENT_ADD(datsu_2x_ym2203_msm5205)
+ datsu_2x_ym2203_msm5205(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas1x_bootleg_state::bayrouteb1, goldnaxeb1)
+MACHINE_CONFIG_START(segas1x_bootleg_state::bayrouteb1)
+ goldnaxeb1(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(bayrouteb1_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas1x_bootleg_state::bayrouteb2, goldnaxeb_base)
+MACHINE_CONFIG_START(segas1x_bootleg_state::bayrouteb2)
+ goldnaxeb_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(bayrouteb2_map)
MCFG_DEVICE_REMOVE_ADDRESS_MAP(AS_OPCODES)
- MCFG_FRAGMENT_ADD(datsu_ym2151_msm5205)
+ datsu_ym2151_msm5205(config);
MCFG_DEVICE_MODIFY("sprites")
MCFG_BOOTLEG_SYS16B_SPRITES_XORIGIN(189-107)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas1x_bootleg_state::tturfbl, system16_base)
+MACHINE_CONFIG_START(segas1x_bootleg_state::tturfbl)
+ system16_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(tturfbl_map)
- MCFG_FRAGMENT_ADD(datsu_ym2151_msm5205)
+ datsu_ym2151_msm5205(config);
MCFG_BOOTLEG_SYS16B_SPRITES_ADD("sprites")
MCFG_BOOTLEG_SYS16B_SPRITES_XORIGIN(189-107)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas1x_bootleg_state::dduxbl, system16_base)
+MACHINE_CONFIG_START(segas1x_bootleg_state::dduxbl)
+ system16_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2328,10 +2338,11 @@ MACHINE_CONFIG_DERIVED(segas1x_bootleg_state::dduxbl, system16_base)
MCFG_BOOTLEG_SYS16B_SPRITES_ADD("sprites")
MCFG_BOOTLEG_SYS16B_SPRITES_XORIGIN(189-112)
- MCFG_FRAGMENT_ADD(z80_ym2151)
+ z80_ym2151(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas1x_bootleg_state::eswatbl, system16_base)
+MACHINE_CONFIG_START(segas1x_bootleg_state::eswatbl)
+ system16_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2340,10 +2351,11 @@ MACHINE_CONFIG_DERIVED(segas1x_bootleg_state::eswatbl, system16_base)
MCFG_BOOTLEG_SYS16B_SPRITES_ADD("sprites")
MCFG_BOOTLEG_SYS16B_SPRITES_XORIGIN(189-124)
- MCFG_FRAGMENT_ADD(z80_ym2151_upd7759)
+ z80_ym2151_upd7759(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas1x_bootleg_state::eswatbl2, system16_base)
+MACHINE_CONFIG_START(segas1x_bootleg_state::eswatbl2)
+ system16_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2352,10 +2364,11 @@ MACHINE_CONFIG_DERIVED(segas1x_bootleg_state::eswatbl2, system16_base)
MCFG_BOOTLEG_SYS16B_SPRITES_ADD("sprites")
MCFG_BOOTLEG_SYS16B_SPRITES_XORIGIN(189-121)
- MCFG_FRAGMENT_ADD(datsu_2x_ym2203_msm5205)
+ datsu_2x_ym2203_msm5205(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas1x_bootleg_state::tetrisbl, system16_base)
+MACHINE_CONFIG_START(segas1x_bootleg_state::tetrisbl)
+ system16_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2364,10 +2377,11 @@ MACHINE_CONFIG_DERIVED(segas1x_bootleg_state::tetrisbl, system16_base)
MCFG_BOOTLEG_SYS16B_SPRITES_ADD("sprites")
MCFG_BOOTLEG_SYS16B_SPRITES_XORIGIN(189-112)
- MCFG_FRAGMENT_ADD(z80_ym2151)
+ z80_ym2151(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas1x_bootleg_state::altbeastbl, system16_base)
+MACHINE_CONFIG_START(segas1x_bootleg_state::altbeastbl)
+ system16_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(tetrisbl_map)
@@ -2375,12 +2389,13 @@ MACHINE_CONFIG_DERIVED(segas1x_bootleg_state::altbeastbl, system16_base)
MCFG_BOOTLEG_SYS16B_SPRITES_ADD("sprites")
MCFG_BOOTLEG_SYS16B_SPRITES_XORIGIN(189-112)
- MCFG_FRAGMENT_ADD(datsu_2x_ym2203_msm5205)
+ datsu_2x_ym2203_msm5205(config);
MCFG_DEVICE_MODIFY("5205")
MCFG_MSM5205_PRESCALER_SELECTOR(S96_4B)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas1x_bootleg_state::beautyb, system16_base)
+MACHINE_CONFIG_START(segas1x_bootleg_state::beautyb)
+ system16_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2388,7 +2403,7 @@ MACHINE_CONFIG_DERIVED(segas1x_bootleg_state::beautyb, system16_base)
// no sprites
- MCFG_FRAGMENT_ADD(z80_ym2151)
+ z80_ym2151(config);
MACHINE_CONFIG_END
@@ -2443,7 +2458,8 @@ MACHINE_CONFIG_START(segas1x_bootleg_state::system18)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas1x_bootleg_state::astormbl, system18)
+MACHINE_CONFIG_START(segas1x_bootleg_state::astormbl)
+ system18(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2488,7 +2504,8 @@ MACHINE_CONFIG_START(segas1x_bootleg_state::astormb2)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas1x_bootleg_state::mwalkbl, astormb2)
+MACHINE_CONFIG_START(segas1x_bootleg_state::mwalkbl)
+ astormb2(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2496,7 +2513,8 @@ MACHINE_CONFIG_DERIVED(segas1x_bootleg_state::mwalkbl, astormb2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas1x_bootleg_state::shdancbl, system18)
+MACHINE_CONFIG_START(segas1x_bootleg_state::shdancbl)
+ system18(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2514,7 +2532,8 @@ MACHINE_CONFIG_DERIVED(segas1x_bootleg_state::shdancbl, system18)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.80)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(segas1x_bootleg_state::shdancbla, system18)
+MACHINE_CONFIG_START(segas1x_bootleg_state::shdancbla)
+ system18(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/taito.cpp b/src/mame/drivers/taito.cpp
index bcb1d091f44..5e5bb110bac 100644
--- a/src/mame/drivers/taito.cpp
+++ b/src/mame/drivers/taito.cpp
@@ -350,7 +350,7 @@ MACHINE_CONFIG_START(taito_state::taito)
MCFG_DEFAULT_LAYOUT(layout_taito)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.475) // unknown DAC
@@ -370,20 +370,23 @@ MACHINE_CONFIG_START(taito_state::taito)
MCFG_TIMER_DRIVER_ADD_PERIODIC("timer_a", taito_state, timer_a, attotime::from_hz(200))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taito_state::shock, taito)
+MACHINE_CONFIG_START(taito_state::shock)
+ taito(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(shock_map)
MCFG_CPU_MODIFY( "audiocpu" )
MCFG_CPU_PROGRAM_MAP(shock_sub_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taito_state::taito2, taito)
+MACHINE_CONFIG_START(taito_state::taito2)
+ taito(config);
MCFG_CPU_MODIFY( "audiocpu" )
MCFG_CPU_PROGRAM_MAP(taito_sub_map2)
MACHINE_CONFIG_END
// add vox
-MACHINE_CONFIG_DERIVED(taito_state::taito4, taito)
+MACHINE_CONFIG_START(taito_state::taito4)
+ taito(config);
MCFG_SPEAKER_STANDARD_MONO("voxsnd")
MCFG_DEVICE_ADD("votrax", VOTRAX_SC01, 720000) // guess
MCFG_VOTRAX_SC01_REQUEST_CB(WRITELINE(taito_state, votrax_request))
@@ -405,13 +408,15 @@ MACHINE_CONFIG_START(taito_state::taito_ay_audio)
MACHINE_CONFIG_END
// add ay
-MACHINE_CONFIG_DERIVED(taito_state::taito5, taito)
- MCFG_FRAGMENT_ADD( taito_ay_audio )
+MACHINE_CONFIG_START(taito_state::taito5)
+ taito(config);
+ taito_ay_audio(config);
MACHINE_CONFIG_END
// add vox and ay
-MACHINE_CONFIG_DERIVED(taito_state::taito6, taito4)
- MCFG_FRAGMENT_ADD( taito_ay_audio )
+MACHINE_CONFIG_START(taito_state::taito6)
+ taito4(config);
+ taito_ay_audio(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/taito_b.cpp b/src/mame/drivers/taito_b.cpp
index 0bae9f1ee2d..cf7b56033b4 100644
--- a/src/mame/drivers/taito_b.cpp
+++ b/src/mame/drivers/taito_b.cpp
@@ -2021,7 +2021,8 @@ MACHINE_CONFIG_START(taitob_state::masterw)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitob_state::tetrist, rastsag2) /* Nastar conversion kit with slightly different memory map */
+MACHINE_CONFIG_START(taitob_state::tetrist) /* Nastar conversion kit with slightly different memory map */
+ rastsag2(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(tetrist_map)
@@ -2031,7 +2032,8 @@ MACHINE_CONFIG_DERIVED(taitob_state::tetrist, rastsag2) /* Nastar conversion kit
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitob_state::tetrista, masterw) /* Master of Weapon conversion kit with slightly different memory map */
+MACHINE_CONFIG_START(taitob_state::tetrista) /* Master of Weapon conversion kit with slightly different memory map */
+ masterw(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(tetrista_map)
diff --git a/src/mame/drivers/taito_f2.cpp b/src/mame/drivers/taito_f2.cpp
index 874b7519ef8..940ff1cbb0c 100644
--- a/src/mame/drivers/taito_f2.cpp
+++ b/src/mame/drivers/taito_f2.cpp
@@ -2848,7 +2848,8 @@ MACHINE_CONFIG_START(taitof2_state::taito_f2)
MCFG_TC0140SYT_SLAVE_CPU("audiocpu")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitof2_state::taito_f2_tc0220ioc, taito_f2 )
+MACHINE_CONFIG_START(taitof2_state::taito_f2_tc0220ioc )
+ taito_f2(config);
/* basic machine hardware */
MCFG_DEVICE_REMOVE("watchdog")
@@ -2861,7 +2862,8 @@ MACHINE_CONFIG_DERIVED(taitof2_state::taito_f2_tc0220ioc, taito_f2 )
MCFG_TC0220IOC_READ_7_CB(IOPORT("IN2"))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitof2_state::taito_f2_tc0510nio, taito_f2 )
+MACHINE_CONFIG_START(taitof2_state::taito_f2_tc0510nio )
+ taito_f2(config);
/* basic machine hardware */
MCFG_DEVICE_REMOVE("watchdog")
@@ -2876,7 +2878,8 @@ MACHINE_CONFIG_DERIVED(taitof2_state::taito_f2_tc0510nio, taito_f2 )
MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitof2_state::taito_f2_te7750, taito_f2 )
+MACHINE_CONFIG_START(taitof2_state::taito_f2_te7750 )
+ taito_f2(config);
MCFG_DEVICE_ADD("te7750", TE7750, 0)
MCFG_TE7750_IN_PORT1_CB(IOPORT("DSWA"))
MCFG_TE7750_IN_PORT2_CB(IOPORT("DSWB"))
@@ -2889,7 +2892,8 @@ MACHINE_CONFIG_DERIVED(taitof2_state::taito_f2_te7750, taito_f2 )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitof2_state::finalb, taito_f2_tc0220ioc)
+MACHINE_CONFIG_START(taitof2_state::finalb)
+ taito_f2_tc0220ioc(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2913,7 +2917,8 @@ MACHINE_CONFIG_DERIVED(taitof2_state::finalb, taito_f2_tc0220ioc)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitof2_state::dondokod, taito_f2_tc0220ioc)
+MACHINE_CONFIG_START(taitof2_state::dondokod)
+ taito_f2_tc0220ioc(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2941,7 +2946,8 @@ MACHINE_CONFIG_DERIVED(taitof2_state::dondokod, taito_f2_tc0220ioc)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitof2_state::megab, taito_f2_tc0220ioc)
+MACHINE_CONFIG_START(taitof2_state::megab)
+ taito_f2_tc0220ioc(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2965,7 +2971,8 @@ MACHINE_CONFIG_DERIVED(taitof2_state::megab, taito_f2_tc0220ioc)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitof2_state::thundfox, taito_f2_tc0220ioc)
+MACHINE_CONFIG_START(taitof2_state::thundfox)
+ taito_f2_tc0220ioc(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3002,7 +3009,8 @@ MACHINE_CONFIG_DERIVED(taitof2_state::thundfox, taito_f2_tc0220ioc)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitof2_state::cameltry, taito_f2_tc0220ioc)
+MACHINE_CONFIG_START(taitof2_state::cameltry)
+ taito_f2_tc0220ioc(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3029,7 +3037,8 @@ MACHINE_CONFIG_DERIVED(taitof2_state::cameltry, taito_f2_tc0220ioc)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitof2_state::qtorimon, taito_f2_tc0220ioc)
+MACHINE_CONFIG_START(taitof2_state::qtorimon)
+ taito_f2_tc0220ioc(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3051,7 +3060,8 @@ MACHINE_CONFIG_DERIVED(taitof2_state::qtorimon, taito_f2_tc0220ioc)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitof2_state::liquidk, taito_f2_tc0220ioc)
+MACHINE_CONFIG_START(taitof2_state::liquidk)
+ taito_f2_tc0220ioc(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3074,7 +3084,8 @@ MACHINE_CONFIG_DERIVED(taitof2_state::liquidk, taito_f2_tc0220ioc)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitof2_state::quizhq, taito_f2)
+MACHINE_CONFIG_START(taitof2_state::quizhq)
+ taito_f2(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3096,7 +3107,8 @@ MACHINE_CONFIG_DERIVED(taitof2_state::quizhq, taito_f2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitof2_state::ssi, taito_f2_tc0510nio)
+MACHINE_CONFIG_START(taitof2_state::ssi)
+ taito_f2_tc0510nio(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3120,7 +3132,8 @@ MACHINE_CONFIG_DERIVED(taitof2_state::ssi, taito_f2_tc0510nio)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitof2_state::gunfront, taito_f2_tc0510nio)
+MACHINE_CONFIG_START(taitof2_state::gunfront)
+ taito_f2_tc0510nio(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3146,7 +3159,8 @@ MACHINE_CONFIG_DERIVED(taitof2_state::gunfront, taito_f2_tc0510nio)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitof2_state::growl, taito_f2)
+MACHINE_CONFIG_START(taitof2_state::growl)
+ taito_f2(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3168,7 +3182,8 @@ MACHINE_CONFIG_DERIVED(taitof2_state::growl, taito_f2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitof2_state::mjnquest, taito_f2)
+MACHINE_CONFIG_START(taitof2_state::mjnquest)
+ taito_f2(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3188,7 +3203,8 @@ MACHINE_CONFIG_DERIVED(taitof2_state::mjnquest, taito_f2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitof2_state::footchmp, taito_f2_te7750)
+MACHINE_CONFIG_START(taitof2_state::footchmp)
+ taito_f2_te7750(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3212,14 +3228,16 @@ MACHINE_CONFIG_DERIVED(taitof2_state::footchmp, taito_f2_te7750)
MCFG_TC0360PRI_ADD("tc0360pri")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitof2_state::footchmpbl, footchmp)
+MACHINE_CONFIG_START(taitof2_state::footchmpbl)
+ footchmp(config);
/* video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", footchmpbl)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitof2_state::hthero, taito_f2_te7750)
+MACHINE_CONFIG_START(taitof2_state::hthero)
+ taito_f2_te7750(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3244,7 +3262,8 @@ MACHINE_CONFIG_DERIVED(taitof2_state::hthero, taito_f2_te7750)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitof2_state::koshien, taito_f2_tc0510nio)
+MACHINE_CONFIG_START(taitof2_state::koshien)
+ taito_f2_tc0510nio(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3269,7 +3288,8 @@ MACHINE_CONFIG_DERIVED(taitof2_state::koshien, taito_f2_tc0510nio)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitof2_state::yuyugogo, taito_f2_tc0510nio)
+MACHINE_CONFIG_START(taitof2_state::yuyugogo)
+ taito_f2_tc0510nio(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3293,7 +3313,8 @@ MACHINE_CONFIG_DERIVED(taitof2_state::yuyugogo, taito_f2_tc0510nio)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitof2_state::ninjak, taito_f2)
+MACHINE_CONFIG_START(taitof2_state::ninjak)
+ taito_f2(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3325,7 +3346,8 @@ MACHINE_CONFIG_DERIVED(taitof2_state::ninjak, taito_f2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitof2_state::solfigtr, taito_f2)
+MACHINE_CONFIG_START(taitof2_state::solfigtr)
+ taito_f2(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3349,7 +3371,8 @@ MACHINE_CONFIG_DERIVED(taitof2_state::solfigtr, taito_f2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitof2_state::qzquest, taito_f2_tc0510nio)
+MACHINE_CONFIG_START(taitof2_state::qzquest)
+ taito_f2_tc0510nio(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3367,7 +3390,8 @@ MACHINE_CONFIG_DERIVED(taitof2_state::qzquest, taito_f2_tc0510nio)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitof2_state::pulirula, taito_f2_tc0510nio)
+MACHINE_CONFIG_START(taitof2_state::pulirula)
+ taito_f2_tc0510nio(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3394,7 +3418,8 @@ MACHINE_CONFIG_DERIVED(taitof2_state::pulirula, taito_f2_tc0510nio)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitof2_state::metalb, taito_f2_tc0510nio)
+MACHINE_CONFIG_START(taitof2_state::metalb)
+ taito_f2_tc0510nio(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3422,7 +3447,8 @@ MACHINE_CONFIG_DERIVED(taitof2_state::metalb, taito_f2_tc0510nio)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitof2_state::qzchikyu, taito_f2_tc0510nio)
+MACHINE_CONFIG_START(taitof2_state::qzchikyu)
+ taito_f2_tc0510nio(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3444,7 +3470,8 @@ MACHINE_CONFIG_DERIVED(taitof2_state::qzchikyu, taito_f2_tc0510nio)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitof2_state::yesnoj, taito_f2)
+MACHINE_CONFIG_START(taitof2_state::yesnoj)
+ taito_f2(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3467,7 +3494,8 @@ MACHINE_CONFIG_DERIVED(taitof2_state::yesnoj, taito_f2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitof2_state::deadconx, taito_f2_te7750)
+MACHINE_CONFIG_START(taitof2_state::deadconx)
+ taito_f2_te7750(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3491,7 +3519,8 @@ MACHINE_CONFIG_DERIVED(taitof2_state::deadconx, taito_f2_te7750)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitof2_state::deadconxj, taito_f2_te7750)
+MACHINE_CONFIG_START(taitof2_state::deadconxj)
+ taito_f2_te7750(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3515,7 +3544,8 @@ MACHINE_CONFIG_DERIVED(taitof2_state::deadconxj, taito_f2_te7750)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitof2_state::dinorex, taito_f2_tc0510nio)
+MACHINE_CONFIG_START(taitof2_state::dinorex)
+ taito_f2_tc0510nio(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3540,7 +3570,8 @@ MACHINE_CONFIG_DERIVED(taitof2_state::dinorex, taito_f2_tc0510nio)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitof2_state::qjinsei, taito_f2_tc0510nio)
+MACHINE_CONFIG_START(taitof2_state::qjinsei)
+ taito_f2_tc0510nio(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3565,7 +3596,8 @@ MACHINE_CONFIG_DERIVED(taitof2_state::qjinsei, taito_f2_tc0510nio)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitof2_state::qcrayon, taito_f2_tc0510nio)
+MACHINE_CONFIG_START(taitof2_state::qcrayon)
+ taito_f2_tc0510nio(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3590,7 +3622,8 @@ MACHINE_CONFIG_DERIVED(taitof2_state::qcrayon, taito_f2_tc0510nio)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitof2_state::qcrayon2, taito_f2_tc0510nio)
+MACHINE_CONFIG_START(taitof2_state::qcrayon2)
+ taito_f2_tc0510nio(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -3615,7 +3648,8 @@ MACHINE_CONFIG_DERIVED(taitof2_state::qcrayon2, taito_f2_tc0510nio)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitof2_state::driftout, taito_f2_tc0510nio)
+MACHINE_CONFIG_START(taitof2_state::driftout)
+ taito_f2_tc0510nio(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/taito_f3.cpp b/src/mame/drivers/taito_f3.cpp
index e00505aaa10..db1fa0a0b0d 100644
--- a/src/mame/drivers/taito_f3.cpp
+++ b/src/mame/drivers/taito_f3.cpp
@@ -493,30 +493,35 @@ MACHINE_CONFIG_END
of the games change the registers during the game (to do so would probably require
monitor recalibration.)
*/
-MACHINE_CONFIG_DERIVED(taito_f3_state::f3_224a, f3)
+MACHINE_CONFIG_START(taito_f3_state::f3_224a)
+ f3(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(46, 40*8-1 + 46, 31, 31+224-1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taito_f3_state::f3_224b, f3)
+MACHINE_CONFIG_START(taito_f3_state::f3_224b)
+ f3(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(46, 40*8-1 + 46, 32, 32+224-1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taito_f3_state::f3_224c, f3)
+MACHINE_CONFIG_START(taito_f3_state::f3_224c)
+ f3(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(46, 40*8-1 + 46, 24, 24+224-1)
MACHINE_CONFIG_END
/* recalh and gseeker need a default EEPROM to work */
-MACHINE_CONFIG_DERIVED(taito_f3_state::f3_eeprom, f3)
+MACHINE_CONFIG_START(taito_f3_state::f3_eeprom)
+ f3(config);
MCFG_DEVICE_REMOVE("eeprom")
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_EEPROM_SERIAL_DATA(recalh_eeprom, 128) //TODO: convert this into ROM
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taito_f3_state::f3_224b_eeprom, f3_224b)
+MACHINE_CONFIG_START(taito_f3_state::f3_224b_eeprom)
+ f3_224b(config);
MCFG_DEVICE_REMOVE("eeprom")
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
diff --git a/src/mame/drivers/taito_h.cpp b/src/mame/drivers/taito_h.cpp
index 0f87aeffc48..ff8856535d2 100644
--- a/src/mame/drivers/taito_h.cpp
+++ b/src/mame/drivers/taito_h.cpp
@@ -747,7 +747,8 @@ MACHINE_CONFIG_START(taitoh_state::recordbr)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitoh_state::tetristh, recordbr)
+MACHINE_CONFIG_START(taitoh_state::tetristh)
+ recordbr(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/taito_l.cpp b/src/mame/drivers/taito_l.cpp
index 76dab35aaef..93ef25e5094 100644
--- a/src/mame/drivers/taito_l.cpp
+++ b/src/mame/drivers/taito_l.cpp
@@ -1567,7 +1567,7 @@ MACHINE_CONFIG_START(fhawk_state::fhawk)
MCFG_MACHINE_RESET_OVERRIDE(taitol_state, taito_l)
/* video hardware */
- MCFG_FRAGMENT_ADD(l_system_video)
+ l_system_video(config);
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1586,7 +1586,8 @@ MACHINE_CONFIG_START(fhawk_state::fhawk)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(champwr_state::champwr, fhawk)
+MACHINE_CONFIG_START(champwr_state::champwr)
+ fhawk(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1641,7 +1642,7 @@ MACHINE_CONFIG_START(taitol_2cpu_state::raimais)
MCFG_MACHINE_RESET_OVERRIDE(taitol_state, taito_l)
/* video hardware */
- MCFG_FRAGMENT_ADD(l_system_video)
+ l_system_video(config);
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1685,7 +1686,7 @@ MACHINE_CONFIG_START(taitol_2cpu_state::kurikint)
MCFG_MACHINE_RESET_OVERRIDE(taitol_state, taito_l)
/* video hardware */
- MCFG_FRAGMENT_ADD(l_system_video)
+ l_system_video(config);
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1709,7 +1710,7 @@ MACHINE_CONFIG_START(taitol_1cpu_state::plotting)
MCFG_MACHINE_RESET_OVERRIDE(taitol_state, taito_l)
/* video hardware */
- MCFG_FRAGMENT_ADD(l_system_video)
+ l_system_video(config);
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1732,7 +1733,8 @@ MACHINE_CONFIG_START(taitol_1cpu_state::plotting)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitol_1cpu_state::puzznic, plotting)
+MACHINE_CONFIG_START(taitol_1cpu_state::puzznic)
+ plotting(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1741,7 +1743,8 @@ MACHINE_CONFIG_DERIVED(taitol_1cpu_state::puzznic, plotting)
MCFG_DEVICE_ADD("mcu", ARKANOID_68705P3, 3_MHz_XTAL)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitol_1cpu_state::puzznici, plotting)
+MACHINE_CONFIG_START(taitol_1cpu_state::puzznici)
+ plotting(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1749,7 +1752,8 @@ MACHINE_CONFIG_DERIVED(taitol_1cpu_state::puzznici, plotting)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(horshoes_state::horshoes, plotting)
+MACHINE_CONFIG_START(horshoes_state::horshoes)
+ plotting(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1761,7 +1765,8 @@ MACHINE_CONFIG_DERIVED(horshoes_state::horshoes, plotting)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitol_1cpu_state::palamed, plotting)
+MACHINE_CONFIG_START(taitol_1cpu_state::palamed)
+ plotting(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1781,7 +1786,8 @@ MACHINE_CONFIG_DERIVED(taitol_1cpu_state::palamed, plotting)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitol_1cpu_state::cachat, plotting)
+MACHINE_CONFIG_START(taitol_1cpu_state::cachat)
+ plotting(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1828,7 +1834,7 @@ MACHINE_CONFIG_START(taitol_2cpu_state::evilston)
MCFG_MACHINE_RESET_OVERRIDE(taitol_state, taito_l)
/* video hardware */
- MCFG_FRAGMENT_ADD(l_system_video)
+ l_system_video(config);
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/taito_z.cpp b/src/mame/drivers/taito_z.cpp
index 99bf567b3f0..732392dc7fb 100644
--- a/src/mame/drivers/taito_z.cpp
+++ b/src/mame/drivers/taito_z.cpp
@@ -3253,7 +3253,8 @@ MACHINE_CONFIG_START(taitoz_state::bshark)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitoz_state::bsharkjjs, bshark)
+MACHINE_CONFIG_START(taitoz_state::bsharkjjs)
+ bshark(config);
/* basic machine hardware */
diff --git a/src/mame/drivers/taitogn.cpp b/src/mame/drivers/taitogn.cpp
index 8a143d5eadf..a8124297ae5 100644
--- a/src/mame/drivers/taitogn.cpp
+++ b/src/mame/drivers/taitogn.cpp
@@ -757,31 +757,36 @@ MACHINE_CONFIG_START(taitogn_state::coh3002t)
MCFG_ZSG2_EXT_READ_HANDLER(DEVREAD32(DEVICE_SELF_OWNER, taitogn_state, zsg2_ext_r))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitogn_state::coh3002t_t1, coh3002t)
+MACHINE_CONFIG_START(taitogn_state::coh3002t_t1)
+ coh3002t(config);
MCFG_DEVICE_MODIFY("pccard")
MCFG_SLOT_DEFAULT_OPTION("taitopccard1")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitogn_state::coh3002t_t2, coh3002t)
+MACHINE_CONFIG_START(taitogn_state::coh3002t_t2)
+ coh3002t(config);
MCFG_DEVICE_MODIFY("pccard")
MCFG_SLOT_DEFAULT_OPTION("taitopccard2")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitogn_state::coh3002t_t1_mp, coh3002t_t1)
+MACHINE_CONFIG_START(taitogn_state::coh3002t_t1_mp)
+ coh3002t_t1(config);
/* basic machine hardware */
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(taitogn_mp_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitogn_state::coh3002t_t2_mp, coh3002t_t2)
+MACHINE_CONFIG_START(taitogn_state::coh3002t_t2_mp)
+ coh3002t_t2(config);
/* basic machine hardware */
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(taitogn_mp_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitogn_state::coh3002t_cf, coh3002t)
+MACHINE_CONFIG_START(taitogn_state::coh3002t_cf)
+ coh3002t(config);
MCFG_DEVICE_MODIFY("pccard")
MCFG_SLOT_DEFAULT_OPTION("taitocf")
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/taitojc.cpp b/src/mame/drivers/taitojc.cpp
index 4161d3d46f7..c6659cd4e3c 100644
--- a/src/mame/drivers/taitojc.cpp
+++ b/src/mame/drivers/taitojc.cpp
@@ -1112,7 +1112,8 @@ MACHINE_CONFIG_START(taitojc_state::taitojc)
MCFG_DEVICE_ADD("taito_en", TAITO_EN, 0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitojc_state::dendego, taitojc)
+MACHINE_CONFIG_START(taitojc_state::dendego)
+ taitojc(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/taitosj.cpp b/src/mame/drivers/taitosj.cpp
index 4b4e1a01f1a..f1aec9d902a 100644
--- a/src/mame/drivers/taitosj.cpp
+++ b/src/mame/drivers/taitosj.cpp
@@ -1827,7 +1827,8 @@ MACHINE_CONFIG_END
/* same as above, but with additional 68705 MCU */
-MACHINE_CONFIG_DERIVED(taitosj_state::mcu, nomcu)
+MACHINE_CONFIG_START(taitosj_state::mcu)
+ nomcu(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1844,7 +1845,8 @@ MACHINE_CONFIG_DERIVED(taitosj_state::mcu, nomcu)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitosj_state::kikstart, mcu)
+MACHINE_CONFIG_START(taitosj_state::kikstart)
+ mcu(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/taitotz.cpp b/src/mame/drivers/taitotz.cpp
index 5494840fe17..f3eab35d8d1 100644
--- a/src/mame/drivers/taitotz.cpp
+++ b/src/mame/drivers/taitotz.cpp
@@ -2604,7 +2604,8 @@ MACHINE_CONFIG_START(taitotz_state::taitotz)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(taitotz_state::landhigh, taitotz)
+MACHINE_CONFIG_START(taitotz_state::landhigh)
+ taitotz(config);
MCFG_CPU_MODIFY("iocpu")
MCFG_CPU_PROGRAM_MAP(landhigh_tlcs900h_mem)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/taitowlf.cpp b/src/mame/drivers/taitowlf.cpp
index 055bd749aaa..d4bd4aaac49 100644
--- a/src/mame/drivers/taitowlf.cpp
+++ b/src/mame/drivers/taitowlf.cpp
@@ -381,11 +381,11 @@ MACHINE_CONFIG_START(taitowlf_state::taitowlf)
MCFG_PCI_BUS_LEGACY_DEVICE(0, nullptr, intel82439tx_pci_r, intel82439tx_pci_w)
MCFG_PCI_BUS_LEGACY_DEVICE(7, nullptr, intel82371ab_pci_r, intel82371ab_pci_w)
- MCFG_FRAGMENT_ADD( pcat_common )
+ pcat_common(config);
/* video hardware */
#if ENABLE_VGA
- MCFG_FRAGMENT_ADD( pcvideo_vga )
+ pcvideo_vga(config);
#else
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/tandy1t.cpp b/src/mame/drivers/tandy1t.cpp
index bd5b85586e0..4e965c29ab6 100644
--- a/src/mame/drivers/tandy1t.cpp
+++ b/src/mame/drivers/tandy1t.cpp
@@ -683,9 +683,9 @@ MACHINE_CONFIG_START(tandy1000_state::t1000hx)
MCFG_CPU_IO_MAP(tandy1000_io)
MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259", pic8259_device, inta_cb)
- MCFG_FRAGMENT_ADD(tandy1000_common)
+ tandy1000_common(config);
- MCFG_FRAGMENT_ADD(tandy1000_90key)
+ tandy1000_90key(config);
// plus cards are isa with a nonstandard conntector
MCFG_ISA8_SLOT_ADD("mb:isa", "plus1", pc_isa8_cards, nullptr, false)
@@ -693,7 +693,8 @@ MACHINE_CONFIG_START(tandy1000_state::t1000hx)
MCFG_RAM_EXTRA_OPTIONS("256K, 384K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tandy1000_state::t1000sx, t1000hx)
+MACHINE_CONFIG_START(tandy1000_state::t1000sx)
+ t1000hx(config);
MCFG_DEVICE_MODIFY("isa_fdc")
MCFG_SLOT_OPTION_MACHINE_CONFIG("fdc_xt", cfg_fdc_525)
@@ -713,9 +714,9 @@ MACHINE_CONFIG_START(tandy1000_state::t1000rl)
MCFG_CPU_IO_MAP(tandy1000_bank_io)
MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259", pic8259_device, inta_cb)
- MCFG_FRAGMENT_ADD(tandy1000_common)
+ tandy1000_common(config);
- MCFG_FRAGMENT_ADD(tandy1000_101key)
+ tandy1000_101key(config);
MCFG_DEVICE_ADD("biosbank", ADDRESS_MAP_BANK, 0)
MCFG_DEVICE_PROGRAM_MAP(biosbank_map)
@@ -729,7 +730,8 @@ MACHINE_CONFIG_START(tandy1000_state::t1000rl)
MCFG_RAM_EXTRA_OPTIONS("384K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tandy1000_state::t1000sl2, t1000rl)
+MACHINE_CONFIG_START(tandy1000_state::t1000sl2)
+ t1000rl(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_CLOCK( XTAL(24'000'000) / 3 )
@@ -745,9 +747,9 @@ MACHINE_CONFIG_START(tandy1000_state::t1000tl)
MCFG_CPU_IO_MAP(tandy1000_16_io)
MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259", pic8259_device, inta_cb)
- MCFG_FRAGMENT_ADD(tandy1000_common)
+ tandy1000_common(config);
- MCFG_FRAGMENT_ADD(tandy1000_101key)
+ tandy1000_101key(config);
MCFG_ISA8_SLOT_ADD("mb:isa", "isa1", pc_isa8_cards, nullptr, false)
MCFG_ISA8_SLOT_ADD("mb:isa", "isa2", pc_isa8_cards, nullptr, false)
@@ -756,12 +758,13 @@ MACHINE_CONFIG_START(tandy1000_state::t1000tl)
MCFG_ISA8_SLOT_ADD("mb:isa", "isa5", pc_isa8_cards, nullptr, false)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tandy1000_state::t1000tx, t1000tl)
+MACHINE_CONFIG_START(tandy1000_state::t1000tx)
+ t1000tl(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_IO_MAP(tandy1000tx_io)
MCFG_DEVICE_REMOVE("pc_keyboard")
- MCFG_FRAGMENT_ADD(tandy1000_90key)
+ tandy1000_90key(config);
MACHINE_CONFIG_END
#ifdef UNUSED_DEFINITION
diff --git a/src/mame/drivers/tandy2k.cpp b/src/mame/drivers/tandy2k.cpp
index e9bc1fce2e7..b5ad126df75 100644
--- a/src/mame/drivers/tandy2k.cpp
+++ b/src/mame/drivers/tandy2k.cpp
@@ -881,7 +881,8 @@ MACHINE_CONFIG_START(tandy2k_state::tandy2k)
MCFG_RAM_EXTRA_OPTIONS("256K,384K,512K,640K,768K,896K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tandy2k_state::tandy2k_hd, tandy2k)
+MACHINE_CONFIG_START(tandy2k_state::tandy2k_hd)
+ tandy2k(config);
// basic machine hardware
MCFG_CPU_MODIFY(I80186_TAG)
MCFG_CPU_IO_MAP(tandy2k_hd_io)
diff --git a/src/mame/drivers/tapatune.cpp b/src/mame/drivers/tapatune.cpp
index 15f806cbb3c..0f807177b1d 100644
--- a/src/mame/drivers/tapatune.cpp
+++ b/src/mame/drivers/tapatune.cpp
@@ -533,7 +533,8 @@ MACHINE_CONFIG_START(tapatune_state::tapatune_base)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tapatune_state::tapatune, tapatune_base)
+MACHINE_CONFIG_START(tapatune_state::tapatune)
+ tapatune_base(config);
MCFG_CPU_ADD("videocpu", M68000, XTAL(24'000'000) / 2)
MCFG_CPU_PROGRAM_MAP(video_map)
diff --git a/src/mame/drivers/tavernie.cpp b/src/mame/drivers/tavernie.cpp
index 6dfd53a69d9..72366f6f12b 100644
--- a/src/mame/drivers/tavernie.cpp
+++ b/src/mame/drivers/tavernie.cpp
@@ -331,7 +331,8 @@ MACHINE_CONFIG_START(tavernie_state::cpu09)
MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("acia", acia6850_device, write_rxc))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tavernie_state::ivg09, cpu09)
+MACHINE_CONFIG_START(tavernie_state::ivg09)
+ cpu09(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(ivg09_mem)
diff --git a/src/mame/drivers/tecmo.cpp b/src/mame/drivers/tecmo.cpp
index d343efa7dd6..001bc1b08e8 100644
--- a/src/mame/drivers/tecmo.cpp
+++ b/src/mame/drivers/tecmo.cpp
@@ -666,7 +666,8 @@ MACHINE_CONFIG_START(tecmo_state::rygar)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tecmo_state::gemini, rygar)
+MACHINE_CONFIG_START(tecmo_state::gemini)
+ rygar(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -682,13 +683,15 @@ MACHINE_CONFIG_DERIVED(tecmo_state::gemini, rygar)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tecmo_state::geminib, gemini)
+MACHINE_CONFIG_START(tecmo_state::geminib)
+ gemini(config);
// 24.18 MHz OSC / 59.62 Hz, bootleg only?
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_RAW_PARAMS(24180000/4, 384,0,256,264,16,240)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tecmo_state::silkworm, gemini)
+MACHINE_CONFIG_START(tecmo_state::silkworm)
+ gemini(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -696,7 +699,8 @@ MACHINE_CONFIG_DERIVED(tecmo_state::silkworm, gemini)
MCFG_CPU_PROGRAM_MAP(silkworm_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tecmo_state::backfirt, gemini)
+MACHINE_CONFIG_START(tecmo_state::backfirt)
+ gemini(config);
/* this pcb has no MSM5205 */
MCFG_DEVICE_REMOVE("msm")
diff --git a/src/mame/drivers/tecmo16.cpp b/src/mame/drivers/tecmo16.cpp
index 877bb32aa03..5540216c42a 100644
--- a/src/mame/drivers/tecmo16.cpp
+++ b/src/mame/drivers/tecmo16.cpp
@@ -410,7 +410,8 @@ MACHINE_CONFIG_START(tecmo16_state::fstarfrc)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tecmo16_state::ginkun, fstarfrc)
+MACHINE_CONFIG_START(tecmo16_state::ginkun)
+ fstarfrc(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(ginkun_map)
@@ -418,7 +419,8 @@ MACHINE_CONFIG_DERIVED(tecmo16_state::ginkun, fstarfrc)
MCFG_VIDEO_START_OVERRIDE(tecmo16_state,ginkun)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tecmo16_state::riot, ginkun)
+MACHINE_CONFIG_START(tecmo16_state::riot)
+ ginkun(config);
/* basic machine hardware */
MCFG_VIDEO_START_OVERRIDE(tecmo16_state,riot)
diff --git a/src/mame/drivers/tehkanwc.cpp b/src/mame/drivers/tehkanwc.cpp
index f800dfcf999..4f88a38b07b 100644
--- a/src/mame/drivers/tehkanwc.cpp
+++ b/src/mame/drivers/tehkanwc.cpp
@@ -715,7 +715,8 @@ MACHINE_CONFIG_START(tehkanwc_state::tehkanwc)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.45)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tehkanwc_state::tehkanwcb, tehkanwc)
+MACHINE_CONFIG_START(tehkanwc_state::tehkanwcb)
+ tehkanwc(config);
MCFG_SOUND_REPLACE("ay1", AY8910, 18432000/12)
MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(tehkanwc_state, portA_w))
MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(tehkanwc_state, portB_w))
diff --git a/src/mame/drivers/tek410x.cpp b/src/mame/drivers/tek410x.cpp
index 73d22389e7d..cc9823090c7 100644
--- a/src/mame/drivers/tek410x.cpp
+++ b/src/mame/drivers/tek410x.cpp
@@ -108,7 +108,8 @@ MACHINE_CONFIG_START(tek4107a_state::tek4107a)
MCFG_GFXDECODE_ADD("gfxdecode", "palette", tek4107a)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tek4107a_state::tek4109a, tek4107a)
+MACHINE_CONFIG_START(tek4107a_state::tek4109a)
+ tek4107a(config);
/* video hardware */
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_ENTRIES(4096)
diff --git a/src/mame/drivers/terracre.cpp b/src/mame/drivers/terracre.cpp
index e8551ff4f44..0d3cb8bbadb 100644
--- a/src/mame/drivers/terracre.cpp
+++ b/src/mame/drivers/terracre.cpp
@@ -613,7 +613,8 @@ MACHINE_CONFIG_START(terracre_state::ym3526)
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(terracre_state::ym2203, ym3526)
+MACHINE_CONFIG_START(terracre_state::ym2203)
+ ym3526(config);
MCFG_CPU_MODIFY("audiocpu")
MCFG_CPU_IO_MAP(sound_2203_io_map)
@@ -626,14 +627,16 @@ MACHINE_CONFIG_DERIVED(terracre_state::ym2203, ym3526)
MCFG_SOUND_ROUTE(3, "speaker", 0.4)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(terracre_state::amazon_base, ym3526)
+MACHINE_CONFIG_START(terracre_state::amazon_base)
+ ym3526(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(amazon_base_map)
MCFG_MACHINE_START_OVERRIDE(terracre_state,amazon)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(terracre_state::amazon_1412m2, amazon_base)
+MACHINE_CONFIG_START(terracre_state::amazon_1412m2)
+ amazon_base(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(amazon_1412m2_map)
diff --git a/src/mame/drivers/thepit.cpp b/src/mame/drivers/thepit.cpp
index 0432ff13866..f014168a1ab 100644
--- a/src/mame/drivers/thepit.cpp
+++ b/src/mame/drivers/thepit.cpp
@@ -755,12 +755,14 @@ MACHINE_CONFIG_START(thepit_state::thepit)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(thepit_state::fitter, thepit)
+MACHINE_CONFIG_START(thepit_state::fitter)
+ thepit(config);
MCFG_DEVICE_MODIFY("mainlatch") // IC42
MCFG_ADDRESSABLE_LATCH_Q2_OUT_CB(WRITELINE(thepit_state, coin_lockout_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(thepit_state::desertdn, fitter)
+MACHINE_CONFIG_START(thepit_state::desertdn)
+ fitter(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -773,7 +775,8 @@ MACHINE_CONFIG_DERIVED(thepit_state::desertdn, fitter)
MCFG_GFXDECODE_MODIFY("gfxdecode", intrepid)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(thepit_state::intrepid, fitter)
+MACHINE_CONFIG_START(thepit_state::intrepid)
+ fitter(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -787,7 +790,8 @@ MACHINE_CONFIG_DERIVED(thepit_state::intrepid, fitter)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(thepit_state::suprmous, intrepid)
+MACHINE_CONFIG_START(thepit_state::suprmous)
+ intrepid(config);
/* basic machine hardware */
diff --git a/src/mame/drivers/thief.cpp b/src/mame/drivers/thief.cpp
index 9ce812028a6..24430345c7e 100644
--- a/src/mame/drivers/thief.cpp
+++ b/src/mame/drivers/thief.cpp
@@ -427,7 +427,8 @@ MACHINE_CONFIG_START(thief_state::thief)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(thief_state::sharkatt, thief)
+MACHINE_CONFIG_START(thief_state::sharkatt)
+ thief(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(sharkatt_main_map)
@@ -438,7 +439,8 @@ MACHINE_CONFIG_DERIVED(thief_state::sharkatt, thief)
MCFG_SAMPLES_NAMES(sharkatt_sample_names)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(thief_state::natodef, thief)
+MACHINE_CONFIG_START(thief_state::natodef)
+ thief(config);
MCFG_DEVICE_MODIFY("samples")
MCFG_SAMPLES_NAMES(natodef_sample_names)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/thomson.cpp b/src/mame/drivers/thomson.cpp
index ec3c643565c..3f7e8e5fc9e 100644
--- a/src/mame/drivers/thomson.cpp
+++ b/src/mame/drivers/thomson.cpp
@@ -761,7 +761,8 @@ MACHINE_CONFIG_START(thomson_state::to7)
MCFG_SOFTWARE_LIST_ADD("to7_qd_list","to7_qd")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(thomson_state::t9000, to7)
+MACHINE_CONFIG_START(thomson_state::t9000)
+ to7(config);
MACHINE_CONFIG_END
@@ -923,7 +924,8 @@ INPUT_PORTS_END
/* ------------ driver ------------ */
-MACHINE_CONFIG_DERIVED(thomson_state::to770, to7)
+MACHINE_CONFIG_START(thomson_state::to770)
+ to7(config);
MCFG_MACHINE_START_OVERRIDE( thomson_state, to770 )
MCFG_MACHINE_RESET_OVERRIDE( thomson_state, to770 )
@@ -949,7 +951,8 @@ MACHINE_CONFIG_DERIVED(thomson_state::to770, to7)
MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("to7_cart_list","to7_cart")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(thomson_state::to770a, to770)
+MACHINE_CONFIG_START(thomson_state::to770a)
+ to770(config);
MCFG_DEVICE_REMOVE("t770_cart_list")
MCFG_SOFTWARE_LIST_ADD("t770a_cart_list","to770a_cart")
MACHINE_CONFIG_END
@@ -1113,7 +1116,8 @@ INPUT_PORTS_END
/* ------------ driver ------------ */
-MACHINE_CONFIG_DERIVED(thomson_state::mo5, to7)
+MACHINE_CONFIG_START(thomson_state::mo5)
+ to7(config);
MCFG_MACHINE_START_OVERRIDE( thomson_state, mo5 )
MCFG_MACHINE_RESET_OVERRIDE( thomson_state, mo5 )
@@ -1158,7 +1162,8 @@ MACHINE_CONFIG_DERIVED(thomson_state::mo5, to7)
MCFG_RAM_DEFAULT_SIZE("112K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(thomson_state::mo5e, mo5)
+MACHINE_CONFIG_START(thomson_state::mo5e)
+ mo5(config);
MACHINE_CONFIG_END
@@ -1473,7 +1478,8 @@ INPUT_PORTS_END
/* ------------ driver ------------ */
-MACHINE_CONFIG_DERIVED(thomson_state::to9, to7)
+MACHINE_CONFIG_START(thomson_state::to9)
+ to7(config);
MCFG_MACHINE_START_OVERRIDE( thomson_state, to9 )
MCFG_MACHINE_RESET_OVERRIDE( thomson_state, to9 )
@@ -1695,7 +1701,8 @@ INPUT_PORTS_END
/* ------------ driver ------------ */
-MACHINE_CONFIG_DERIVED(thomson_state::to8, to7)
+MACHINE_CONFIG_START(thomson_state::to8)
+ to7(config);
MCFG_MACHINE_START_OVERRIDE( thomson_state, to8 )
MCFG_MACHINE_RESET_OVERRIDE( thomson_state, to8 )
@@ -1732,7 +1739,8 @@ MACHINE_CONFIG_DERIVED(thomson_state::to8, to7)
MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("to7_qd_list", "to7_qd")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(thomson_state::to8d, to8)
+MACHINE_CONFIG_START(thomson_state::to8d)
+ to8(config);
MACHINE_CONFIG_END
@@ -1858,7 +1866,8 @@ INPUT_PORTS_END
/* ------------ driver ------------ */
-MACHINE_CONFIG_DERIVED(thomson_state::to9p, to7)
+MACHINE_CONFIG_START(thomson_state::to9p)
+ to7(config);
MCFG_MACHINE_START_OVERRIDE( thomson_state, to9p )
MCFG_MACHINE_RESET_OVERRIDE( thomson_state, to9p )
@@ -2207,7 +2216,8 @@ INPUT_PORTS_END
/* ------------ driver ------------ */
-MACHINE_CONFIG_DERIVED(thomson_state::mo6, to7)
+MACHINE_CONFIG_START(thomson_state::mo6)
+ to7(config);
MCFG_MACHINE_START_OVERRIDE( thomson_state, mo6 )
MCFG_MACHINE_RESET_OVERRIDE( thomson_state, mo6 )
@@ -2261,7 +2271,8 @@ MACHINE_CONFIG_DERIVED(thomson_state::mo6, to7)
MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("mo5_qd_list","mo5_qd")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(thomson_state::pro128, mo6)
+MACHINE_CONFIG_START(thomson_state::pro128)
+ mo6(config);
MCFG_DEVICE_REMOVE("mo6_cass_list")
MCFG_DEVICE_REMOVE("mo6_flop_list")
@@ -2476,7 +2487,8 @@ INPUT_PORTS_END
/* ------------ driver ------------ */
-MACHINE_CONFIG_DERIVED(thomson_state::mo5nr, to7)
+MACHINE_CONFIG_START(thomson_state::mo5nr)
+ to7(config);
MCFG_MACHINE_START_OVERRIDE( thomson_state, mo5nr )
MCFG_MACHINE_RESET_OVERRIDE( thomson_state, mo5nr )
diff --git a/src/mame/drivers/thunderx.cpp b/src/mame/drivers/thunderx.cpp
index 6e27d353135..4b352ffea0c 100644
--- a/src/mame/drivers/thunderx.cpp
+++ b/src/mame/drivers/thunderx.cpp
@@ -694,7 +694,8 @@ WRITE8_MEMBER( thunderx_state::banking_callback )
m_rombank->set_entry(data & 0x0f);
}
-MACHINE_CONFIG_DERIVED(thunderx_state::thunderx, scontra)
+MACHINE_CONFIG_START(thunderx_state::thunderx)
+ scontra(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu") /* 052001 (verified on pcb) */
@@ -711,7 +712,8 @@ MACHINE_CONFIG_DERIVED(thunderx_state::thunderx, scontra)
MCFG_DEVICE_REMOVE("k007232")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(thunderx_state::gbusters, scontra)
+MACHINE_CONFIG_START(thunderx_state::gbusters)
+ scontra(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu") /* 052526 */
diff --git a/src/mame/drivers/ti85.cpp b/src/mame/drivers/ti85.cpp
index a10b0125ec6..bd7eedb1c56 100644
--- a/src/mame/drivers/ti85.cpp
+++ b/src/mame/drivers/ti85.cpp
@@ -587,7 +587,8 @@ MACHINE_CONFIG_START(ti85_state::ti81)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ti85_state::ti85, ti81)
+MACHINE_CONFIG_START(ti85_state::ti85)
+ ti81(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(6000000) /* 6 MHz */
MCFG_CPU_IO_MAP(ti85_io)
@@ -602,13 +603,15 @@ MACHINE_CONFIG_DERIVED(ti85_state::ti85, ti81)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ti85_state::ti85d, ti85)
+MACHINE_CONFIG_START(ti85_state::ti85d)
+ ti85(config);
MCFG_SNAPSHOT_ADD("snapshot", ti85_state, ti8x, "sav", 0)
//MCFG_TI85SERIAL_ADD( "tiserial" )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ti85_state::ti82, ti81)
+MACHINE_CONFIG_START(ti85_state::ti82)
+ ti81(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(6000000) /* 6 MHz */
MCFG_CPU_IO_MAP(ti82_io)
@@ -628,14 +631,16 @@ MACHINE_CONFIG_DERIVED(ti85_state::ti82, ti81)
MCFG_TI8X_LINK_PORT_ADD("linkport", default_ti8x_link_devices, nullptr)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ti85_state::ti81v2, ti82)
+MACHINE_CONFIG_START(ti85_state::ti81v2)
+ ti82(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(ti81v2_io)
MCFG_DEVICE_REMOVE("linkport")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ti85_state::ti83, ti81)
+MACHINE_CONFIG_START(ti85_state::ti83)
+ ti81(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(6000000) /* 6 MHz */
MCFG_CPU_IO_MAP(ti83_io)
@@ -653,7 +658,8 @@ MACHINE_CONFIG_DERIVED(ti85_state::ti83, ti81)
MCFG_T6A04_SIZE(96, 64)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ti85_state::ti86, ti85)
+MACHINE_CONFIG_START(ti85_state::ti86)
+ ti85(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(ti86_mem)
MCFG_CPU_IO_MAP(ti86_io)
@@ -664,7 +670,8 @@ MACHINE_CONFIG_DERIVED(ti85_state::ti86, ti85)
MCFG_SNAPSHOT_ADD("snapshot", ti85_state, ti8x, "sav", 0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ti85_state::ti83p, ti81)
+MACHINE_CONFIG_START(ti85_state::ti83p)
+ ti81(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(6000000) /* 8 MHz running at 6 MHz */
MCFG_CPU_PROGRAM_MAP(ti83p_asic_mem)
@@ -712,7 +719,8 @@ MACHINE_CONFIG_DERIVED(ti85_state::ti83p, ti81)
MCFG_AMD_29F400T_ADD("flash")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ti85_state::ti83pse, ti83p)
+MACHINE_CONFIG_START(ti85_state::ti83pse)
+ ti83p(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK( 15000000)
MCFG_CPU_IO_MAP(ti83pse_io)
@@ -733,7 +741,8 @@ MACHINE_CONFIG_DERIVED(ti85_state::ti83pse, ti83p)
MCFG_DEVICE_REPLACE("flash", FUJITSU_29F160T, 0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ti85_state::ti84p, ti83pse)
+MACHINE_CONFIG_START(ti85_state::ti84p)
+ ti83pse(config);
MCFG_DEVICE_MODIFY("membank1")
MCFG_DEVICE_PROGRAM_MAP(ti84p_banked_mem)
@@ -750,11 +759,13 @@ MACHINE_CONFIG_DERIVED(ti85_state::ti84p, ti83pse)
MCFG_DEVICE_REPLACE("flash", AMD_29F800T , 0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ti85_state::ti84pse, ti83pse)
+MACHINE_CONFIG_START(ti85_state::ti84pse)
+ ti83pse(config);
MCFG_MACHINE_START_OVERRIDE(ti85_state, ti84pse )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ti85_state::ti73, ti83p)
+MACHINE_CONFIG_START(ti85_state::ti73)
+ ti83p(config);
MCFG_DEVICE_REMOVE("linkport")
//MCFG_TI73SERIAL_ADD( "tiserial" )
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/ti89.cpp b/src/mame/drivers/ti89.cpp
index 6b37c068f80..07840cfe46d 100644
--- a/src/mame/drivers/ti89.cpp
+++ b/src/mame/drivers/ti89.cpp
@@ -541,7 +541,8 @@ MACHINE_CONFIG_START(ti68k_state::ti89)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ti68k_state::ti92, ti89)
+MACHINE_CONFIG_START(ti68k_state::ti92)
+ ti89(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(ti92_mem)
@@ -551,19 +552,22 @@ MACHINE_CONFIG_DERIVED(ti68k_state::ti92, ti89)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ti68k_state::ti92p, ti92)
+MACHINE_CONFIG_START(ti68k_state::ti92p)
+ ti92(config);
MCFG_CPU_REPLACE("maincpu", M68000, XTAL(12'000'000))
MCFG_CPU_PROGRAM_MAP(ti92p_mem)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ti68k_state::v200, ti92)
+MACHINE_CONFIG_START(ti68k_state::v200)
+ ti92(config);
MCFG_CPU_REPLACE("maincpu", M68000, XTAL(12'000'000))
MCFG_CPU_PROGRAM_MAP(v200_mem)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ti68k_state::ti89t, ti89)
+MACHINE_CONFIG_START(ti68k_state::ti89t)
+ ti89(config);
MCFG_CPU_REPLACE("maincpu", M68000, XTAL(16'000'000))
MCFG_CPU_PROGRAM_MAP(ti89t_mem)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/ti99_4x.cpp b/src/mame/drivers/ti99_4x.cpp
index d3a5321dd04..7bb28249132 100644
--- a/src/mame/drivers/ti99_4x.cpp
+++ b/src/mame/drivers/ti99_4x.cpp
@@ -914,24 +914,26 @@ MACHINE_CONFIG_END
/*
US version: 60 Hz, NTSC
*/
-MACHINE_CONFIG_DERIVED(ti99_4x_state::ti99_4_60hz, ti99_4)
- MCFG_DEVICE_ADD( TI_VDP_TAG, TMS9918, XTAL(10'738'635) / 2 ) \
- MCFG_TMS9928A_VRAM_SIZE(0x4000) \
- MCFG_TMS9928A_OUT_INT_LINE_CB(WRITELINE(ti99_4x_state, video_interrupt_in)) \
- MCFG_TMS9928A_OUT_GROMCLK_CB(WRITELINE(ti99_4x_state, gromclk_in)) \
- MCFG_TMS9928A_SCREEN_ADD_NTSC( TI_SCREEN_TAG ) \
+MACHINE_CONFIG_START(ti99_4x_state::ti99_4_60hz)
+ ti99_4(config);
+ MCFG_DEVICE_ADD( TI_VDP_TAG, TMS9918, XTAL(10'738'635) / 2 )
+ MCFG_TMS9928A_VRAM_SIZE(0x4000)
+ MCFG_TMS9928A_OUT_INT_LINE_CB(WRITELINE(ti99_4x_state, video_interrupt_in))
+ MCFG_TMS9928A_OUT_GROMCLK_CB(WRITELINE(ti99_4x_state, gromclk_in))
+ MCFG_TMS9928A_SCREEN_ADD_NTSC( TI_SCREEN_TAG )
MCFG_SCREEN_UPDATE_DEVICE( TI_VDP_TAG, tms9928a_device, screen_update )
MACHINE_CONFIG_END
/*
European version: 50 Hz, PAL
*/
-MACHINE_CONFIG_DERIVED(ti99_4x_state::ti99_4_50hz, ti99_4)
- MCFG_DEVICE_ADD( TI_VDP_TAG, TMS9929, XTAL(10'738'635) / 2 ) \
- MCFG_TMS9928A_VRAM_SIZE(0x4000) \
- MCFG_TMS9928A_OUT_INT_LINE_CB(WRITELINE(ti99_4x_state, video_interrupt_in)) \
- MCFG_TMS9928A_OUT_GROMCLK_CB(WRITELINE(ti99_4x_state, gromclk_in)) \
- MCFG_TMS9928A_SCREEN_ADD_PAL( TI_SCREEN_TAG ) \
+MACHINE_CONFIG_START(ti99_4x_state::ti99_4_50hz)
+ ti99_4(config);
+ MCFG_DEVICE_ADD( TI_VDP_TAG, TMS9929, XTAL(10'738'635) / 2 )
+ MCFG_TMS9928A_VRAM_SIZE(0x4000)
+ MCFG_TMS9928A_OUT_INT_LINE_CB(WRITELINE(ti99_4x_state, video_interrupt_in))
+ MCFG_TMS9928A_OUT_GROMCLK_CB(WRITELINE(ti99_4x_state, gromclk_in))
+ MCFG_TMS9928A_SCREEN_ADD_PAL( TI_SCREEN_TAG )
MCFG_SCREEN_UPDATE_DEVICE( TI_VDP_TAG, tms9928a_device, screen_update )
MACHINE_CONFIG_END
@@ -1030,24 +1032,26 @@ MACHINE_CONFIG_END
/*
US version: 60 Hz, NTSC
*/
-MACHINE_CONFIG_DERIVED(ti99_4x_state::ti99_4a_60hz, ti99_4a)
- MCFG_DEVICE_ADD( TI_VDP_TAG, TMS9918A, XTAL(10'738'635) / 2 ) \
- MCFG_TMS9928A_VRAM_SIZE(0x4000) \
- MCFG_TMS9928A_OUT_INT_LINE_CB(WRITELINE(ti99_4x_state, video_interrupt_in)) \
- MCFG_TMS9928A_OUT_GROMCLK_CB(WRITELINE(ti99_4x_state, gromclk_in)) \
- MCFG_TMS9928A_SCREEN_ADD_NTSC( TI_SCREEN_TAG ) \
+MACHINE_CONFIG_START(ti99_4x_state::ti99_4a_60hz)
+ ti99_4a(config);
+ MCFG_DEVICE_ADD( TI_VDP_TAG, TMS9918A, XTAL(10'738'635) / 2 )
+ MCFG_TMS9928A_VRAM_SIZE(0x4000)
+ MCFG_TMS9928A_OUT_INT_LINE_CB(WRITELINE(ti99_4x_state, video_interrupt_in))
+ MCFG_TMS9928A_OUT_GROMCLK_CB(WRITELINE(ti99_4x_state, gromclk_in))
+ MCFG_TMS9928A_SCREEN_ADD_NTSC( TI_SCREEN_TAG )
MCFG_SCREEN_UPDATE_DEVICE( TI_VDP_TAG, tms9928a_device, screen_update )
MACHINE_CONFIG_END
/*
European version: 50 Hz, PAL
*/
-MACHINE_CONFIG_DERIVED(ti99_4x_state::ti99_4a_50hz, ti99_4a)
- MCFG_DEVICE_ADD( TI_VDP_TAG, TMS9929A, XTAL(10'738'635) / 2 ) \
- MCFG_TMS9928A_VRAM_SIZE(0x4000) \
- MCFG_TMS9928A_OUT_INT_LINE_CB(WRITELINE(ti99_4x_state, video_interrupt_in)) \
- MCFG_TMS9928A_OUT_GROMCLK_CB(WRITELINE(ti99_4x_state, gromclk_in)) \
- MCFG_TMS9928A_SCREEN_ADD_PAL( TI_SCREEN_TAG ) \
+MACHINE_CONFIG_START(ti99_4x_state::ti99_4a_50hz)
+ ti99_4a(config);
+ MCFG_DEVICE_ADD( TI_VDP_TAG, TMS9929A, XTAL(10'738'635) / 2 )
+ MCFG_TMS9928A_VRAM_SIZE(0x4000)
+ MCFG_TMS9928A_OUT_INT_LINE_CB(WRITELINE(ti99_4x_state, video_interrupt_in))
+ MCFG_TMS9928A_OUT_GROMCLK_CB(WRITELINE(ti99_4x_state, gromclk_in))
+ MCFG_TMS9928A_SCREEN_ADD_PAL( TI_SCREEN_TAG )
MCFG_SCREEN_UPDATE_DEVICE( TI_VDP_TAG, tms9928a_device, screen_update )
MACHINE_CONFIG_END
@@ -1067,7 +1071,8 @@ MACHINE_START_MEMBER(ti99_4x_state, ti99_4qi)
register_save_state();
}
-MACHINE_CONFIG_DERIVED(ti99_4x_state::ti99_4qi, ti99_4a)
+MACHINE_CONFIG_START(ti99_4x_state::ti99_4qi)
+ ti99_4a(config);
MCFG_MACHINE_START_OVERRIDE(ti99_4x_state, ti99_4qi )
MACHINE_CONFIG_END
@@ -1075,12 +1080,13 @@ MACHINE_CONFIG_END
US version: 60 Hz, NTSC
There were no European versions.
*/
-MACHINE_CONFIG_DERIVED(ti99_4x_state::ti99_4qi_60hz, ti99_4qi)
- MCFG_DEVICE_ADD( TI_VDP_TAG, TMS9918A, XTAL(10'738'635) / 2 ) \
- MCFG_TMS9928A_VRAM_SIZE(0x4000) \
- MCFG_TMS9928A_OUT_INT_LINE_CB(WRITELINE(ti99_4x_state, video_interrupt_in)) \
- MCFG_TMS9928A_OUT_GROMCLK_CB(WRITELINE(ti99_4x_state, gromclk_in)) \
- MCFG_TMS9928A_SCREEN_ADD_NTSC( TI_SCREEN_TAG ) \
+MACHINE_CONFIG_START(ti99_4x_state::ti99_4qi_60hz)
+ ti99_4qi(config);
+ MCFG_DEVICE_ADD( TI_VDP_TAG, TMS9918A, XTAL(10'738'635) / 2 )
+ MCFG_TMS9928A_VRAM_SIZE(0x4000)
+ MCFG_TMS9928A_OUT_INT_LINE_CB(WRITELINE(ti99_4x_state, video_interrupt_in))
+ MCFG_TMS9928A_OUT_GROMCLK_CB(WRITELINE(ti99_4x_state, gromclk_in))
+ MCFG_TMS9928A_SCREEN_ADD_NTSC( TI_SCREEN_TAG )
MCFG_SCREEN_UPDATE_DEVICE( TI_VDP_TAG, tms9928a_device, screen_update )
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/ti99_8.cpp b/src/mame/drivers/ti99_8.cpp
index 8815dcfd9df..66cb6e44a0b 100644
--- a/src/mame/drivers/ti99_8.cpp
+++ b/src/mame/drivers/ti99_8.cpp
@@ -829,7 +829,8 @@ MACHINE_CONFIG_END
/*
TI-99/8 US version (NTSC, 60 Hz)
*/
-MACHINE_CONFIG_DERIVED(ti99_8_state::ti99_8_60hz, ti99_8)
+MACHINE_CONFIG_START(ti99_8_state::ti99_8_60hz)
+ ti99_8(config);
// Video hardware
MCFG_DEVICE_ADD( TI_VDP_TAG, TMS9118, XTAL(10'738'635) / 2 )
MCFG_TMS9928A_VRAM_SIZE(0x4000)
@@ -841,7 +842,8 @@ MACHINE_CONFIG_END
/*
TI-99/8 European version (PAL, 50 Hz)
*/
-MACHINE_CONFIG_DERIVED(ti99_8_state::ti99_8_50hz, ti99_8)
+MACHINE_CONFIG_START(ti99_8_state::ti99_8_50hz)
+ ti99_8(config);
// Video hardware
MCFG_DEVICE_ADD( TI_VDP_TAG, TMS9129, XTAL(10'738'635) / 2 )
MCFG_TMS9928A_VRAM_SIZE(0x4000)
diff --git a/src/mame/drivers/tiamc1.cpp b/src/mame/drivers/tiamc1.cpp
index 63bb24ed108..be02841f019 100644
--- a/src/mame/drivers/tiamc1.cpp
+++ b/src/mame/drivers/tiamc1.cpp
@@ -352,7 +352,8 @@ MACHINE_CONFIG_START(tiamc1_state::tiamc1)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tiamc1_state::kot, tiamc1)
+MACHINE_CONFIG_START(tiamc1_state::kot)
+ tiamc1(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(kotrybolov_map)
MCFG_CPU_IO_MAP(kotrybolov_io_map)
diff --git a/src/mame/drivers/ticalc1x.cpp b/src/mame/drivers/ticalc1x.cpp
index f21d4ba8781..fe8b21493bf 100644
--- a/src/mame/drivers/ticalc1x.cpp
+++ b/src/mame/drivers/ticalc1x.cpp
@@ -556,7 +556,8 @@ MACHINE_CONFIG_START(ti1250_state::ti1250)
/* no sound! */
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(ti1250_state::ti1270, ti1250)
+MACHINE_CONFIG_START(ti1250_state::ti1270)
+ ti1250(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", TMS0970, 250000) // approximation
diff --git a/src/mame/drivers/tickee.cpp b/src/mame/drivers/tickee.cpp
index 0bb3940781c..b0537830952 100644
--- a/src/mame/drivers/tickee.cpp
+++ b/src/mame/drivers/tickee.cpp
@@ -792,7 +792,8 @@ MACHINE_CONFIG_START(tickee_state::tickee)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tickee_state::ghoshunt, tickee)
+MACHINE_CONFIG_START(tickee_state::ghoshunt)
+ tickee(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/tigeroad.cpp b/src/mame/drivers/tigeroad.cpp
index 9c8807d90ed..c81298ab9df 100644
--- a/src/mame/drivers/tigeroad.cpp
+++ b/src/mame/drivers/tigeroad.cpp
@@ -622,7 +622,8 @@ MACHINE_CONFIG_END
/* same as above but with additional Z80 for samples playback */
-MACHINE_CONFIG_DERIVED(tigeroad_state::toramich, tigeroad)
+MACHINE_CONFIG_START(tigeroad_state::toramich)
+ tigeroad(config);
/* basic machine hardware */
@@ -695,7 +696,8 @@ void pushman_state::machine_start()
save_item(NAME(m_mcu_latch_ctl));
}
-MACHINE_CONFIG_DERIVED(pushman_state::pushman, f1dream_comad)
+MACHINE_CONFIG_START(pushman_state::pushman)
+ f1dream_comad(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(pushman_map)
@@ -706,7 +708,8 @@ MACHINE_CONFIG_DERIVED(pushman_state::pushman, f1dream_comad)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pushman_state::bballs, pushman)
+MACHINE_CONFIG_START(pushman_state::bballs)
+ pushman(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(bballs_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/timeplt.cpp b/src/mame/drivers/timeplt.cpp
index 544f75b0973..fedaf34cbb7 100644
--- a/src/mame/drivers/timeplt.cpp
+++ b/src/mame/drivers/timeplt.cpp
@@ -458,7 +458,8 @@ MACHINE_CONFIG_START(timeplt_state::timeplt)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(timeplt_state::psurge, timeplt)
+MACHINE_CONFIG_START(timeplt_state::psurge)
+ timeplt(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -474,7 +475,8 @@ MACHINE_CONFIG_DERIVED(timeplt_state::psurge, timeplt)
MCFG_VIDEO_START_OVERRIDE(timeplt_state,psurge)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(timeplt_state::bikkuric, timeplt)
+MACHINE_CONFIG_START(timeplt_state::bikkuric)
+ timeplt(config);
MCFG_GFXDECODE_MODIFY("gfxdecode", chkun)
@@ -485,7 +487,8 @@ MACHINE_CONFIG_DERIVED(timeplt_state::bikkuric, timeplt)
MCFG_VIDEO_START_OVERRIDE(timeplt_state,chkun)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(timeplt_state::chkun, bikkuric)
+MACHINE_CONFIG_START(timeplt_state::chkun)
+ bikkuric(config);
MCFG_GFXDECODE_MODIFY("gfxdecode", chkun)
diff --git a/src/mame/drivers/timex.cpp b/src/mame/drivers/timex.cpp
index 7c942821517..e563bf8043c 100644
--- a/src/mame/drivers/timex.cpp
+++ b/src/mame/drivers/timex.cpp
@@ -682,7 +682,8 @@ static GFXDECODE_START( ts2068 )
GFXDECODE_ENTRY( "maincpu", 0x13d00, ts2068_charlayout, 0, 8 )
GFXDECODE_END
-MACHINE_CONFIG_DERIVED(spectrum_state::ts2068, spectrum_128)
+MACHINE_CONFIG_START(spectrum_state::ts2068)
+ spectrum_128(config);
MCFG_CPU_REPLACE("maincpu", Z80, XTAL(14'112'000)/4) /* From Schematic; 3.528 MHz */
MCFG_CPU_PROGRAM_MAP(ts2068_mem)
MCFG_CPU_IO_MAP(ts2068_io)
@@ -721,13 +722,15 @@ MACHINE_CONFIG_DERIVED(spectrum_state::ts2068, spectrum_128)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(spectrum_state::uk2086, ts2068)
+MACHINE_CONFIG_START(spectrum_state::uk2086)
+ ts2068(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_REFRESH_RATE(50)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(spectrum_state::tc2048, spectrum)
+MACHINE_CONFIG_START(spectrum_state::tc2048)
+ spectrum(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(tc2048_mem)
MCFG_CPU_IO_MAP(tc2048_io)
diff --git a/src/mame/drivers/tispeak.cpp b/src/mame/drivers/tispeak.cpp
index 0cd8f1da6f8..b89f0b52c40 100644
--- a/src/mame/drivers/tispeak.cpp
+++ b/src/mame/drivers/tispeak.cpp
@@ -1290,11 +1290,12 @@ MACHINE_CONFIG_START(tispeak_state::snmath)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("tms5100", CD2801, MASTER_CLOCK)
- MCFG_FRAGMENT_ADD(tms5110_route)
+ tms5110_route(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tispeak_state::sns_cd2801, snmath)
+MACHINE_CONFIG_START(tispeak_state::sns_cd2801)
+ snmath(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1310,34 +1311,39 @@ MACHINE_CONFIG_DERIVED(tispeak_state::sns_cd2801, snmath)
MCFG_SOFTWARE_LIST_ADD("cart_list", "snspell")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tispeak_state::snspellit, sns_cd2801)
+MACHINE_CONFIG_START(tispeak_state::snspellit)
+ sns_cd2801(config);
/* basic machine hardware */
MCFG_DEFAULT_LAYOUT(layout_snmath)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tispeak_state::sns_tmc0281, sns_cd2801)
+MACHINE_CONFIG_START(tispeak_state::sns_tmc0281)
+ sns_cd2801(config);
/* sound hardware */
MCFG_SOUND_REPLACE("tms5100", TMC0281, MASTER_CLOCK)
- MCFG_FRAGMENT_ADD(tms5110_route)
+ tms5110_route(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tispeak_state::snspellsp, sns_tmc0281)
+MACHINE_CONFIG_START(tispeak_state::snspellsp)
+ sns_tmc0281(config);
/* basic machine hardware */
MCFG_DEFAULT_LAYOUT(layout_snspellsp)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tispeak_state::sns_tmc0281d, sns_cd2801)
+MACHINE_CONFIG_START(tispeak_state::sns_tmc0281d)
+ sns_cd2801(config);
/* sound hardware */
MCFG_SOUND_REPLACE("tms5100", TMC0281D, MASTER_CLOCK)
- MCFG_FRAGMENT_ADD(tms5110_route)
+ tms5110_route(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tispeak_state::snread, snmath)
+MACHINE_CONFIG_START(tispeak_state::snread)
+ snmath(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1354,7 +1360,8 @@ MACHINE_CONFIG_DERIVED(tispeak_state::snread, snmath)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tispeak_state::lantutor, snmath)
+MACHINE_CONFIG_START(tispeak_state::lantutor)
+ snmath(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1388,7 +1395,7 @@ MACHINE_CONFIG_START(tispeak_state::snspellc)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("tms5100", TMC0281D, MASTER_CLOCK)
- MCFG_FRAGMENT_ADD(tms5110_route)
+ tms5110_route(config);
/* cartridge */
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "snspell")
@@ -1398,11 +1405,12 @@ MACHINE_CONFIG_START(tispeak_state::snspellc)
MCFG_SOFTWARE_LIST_ADD("cart_list", "snspell")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tispeak_state::snspellcuk, snspellc)
+MACHINE_CONFIG_START(tispeak_state::snspellcuk)
+ snspellc(config);
/* sound hardware */
MCFG_SOUND_REPLACE("tms5100", CD2801, MASTER_CLOCK) // CD2801A!
- MCFG_FRAGMENT_ADD(tms5110_route)
+ tms5110_route(config);
MACHINE_CONFIG_END
@@ -1423,10 +1431,11 @@ MACHINE_CONFIG_START(tispeak_state::vocaid)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("tms5100", CD2802, MASTER_CLOCK)
- MCFG_FRAGMENT_ADD(tms5110_route)
+ tms5110_route(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tispeak_state::tntell, vocaid)
+MACHINE_CONFIG_START(tispeak_state::tntell)
+ vocaid(config);
/* cartridge */
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "tntell")
@@ -1453,7 +1462,7 @@ MACHINE_CONFIG_START(tispeak_state::k28m2)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("tms5100", TMS5110A, MASTER_CLOCK)
- MCFG_FRAGMENT_ADD(tms5110_route)
+ tms5110_route(config);
/* cartridge */
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "k28m2")
diff --git a/src/mame/drivers/tk80.cpp b/src/mame/drivers/tk80.cpp
index 083928df09d..f2a53cdb5ae 100644
--- a/src/mame/drivers/tk80.cpp
+++ b/src/mame/drivers/tk80.cpp
@@ -275,7 +275,8 @@ MACHINE_CONFIG_START(tk80_state::tk80)
MCFG_I8255_OUT_PORTC_CB(WRITE8(tk80_state, serial_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tk80_state::mikrolab, tk80)
+MACHINE_CONFIG_START(tk80_state::mikrolab)
+ tk80(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(tk85_mem)
MCFG_CPU_IO_MAP(mikrolab_io)
@@ -303,13 +304,15 @@ MACHINE_CONFIG_START(tk80_state::nd80z)
MCFG_I8255_OUT_PORTC_CB(WRITE8(tk80_state, mikrolab_serial_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tk80_state::tk85, tk80)
+MACHINE_CONFIG_START(tk80_state::tk85)
+ tk80(config);
MCFG_CPU_REPLACE("maincpu", I8085A, XTAL(4'915'200))
MCFG_CPU_PROGRAM_MAP(tk85_mem)
MCFG_CPU_IO_MAP(tk80_io)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tk80_state::ics8080, tk80)
+MACHINE_CONFIG_START(tk80_state::ics8080)
+ tk80(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(ics8080_mem)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/tmaster.cpp b/src/mame/drivers/tmaster.cpp
index 53a762f3817..079f129a6bd 100644
--- a/src/mame/drivers/tmaster.cpp
+++ b/src/mame/drivers/tmaster.cpp
@@ -398,7 +398,8 @@ MACHINE_CONFIG_START(tmaster_state::tm)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tmaster_state::tmds1204, tm)
+MACHINE_CONFIG_START(tmaster_state::tmds1204)
+ tm(config);
MCFG_DS1204_ADD("ds1204")
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/tmc1800.cpp b/src/mame/drivers/tmc1800.cpp
index 3d312130bcf..795f9969896 100644
--- a/src/mame/drivers/tmc1800.cpp
+++ b/src/mame/drivers/tmc1800.cpp
@@ -717,7 +717,7 @@ MACHINE_CONFIG_START(tmc1800_state::tmc1800)
MCFG_COSMAC_DMAW_CALLBACK(DEVWRITE8(CDP1861_TAG, cdp1861_device, dma_w))
// video hardware
- MCFG_FRAGMENT_ADD(tmc1800_video)
+ tmc1800_video(config);
// sound hardware
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -748,7 +748,7 @@ MACHINE_CONFIG_START(osc1000b_state::osc1000b)
MCFG_COSMAC_Q_CALLBACK(WRITELINE(osc1000b_state, q_w))
// video hardware
- MCFG_FRAGMENT_ADD(osc1000b_video)
+ osc1000b_video(config);
// sound hardware
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -780,7 +780,7 @@ MACHINE_CONFIG_START(tmc2000_state::tmc2000)
MCFG_COSMAC_DMAW_CALLBACK(WRITE8(tmc2000_state, dma_w))
// video hardware
- MCFG_FRAGMENT_ADD(tmc2000_video)
+ tmc2000_video(config);
// devices
MCFG_QUICKLOAD_ADD("quickload", tmc1800_base_state, tmc1800, "bin", 0)
@@ -806,7 +806,7 @@ MACHINE_CONFIG_START(nano_state::nano)
MCFG_COSMAC_DMAW_CALLBACK(DEVWRITE8(CDP1864_TAG, cdp1864_device, dma_w))
// video hardware
- MCFG_FRAGMENT_ADD(nano_video)
+ nano_video(config);
// devices
MCFG_QUICKLOAD_ADD("quickload", tmc1800_base_state, tmc1800, "bin", 0)
diff --git a/src/mame/drivers/tmc600.cpp b/src/mame/drivers/tmc600.cpp
index ee455d0b6dc..213bb466539 100644
--- a/src/mame/drivers/tmc600.cpp
+++ b/src/mame/drivers/tmc600.cpp
@@ -263,7 +263,7 @@ MACHINE_CONFIG_START(tmc600_state::tmc600)
MCFG_COSMAC_SC_CALLBACK(WRITE8(tmc600_state, sc_w))
// sound and video hardware
- MCFG_FRAGMENT_ADD(tmc600_video)
+ tmc600_video(config);
// keyboard output latch
MCFG_DEVICE_ADD(CDP1852_KB_TAG, CDP1852, XTAL(3'570'000)/8) // clock is CDP1802 TPB
diff --git a/src/mame/drivers/tmmjprd.cpp b/src/mame/drivers/tmmjprd.cpp
index d22179f0d7e..46fa504795a 100644
--- a/src/mame/drivers/tmmjprd.cpp
+++ b/src/mame/drivers/tmmjprd.cpp
@@ -816,7 +816,8 @@ MACHINE_CONFIG_START(tmmjprd_state::tmmjprd)
MCFG_SOUND_ROUTE(1, "lspeaker", 1.00)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tmmjprd_state::tmpdoki, tmmjprd)
+MACHINE_CONFIG_START(tmmjprd_state::tmpdoki)
+ tmmjprd(config);
MCFG_DEFAULT_LAYOUT(layout_horizont)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/tnzs.cpp b/src/mame/drivers/tnzs.cpp
index 372ccb6077a..17b10691b3d 100644
--- a/src/mame/drivers/tnzs.cpp
+++ b/src/mame/drivers/tnzs.cpp
@@ -1526,7 +1526,7 @@ MACHINE_CONFIG_START(tnzs_base_state::tnzs_base)
MCFG_CPU_PROGRAM_MAP(base_sub_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", tnzs_base_state, irq0_line_hold)
- MCFG_FRAGMENT_ADD(tnzs_mainbank)
+ tnzs_mainbank(config);
MCFG_QUANTUM_PERFECT_CPU("maincpu")
@@ -1551,7 +1551,8 @@ MACHINE_CONFIG_START(tnzs_base_state::tnzs_base)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tnzs_mcu_state::tnzs, tnzs_base)
+MACHINE_CONFIG_START(tnzs_mcu_state::tnzs)
+ tnzs_base(config);
MCFG_CPU_ADD("mcu", I8742, 12000000/2) /* 400KHz ??? - Main board Crystal is 12MHz */
MCFG_MCS48_PORT_P1_IN_CB(READ8(tnzs_mcu_state, mcu_port1_r))
MCFG_MCS48_PORT_P2_IN_CB(READ8(tnzs_mcu_state, mcu_port2_r))
@@ -1574,7 +1575,8 @@ MACHINE_CONFIG_DERIVED(tnzs_mcu_state::tnzs, tnzs_base)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.3)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(extrmatn_state::extrmatn, tnzs)
+MACHINE_CONFIG_START(extrmatn_state::extrmatn)
+ tnzs(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(prompal_main_map)
@@ -1588,13 +1590,15 @@ MACHINE_CONFIG_DERIVED(extrmatn_state::extrmatn, tnzs)
MCFG_PALETTE_INIT_OWNER(tnzs_base_state, prompalette)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(extrmatn_state::plumppop, extrmatn)
+MACHINE_CONFIG_START(extrmatn_state::plumppop)
+ extrmatn(config);
MCFG_DEVICE_ADD("upd4701", UPD4701A, 0)
MCFG_UPD4701_PORTX("AN1")
MCFG_UPD4701_PORTY("AN2")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(arknoid2_state::arknoid2, plumppop)
+MACHINE_CONFIG_START(arknoid2_state::arknoid2)
+ plumppop(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_VBLANK_INT_DRIVER("screen", arknoid2_state, mcu_interrupt)
@@ -1606,7 +1610,8 @@ MACHINE_CONFIG_DERIVED(arknoid2_state::arknoid2, plumppop)
MCFG_DEVICE_DISABLE()
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(insectx_state::insectx, tnzs_base)
+MACHINE_CONFIG_START(insectx_state::insectx)
+ tnzs_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("sub")
MCFG_CPU_PROGRAM_MAP(insectx_sub_map)
@@ -1622,7 +1627,8 @@ MACHINE_CONFIG_DERIVED(insectx_state::insectx, tnzs_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(kageki_state::kageki, tnzs_base)
+MACHINE_CONFIG_START(kageki_state::kageki)
+ tnzs_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("sub")
MCFG_CPU_PROGRAM_MAP(kageki_sub_map)
@@ -1642,7 +1648,8 @@ MACHINE_CONFIG_DERIVED(kageki_state::kageki, tnzs_base)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tnzsb_state::tnzsb, tnzs_base)
+MACHINE_CONFIG_START(tnzsb_state::tnzsb)
+ tnzs_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(tnzsb_main_map)
@@ -1670,7 +1677,8 @@ MACHINE_CONFIG_DERIVED(tnzsb_state::tnzsb, tnzs_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(kabukiz_state::kabukiz, tnzsb)
+MACHINE_CONFIG_START(kabukiz_state::kabukiz)
+ tnzsb(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("sub")
@@ -1690,7 +1698,8 @@ MACHINE_CONFIG_DERIVED(kabukiz_state::kabukiz, tnzsb)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(jpopnics_state::jpopnics, tnzs_base)
+MACHINE_CONFIG_START(jpopnics_state::jpopnics)
+ tnzs_base(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(jpopnics_main_map)
diff --git a/src/mame/drivers/toaplan2.cpp b/src/mame/drivers/toaplan2.cpp
index 0999c8430ae..f1cd27db5bd 100644
--- a/src/mame/drivers/toaplan2.cpp
+++ b/src/mame/drivers/toaplan2.cpp
@@ -4053,7 +4053,8 @@ MACHINE_CONFIG_START(toaplan2_state::bgaregga)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(toaplan2_state::bgareggabl, bgaregga)
+MACHINE_CONFIG_START(toaplan2_state::bgareggabl)
+ bgaregga(config);
MCFG_VIDEO_START_OVERRIDE(toaplan2_state,bgareggabl)
MCFG_SCREEN_MODIFY("screen")
diff --git a/src/mame/drivers/toki.cpp b/src/mame/drivers/toki.cpp
index b649b85e5fa..60070204004 100644
--- a/src/mame/drivers/toki.cpp
+++ b/src/mame/drivers/toki.cpp
@@ -531,7 +531,8 @@ MACHINE_CONFIG_START(toki_state::toki) /* KOYO 20.000MHz near the cpu */
MCFG_SEIBU_SOUND_YM_WRITE_CB(DEVWRITE8("ymsnd", ym3812_device, write))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(toki_state::jujuba, toki)
+MACHINE_CONFIG_START(toki_state::jujuba)
+ toki(config);
MCFG_DEVICE_REMOVE("sei80bu")
MCFG_DEVICE_MODIFY("audiocpu")
diff --git a/src/mame/drivers/toypop.cpp b/src/mame/drivers/toypop.cpp
index d5f51d0da8c..356ea6d2ccc 100644
--- a/src/mame/drivers/toypop.cpp
+++ b/src/mame/drivers/toypop.cpp
@@ -708,7 +708,8 @@ MACHINE_CONFIG_START(namcos16_state::liblrabl)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(namcos16_state::toypop, liblrabl)
+MACHINE_CONFIG_START(namcos16_state::toypop)
+ liblrabl(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(master_toypop_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/tp84.cpp b/src/mame/drivers/tp84.cpp
index 208fea67525..6ec33348cf2 100644
--- a/src/mame/drivers/tp84.cpp
+++ b/src/mame/drivers/tp84.cpp
@@ -390,7 +390,8 @@ MACHINE_CONFIG_START(tp84_state::tp84)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tp84_state::tp84b, tp84)
+MACHINE_CONFIG_START(tp84_state::tp84b)
+ tp84(config);
MCFG_CPU_MODIFY("cpu1")
MCFG_CPU_PROGRAM_MAP(tp84b_cpu1_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/trackfld.cpp b/src/mame/drivers/trackfld.cpp
index 771c8c8b8bf..56b975a6d00 100644
--- a/src/mame/drivers/trackfld.cpp
+++ b/src/mame/drivers/trackfld.cpp
@@ -953,7 +953,8 @@ MACHINE_CONFIG_START(trackfld_state::trackfld)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(trackfld_state::trackfldu, trackfld)
+MACHINE_CONFIG_START(trackfld_state::trackfldu)
+ trackfld(config);
MCFG_CPU_REPLACE("maincpu", MC6809E, MASTER_CLOCK/6/2) /* exact M6809 model unknown */
MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", trackfld_state, vblank_irq)
@@ -1053,7 +1054,8 @@ ADDRESS_MAP_END
/* same as the original, but uses ADPCM instead of VLM5030 */
/* also different memory handlers do handle that */
-MACHINE_CONFIG_DERIVED(trackfld_state::hyprolyb, trackfld)
+MACHINE_CONFIG_START(trackfld_state::hyprolyb)
+ trackfld(config);
MCFG_CPU_MODIFY("audiocpu")
MCFG_CPU_PROGRAM_MAP(hyprolyb_sound_map)
@@ -1076,13 +1078,15 @@ MACHINE_CONFIG_DERIVED(trackfld_state::hyprolyb, trackfld)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(trackfld_state::atlantol, hyprolyb)
+MACHINE_CONFIG_START(trackfld_state::atlantol)
+ hyprolyb(config);
MCFG_VIDEO_START_OVERRIDE(trackfld_state,atlantol)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(trackfld_state::mastkin, trackfld)
+MACHINE_CONFIG_START(trackfld_state::mastkin)
+ trackfld(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", MC6809E, MASTER_CLOCK/6/2) /* a guess for now */
@@ -1094,7 +1098,8 @@ MACHINE_CONFIG_DERIVED(trackfld_state::mastkin, trackfld)
MCFG_ADDRESSABLE_LATCH_Q4_OUT_CB(NOOP) // actually not used
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(trackfld_state::wizzquiz, trackfld)
+MACHINE_CONFIG_START(trackfld_state::wizzquiz)
+ trackfld(config);
/* basic machine hardware */
// right cpu?
@@ -1106,7 +1111,8 @@ MACHINE_CONFIG_DERIVED(trackfld_state::wizzquiz, trackfld)
MCFG_ADDRESSABLE_LATCH_Q7_OUT_CB(WRITELINE(trackfld_state, nmi_mask_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(trackfld_state::reaktor, trackfld)
+MACHINE_CONFIG_START(trackfld_state::reaktor)
+ trackfld(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu",Z80,MASTER_CLOCK/6)
diff --git a/src/mame/drivers/travrusa.cpp b/src/mame/drivers/travrusa.cpp
index 1e03cff2cb3..62db4842a73 100644
--- a/src/mame/drivers/travrusa.cpp
+++ b/src/mame/drivers/travrusa.cpp
@@ -329,12 +329,13 @@ MACHINE_CONFIG_START(travrusa_state::travrusa)
MCFG_PALETTE_INIT_OWNER(travrusa_state, travrusa)
/* sound hardware */
- //MCFG_FRAGMENT_ADD(m52_sound_c_audio)
+ //m52_sound_c_audio(config);
MCFG_DEVICE_ADD("irem_audio", IREM_M52_SOUNDC_AUDIO, 0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(travrusa_state::shtrider, travrusa)
+MACHINE_CONFIG_START(travrusa_state::shtrider)
+ travrusa(config);
/* video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", shtrider)
@@ -342,7 +343,8 @@ MACHINE_CONFIG_DERIVED(travrusa_state::shtrider, travrusa)
MCFG_PALETTE_INIT_OWNER(travrusa_state,shtrider)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(travrusa_state::shtriderb, travrusa)
+MACHINE_CONFIG_START(travrusa_state::shtriderb)
+ travrusa(config);
/* video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", shtrider)
diff --git a/src/mame/drivers/triforce.cpp b/src/mame/drivers/triforce.cpp
index b01ebef3cb8..fb06de6ca6a 100644
--- a/src/mame/drivers/triforce.cpp
+++ b/src/mame/drivers/triforce.cpp
@@ -587,7 +587,8 @@ MACHINE_CONFIG_START(triforce_state::triforce_base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(triforce_state::triforcegd, triforce_base)
+MACHINE_CONFIG_START(triforce_state::triforcegd)
+ triforce_base(config);
MCFG_NAOMI_GDROM_BOARD_ADD("rom_board", ":gdrom", ":pic", nullptr, NOOP)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/trs80.cpp b/src/mame/drivers/trs80.cpp
index 51d5f93c7a8..94cee365992 100644
--- a/src/mame/drivers/trs80.cpp
+++ b/src/mame/drivers/trs80.cpp
@@ -621,7 +621,8 @@ MACHINE_CONFIG_START(trs80_state::trs80) // the original model I, level I,
MCFG_CASSETTE_ADD( "cassette" )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(trs80_state::model1, trs80) // model I, level II
+MACHINE_CONFIG_START(trs80_state::model1) // model I, level II
+ trs80(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP( model1_map)
MCFG_CPU_IO_MAP( model1_io)
@@ -659,7 +660,8 @@ MACHINE_CONFIG_DERIVED(trs80_state::model1, trs80) // model I, level II
MCFG_AY31015_TX_CLOCK(0.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(trs80_state::model3, model1)
+MACHINE_CONFIG_START(trs80_state::model3)
+ model1(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP( model3_map)
MCFG_CPU_IO_MAP( model3_io)
@@ -675,28 +677,33 @@ MACHINE_CONFIG_DERIVED(trs80_state::model3, model1)
MCFG_SCREEN_VISIBLE_AREA(0,80*8-1,0,239)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(trs80_state::model4, model3)
+MACHINE_CONFIG_START(trs80_state::model4)
+ model3(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_IO_MAP( model4_io)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(trs80_state::model4p, model3)
+MACHINE_CONFIG_START(trs80_state::model4p)
+ model3(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_IO_MAP( model4p_io)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(trs80_state::sys80, model1)
+MACHINE_CONFIG_START(trs80_state::sys80)
+ model1(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_IO_MAP( sys80_io)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(trs80_state::ht1080z, sys80)
+MACHINE_CONFIG_START(trs80_state::ht1080z)
+ sys80(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(trs80_state, screen_update_ht1080z)
MCFG_GFXDECODE_MODIFY("gfxdecode", ht1080z)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(trs80_state::lnw80, model1)
+MACHINE_CONFIG_START(trs80_state::lnw80)
+ model1(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP( lnw80_map)
MCFG_CPU_IO_MAP( lnw80_io)
@@ -713,7 +720,8 @@ MACHINE_CONFIG_DERIVED(trs80_state::lnw80, model1)
MCFG_SCREEN_UPDATE_DRIVER(trs80_state, screen_update_lnw80)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(trs80_state::radionic, model1)
+MACHINE_CONFIG_START(trs80_state::radionic)
+ model1(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_SIZE(64*8, 16*16)
MCFG_SCREEN_VISIBLE_AREA(0,64*8-1,0,16*16-1)
@@ -721,7 +729,8 @@ MACHINE_CONFIG_DERIVED(trs80_state::radionic, model1)
MCFG_GFXDECODE_MODIFY("gfxdecode", radionic)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(trs80_state::meritum, sys80)
+MACHINE_CONFIG_START(trs80_state::meritum)
+ sys80(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP( meritum_map)
MCFG_CPU_IO_MAP( meritum_io)
@@ -730,7 +739,8 @@ MACHINE_CONFIG_DERIVED(trs80_state::meritum, sys80)
MCFG_GFXDECODE_MODIFY("gfxdecode", meritum)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(trs80_state::cp500, model3)
+MACHINE_CONFIG_START(trs80_state::cp500)
+ model3(config);
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_IO_MAP( cp500_io)
diff --git a/src/mame/drivers/trvquest.cpp b/src/mame/drivers/trvquest.cpp
index 10df30fb293..48addfaf38b 100644
--- a/src/mame/drivers/trvquest.cpp
+++ b/src/mame/drivers/trvquest.cpp
@@ -188,7 +188,7 @@ MACHINE_CONFIG_START(gameplan_state::trvquest)
MCFG_MACHINE_RESET_OVERRIDE(gameplan_state,trvquest)
/* video hardware */
- MCFG_FRAGMENT_ADD(trvquest_video)
+ trvquest_video(config);
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/tubep.cpp b/src/mame/drivers/tubep.cpp
index 284c92faba3..8df55f97e02 100644
--- a/src/mame/drivers/tubep.cpp
+++ b/src/mame/drivers/tubep.cpp
@@ -870,7 +870,8 @@ MACHINE_CONFIG_START(tubep_state::tubep)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tubep_state::tubepb, tubep)
+MACHINE_CONFIG_START(tubep_state::tubepb)
+ tubep(config);
MCFG_CPU_REPLACE("mcu", M6802,6000000) /* ? MHz Xtal */
MCFG_CPU_PROGRAM_MAP(nsc_map)
diff --git a/src/mame/drivers/tumbleb.cpp b/src/mame/drivers/tumbleb.cpp
index 46b8c97c4ba..4b657660362 100644
--- a/src/mame/drivers/tumbleb.cpp
+++ b/src/mame/drivers/tumbleb.cpp
@@ -2265,12 +2265,14 @@ MACHINE_CONFIG_START(tumbleb_state::htchctch)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tumbleb_state::cookbib, htchctch)
+MACHINE_CONFIG_START(tumbleb_state::cookbib)
+ htchctch(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(tumbleb_state, screen_update_semicom_altoffsets)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tumbleb_state::chokchok, htchctch)
+MACHINE_CONFIG_START(tumbleb_state::chokchok)
+ htchctch(config);
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_FORMAT(xxxxBBBBGGGGRRRR)
// some PCBs have left factory with a 3.57mhz while some have a 4.096 which matches other games, assuming the former are factory errors
@@ -2280,7 +2282,8 @@ MACHINE_CONFIG_DERIVED(tumbleb_state::chokchok, htchctch)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tumbleb_state::cookbib_mcu, htchctch)
+MACHINE_CONFIG_START(tumbleb_state::cookbib_mcu)
+ htchctch(config);
/* basic machine hardware */
MCFG_CPU_ADD("protection", I8052, 16000000) // AT89C52
@@ -2292,7 +2295,8 @@ MACHINE_CONFIG_DERIVED(tumbleb_state::cookbib_mcu, htchctch)
MCFG_SCREEN_UPDATE_DRIVER(tumbleb_state, screen_update_semicom_altoffsets)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tumbleb_state::bcstory, htchctch)
+MACHINE_CONFIG_START(tumbleb_state::bcstory)
+ htchctch(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(tumbleb_state, screen_update_bcstory)
@@ -2301,19 +2305,22 @@ MACHINE_CONFIG_DERIVED(tumbleb_state::bcstory, htchctch)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.10)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tumbleb_state::semibase, bcstory)
+MACHINE_CONFIG_START(tumbleb_state::semibase)
+ bcstory(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(tumbleb_state, screen_update_semibase)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tumbleb_state::sdfight, bcstory)
+MACHINE_CONFIG_START(tumbleb_state::sdfight)
+ bcstory(config);
MCFG_VIDEO_START_OVERRIDE(tumbleb_state,sdfight)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(tumbleb_state, screen_update_sdfight)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tumbleb_state::metlsavr, cookbib)
+MACHINE_CONFIG_START(tumbleb_state::metlsavr)
+ cookbib(config);
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_FORMAT(xxxxBBBBGGGGRRRR)
diff --git a/src/mame/drivers/turbo.cpp b/src/mame/drivers/turbo.cpp
index e9db173e4c4..da8517c36bc 100644
--- a/src/mame/drivers/turbo.cpp
+++ b/src/mame/drivers/turbo.cpp
@@ -888,7 +888,7 @@ MACHINE_CONFIG_START(turbo_state::turbo)
MCFG_VIDEO_START_OVERRIDE(turbo_state,turbo)
/* sound hardware */
- MCFG_FRAGMENT_ADD(turbo_samples)
+ turbo_samples(config);
MACHINE_CONFIG_END
@@ -928,7 +928,7 @@ MACHINE_CONFIG_START(turbo_state::subroc3d)
MCFG_VIDEO_START_OVERRIDE(turbo_state,turbo)
/* sound hardware */
- MCFG_FRAGMENT_ADD(subroc3d_samples)
+ subroc3d_samples(config);
MACHINE_CONFIG_END
@@ -976,16 +976,18 @@ MACHINE_CONFIG_START(turbo_state::buckrog)
MCFG_VIDEO_START_OVERRIDE(turbo_state,buckrog)
/* sound hardware */
- MCFG_FRAGMENT_ADD(buckrog_samples)
+ buckrog_samples(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(turbo_state::buckrogu, buckrog)
+MACHINE_CONFIG_START(turbo_state::buckrogu)
+ buckrog(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_DEVICE_REMOVE_ADDRESS_MAP(AS_OPCODES)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(turbo_state::buckroge, buckrog)
+MACHINE_CONFIG_START(turbo_state::buckroge)
+ buckrog(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", SEGA_315_5014, MASTER_CLOCK/4)
diff --git a/src/mame/drivers/tutor.cpp b/src/mame/drivers/tutor.cpp
index ee6e2a3de07..539434e6d66 100644
--- a/src/mame/drivers/tutor.cpp
+++ b/src/mame/drivers/tutor.cpp
@@ -773,7 +773,8 @@ MACHINE_CONFIG_START(tutor_state::tutor)
MCFG_SOFTWARE_LIST_ADD("cart_list","tutor")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tutor_state::pyuutajr, tutor)
+MACHINE_CONFIG_START(tutor_state::pyuutajr)
+ tutor(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(pyuutajr_mem)
//MCFG_DEVICE_REMOVE("centronics")
diff --git a/src/mame/drivers/tvboy.cpp b/src/mame/drivers/tvboy.cpp
index 4015dbd53a4..c4fd1f02f2c 100644
--- a/src/mame/drivers/tvboy.cpp
+++ b/src/mame/drivers/tvboy.cpp
@@ -24,12 +24,11 @@ public:
tvboy_state(const machine_config &mconfig, device_type type, const char *tag)
: a2600_state(mconfig, type, tag)
, m_crom(*this, "crom")
- , m_rom(*this, "mainrom") {};
+ , m_rom(*this, "mainrom") { }
DECLARE_WRITE8_MEMBER(bank_write);
void tvboyii(machine_config &config);
- void supertvboy(machine_config &config);
void rom_map(address_map &map);
void tvboy_mem(address_map &map);
@@ -119,9 +118,6 @@ MACHINE_CONFIG_START(tvboy_state::tvboyii)
MCFG_VCS_CONTROL_PORT_ADD(CONTROL2_TAG, vcs_control_port_devices, nullptr)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tvboy_state::supertvboy, tvboyii)
-MACHINE_CONFIG_END
-
static INPUT_PORTS_START( tvboyii )
PORT_START("SWB")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Reset Game") PORT_CODE(KEYCODE_2)
@@ -156,6 +152,6 @@ ROM_START( stvboy )
ROM_END
-/* YEAR NAME PARENT COMPAT MACHINE INPUT STATE INIT COMPANY FULLNAME */
-CONS( 199?, tvboyii, 0, 0, tvboyii, tvboyii, tvboy_state, 0, "Systema", "TV Boy II (PAL)" , MACHINE_SUPPORTS_SAVE )
-CONS( 1995, stvboy, 0, 0, supertvboy, tvboyii, tvboy_state, 0, "Akor", "Super TV Boy (PAL)" , MACHINE_SUPPORTS_SAVE )
+// YEAR NAME PARENT COMPAT MACHINE INPUT STATE INIT COMPANY FULLNAME
+CONS( 199?, tvboyii, 0, 0, tvboyii, tvboyii, tvboy_state, 0, "Systema", "TV Boy II (PAL)" , MACHINE_SUPPORTS_SAVE )
+CONS( 1995, stvboy, 0, 0, tvboyii, tvboyii, tvboy_state, 0, "Akor", "Super TV Boy (PAL)" , MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/twin16.cpp b/src/mame/drivers/twin16.cpp
index 5e95de39504..5e66aed7c84 100644
--- a/src/mame/drivers/twin16.cpp
+++ b/src/mame/drivers/twin16.cpp
@@ -715,7 +715,8 @@ MACHINE_CONFIG_START(twin16_state::twin16)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.20)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(twin16_state::devilw, twin16)
+MACHINE_CONFIG_START(twin16_state::devilw)
+ twin16(config);
MCFG_QUANTUM_TIME(attotime::from_hz(60000)) // watchdog reset otherwise
MACHINE_CONFIG_END
@@ -769,12 +770,14 @@ MACHINE_CONFIG_START(fround_state::fround)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.20)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(twin16_state::miaj, twin16)
+MACHINE_CONFIG_START(twin16_state::miaj)
+ twin16(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_RAW_PARAMS(XTAL(18'432'000)/2, 576, 1*8, 39*8, 264, 2*8, 30*8)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(cuebrickj_state::cuebrickj, twin16)
+MACHINE_CONFIG_START(cuebrickj_state::cuebrickj)
+ twin16(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_RAW_PARAMS(XTAL(18'432'000)/2, 576, 1*8, 39*8, 264, 2*8, 30*8)
MCFG_NVRAM_ADD_0FILL("nvram")
diff --git a/src/mame/drivers/twincobr.cpp b/src/mame/drivers/twincobr.cpp
index 89791e00d09..c3525851b5b 100644
--- a/src/mame/drivers/twincobr.cpp
+++ b/src/mame/drivers/twincobr.cpp
@@ -721,7 +721,8 @@ MACHINE_CONFIG_START(twincobr_state::twincobr)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(twincobr_state::fshark, twincobr)
+MACHINE_CONFIG_START(twincobr_state::fshark)
+ twincobr(config);
MCFG_DEVICE_MODIFY("mainlatch")
MCFG_ADDRESSABLE_LATCH_Q6_OUT_CB(NOOP)
@@ -733,7 +734,8 @@ MACHINE_CONFIG_DERIVED(twincobr_state::fshark, twincobr)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(twincobr_state::fsharkbt, fshark)
+MACHINE_CONFIG_START(twincobr_state::fsharkbt)
+ fshark(config);
MCFG_CPU_ADD("mcu", I8741, XTAL(28'000'000)/16)
/* Program Map is internal to the CPU */
diff --git a/src/mame/drivers/twinkle.cpp b/src/mame/drivers/twinkle.cpp
index 040cf2eeed7..b653ca05d94 100644
--- a/src/mame/drivers/twinkle.cpp
+++ b/src/mame/drivers/twinkle.cpp
@@ -1091,11 +1091,13 @@ MACHINE_CONFIG_START(twinkle_state::twinkle)
MCFG_SOUND_ROUTE(1, "speakerright", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(twinkle_state::twinklex, twinkle)
+MACHINE_CONFIG_START(twinkle_state::twinklex)
+ twinkle(config);
MCFG_X76F041_ADD( "security" )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(twinkle_state::twinklei, twinkle)
+MACHINE_CONFIG_START(twinkle_state::twinklei)
+ twinkle(config);
MCFG_I2CMEM_ADD( "security" )
MCFG_I2CMEM_DATA_SIZE( 0x100 )
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/tx0.cpp b/src/mame/drivers/tx0.cpp
index 2797d106724..514e9aa8775 100644
--- a/src/mame/drivers/tx0.cpp
+++ b/src/mame/drivers/tx0.cpp
@@ -1583,7 +1583,8 @@ MACHINE_CONFIG_START(tx0_state::tx0_64kw)
MCFG_PALETTE_INIT_OWNER(tx0_state, tx0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tx0_state::tx0_8kw, tx0_64kw)
+MACHINE_CONFIG_START(tx0_state::tx0_8kw)
+ tx0_64kw(config);
/* basic machine hardware */
/* TX0 CPU @ approx. 167 kHz (no master clock, but the memory cycle time is
diff --git a/src/mame/drivers/upscope.cpp b/src/mame/drivers/upscope.cpp
index cf9c04b6956..5c0089ccf78 100644
--- a/src/mame/drivers/upscope.cpp
+++ b/src/mame/drivers/upscope.cpp
@@ -276,7 +276,7 @@ MACHINE_CONFIG_START(upscope_state::upscope)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
- MCFG_FRAGMENT_ADD(ntsc_video)
+ ntsc_video(config);
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_INIT_OWNER(upscope_state,amiga)
diff --git a/src/mame/drivers/usgames.cpp b/src/mame/drivers/usgames.cpp
index 76bb4d11740..919038be4f4 100644
--- a/src/mame/drivers/usgames.cpp
+++ b/src/mame/drivers/usgames.cpp
@@ -250,7 +250,8 @@ MACHINE_CONFIG_START(usgames_state::usg32)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(usgames_state::usg185, usg32)
+MACHINE_CONFIG_START(usgames_state::usg185)
+ usg32(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(usg185_map)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/v1050.cpp b/src/mame/drivers/v1050.cpp
index 6ce0b43f9e2..ba65f8db471 100644
--- a/src/mame/drivers/v1050.cpp
+++ b/src/mame/drivers/v1050.cpp
@@ -1037,7 +1037,7 @@ MACHINE_CONFIG_START(v1050_state::v1050)
MCFG_TIMER_DRIVER_ADD_PERIODIC("keyboard", v1050_state, v1050_keyboard_tick, attotime::from_hz(60))
// video hardware
- MCFG_FRAGMENT_ADD(v1050_video)
+ v1050_video(config);
// devices
MCFG_DEVICE_ADD(UPB8214_TAG, I8214, 16_MHz_XTAL/4)
diff --git a/src/mame/drivers/vamphalf.cpp b/src/mame/drivers/vamphalf.cpp
index 0b48823d4d1..347379dd00a 100644
--- a/src/mame/drivers/vamphalf.cpp
+++ b/src/mame/drivers/vamphalf.cpp
@@ -1073,7 +1073,7 @@ MACHINE_CONFIG_START(vamphalf_state::sound_ym_oki)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(vamphalf_state::sound_ym_banked_oki)
- MCFG_FRAGMENT_ADD(sound_ym_oki)
+ sound_ym_oki(config);
MCFG_DEVICE_MODIFY("oki1")
MCFG_DEVICE_ADDRESS_MAP(0, banked_oki_map)
@@ -1103,70 +1103,79 @@ MACHINE_CONFIG_START(vamphalf_state::sound_qs1000)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vamphalf_state::vamphalf, common)
+MACHINE_CONFIG_START(vamphalf_state::vamphalf)
+ common(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(vamphalf_io)
- MCFG_FRAGMENT_ADD(sound_ym_oki)
+ sound_ym_oki(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vamphalf_state::misncrft, common)
+MACHINE_CONFIG_START(vamphalf_state::misncrft)
+ common(config);
MCFG_CPU_REPLACE("maincpu", GMS30C2116, XTAL(50'000'000)) /* 50 MHz */
MCFG_CPU_PROGRAM_MAP(common_map)
MCFG_CPU_IO_MAP(misncrft_io)
MCFG_CPU_VBLANK_INT_DRIVER("screen", vamphalf_state, irq1_line_hold)
- MCFG_FRAGMENT_ADD(sound_qs1000)
+ sound_qs1000(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vamphalf_state::coolmini, common)
+MACHINE_CONFIG_START(vamphalf_state::coolmini)
+ common(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(coolmini_io)
- MCFG_FRAGMENT_ADD(sound_ym_oki)
+ sound_ym_oki(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vamphalf_state::mrkicker, common)
+MACHINE_CONFIG_START(vamphalf_state::mrkicker)
+ common(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(mrkicker_io)
- MCFG_FRAGMENT_ADD(sound_ym_banked_oki)
+ sound_ym_banked_oki(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vamphalf_state::suplup, common)
+MACHINE_CONFIG_START(vamphalf_state::suplup)
+ common(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(suplup_io)
- MCFG_FRAGMENT_ADD(sound_suplup)
+ sound_suplup(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vamphalf_state::jmpbreak, common)
+MACHINE_CONFIG_START(vamphalf_state::jmpbreak)
+ common(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(jmpbreak_io)
- MCFG_FRAGMENT_ADD(sound_ym_oki)
+ sound_ym_oki(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vamphalf_state::mrdig, common)
+MACHINE_CONFIG_START(vamphalf_state::mrdig)
+ common(config);
MCFG_CPU_REPLACE("maincpu", GMS30C2116, XTAL(50'000'000)) /* 50 MHz */
MCFG_CPU_PROGRAM_MAP(common_map)
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(mrdig_io)
MCFG_CPU_VBLANK_INT_DRIVER("screen", vamphalf_state, irq1_line_hold)
- MCFG_FRAGMENT_ADD(sound_ym_oki)
+ sound_ym_oki(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vamphalf_state::wyvernwg, common)
+MACHINE_CONFIG_START(vamphalf_state::wyvernwg)
+ common(config);
MCFG_CPU_REPLACE("maincpu", E132T, XTAL(50'000'000)) /* 50 MHz */
MCFG_CPU_PROGRAM_MAP(common_32bit_map)
MCFG_CPU_IO_MAP(wyvernwg_io)
MCFG_CPU_VBLANK_INT_DRIVER("screen", vamphalf_state, irq1_line_hold)
- MCFG_FRAGMENT_ADD(sound_qs1000)
+ sound_qs1000(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vamphalf_state::finalgdr, common)
+MACHINE_CONFIG_START(vamphalf_state::finalgdr)
+ common(config);
MCFG_CPU_REPLACE("maincpu", E132T, XTAL(50'000'000)) /* 50 MHz */
MCFG_CPU_PROGRAM_MAP(common_32bit_map)
MCFG_CPU_IO_MAP(finalgdr_io)
@@ -1174,10 +1183,11 @@ MACHINE_CONFIG_DERIVED(vamphalf_state::finalgdr, common)
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_FRAGMENT_ADD(sound_ym_banked_oki)
+ sound_ym_banked_oki(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vamphalf_state::mrkickera, common)
+MACHINE_CONFIG_START(vamphalf_state::mrkickera)
+ common(config);
MCFG_CPU_REPLACE("maincpu", E132T, XTAL(50'000'000)) /* 50 MHz */
MCFG_CPU_PROGRAM_MAP(common_32bit_map)
MCFG_CPU_IO_MAP(mrkickera_io)
@@ -1185,7 +1195,7 @@ MACHINE_CONFIG_DERIVED(vamphalf_state::mrkickera, common)
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_FRAGMENT_ADD(sound_ym_banked_oki)
+ sound_ym_banked_oki(config);
MACHINE_CONFIG_END
@@ -1228,20 +1238,22 @@ MACHINE_CONFIG_START(vamphalf_state::aoh)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vamphalf_state::boonggab, common)
+MACHINE_CONFIG_START(vamphalf_state::boonggab)
+ common(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(boonggab_io)
- MCFG_FRAGMENT_ADD(sound_ym_banked_oki)
+ sound_ym_banked_oki(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vamphalf_state::yorijori, common)
+MACHINE_CONFIG_START(vamphalf_state::yorijori)
+ common(config);
MCFG_CPU_REPLACE("maincpu", E132T, XTAL(50'000'000)) /* 50 MHz */
MCFG_CPU_PROGRAM_MAP(yorijori_32bit_map)
MCFG_CPU_IO_MAP(yorijori_io)
MCFG_CPU_VBLANK_INT_DRIVER("screen", vamphalf_state, irq1_line_hold)
- MCFG_FRAGMENT_ADD(sound_qs1000)
+ sound_qs1000(config);
MACHINE_CONFIG_END
/*
diff --git a/src/mame/drivers/vc4000.cpp b/src/mame/drivers/vc4000.cpp
index 748dc74391a..09703716919 100644
--- a/src/mame/drivers/vc4000.cpp
+++ b/src/mame/drivers/vc4000.cpp
@@ -557,27 +557,32 @@ MACHINE_CONFIG_START(vc4000_state::vc4000)
MCFG_SOFTWARE_LIST_ADD("cart_list", "vc4000")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vc4000_state::cx3000tc, vc4000)
+MACHINE_CONFIG_START(vc4000_state::cx3000tc)
+ vc4000(config);
MCFG_DEVICE_REMOVE("cart_list")
MCFG_SOFTWARE_LIST_ADD("cart_list", "cx3000tc")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vc4000_state::mpu1000, vc4000)
+MACHINE_CONFIG_START(vc4000_state::mpu1000)
+ vc4000(config);
MCFG_DEVICE_REMOVE("cart_list")
MCFG_SOFTWARE_LIST_ADD("cart_list", "mpu1000")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vc4000_state::database, vc4000)
+MACHINE_CONFIG_START(vc4000_state::database)
+ vc4000(config);
MCFG_DEVICE_REMOVE("cart_list")
MCFG_SOFTWARE_LIST_ADD("cart_list", "database")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vc4000_state::rwtrntcs, vc4000)
+MACHINE_CONFIG_START(vc4000_state::rwtrntcs)
+ vc4000(config);
MCFG_DEVICE_REMOVE("cart_list")
MCFG_SOFTWARE_LIST_ADD("cart_list", "rwtrntcs")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vc4000_state::h21, vc4000)
+MACHINE_CONFIG_START(vc4000_state::h21)
+ vc4000(config);
MCFG_DEVICE_REMOVE("cartslot")
MCFG_H21_CARTRIDGE_ADD("cartslot", vc4000_cart, nullptr)
@@ -585,7 +590,8 @@ MACHINE_CONFIG_DERIVED(vc4000_state::h21, vc4000)
MCFG_SOFTWARE_LIST_ADD("cart_list", "h21")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vc4000_state::elektor, vc4000)
+MACHINE_CONFIG_START(vc4000_state::elektor)
+ vc4000(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(elektor_mem)
MCFG_CASSETTE_ADD( "cassette" )
diff --git a/src/mame/drivers/vd.cpp b/src/mame/drivers/vd.cpp
index 371711fbfb3..14e2e81edb3 100644
--- a/src/mame/drivers/vd.cpp
+++ b/src/mame/drivers/vd.cpp
@@ -192,7 +192,7 @@ MACHINE_CONFIG_START(vd_state::vd)
MCFG_TIMER_DRIVER_ADD_PERIODIC("irq", vd_state, irq, attotime::from_hz(484))
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_SOUND_ADD("ay1", AY8910, 2000000) //?
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.33/3)
diff --git a/src/mame/drivers/vectrex.cpp b/src/mame/drivers/vectrex.cpp
index 9a54f86ee9e..e959fd469ab 100644
--- a/src/mame/drivers/vectrex.cpp
+++ b/src/mame/drivers/vectrex.cpp
@@ -215,7 +215,8 @@ static INPUT_PORTS_START(raaspec)
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(vectrex_state::raaspec, vectrex)
+MACHINE_CONFIG_START(vectrex_state::raaspec)
+ vectrex(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(raaspec_map)
MCFG_NVRAM_ADD_0FILL("nvram")
diff --git a/src/mame/drivers/vegas.cpp b/src/mame/drivers/vegas.cpp
index d20808b4398..a07d5d7426a 100644
--- a/src/mame/drivers/vegas.cpp
+++ b/src/mame/drivers/vegas.cpp
@@ -1754,23 +1754,27 @@ MACHINE_CONFIG_START(vegas_state::vegascore)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vegas_state::vegas, vegascore)
+MACHINE_CONFIG_START(vegas_state::vegas)
+ vegascore(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vegas_state::vegas250, vegascore)
+MACHINE_CONFIG_START(vegas_state::vegas250)
+ vegascore(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(vegas_state::SYSTEM_CLOCK*2.5)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vegas_state::vegas32m, vegas250)
+MACHINE_CONFIG_START(vegas_state::vegas32m)
+ vegas250(config);
MCFG_DEVICE_MODIFY(PCI_ID_NILE)
MCFG_VRC5074_SET_SDRAM(0, 0x02000000)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vegas_state::vegasban, vegas32m)
+MACHINE_CONFIG_START(vegas_state::vegasban)
+ vegas32m(config);
MCFG_DEVICE_REMOVE(PCI_ID_VIDEO)
MCFG_VOODOO_PCI_ADD(PCI_ID_VIDEO, TYPE_VOODOO_BANSHEE, ":maincpu")
MCFG_VOODOO_PCI_FBMEM(16)
@@ -1779,7 +1783,8 @@ MACHINE_CONFIG_DERIVED(vegas_state::vegasban, vegas32m)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vegas_state::vegasv3, vegas32m)
+MACHINE_CONFIG_START(vegas_state::vegasv3)
+ vegas32m(config);
MCFG_CPU_REPLACE("maincpu", RM7000LE, vegas_state::SYSTEM_CLOCK*2.5)
MCFG_MIPS3_ICACHE_SIZE(16384)
MCFG_MIPS3_DCACHE_SIZE(16384)
@@ -1793,7 +1798,8 @@ MACHINE_CONFIG_DERIVED(vegas_state::vegasv3, vegas32m)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vegas_state::denver, vegascore)
+MACHINE_CONFIG_START(vegas_state::denver)
+ vegascore(config);
MCFG_CPU_REPLACE("maincpu", RM7000LE, vegas_state::SYSTEM_CLOCK*2.5)
MCFG_MIPS3_ICACHE_SIZE(16384)
MCFG_MIPS3_DCACHE_SIZE(16384)
@@ -1840,7 +1846,8 @@ MACHINE_CONFIG_END
// Per driver configs
-MACHINE_CONFIG_DERIVED(vegas_state::gauntleg, vegas)
+MACHINE_CONFIG_START(vegas_state::gauntleg)
+ vegas(config);
MCFG_DEVICE_ADD("dcs", DCS2_AUDIO_2104, 0)
MCFG_DCS2_AUDIO_DRAM_IN_MB(4)
MCFG_DCS2_AUDIO_POLLING_OFFSET(0x0b5d)
@@ -1853,7 +1860,8 @@ MACHINE_CONFIG_DERIVED(vegas_state::gauntleg, vegas)
MCFG_MIDWAY_IOASIC_AUTO_ACK(1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vegas_state::gauntdl, vegas)
+MACHINE_CONFIG_START(vegas_state::gauntdl)
+ vegas(config);
MCFG_DEVICE_ADD("dcs", DCS2_AUDIO_2104, 0)
MCFG_DCS2_AUDIO_DRAM_IN_MB(4)
MCFG_DCS2_AUDIO_POLLING_OFFSET(0x0b5d)
@@ -1866,7 +1874,8 @@ MACHINE_CONFIG_DERIVED(vegas_state::gauntdl, vegas)
MCFG_MIDWAY_IOASIC_AUTO_ACK(1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vegas_state::warfa, vegas250)
+MACHINE_CONFIG_START(vegas_state::warfa)
+ vegas250(config);
MCFG_DEVICE_ADD("dcs", DCS2_AUDIO_2104, 0)
MCFG_DCS2_AUDIO_DRAM_IN_MB(4)
MCFG_DCS2_AUDIO_POLLING_OFFSET(0x0b5d)
@@ -1879,7 +1888,8 @@ MACHINE_CONFIG_DERIVED(vegas_state::warfa, vegas250)
MCFG_MIDWAY_IOASIC_AUTO_ACK(1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vegas_state::tenthdeg, vegas)
+MACHINE_CONFIG_START(vegas_state::tenthdeg)
+ vegas(config);
MCFG_DEVICE_ADD("dcs", DCS2_AUDIO_2115, 0)
MCFG_DCS2_AUDIO_DRAM_IN_MB(4)
MCFG_DCS2_AUDIO_POLLING_OFFSET(0x0afb)
@@ -1892,7 +1902,8 @@ MACHINE_CONFIG_DERIVED(vegas_state::tenthdeg, vegas)
MCFG_MIDWAY_IOASIC_AUTO_ACK(1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vegas_state::roadburn, vegas32m)
+MACHINE_CONFIG_START(vegas_state::roadburn)
+ vegas32m(config);
MCFG_DEVICE_ADD("dcs", DCS2_AUDIO_DSIO, 0)
MCFG_DCS2_AUDIO_DRAM_IN_MB(4)
MCFG_DCS2_AUDIO_POLLING_OFFSET(0x0ddd)
@@ -1905,7 +1916,8 @@ MACHINE_CONFIG_DERIVED(vegas_state::roadburn, vegas32m)
MCFG_MIDWAY_IOASIC_AUTO_ACK(1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vegas_state::nbashowt, vegasban)
+MACHINE_CONFIG_START(vegas_state::nbashowt)
+ vegasban(config);
MCFG_DEVICE_ADD("dcs", DCS2_AUDIO_2104, 0)
MCFG_DCS2_AUDIO_DRAM_IN_MB(4)
MCFG_DCS2_AUDIO_POLLING_OFFSET(0x0b5d)
@@ -1920,7 +1932,8 @@ MACHINE_CONFIG_DERIVED(vegas_state::nbashowt, vegasban)
MCFG_MIDWAY_IOASIC_AUX_OUT_CB(WRITE32(vegas_state, i40_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vegas_state::nbanfl, vegasban)
+MACHINE_CONFIG_START(vegas_state::nbanfl)
+ vegasban(config);
MCFG_DEVICE_ADD("dcs", DCS2_AUDIO_2104, 0)
MCFG_DCS2_AUDIO_DRAM_IN_MB(4)
@@ -1933,7 +1946,8 @@ MACHINE_CONFIG_DERIVED(vegas_state::nbanfl, vegasban)
MCFG_MIDWAY_IOASIC_AUX_OUT_CB(WRITE32(vegas_state, i40_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vegas_state::nbagold, vegasban)
+MACHINE_CONFIG_START(vegas_state::nbagold)
+ vegasban(config);
MCFG_DEVICE_ADD("dcs", DCS2_AUDIO_2104, 0)
MCFG_DCS2_AUDIO_DRAM_IN_MB(4)
@@ -1946,7 +1960,8 @@ MACHINE_CONFIG_DERIVED(vegas_state::nbagold, vegasban)
MCFG_MIDWAY_IOASIC_AUX_OUT_CB(WRITE32(vegas_state, i40_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vegas_state::sf2049, denver)
+MACHINE_CONFIG_START(vegas_state::sf2049)
+ denver(config);
MCFG_DEVICE_ADD("dcs", DCS2_AUDIO_DENVER, 0)
MCFG_DCS2_AUDIO_DRAM_IN_MB(8)
MCFG_DCS2_AUDIO_POLLING_OFFSET(0x872)
@@ -1960,7 +1975,8 @@ MACHINE_CONFIG_DERIVED(vegas_state::sf2049, denver)
MCFG_MIDWAY_IOASIC_AUX_OUT_CB(WRITE32(vegas_state, wheel_board_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vegas_state::sf2049se, denver)
+MACHINE_CONFIG_START(vegas_state::sf2049se)
+ denver(config);
MCFG_DEVICE_ADD("dcs", DCS2_AUDIO_DENVER, 0)
MCFG_DCS2_AUDIO_DRAM_IN_MB(8)
MCFG_DCS2_AUDIO_POLLING_OFFSET(0x872)
@@ -1974,7 +1990,8 @@ MACHINE_CONFIG_DERIVED(vegas_state::sf2049se, denver)
MCFG_MIDWAY_IOASIC_AUX_OUT_CB(WRITE32(vegas_state, wheel_board_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vegas_state::sf2049te, denver)
+MACHINE_CONFIG_START(vegas_state::sf2049te)
+ denver(config);
MCFG_DEVICE_ADD("dcs", DCS2_AUDIO_DENVER, 0)
MCFG_DCS2_AUDIO_DRAM_IN_MB(8)
MCFG_DCS2_AUDIO_POLLING_OFFSET(0x872)
@@ -1988,7 +2005,8 @@ MACHINE_CONFIG_DERIVED(vegas_state::sf2049te, denver)
MCFG_MIDWAY_IOASIC_AUX_OUT_CB(WRITE32(vegas_state, wheel_board_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vegas_state::cartfury, vegasv3)
+MACHINE_CONFIG_START(vegas_state::cartfury)
+ vegasv3(config);
MCFG_DEVICE_ADD("dcs", DCS2_AUDIO_2104, 0)
MCFG_DCS2_AUDIO_DRAM_IN_MB(4)
MCFG_DCS2_AUDIO_POLLING_OFFSET(0x0b5d)
diff --git a/src/mame/drivers/vendetta.cpp b/src/mame/drivers/vendetta.cpp
index cfece5a39ec..ddd02a919ff 100644
--- a/src/mame/drivers/vendetta.cpp
+++ b/src/mame/drivers/vendetta.cpp
@@ -491,7 +491,8 @@ MACHINE_CONFIG_START(vendetta_state::vendetta)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vendetta_state::esckids, vendetta)
+MACHINE_CONFIG_START(vendetta_state::esckids)
+ vendetta(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/vertigo.cpp b/src/mame/drivers/vertigo.cpp
index c64c1a77c37..a6c845c6d92 100644
--- a/src/mame/drivers/vertigo.cpp
+++ b/src/mame/drivers/vertigo.cpp
@@ -129,7 +129,7 @@ MACHINE_CONFIG_START(vertigo_state::vertigo)
MCFG_CPU_PROGRAM_MAP(vertigo_map)
MCFG_CPU_PERIODIC_INT_DRIVER(vertigo_state, vertigo_interrupt, 60)
- MCFG_FRAGMENT_ADD(exidy440_audio)
+ exidy440_audio(config);
MCFG_DEVICE_ADD("pit", PIT8254, 0)
MCFG_PIT8253_CLK0(XTAL(24'000'000) / 100)
diff --git a/src/mame/drivers/vic20.cpp b/src/mame/drivers/vic20.cpp
index 029a9d6b5d0..6511ad43f5b 100644
--- a/src/mame/drivers/vic20.cpp
+++ b/src/mame/drivers/vic20.cpp
@@ -837,7 +837,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( ntsc )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(vic20_state::ntsc, vic20)
+MACHINE_CONFIG_START(vic20_state::ntsc)
+ vic20(config);
// basic machine hardware
MCFG_CPU_ADD(M6502_TAG, M6502, MOS6560_CLOCK)
MCFG_CPU_PROGRAM_MAP(vic20_mem)
@@ -884,7 +885,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( pal )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(vic20_state::pal, vic20)
+MACHINE_CONFIG_START(vic20_state::pal)
+ vic20(config);
// basic machine hardware
MCFG_CPU_ADD(M6502_TAG, M6502, MOS6561_CLOCK)
MCFG_CPU_PROGRAM_MAP(vic20_mem)
diff --git a/src/mame/drivers/vicdual.cpp b/src/mame/drivers/vicdual.cpp
index f85f5a0eee9..2c886d044b3 100644
--- a/src/mame/drivers/vicdual.cpp
+++ b/src/mame/drivers/vicdual.cpp
@@ -327,7 +327,8 @@ static INPUT_PORTS_START( depthch )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(vicdual_state::depthch, vicdual_root)
+MACHINE_CONFIG_START(vicdual_state::depthch)
+ vicdual_root(config);
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", I8080, VICDUAL_MAIN_CPU_CLOCK)
@@ -340,7 +341,7 @@ MACHINE_CONFIG_DERIVED(vicdual_state::depthch, vicdual_root)
/* audio hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
- MCFG_FRAGMENT_ADD(depthch_audio)
+ depthch_audio(config);
MACHINE_CONFIG_END
@@ -414,7 +415,8 @@ static INPUT_PORTS_START( safari )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(vicdual_state::safari, vicdual_root)
+MACHINE_CONFIG_START(vicdual_state::safari)
+ vicdual_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -518,7 +520,8 @@ static INPUT_PORTS_START( frogs )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(vicdual_state::frogs, vicdual_root)
+MACHINE_CONFIG_START(vicdual_state::frogs)
+ vicdual_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -533,7 +536,7 @@ MACHINE_CONFIG_DERIVED(vicdual_state::frogs, vicdual_root)
/* audio hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
- MCFG_FRAGMENT_ADD(frogs_audio)
+ frogs_audio(config);
MACHINE_CONFIG_END
@@ -762,7 +765,8 @@ static INPUT_PORTS_START( sspaceat )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(vicdual_state::headon, vicdual_root)
+MACHINE_CONFIG_START(vicdual_state::headon)
+ vicdual_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -775,10 +779,11 @@ MACHINE_CONFIG_DERIVED(vicdual_state::headon, vicdual_root)
/* audio hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
- MCFG_FRAGMENT_ADD(headon_audio)
+ headon_audio(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vicdual_state::headons, headon)
+MACHINE_CONFIG_START(vicdual_state::headons)
+ headon(config);
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -786,7 +791,8 @@ MACHINE_CONFIG_DERIVED(vicdual_state::headons, headon)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vicdual_state::sspaceat, vicdual_root)
+MACHINE_CONFIG_START(vicdual_state::sspaceat)
+ vicdual_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -979,7 +985,8 @@ MACHINE_RESET_MEMBER( vicdual_state, headon2 )
}
-MACHINE_CONFIG_DERIVED(vicdual_state::headon2, vicdual_root)
+MACHINE_CONFIG_START(vicdual_state::headon2)
+ vicdual_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -994,10 +1001,11 @@ MACHINE_CONFIG_DERIVED(vicdual_state::headon2, vicdual_root)
/* audio hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
- MCFG_FRAGMENT_ADD(headon_audio)
+ headon_audio(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vicdual_state::headon2bw, headon2)
+MACHINE_CONFIG_START(vicdual_state::headon2bw)
+ headon2(config);
/* basic machine hardware */
/* video hardware */
@@ -1006,7 +1014,8 @@ MACHINE_CONFIG_DERIVED(vicdual_state::headon2bw, headon2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vicdual_state::digger, vicdual_root)
+MACHINE_CONFIG_START(vicdual_state::digger)
+ vicdual_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2037,7 +2046,8 @@ static INPUT_PORTS_START( headonn )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(vicdual_state::vicdual_dualgame_root, vicdual_root)
+MACHINE_CONFIG_START(vicdual_state::vicdual_dualgame_root)
+ vicdual_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2050,7 +2060,8 @@ MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vicdual_state::invho2, vicdual_dualgame_root)
+MACHINE_CONFIG_START(vicdual_state::invho2)
+ vicdual_dualgame_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2058,13 +2069,14 @@ MACHINE_CONFIG_DERIVED(vicdual_state::invho2, vicdual_dualgame_root)
/* audio hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
- MCFG_FRAGMENT_ADD(invinco_audio)
- MCFG_FRAGMENT_ADD(headon_audio)
+ invinco_audio(config);
+ headon_audio(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vicdual_state::invds, vicdual_dualgame_root)
+MACHINE_CONFIG_START(vicdual_state::invds)
+ vicdual_dualgame_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2072,10 +2084,11 @@ MACHINE_CONFIG_DERIVED(vicdual_state::invds, vicdual_dualgame_root)
/* audio hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
- MCFG_FRAGMENT_ADD(invinco_audio)
+ invinco_audio(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vicdual_state::carhntds, vicdual_dualgame_root)
+MACHINE_CONFIG_START(vicdual_state::carhntds)
+ vicdual_dualgame_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2084,7 +2097,8 @@ MACHINE_CONFIG_DERIVED(vicdual_state::carhntds, vicdual_dualgame_root)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vicdual_state::sspacaho, vicdual_dualgame_root)
+MACHINE_CONFIG_START(vicdual_state::sspacaho)
+ vicdual_dualgame_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2092,11 +2106,12 @@ MACHINE_CONFIG_DERIVED(vicdual_state::sspacaho, vicdual_dualgame_root)
/* audio hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
- MCFG_FRAGMENT_ADD(headon_audio)
+ headon_audio(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vicdual_state::spacetrk, vicdual_dualgame_root)
+MACHINE_CONFIG_START(vicdual_state::spacetrk)
+ vicdual_dualgame_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2104,7 +2119,8 @@ MACHINE_CONFIG_DERIVED(vicdual_state::spacetrk, vicdual_dualgame_root)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vicdual_state::carnival, vicdual_dualgame_root)
+MACHINE_CONFIG_START(vicdual_state::carnival)
+ vicdual_dualgame_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2114,10 +2130,11 @@ MACHINE_CONFIG_DERIVED(vicdual_state::carnival, vicdual_dualgame_root)
/* audio hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
- MCFG_FRAGMENT_ADD(carnival_audio)
+ carnival_audio(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vicdual_state::carnivalh, carnival)
+MACHINE_CONFIG_START(vicdual_state::carnivalh)
+ carnival(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2125,7 +2142,8 @@ MACHINE_CONFIG_DERIVED(vicdual_state::carnivalh, carnival)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vicdual_state::tranqgun, vicdual_dualgame_root)
+MACHINE_CONFIG_START(vicdual_state::tranqgun)
+ vicdual_dualgame_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2133,11 +2151,12 @@ MACHINE_CONFIG_DERIVED(vicdual_state::tranqgun, vicdual_dualgame_root)
/* audio hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
- MCFG_FRAGMENT_ADD(tranqgun_audio)
+ tranqgun_audio(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vicdual_state::brdrline, vicdual_dualgame_root)
+MACHINE_CONFIG_START(vicdual_state::brdrline)
+ vicdual_dualgame_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2145,11 +2164,12 @@ MACHINE_CONFIG_DERIVED(vicdual_state::brdrline, vicdual_dualgame_root)
/* audio hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
- MCFG_FRAGMENT_ADD(brdrline_audio)
+ brdrline_audio(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vicdual_state::pulsar, vicdual_dualgame_root)
+MACHINE_CONFIG_START(vicdual_state::pulsar)
+ vicdual_dualgame_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2157,11 +2177,12 @@ MACHINE_CONFIG_DERIVED(vicdual_state::pulsar, vicdual_dualgame_root)
/* audio hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
- MCFG_FRAGMENT_ADD(pulsar_audio)
+ pulsar_audio(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vicdual_state::heiankyo, vicdual_dualgame_root)
+MACHINE_CONFIG_START(vicdual_state::heiankyo)
+ vicdual_dualgame_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2169,7 +2190,8 @@ MACHINE_CONFIG_DERIVED(vicdual_state::heiankyo, vicdual_dualgame_root)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vicdual_state::alphaho, vicdual_dualgame_root)
+MACHINE_CONFIG_START(vicdual_state::alphaho)
+ vicdual_dualgame_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2177,7 +2199,8 @@ MACHINE_CONFIG_DERIVED(vicdual_state::alphaho, vicdual_dualgame_root)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vicdual_state::headonn, vicdual_dualgame_root)
+MACHINE_CONFIG_START(vicdual_state::headonn)
+ vicdual_dualgame_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2185,7 +2208,7 @@ MACHINE_CONFIG_DERIVED(vicdual_state::headonn, vicdual_dualgame_root)
/* audio hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
- MCFG_FRAGMENT_ADD(headon_audio)
+ headon_audio(config);
MACHINE_CONFIG_END
@@ -2305,7 +2328,8 @@ MACHINE_START_MEMBER(vicdual_state,samurai)
machine_start();
}
-MACHINE_CONFIG_DERIVED(vicdual_state::samurai, vicdual_root)
+MACHINE_CONFIG_START(vicdual_state::samurai)
+ vicdual_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2598,7 +2622,8 @@ static INPUT_PORTS_START( invinco )
INPUT_PORTS_END
-MACHINE_CONFIG_DERIVED(vicdual_state::invinco, vicdual_root)
+MACHINE_CONFIG_START(vicdual_state::invinco)
+ vicdual_root(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2611,7 +2636,7 @@ MACHINE_CONFIG_DERIVED(vicdual_state::invinco, vicdual_root)
/* audio hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
- MCFG_FRAGMENT_ADD(invinco_audio)
+ invinco_audio(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/victory.cpp b/src/mame/drivers/victory.cpp
index 5e5f76d8115..d8fe9277f59 100644
--- a/src/mame/drivers/victory.cpp
+++ b/src/mame/drivers/victory.cpp
@@ -239,7 +239,7 @@ MACHINE_CONFIG_START(victory_state::victory)
/* audio hardware */
- MCFG_FRAGMENT_ADD(victory_audio)
+ victory_audio(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/videopkr.cpp b/src/mame/drivers/videopkr.cpp
index 94334f3e871..5149494c9cd 100644
--- a/src/mame/drivers/videopkr.cpp
+++ b/src/mame/drivers/videopkr.cpp
@@ -1303,7 +1303,8 @@ MACHINE_CONFIG_START(videopkr_state::videopkr)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(videopkr_state::blckjack, videopkr)
+MACHINE_CONFIG_START(videopkr_state::blckjack)
+ videopkr(config);
/* basic machine hardware */
@@ -1314,7 +1315,8 @@ MACHINE_CONFIG_DERIVED(videopkr_state::blckjack, videopkr)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(videopkr_state::videodad, videopkr)
+MACHINE_CONFIG_START(videopkr_state::videodad)
+ videopkr(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1330,7 +1332,8 @@ MACHINE_CONFIG_DERIVED(videopkr_state::videodad, videopkr)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(videopkr_state::babypkr, videopkr)
+MACHINE_CONFIG_START(videopkr_state::babypkr)
+ videopkr(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1354,7 +1357,8 @@ MACHINE_CONFIG_DERIVED(videopkr_state::babypkr, videopkr)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.3)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(videopkr_state::fortune1, videopkr)
+MACHINE_CONFIG_START(videopkr_state::fortune1)
+ videopkr(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1364,7 +1368,8 @@ MACHINE_CONFIG_DERIVED(videopkr_state::fortune1, videopkr)
MCFG_PALETTE_INIT_OWNER(videopkr_state,fortune1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(videopkr_state::bpoker, babypkr)
+MACHINE_CONFIG_START(videopkr_state::bpoker)
+ babypkr(config);
MCFG_CPU_REPLACE("maincpu", I8751, XTAL(6'000'000))
MCFG_CPU_PROGRAM_MAP(i8751_map)
MCFG_CPU_IO_MAP(i8751_io_port)
diff --git a/src/mame/drivers/vii.cpp b/src/mame/drivers/vii.cpp
index 332a9095eba..6e7a788dbcc 100644
--- a/src/mame/drivers/vii.cpp
+++ b/src/mame/drivers/vii.cpp
@@ -1295,14 +1295,16 @@ MACHINE_CONFIG_START(spg2xx_game_state::spg2xx_base)
MCFG_PALETTE_ADD("palette", 32768)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(spg2xx_game_state::spg2xx_basep, spg2xx_base)
+MACHINE_CONFIG_START(spg2xx_game_state::spg2xx_basep)
+ spg2xx_base(config);
MCFG_SCREEN_MODIFY( "screen" )
MCFG_SCREEN_REFRESH_RATE(50)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(spg2xx_cart_state::vii, spg2xx_base)
+MACHINE_CONFIG_START(spg2xx_cart_state::vii)
+ spg2xx_base(config);
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "vii_cart")
MCFG_GENERIC_WIDTH(GENERIC_ROM16_WIDTH)
MCFG_GENERIC_LOAD(spg2xx_cart_state, vii_cart)
@@ -1310,7 +1312,8 @@ MACHINE_CONFIG_DERIVED(spg2xx_cart_state::vii, spg2xx_base)
MCFG_SOFTWARE_LIST_ADD("vii_cart","vii")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(spg2xx_cart_state::vsmile, spg2xx_base)
+MACHINE_CONFIG_START(spg2xx_cart_state::vsmile)
+ spg2xx_base(config);
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "vsmile_cart")
MCFG_GENERIC_WIDTH(GENERIC_ROM16_WIDTH)
MCFG_GENERIC_LOAD(spg2xx_cart_state, vsmile_cart)
@@ -1318,7 +1321,8 @@ MACHINE_CONFIG_DERIVED(spg2xx_cart_state::vsmile, spg2xx_base)
MCFG_SOFTWARE_LIST_ADD("cart_list","vsmile_cart")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(spg2xx_game_state::batman, spg2xx_base)
+MACHINE_CONFIG_START(spg2xx_game_state::batman)
+ spg2xx_base(config);
MCFG_I2CMEM_ADD("i2cmem")
MCFG_I2CMEM_DATA_SIZE(0x200)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/vip.cpp b/src/mame/drivers/vip.cpp
index 59ad4496182..a97f3fe7c09 100644
--- a/src/mame/drivers/vip.cpp
+++ b/src/mame/drivers/vip.cpp
@@ -767,7 +767,8 @@ MACHINE_CONFIG_END
// MACHINE_CONFIG( vp111 )
//-------------------------------------------------
-MACHINE_CONFIG_DERIVED(vip_state::vp111, vip)
+MACHINE_CONFIG_START(vip_state::vp111)
+ vip(config);
// internal ram
MCFG_RAM_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("1K")
diff --git a/src/mame/drivers/voyager.cpp b/src/mame/drivers/voyager.cpp
index 91097785d8b..f6b7d2dab89 100644
--- a/src/mame/drivers/voyager.cpp
+++ b/src/mame/drivers/voyager.cpp
@@ -498,7 +498,7 @@ MACHINE_CONFIG_START(voyager_state::voyager)
MCFG_CPU_IO_MAP(voyager_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))
@@ -508,7 +508,7 @@ MACHINE_CONFIG_START(voyager_state::voyager)
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/vsnes.cpp b/src/mame/drivers/vsnes.cpp
index 23dea358396..ba273dc5241 100644
--- a/src/mame/drivers/vsnes.cpp
+++ b/src/mame/drivers/vsnes.cpp
@@ -1727,7 +1727,8 @@ MACHINE_CONFIG_START(vsnes_state::vsnes)
MCFG_SPEAKER_STANDARD_MONO("mono")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vsnes_state::jajamaru, vsnes)
+MACHINE_CONFIG_START(vsnes_state::jajamaru)
+ vsnes(config);
MCFG_DEVICE_REMOVE( "ppu1" )
MCFG_PPU2C05_01_ADD("ppu1")
@@ -1736,7 +1737,8 @@ MACHINE_CONFIG_DERIVED(vsnes_state::jajamaru, vsnes)
MCFG_PPU2C0X_SET_NMI(vsnes_state, ppu_irq_1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vsnes_state::mightybj, vsnes)
+MACHINE_CONFIG_START(vsnes_state::mightybj)
+ vsnes(config);
MCFG_DEVICE_REMOVE( "ppu1" )
MCFG_PPU2C05_02_ADD("ppu1")
@@ -1745,7 +1747,8 @@ MACHINE_CONFIG_DERIVED(vsnes_state::mightybj, vsnes)
MCFG_PPU2C0X_SET_NMI(vsnes_state, ppu_irq_1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vsnes_state::vsgshoe, vsnes)
+MACHINE_CONFIG_START(vsnes_state::vsgshoe)
+ vsnes(config);
MCFG_DEVICE_REMOVE( "ppu1" )
MCFG_PPU2C05_03_ADD("ppu1")
@@ -1754,7 +1757,8 @@ MACHINE_CONFIG_DERIVED(vsnes_state::vsgshoe, vsnes)
MCFG_PPU2C0X_SET_NMI(vsnes_state, ppu_irq_1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vsnes_state::topgun, vsnes)
+MACHINE_CONFIG_START(vsnes_state::topgun)
+ vsnes(config);
MCFG_DEVICE_REMOVE( "ppu1" )
MCFG_PPU2C05_04_ADD("ppu1")
@@ -1813,7 +1817,8 @@ MACHINE_CONFIG_START(vsnes_state::vsdual)
MCFG_SPEAKER_STANDARD_MONO("mono")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vsnes_state::vsdual_pi, vsdual)
+MACHINE_CONFIG_START(vsnes_state::vsdual_pi)
+ vsdual(config);
MCFG_QUANTUM_PERFECT_CPU("maincpu")
// need high level of interleave to keep screens in sync in Balloon Fight.
// however vsmahjng doesn't like perfect interleave? you end up needing to reset it to boot? maybe something in a bad default state? watchdog?
diff --git a/src/mame/drivers/vt100.cpp b/src/mame/drivers/vt100.cpp
index 12568f7f049..e6c56a46a0e 100644
--- a/src/mame/drivers/vt100.cpp
+++ b/src/mame/drivers/vt100.cpp
@@ -303,13 +303,15 @@ MACHINE_CONFIG_START(vt100_state::vt100)
MCFG_VT100_KEYBOARD_INT_CALLBACK(WRITELINE(vt100_state, keyboard_int_w))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vt100_state::vt180, vt100)
+MACHINE_CONFIG_START(vt100_state::vt180)
+ vt100(config);
MCFG_CPU_ADD("z80cpu", Z80, XTAL(24'883'200) / 9)
MCFG_CPU_PROGRAM_MAP(vt180_mem)
MCFG_CPU_IO_MAP(vt180_io)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vt100_state::vt102, vt100)
+MACHINE_CONFIG_START(vt100_state::vt102)
+ vt100(config);
MCFG_CPU_REPLACE("maincpu", I8085A, XTAL(24'073'400) / 4)
MCFG_CPU_PROGRAM_MAP(vt100_mem)
MCFG_CPU_IO_MAP(vt100_io)
diff --git a/src/mame/drivers/vt220.cpp b/src/mame/drivers/vt220.cpp
index dc5f179e0d2..9423ffcb7e4 100644
--- a/src/mame/drivers/vt220.cpp
+++ b/src/mame/drivers/vt220.cpp
@@ -125,7 +125,8 @@ MACHINE_CONFIG_START(vt220_state::vt220)
MCFG_RAM_DEFAULT_SIZE("16K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vt220_state::vt220a, vt220)
+MACHINE_CONFIG_START(vt220_state::vt220a)
+ vt220(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(vt220a_mem)
MCFG_CPU_IO_MAP(vt220a_io)
diff --git a/src/mame/drivers/vt240.cpp b/src/mame/drivers/vt240.cpp
index f6029018551..d45cf6e5b0d 100644
--- a/src/mame/drivers/vt240.cpp
+++ b/src/mame/drivers/vt240.cpp
@@ -707,7 +707,8 @@ MACHINE_CONFIG_START(vt240_state::vt240)
MCFG_X2212_ADD("x2212")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vt240_state::mc7105, vt240)
+MACHINE_CONFIG_START(vt240_state::mc7105)
+ vt240(config);
MCFG_DEVICE_REMOVE("lk201")
MCFG_DEVICE_ADD("ms7004", MS7004, 0)
diff --git a/src/mame/drivers/vtech1.cpp b/src/mame/drivers/vtech1.cpp
index 7afca3c973d..907866fea3b 100644
--- a/src/mame/drivers/vtech1.cpp
+++ b/src/mame/drivers/vtech1.cpp
@@ -470,7 +470,8 @@ MACHINE_CONFIG_START(vtech1_state::laser110)
MCFG_SOFTWARE_LIST_ADD("cass_list", "vz_cass")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vtech1_state::laser200, laser110)
+MACHINE_CONFIG_START(vtech1_state::laser200)
+ laser110(config);
MCFG_DEVICE_REMOVE("mc6847")
MCFG_DEVICE_ADD("mc6847", MC6847_PAL, XTAL(4'433'619))
MCFG_MC6847_FSYNC_CALLBACK(INPUTLINE("maincpu", 0)) MCFG_DEVCB_INVERT
@@ -480,18 +481,21 @@ MACHINE_CONFIG_DERIVED(vtech1_state::laser200, laser110)
// other lines not connected
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vtech1_state::laser210, laser200)
+MACHINE_CONFIG_START(vtech1_state::laser210)
+ laser200(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(laser210_mem)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vtech1_state::laser310, laser200)
+MACHINE_CONFIG_START(vtech1_state::laser310)
+ laser200(config);
MCFG_CPU_REPLACE("maincpu", Z80, VZ300_XTAL1_CLK / 5) /* 3.546894 MHz */
MCFG_CPU_PROGRAM_MAP(laser310_mem)
MCFG_CPU_IO_MAP(vtech1_io)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vtech1_state::laser310h, laser310)
+MACHINE_CONFIG_START(vtech1_state::laser310h)
+ laser310(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(vtech1_shrg_io)
diff --git a/src/mame/drivers/vtech2.cpp b/src/mame/drivers/vtech2.cpp
index 8d6a3a199d7..bfa6030d575 100644
--- a/src/mame/drivers/vtech2.cpp
+++ b/src/mame/drivers/vtech2.cpp
@@ -455,12 +455,14 @@ MACHINE_CONFIG_START(vtech2_state::laser350)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vtech2_state::laser500, laser350)
+MACHINE_CONFIG_START(vtech2_state::laser500)
+ laser350(config);
MCFG_MACHINE_RESET_OVERRIDE(vtech2_state, laser500 )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(vtech2_state::laser700, laser350)
+MACHINE_CONFIG_START(vtech2_state::laser700)
+ laser350(config);
MCFG_MACHINE_RESET_OVERRIDE(vtech2_state, laser700 )
/* Second 5.25" floppy drive */
diff --git a/src/mame/drivers/wallc.cpp b/src/mame/drivers/wallc.cpp
index 5b72a8c319c..76417032c61 100644
--- a/src/mame/drivers/wallc.cpp
+++ b/src/mame/drivers/wallc.cpp
@@ -500,12 +500,14 @@ MACHINE_CONFIG_START(wallc_state::wallc)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(wallc_state::wallca, wallc)
+MACHINE_CONFIG_START(wallc_state::wallca)
+ wallc(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(12_MHz_XTAL / 4)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(wallc_state::unkitpkr, wallc)
+MACHINE_CONFIG_START(wallc_state::unkitpkr)
+ wallc(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(unkitpkr_map)
diff --git a/src/mame/drivers/warpwarp.cpp b/src/mame/drivers/warpwarp.cpp
index 2c8917e2505..8c6200c6663 100644
--- a/src/mame/drivers/warpwarp.cpp
+++ b/src/mame/drivers/warpwarp.cpp
@@ -742,12 +742,14 @@ MACHINE_CONFIG_START(warpwarp_state::geebee)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(warpwarp_state::geebeeb, geebee)
+MACHINE_CONFIG_START(warpwarp_state::geebeeb)
+ geebee(config);
MCFG_DEVICE_MODIFY("latch")
MCFG_ADDRESSABLE_LATCH_Q4_OUT_CB(NOOP) // remove coin lockout
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(warpwarp_state::navarone, geebee)
+MACHINE_CONFIG_START(warpwarp_state::navarone)
+ geebee(config);
/* basic machine hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", 2k)
@@ -796,7 +798,8 @@ MACHINE_CONFIG_START(warpwarp_state::bombbee)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(warpwarp_state::warpwarp, bombbee)
+MACHINE_CONFIG_START(warpwarp_state::warpwarp)
+ bombbee(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/wc90.cpp b/src/mame/drivers/wc90.cpp
index 67cc913efb2..f2c44228d3a 100644
--- a/src/mame/drivers/wc90.cpp
+++ b/src/mame/drivers/wc90.cpp
@@ -389,11 +389,13 @@ MACHINE_CONFIG_START(wc90_state::wc90)
MCFG_SOUND_ROUTE(2, "mono", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(wc90_state::wc90t, wc90)
+MACHINE_CONFIG_START(wc90_state::wc90t)
+ wc90(config);
MCFG_VIDEO_START_OVERRIDE(wc90_state, wc90t )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(wc90_state::pac90, wc90)
+MACHINE_CONFIG_START(wc90_state::pac90)
+ wc90(config);
MCFG_DEVICE_MODIFY("spritegen")
MCFG_TECMO_SPRITE_YOFFSET(16) // sprites need shifting, why?
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/welltris.cpp b/src/mame/drivers/welltris.cpp
index 7705bb44530..1d0319f5d62 100644
--- a/src/mame/drivers/welltris.cpp
+++ b/src/mame/drivers/welltris.cpp
@@ -712,7 +712,8 @@ MACHINE_CONFIG_START(welltris_state::welltris)
MCFG_SOUND_ROUTE(2, "mono", 0.75)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(welltris_state::quiz18k, welltris)
+MACHINE_CONFIG_START(welltris_state::quiz18k)
+ welltris(config);
/* basic machine hardware */
diff --git a/src/mame/drivers/wgp.cpp b/src/mame/drivers/wgp.cpp
index 22149f34d02..d12739b038e 100644
--- a/src/mame/drivers/wgp.cpp
+++ b/src/mame/drivers/wgp.cpp
@@ -962,7 +962,8 @@ MACHINE_CONFIG_START(wgp_state::wgp)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(wgp_state::wgp2, wgp)
+MACHINE_CONFIG_START(wgp_state::wgp2)
+ wgp(config);
MCFG_QUANTUM_TIME(attotime::from_hz(12000))
/* video hardware */
diff --git a/src/mame/drivers/wico.cpp b/src/mame/drivers/wico.cpp
index 83567c72533..4c2403a9589 100644
--- a/src/mame/drivers/wico.cpp
+++ b/src/mame/drivers/wico.cpp
@@ -445,7 +445,7 @@ MACHINE_CONFIG_START(wico_state::wico)
MCFG_DEFAULT_LAYOUT(layout_wico)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("sn76494", SN76494, XTAL(10'000'000) / 64)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
diff --git a/src/mame/drivers/williams.cpp b/src/mame/drivers/williams.cpp
index e34dddddce9..3497177fe9b 100644
--- a/src/mame/drivers/williams.cpp
+++ b/src/mame/drivers/williams.cpp
@@ -1499,7 +1499,8 @@ MACHINE_CONFIG_START(williams_state::williams)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(williams_state::defender, williams)
+MACHINE_CONFIG_START(williams_state::defender)
+ williams(config);
/* basic machine hardware */
@@ -1524,14 +1525,16 @@ MACHINE_CONFIG_DERIVED(williams_state::defender, williams)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(williams_state::jin, defender) // needs a different screen size or the credit text is clipped
+MACHINE_CONFIG_START(williams_state::jin) // needs a different screen size or the credit text is clipped
+ defender(config);
/* basic machine hardware */
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0, 315, 7, 247-1)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(williams_state::williams_muxed, williams)
+MACHINE_CONFIG_START(williams_state::williams_muxed)
+ williams(config);
/* basic machine hardware */
@@ -1555,7 +1558,8 @@ MACHINE_CONFIG_DERIVED(williams_state::williams_muxed, williams)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(williams_state::spdball, williams)
+MACHINE_CONFIG_START(williams_state::spdball)
+ williams(config);
/* basic machine hardware */
@@ -1566,7 +1570,8 @@ MACHINE_CONFIG_DERIVED(williams_state::spdball, williams)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(williams_state::lottofun, williams)
+MACHINE_CONFIG_START(williams_state::lottofun)
+ williams(config);
/* basic machine hardware */
@@ -1579,7 +1584,8 @@ MACHINE_CONFIG_DERIVED(williams_state::lottofun, williams)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(williams_state::sinistar, williams)
+MACHINE_CONFIG_START(williams_state::sinistar)
+ williams(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1599,7 +1605,8 @@ MACHINE_CONFIG_DERIVED(williams_state::sinistar, williams)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(williams_state::playball, williams)
+MACHINE_CONFIG_START(williams_state::playball)
+ williams(config);
/* basic machine hardware */
@@ -1621,7 +1628,8 @@ MACHINE_CONFIG_DERIVED(williams_state::playball, williams)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(blaster_state::blastkit, williams)
+MACHINE_CONFIG_START(blaster_state::blastkit)
+ williams(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1648,7 +1656,8 @@ MACHINE_CONFIG_DERIVED(blaster_state::blastkit, williams)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(blaster_state::blaster, blastkit)
+MACHINE_CONFIG_START(blaster_state::blaster)
+ blastkit(config);
/* basic machine hardware */
MCFG_CPU_ADD("soundcpu_b", M6808, SOUND_CLOCK) // internal clock divider of 4, effective frequency is 894.886kHz
@@ -1757,7 +1766,8 @@ MACHINE_CONFIG_START(williams2_state::williams2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(williams2_state::inferno, williams2)
+MACHINE_CONFIG_START(williams2_state::inferno)
+ williams2(config);
MCFG_DEVICE_MODIFY("pia_0")
MCFG_PIA_READPA_HANDLER(DEVREAD8("mux", ls157_x2_device, output_r))
MCFG_PIA_CA2_HANDLER(DEVWRITELINE("mux", ls157_x2_device, select_w))
@@ -1768,7 +1778,8 @@ MACHINE_CONFIG_DERIVED(williams2_state::inferno, williams2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(williams2_state::mysticm, williams2)
+MACHINE_CONFIG_START(williams2_state::mysticm)
+ williams2(config);
/* basic machine hardware */
@@ -1783,7 +1794,8 @@ MACHINE_CONFIG_DERIVED(williams2_state::mysticm, williams2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(tshoot_state::tshoot, williams2)
+MACHINE_CONFIG_START(tshoot_state::tshoot)
+ williams2(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1810,7 +1822,8 @@ MACHINE_CONFIG_DERIVED(tshoot_state::tshoot, williams2)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(joust2_state::joust2, williams2)
+MACHINE_CONFIG_START(joust2_state::joust2)
+ williams2(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
diff --git a/src/mame/drivers/wiz.cpp b/src/mame/drivers/wiz.cpp
index 3201c96dd9a..a0b047eb0e2 100644
--- a/src/mame/drivers/wiz.cpp
+++ b/src/mame/drivers/wiz.cpp
@@ -823,7 +823,8 @@ MACHINE_CONFIG_START(wiz_state::kungfut)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.10)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(wiz_state::wiz, kungfut)
+MACHINE_CONFIG_START(wiz_state::wiz)
+ kungfut(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -836,7 +837,8 @@ MACHINE_CONFIG_DERIVED(wiz_state::wiz, kungfut)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(wiz_state::stinger, kungfut)
+MACHINE_CONFIG_START(wiz_state::stinger)
+ kungfut(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -861,7 +863,8 @@ MACHINE_CONFIG_DERIVED(wiz_state::stinger, kungfut)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(wiz_state::scion, stinger)
+MACHINE_CONFIG_START(wiz_state::scion)
+ stinger(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_DEVICE_REMOVE_ADDRESS_MAP(AS_OPCODES)
diff --git a/src/mame/drivers/wpc_an.cpp b/src/mame/drivers/wpc_an.cpp
index 3872b2e2a2c..1f773246ba2 100644
--- a/src/mame/drivers/wpc_an.cpp
+++ b/src/mame/drivers/wpc_an.cpp
@@ -336,7 +336,7 @@ MACHINE_CONFIG_START(wpc_an_state::wpc_an_base)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(wpc_an_state::wpc_an)
- MCFG_FRAGMENT_ADD(wpc_an_base)
+ wpc_an_base(config);
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("wpcsnd", WPCSND, 0)
@@ -346,7 +346,7 @@ MACHINE_CONFIG_START(wpc_an_state::wpc_an)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(wpc_an_state::wpc_an_dd)
- MCFG_FRAGMENT_ADD(wpc_an_base)
+ wpc_an_base(config);
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("bg", S11C_BG, 0)
diff --git a/src/mame/drivers/wswan.cpp b/src/mame/drivers/wswan.cpp
index 985e892fea1..1a27586bce2 100644
--- a/src/mame/drivers/wswan.cpp
+++ b/src/mame/drivers/wswan.cpp
@@ -154,7 +154,8 @@ MACHINE_CONFIG_START(wswan_state::wswan)
MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("pc2_list","pockchalv2")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(wswan_state::wscolor, wswan)
+MACHINE_CONFIG_START(wswan_state::wscolor)
+ wswan(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(wscolor_mem)
MCFG_MACHINE_START_OVERRIDE(wswan_state, wscolor)
diff --git a/src/mame/drivers/x1.cpp b/src/mame/drivers/x1.cpp
index 2c0c52668cd..cbdf34cafde 100644
--- a/src/mame/drivers/x1.cpp
+++ b/src/mame/drivers/x1.cpp
@@ -2283,7 +2283,8 @@ MACHINE_CONFIG_START(x1_state::x1)
MCFG_TIMER_DRIVER_ADD_PERIODIC("cmt_wind_timer", x1_state, x1_cmt_wind_timer, attotime::from_hz(16))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(x1_state::x1turbo, x1)
+MACHINE_CONFIG_START(x1_state::x1turbo)
+ x1(config);
MCFG_CPU_MODIFY("x1_cpu")
MCFG_CPU_PROGRAM_MAP(x1turbo_mem)
MCFG_Z80_DAISY_CHAIN(x1turbo_daisy)
diff --git a/src/mame/drivers/x68k.cpp b/src/mame/drivers/x68k.cpp
index 5899a632a38..ef6458903ea 100644
--- a/src/mame/drivers/x68k.cpp
+++ b/src/mame/drivers/x68k.cpp
@@ -1746,7 +1746,8 @@ MACHINE_CONFIG_START(x68k_state::x68000)
MCFG_X68KHDC_ADD( "x68k_hdc" )
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(x68k_state::x68ksupr, x68000)
+MACHINE_CONFIG_START(x68k_state::x68ksupr)
+ x68000(config);
MCFG_DEVICE_REMOVE("x68k_hdc")
MCFG_CPU_MODIFY("maincpu")
@@ -1767,12 +1768,14 @@ MACHINE_CONFIG_DERIVED(x68k_state::x68ksupr, x68000)
MCFG_MB89352A_DRQ_CB(WRITELINE(x68k_state, x68k_scsi_drq))
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(x68k_state::x68kxvi, x68ksupr)
+MACHINE_CONFIG_START(x68k_state::x68kxvi)
+ x68ksupr(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(16000000) /* 16 MHz */
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(x68k_state::x68030, x68ksupr)
+MACHINE_CONFIG_START(x68k_state::x68030)
+ x68ksupr(config);
MCFG_CPU_REPLACE("maincpu", M68030, 25000000) /* 25 MHz 68EC030 */
MCFG_CPU_PROGRAM_MAP(x68030_map)
MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(x68k_state,x68k_int_ack)
diff --git a/src/mame/drivers/xain.cpp b/src/mame/drivers/xain.cpp
index efc108e9399..d201dc194e5 100644
--- a/src/mame/drivers/xain.cpp
+++ b/src/mame/drivers/xain.cpp
@@ -496,7 +496,8 @@ MACHINE_CONFIG_START(xain_state::xsleena)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(xain_state::xsleenab, xsleena)
+MACHINE_CONFIG_START(xain_state::xsleenab)
+ xsleena(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(bootleg_map)
diff --git a/src/mame/drivers/xbox.cpp b/src/mame/drivers/xbox.cpp
index ee8a7038414..cf404468b0c 100644
--- a/src/mame/drivers/xbox.cpp
+++ b/src/mame/drivers/xbox.cpp
@@ -165,7 +165,8 @@ SLOT_INTERFACE_START(xbox_ata_devices)
SLOT_INTERFACE("cdrom", ATAPI_CDROM)
SLOT_INTERFACE_END
-MACHINE_CONFIG_DERIVED(xbox_state::xbox, xbox_base)
+MACHINE_CONFIG_START(xbox_state::xbox)
+ xbox_base(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(xbox_map)
MCFG_CPU_IO_MAP(xbox_map_io)
diff --git a/src/mame/drivers/xerox820.cpp b/src/mame/drivers/xerox820.cpp
index f60a90a1e0b..5de55077cf3 100644
--- a/src/mame/drivers/xerox820.cpp
+++ b/src/mame/drivers/xerox820.cpp
@@ -612,7 +612,8 @@ MACHINE_CONFIG_START(xerox820_state::xerox820)
MCFG_SOFTWARE_LIST_ADD("flop_list", "xerox820")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(bigboard_state::bigboard, xerox820)
+MACHINE_CONFIG_START(bigboard_state::bigboard)
+ xerox820(config);
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("beeper", BEEP, 950)
@@ -714,7 +715,8 @@ MACHINE_CONFIG_START(xerox820ii_state::xerox820ii)
MCFG_SOFTWARE_LIST_ADD("flop_list", "xerox820ii")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(xerox820ii_state::xerox168, xerox820ii)
+MACHINE_CONFIG_START(xerox820ii_state::xerox168)
+ xerox820ii(config);
MCFG_CPU_ADD(I8086_TAG, I8086, 4770000)
MCFG_CPU_PROGRAM_MAP(xerox168_mem)
@@ -724,7 +726,8 @@ MACHINE_CONFIG_DERIVED(xerox820ii_state::xerox168, xerox820ii)
MCFG_RAM_EXTRA_OPTIONS("320K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(xerox820_state::mk83, xerox820)
+MACHINE_CONFIG_START(xerox820_state::mk83)
+ xerox820(config);
MCFG_CPU_MODIFY(Z80_TAG)
MCFG_CPU_PROGRAM_MAP(mk83_mem)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/xtom3d.cpp b/src/mame/drivers/xtom3d.cpp
index e6950ce2cc8..b17e152de05 100644
--- a/src/mame/drivers/xtom3d.cpp
+++ b/src/mame/drivers/xtom3d.cpp
@@ -404,14 +404,14 @@ MACHINE_CONFIG_START(xtom3d_state::xtom3d)
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)
MCFG_PCI_BUS_LEGACY_DEVICE(7, nullptr, intel82371ab_pci_r, intel82371ab_pci_w)
/* video hardware */
- MCFG_FRAGMENT_ADD( pcvideo_vga )
+ pcvideo_vga(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/z1013.cpp b/src/mame/drivers/z1013.cpp
index 0628be15b0a..f4b4a75dcde 100644
--- a/src/mame/drivers/z1013.cpp
+++ b/src/mame/drivers/z1013.cpp
@@ -400,7 +400,8 @@ MACHINE_CONFIG_START(z1013_state::z1013)
MCFG_SNAPSHOT_ADD("snapshot", z1013_state, z1013, "z80", 0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(z1013_state::z1013k76, z1013)
+MACHINE_CONFIG_START(z1013_state::z1013k76)
+ z1013(config);
MCFG_DEVICE_REMOVE("z80pio")
MCFG_DEVICE_ADD("z80pio", Z80PIO, XTAL(1'000'000))
MCFG_Z80PIO_IN_PB_CB(READ8(z1013_state, k7659_port_b_r))
diff --git a/src/mame/drivers/z80ne.cpp b/src/mame/drivers/z80ne.cpp
index 3bd9e9c83b1..e7dcd7e25a1 100644
--- a/src/mame/drivers/z80ne.cpp
+++ b/src/mame/drivers/z80ne.cpp
@@ -441,7 +441,8 @@ MACHINE_CONFIG_START(z80ne_state::z80ne)
//MCFG_SOFTWARE_LIST_ADD("cass_list","z80ne_cass")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(z80ne_state::z80net, z80ne)
+MACHINE_CONFIG_START(z80ne_state::z80net)
+ z80ne(config);
MCFG_CPU_MODIFY("z80ne")
MCFG_CPU_PROGRAM_MAP(z80net_mem)
diff --git a/src/mame/drivers/zac_1.cpp b/src/mame/drivers/zac_1.cpp
index 3f8be807380..3046ee11297 100644
--- a/src/mame/drivers/zac_1.cpp
+++ b/src/mame/drivers/zac_1.cpp
@@ -272,7 +272,7 @@ MACHINE_CONFIG_START(zac_1_state::zac_1)
MCFG_DEFAULT_LAYOUT(layout_zac_1)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MACHINE_CONFIG_END
/*************************** LOCOMOTION ********************************/
@@ -299,7 +299,8 @@ READ8_MEMBER( zac_1_state::reset_int_r )
return 0;
}
-MACHINE_CONFIG_DERIVED(zac_1_state::locomotp, zac_1)
+MACHINE_CONFIG_START(zac_1_state::locomotp)
+ zac_1(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(locomotp_map)
diff --git a/src/mame/drivers/zac_proto.cpp b/src/mame/drivers/zac_proto.cpp
index a05b390bbd8..649e3b9cd21 100644
--- a/src/mame/drivers/zac_proto.cpp
+++ b/src/mame/drivers/zac_proto.cpp
@@ -245,7 +245,7 @@ MACHINE_CONFIG_START(zac_proto_state::zac_proto)
MCFG_DEFAULT_LAYOUT(layout_zac_proto)
/* Sound */
- MCFG_FRAGMENT_ADD( genpin_audio )
+ genpin_audio(config);
MACHINE_CONFIG_END
/*--------------------------------
diff --git a/src/mame/drivers/zaxxon.cpp b/src/mame/drivers/zaxxon.cpp
index e398aeecd75..4e5b412a7ad 100644
--- a/src/mame/drivers/zaxxon.cpp
+++ b/src/mame/drivers/zaxxon.cpp
@@ -948,22 +948,25 @@ MACHINE_CONFIG_START(zaxxon_state::root)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(zaxxon_state::zaxxon, root)
+MACHINE_CONFIG_START(zaxxon_state::zaxxon)
+ root(config);
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("speaker")
- MCFG_FRAGMENT_ADD(zaxxon_samples)
+ zaxxon_samples(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(zaxxon_state::szaxxon, zaxxon)
+MACHINE_CONFIG_START(zaxxon_state::szaxxon)
+ zaxxon(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(zaxxon_state::szaxxone, zaxxon)
+MACHINE_CONFIG_START(zaxxon_state::szaxxone)
+ zaxxon(config);
MCFG_CPU_REPLACE("maincpu", SEGA_315_5013, MASTER_CLOCK/16)
MCFG_CPU_PROGRAM_MAP(zaxxon_map)
MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
@@ -973,7 +976,8 @@ MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(zaxxon_state::futspye, root)
+MACHINE_CONFIG_START(zaxxon_state::futspye)
+ root(config);
MCFG_CPU_REPLACE("maincpu", SEGA_315_5061, MASTER_CLOCK/16)
MCFG_CPU_PROGRAM_MAP(zaxxon_map)
MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
@@ -987,14 +991,15 @@ MACHINE_CONFIG_DERIVED(zaxxon_state::futspye, root)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("speaker")
- MCFG_FRAGMENT_ADD(zaxxon_samples)
+ zaxxon_samples(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(zaxxon_state::razmataze, root)
+MACHINE_CONFIG_START(zaxxon_state::razmataze)
+ root(config);
MCFG_CPU_REPLACE("maincpu", SEGA_315_5098, MASTER_CLOCK/16)
MCFG_CPU_PROGRAM_MAP(ixion_map)
MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
@@ -1013,7 +1018,8 @@ MACHINE_CONFIG_DERIVED(zaxxon_state::razmataze, root)
MCFG_SEGAUSBROM_ADD("usbsnd")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(zaxxon_state::ixion, razmataze)
+MACHINE_CONFIG_START(zaxxon_state::ixion)
+ razmataze(config);
MCFG_CPU_REPLACE("maincpu", SEGA_315_5013, MASTER_CLOCK/16)
MCFG_CPU_PROGRAM_MAP(ixion_map)
MCFG_CPU_OPCODES_MAP(decrypted_opcodes_map)
@@ -1024,7 +1030,8 @@ MACHINE_CONFIG_DERIVED(zaxxon_state::ixion, razmataze)
MCFG_ADDRESSABLE_LATCH_Q6_OUT_CB(NOOP) // flip screen not used
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(zaxxon_state::congo, root)
+MACHINE_CONFIG_START(zaxxon_state::congo)
+ root(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(congo_map)
@@ -1068,7 +1075,7 @@ MACHINE_CONFIG_DERIVED(zaxxon_state::congo, root)
MCFG_SOUND_ADD("sn2", SN76489A, SOUND_CLOCK/4) // schematic shows sn76489A
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
- MCFG_FRAGMENT_ADD(congo_samples)
+ congo_samples(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/zn.cpp b/src/mame/drivers/zn.cpp
index af089366dd5..5488047618f 100644
--- a/src/mame/drivers/zn.cpp
+++ b/src/mame/drivers/zn.cpp
@@ -405,7 +405,8 @@ MACHINE_CONFIG_START(zn_state::zn1_1mb_vram)
MCFG_DEVICE_ADD("at28c16", AT28C16, 0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(zn_state::zn1_2mb_vram, zn1_1mb_vram)
+MACHINE_CONFIG_START(zn_state::zn1_2mb_vram)
+ zn1_1mb_vram(config);
MCFG_PSXGPU_REPLACE( "maincpu", "gpu", CXD8561Q, 0x200000, XTAL(53'693'175) )
MACHINE_CONFIG_END
@@ -632,7 +633,8 @@ ADDRESS_MAP_START(zn_state::qsound_portmap)
AM_RANGE(0x00, 0x00) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
ADDRESS_MAP_END
-MACHINE_CONFIG_DERIVED(zn_state::coh1000c, zn1_1mb_vram)
+MACHINE_CONFIG_START(zn_state::coh1000c)
+ zn1_1mb_vram(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(coh1000c_map)
@@ -648,11 +650,13 @@ MACHINE_CONFIG_DERIVED(zn_state::coh1000c, zn1_1mb_vram)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(zn_state::glpracr, coh1000c)
+MACHINE_CONFIG_START(zn_state::glpracr)
+ coh1000c(config);
MCFG_MACHINE_RESET_OVERRIDE(zn_state, glpracr)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(zn_state::coh1002c, zn1_2mb_vram)
+MACHINE_CONFIG_START(zn_state::coh1002c)
+ zn1_2mb_vram(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(coh1000c_map)
@@ -809,7 +813,8 @@ Notes:
Unpopulated sockets on Rival Schools - None
*/
-MACHINE_CONFIG_DERIVED(zn_state::coh3002c, zn2)
+MACHINE_CONFIG_START(zn_state::coh3002c)
+ zn2(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(coh1000c_map)
@@ -1091,7 +1096,8 @@ ADDRESS_MAP_START(zn_state::fx1a_sound_map)
ADDRESS_MAP_END
-MACHINE_CONFIG_DERIVED(zn_state::coh1000ta, zn1_1mb_vram)
+MACHINE_CONFIG_START(zn_state::coh1000ta)
+ zn1_1mb_vram(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(coh1000ta_map)
@@ -1149,7 +1155,8 @@ MACHINE_RESET_MEMBER(zn_state,coh1000tb)
m_bankedroms->set_entry( 0 );
}
-MACHINE_CONFIG_DERIVED(zn_state::coh1000tb, zn1_1mb_vram)
+MACHINE_CONFIG_START(zn_state::coh1000tb)
+ zn1_1mb_vram(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1169,7 +1176,8 @@ MACHINE_CONFIG_DERIVED(zn_state::coh1000tb, zn1_1mb_vram)
MCFG_TAITO_ZOOM_ADD("taito_zoom")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(zn_state::coh1002tb, zn1_2mb_vram)
+MACHINE_CONFIG_START(zn_state::coh1002tb)
+ zn1_2mb_vram(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1414,7 +1422,8 @@ ADDRESS_MAP_START(zn_state::coh1000w_map)
AM_RANGE(0x1f7f4000, 0x1f7f4fff) AM_READWRITE16(vt83c461_32_r, vt83c461_32_w, 0xffffffff)
ADDRESS_MAP_END
-MACHINE_CONFIG_DERIVED(zn_state::coh1000w, zn1_2mb_vram)
+MACHINE_CONFIG_START(zn_state::coh1000w)
+ zn1_2mb_vram(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(coh1000w_map)
@@ -1611,7 +1620,8 @@ ADDRESS_MAP_START(zn_state::psarc_snd_map)
AM_RANGE(0x100020, 0xffffff) AM_WRITENOP
ADDRESS_MAP_END
-MACHINE_CONFIG_DERIVED(zn_state::coh1002e, zn1_2mb_vram)
+MACHINE_CONFIG_START(zn_state::coh1002e)
+ zn1_2mb_vram(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(coh1002e_map)
@@ -1743,7 +1753,8 @@ MACHINE_RESET_MEMBER(zn_state,bam2)
m_bankedroms->set_entry( 1 );
}
-MACHINE_CONFIG_DERIVED(zn_state::bam2, zn1_2mb_vram)
+MACHINE_CONFIG_START(zn_state::bam2)
+ zn1_2mb_vram(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(bam2_map)
@@ -2073,12 +2084,14 @@ ADDRESS_MAP_START(zn_state::jdredd_map)
AM_RANGE(0x1fbfff90, 0x1fbfff9f) AM_DEVREADWRITE16("ata", ata_interface_device, read_cs0, write_cs0, 0xffffffff)
ADDRESS_MAP_END
-MACHINE_CONFIG_DERIVED(zn_state::coh1000a, zn1_2mb_vram)
+MACHINE_CONFIG_START(zn_state::coh1000a)
+ zn1_2mb_vram(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(coh1000a_map)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(zn_state::nbajamex, coh1000a)
+MACHINE_CONFIG_START(zn_state::nbajamex)
+ coh1000a(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(nbajamex_map)
MCFG_NVRAM_ADD_1FILL("71256")
@@ -2086,7 +2099,8 @@ MACHINE_CONFIG_DERIVED(zn_state::nbajamex, coh1000a)
MCFG_DEVICE_ADD("rax", ACCLAIM_RAX, 0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(zn_state::jdredd, coh1000a)
+MACHINE_CONFIG_START(zn_state::jdredd)
+ coh1000a(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(jdredd_map)
@@ -2253,7 +2267,8 @@ ADDRESS_MAP_START(zn_state::atlus_snd_map)
ADDRESS_MAP_END
-MACHINE_CONFIG_DERIVED(zn_state::coh1001l, zn1_2mb_vram)
+MACHINE_CONFIG_START(zn_state::coh1001l)
+ zn1_2mb_vram(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(coh1001l_map)
@@ -2301,7 +2316,8 @@ MACHINE_RESET_MEMBER(zn_state,coh1002v)
m_bankedroms->set_entry( 0 );
}
-MACHINE_CONFIG_DERIVED(zn_state::coh1002v, zn1_2mb_vram)
+MACHINE_CONFIG_START(zn_state::coh1002v)
+ zn1_2mb_vram(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(coh1002v_map)
@@ -2484,7 +2500,8 @@ MACHINE_RESET_MEMBER(zn_state,coh1002m)
m_bankedroms->set_entry( 0 );
}
-MACHINE_CONFIG_DERIVED(zn_state::coh1002m, zn1_2mb_vram)
+MACHINE_CONFIG_START(zn_state::coh1002m)
+ zn1_2mb_vram(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(coh1002m_map)
@@ -2532,7 +2549,8 @@ ADDRESS_MAP_START(zn_state::coh1002ml_link_port_map)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_END
-MACHINE_CONFIG_DERIVED(zn_state::coh1002msnd, coh1002m)
+MACHINE_CONFIG_START(zn_state::coh1002msnd)
+ coh1002m(config);
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2553,7 +2571,8 @@ MACHINE_CONFIG_DERIVED(zn_state::coh1002msnd, coh1002m)
MCFG_SOUND_ROUTE(1, "rspeaker", 0.35)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(zn_state::coh1002ml, coh1002m)
+MACHINE_CONFIG_START(zn_state::coh1002ml)
+ coh1002m(config);
MCFG_CPU_ADD("link", Z80, 4000000) // ?
MCFG_CPU_PROGRAM_MAP(coh1002ml_link_map)
MCFG_CPU_IO_MAP(coh1002ml_link_port_map)
diff --git a/src/mame/drivers/zx.cpp b/src/mame/drivers/zx.cpp
index d7318b779a2..4c3e72ea523 100644
--- a/src/mame/drivers/zx.cpp
+++ b/src/mame/drivers/zx.cpp
@@ -352,7 +352,8 @@ MACHINE_CONFIG_START(zx_state::zx80)
MCFG_RAM_EXTRA_OPTIONS("1K,2K,3K,16K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(zx_state::zx81, zx80)
+MACHINE_CONFIG_START(zx_state::zx81)
+ zx80(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(zx81_map)
MCFG_CPU_IO_MAP(zx81_io_map)
@@ -370,7 +371,8 @@ MACHINE_CONFIG_DERIVED(zx_state::zx81, zx80)
MCFG_RAM_EXTRA_OPTIONS("1K,32K,48K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(zx_state::zx81_spk, zx81 )
+MACHINE_CONFIG_START(zx_state::zx81_spk )
+ zx81(config);
/* sound hardware */
/* Used by pc8300/lambda/pow3000 */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -380,20 +382,23 @@ MACHINE_CONFIG_DERIVED(zx_state::zx81_spk, zx81 )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(zx_state::ts1000, zx81)
+MACHINE_CONFIG_START(zx_state::ts1000)
+ zx81(config);
/* internal ram */
MCFG_RAM_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("2K")
MCFG_RAM_EXTRA_OPTIONS("1K,16K,32K,48K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(zx_state::ts1500, ts1000)
+MACHINE_CONFIG_START(zx_state::ts1500)
+ ts1000(config);
/* internal ram */
MCFG_RAM_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("16K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(zx_state::pc8300, zx81_spk)
+MACHINE_CONFIG_START(zx_state::pc8300)
+ zx81_spk(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(pc8300_io_map)
@@ -402,7 +407,8 @@ MACHINE_CONFIG_DERIVED(zx_state::pc8300, zx81_spk)
MCFG_RAM_DEFAULT_SIZE("16K")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(zx_state::pow3000, zx81_spk)
+MACHINE_CONFIG_START(zx_state::pow3000)
+ zx81_spk(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(pow3000_io_map)
diff --git a/src/mame/includes/apollo.h b/src/mame/includes/apollo.h
index a81aeabd522..d0cc410db1b 100644
--- a/src/mame/includes/apollo.h
+++ b/src/mame/includes/apollo.h
@@ -654,7 +654,7 @@ private:
DECLARE_DEVICE_TYPE(APOLLO_GRAPHICS, apollo_graphics_15i)
#define MCFG_APOLLO_GRAPHICS_ADD( _tag) \
- MCFG_FRAGMENT_ADD(apollo_graphics) \
+ apollo_graphics(config); \
MCFG_DEVICE_ADD(_tag, APOLLO_GRAPHICS, 0)
class apollo_graphics_19i : public apollo_graphics_15i
@@ -673,7 +673,7 @@ private:
DECLARE_DEVICE_TYPE(APOLLO_MONO19I, apollo_graphics_19i)
#define MCFG_APOLLO_MONO19I_ADD(_tag) \
- MCFG_FRAGMENT_ADD(apollo_mono19i) \
+ apollo_mono19i(config); \
MCFG_DEVICE_ADD(_tag, APOLLO_MONO19I, 0)
#ifdef APOLLO_XXL
diff --git a/src/mame/machine/apollo.cpp b/src/mame/machine/apollo.cpp
index ee2cb07d752..b3e81311061 100644
--- a/src/mame/machine/apollo.cpp
+++ b/src/mame/machine/apollo.cpp
@@ -1150,7 +1150,7 @@ MACHINE_CONFIG_END
// for machines with the keyboard and a graphics head
MACHINE_CONFIG_START(apollo_state::apollo)
- MCFG_FRAGMENT_ADD(common)
+ common(config);
MCFG_APOLLO_SIO_ADD( APOLLO_SIO_TAG, XTAL(3'686'400) )
MCFG_APOLLO_SIO_IRQ_CALLBACK(WRITELINE(apollo_state, sio_irq_handler))
MCFG_APOLLO_SIO_OUTPORT_CALLBACK(WRITE8(apollo_state, sio_output))
@@ -1172,7 +1172,7 @@ DEVICE_INPUT_DEFAULTS_END
// for headless machines using a serial console
MACHINE_CONFIG_START(apollo_state::apollo_terminal)
- MCFG_FRAGMENT_ADD(common)
+ common(config);
MCFG_APOLLO_SIO_ADD( APOLLO_SIO_TAG, XTAL(3'686'400) )
MCFG_APOLLO_SIO_IRQ_CALLBACK(WRITELINE(apollo_state, sio_irq_handler))
MCFG_APOLLO_SIO_OUTPORT_CALLBACK(WRITE8(apollo_state, sio_output))
diff --git a/src/mame/machine/megadriv.cpp b/src/mame/machine/megadriv.cpp
index f2d684776e6..873590220f3 100644
--- a/src/mame/machine/megadriv.cpp
+++ b/src/mame/machine/megadriv.cpp
@@ -893,7 +893,7 @@ MACHINE_CONFIG_START(md_base_state::md_ntsc)
MCFG_MACHINE_START_OVERRIDE(md_base_state,megadriv)
MCFG_MACHINE_RESET_OVERRIDE(md_base_state,megadriv)
- MCFG_FRAGMENT_ADD(megadriv_timers)
+ megadriv_timers(config);
MCFG_DEVICE_ADD("gen_vdp", SEGA315_5313, 0)
MCFG_SEGA315_5313_IS_PAL(false)
@@ -926,7 +926,7 @@ MACHINE_CONFIG_START(md_base_state::md_ntsc)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(md_cons_state::dcat16_megadriv_base)
- MCFG_FRAGMENT_ADD( md_ntsc )
+ md_ntsc(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(dcat16_megadriv_map)
@@ -949,7 +949,7 @@ MACHINE_CONFIG_START(md_base_state::md_pal)
MCFG_MACHINE_START_OVERRIDE(md_base_state,megadriv)
MCFG_MACHINE_RESET_OVERRIDE(md_base_state,megadriv)
- MCFG_FRAGMENT_ADD(megadriv_timers)
+ megadriv_timers(config);
MCFG_DEVICE_ADD("gen_vdp", SEGA315_5313, 0)
MCFG_SEGA315_5313_IS_PAL(true)
diff --git a/src/mame/machine/mpu4.cpp b/src/mame/machine/mpu4.cpp
index 53fce1fbc83..6c77761edb8 100644
--- a/src/mame/machine/mpu4.cpp
+++ b/src/mame/machine/mpu4.cpp
@@ -3090,7 +3090,7 @@ MACHINE_CONFIG_START(mpu4_state::mpu4base)
MCFG_CPU_ADD("maincpu", MC6809, MPU4_MASTER_CLOCK) // MC68B09P
MCFG_CPU_PROGRAM_MAP(mpu4_memmap)
- MCFG_FRAGMENT_ADD(mpu4_common)
+ mpu4_common(config);
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -3100,80 +3100,88 @@ MACHINE_CONFIG_START(mpu4_state::mpu4base)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mpu4_state::mod2, mpu4base)
+MACHINE_CONFIG_START(mpu4_state::mod2)
+ mpu4base(config);
MCFG_SOUND_ADD("ay8913", AY8913, MPU4_MASTER_CLOCK/4)
MCFG_AY8910_OUTPUT_TYPE(AY8910_SINGLE_OUTPUT)
MCFG_AY8910_RES_LOADS(820, 0, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
- MCFG_FRAGMENT_ADD(mpu4_std_6reel)
+ mpu4_std_6reel(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mpu4_state::mod2_alt, mpu4base)
+MACHINE_CONFIG_START(mpu4_state::mod2_alt)
+ mpu4base(config);
MCFG_SOUND_ADD("ay8913", AY8913, MPU4_MASTER_CLOCK/4)
MCFG_AY8910_OUTPUT_TYPE(AY8910_SINGLE_OUTPUT)
MCFG_AY8910_RES_LOADS(820, 0, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
- MCFG_FRAGMENT_ADD(mpu4_type2_6reel)
+ mpu4_type2_6reel(config);
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mpu4_state::mod4yam, mpu4base)
+MACHINE_CONFIG_START(mpu4_state::mod4yam)
+ mpu4base(config);
MCFG_MACHINE_START_OVERRIDE(mpu4_state,mpu4yam)
- MCFG_FRAGMENT_ADD(mpu4_std_6reel)
+ mpu4_std_6reel(config);
MCFG_SOUND_ADD("ym2413", YM2413, MPU4_MASTER_CLOCK/4)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mpu4_state::mod4oki, mpu4base)
+MACHINE_CONFIG_START(mpu4_state::mod4oki)
+ mpu4base(config);
MCFG_MACHINE_START_OVERRIDE(mpu4_state,mpu4oki)
- MCFG_FRAGMENT_ADD(mpu4_common2)
- MCFG_FRAGMENT_ADD(mpu4_std_6reel)
+ mpu4_common2(config);
+ mpu4_std_6reel(config);
MCFG_SOUND_ADD("msm6376", OKIM6376, 128000) //16KHz sample Can also be 85430 at 10.5KHz and 64000 at 8KHz
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mpu4_state::mod4oki_alt, mpu4base)
+MACHINE_CONFIG_START(mpu4_state::mod4oki_alt)
+ mpu4base(config);
MCFG_MACHINE_START_OVERRIDE(mpu4_state,mpu4oki)
- MCFG_FRAGMENT_ADD(mpu4_common2)
- MCFG_FRAGMENT_ADD(mpu4_type2_6reel)
+ mpu4_common2(config);
+ mpu4_type2_6reel(config);
MCFG_SOUND_ADD("msm6376", OKIM6376, 128000) //16KHz sample Can also be 85430 at 10.5KHz and 64000 at 8KHz
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mpu4_state::mod4oki_5r, mpu4base)
+MACHINE_CONFIG_START(mpu4_state::mod4oki_5r)
+ mpu4base(config);
MCFG_MACHINE_START_OVERRIDE(mpu4_state,mpu4oki)
- MCFG_FRAGMENT_ADD(mpu4_common2)
- MCFG_FRAGMENT_ADD(mpu4_std_5reel)
+ mpu4_common2(config);
+ mpu4_std_5reel(config);
MCFG_SOUND_ADD("msm6376", OKIM6376, 128000) //16KHz sample Can also be 85430 at 10.5KHz and 64000 at 8KHz
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mpu4_state::bwboki, mpu4base)
+MACHINE_CONFIG_START(mpu4_state::bwboki)
+ mpu4base(config);
MCFG_MACHINE_START_OVERRIDE(mpu4_state,mpu4bwb)
- MCFG_FRAGMENT_ADD(mpu4_common2)
- MCFG_FRAGMENT_ADD(mpu4_bwb_5reel)
+ mpu4_common2(config);
+ mpu4_bwb_5reel(config);
MCFG_SOUND_ADD("msm6376", OKIM6376, 128000) //16KHz sample Can also be 85430 at 10.5KHz and 64000 at 8KHz
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(mpu4_state::mpu4crys, mod2)
+MACHINE_CONFIG_START(mpu4_state::mpu4crys)
+ mod2(config);
MCFG_MACHINE_START_OVERRIDE(mpu4_state,mpu4cry)
MCFG_SOUND_ADD("upd", UPD7759, UPD7759_STANDARD_CLOCK)
diff --git a/src/mame/machine/pgmprot_igs025_igs012.cpp b/src/mame/machine/pgmprot_igs025_igs012.cpp
index c0acb2e8e9e..dec246195eb 100644
--- a/src/mame/machine/pgmprot_igs025_igs012.cpp
+++ b/src/mame/machine/pgmprot_igs025_igs012.cpp
@@ -133,7 +133,7 @@ ADDRESS_MAP_START(pgm_012_025_state::drgw2_mem)
ADDRESS_MAP_END
MACHINE_CONFIG_START(pgm_012_025_state::pgm_012_025_drgw2)
- MCFG_FRAGMENT_ADD(pgmbase)
+ pgmbase(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(drgw2_mem)
diff --git a/src/mame/machine/pgmprot_igs025_igs022.cpp b/src/mame/machine/pgmprot_igs025_igs022.cpp
index 2250e5a7264..01cbbec38a8 100644
--- a/src/mame/machine/pgmprot_igs025_igs022.cpp
+++ b/src/mame/machine/pgmprot_igs025_igs022.cpp
@@ -375,7 +375,7 @@ ADDRESS_MAP_END
MACHINE_CONFIG_START(pgm_022_025_state::pgm_022_025)
- MCFG_FRAGMENT_ADD(pgmbase)
+ pgmbase(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(killbld_mem)
@@ -387,11 +387,13 @@ MACHINE_CONFIG_START(pgm_022_025_state::pgm_022_025)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pgm_022_025_state::pgm_022_025_dw3, pgm_022_025)
+MACHINE_CONFIG_START(pgm_022_025_state::pgm_022_025_dw3)
+ pgm_022_025(config);
MCFG_MACHINE_RESET_OVERRIDE(pgm_022_025_state, dw3)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pgm_022_025_state::pgm_022_025_killbld, pgm_022_025)
+MACHINE_CONFIG_START(pgm_022_025_state::pgm_022_025_killbld)
+ pgm_022_025(config);
MCFG_MACHINE_RESET_OVERRIDE(pgm_022_025_state, killbld)
MACHINE_CONFIG_END
diff --git a/src/mame/machine/pgmprot_igs025_igs028.cpp b/src/mame/machine/pgmprot_igs025_igs028.cpp
index 6811126ffd1..84b4fe69e6d 100644
--- a/src/mame/machine/pgmprot_igs025_igs028.cpp
+++ b/src/mame/machine/pgmprot_igs025_igs028.cpp
@@ -186,7 +186,7 @@ void pgm_028_025_state::igs025_to_igs028_callback( void )
MACHINE_CONFIG_START(pgm_028_025_state::pgm_028_025_ol)
- MCFG_FRAGMENT_ADD(pgmbase)
+ pgmbase(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(olds_mem)
diff --git a/src/mame/machine/pgmprot_igs027a_type1.cpp b/src/mame/machine/pgmprot_igs027a_type1.cpp
index 407cfd34e8b..9124f466850 100644
--- a/src/mame/machine/pgmprot_igs027a_type1.cpp
+++ b/src/mame/machine/pgmprot_igs027a_type1.cpp
@@ -212,7 +212,7 @@ MACHINE_START_MEMBER(pgm_arm_type1_state,pgm_arm_type1)
}
MACHINE_CONFIG_START(pgm_arm_type1_state::pgm_arm_type1_cave)
- MCFG_FRAGMENT_ADD(pgmbase)
+ pgmbase(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(cavepgm_mem)
@@ -223,7 +223,8 @@ MACHINE_CONFIG_START(pgm_arm_type1_state::pgm_arm_type1_cave)
MCFG_SCREEN_REFRESH_RATE(59.17) // verified on pcb
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pgm_arm_type1_state::pgm_arm_type1_sim, pgm_arm_type1_cave)
+MACHINE_CONFIG_START(pgm_arm_type1_state::pgm_arm_type1_sim)
+ pgm_arm_type1_cave(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(kov_sim_map)
@@ -233,7 +234,8 @@ MACHINE_CONFIG_DERIVED(pgm_arm_type1_state::pgm_arm_type1_sim, pgm_arm_type1_cav
MCFG_DEVICE_DISABLE()
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(pgm_arm_type1_state::pgm_arm_type1, pgm_arm_type1_cave)
+MACHINE_CONFIG_START(pgm_arm_type1_state::pgm_arm_type1)
+ pgm_arm_type1_cave(config);
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(kov_map)
diff --git a/src/mame/machine/pgmprot_igs027a_type2.cpp b/src/mame/machine/pgmprot_igs027a_type2.cpp
index 06bd7c182c9..9152027ac99 100644
--- a/src/mame/machine/pgmprot_igs027a_type2.cpp
+++ b/src/mame/machine/pgmprot_igs027a_type2.cpp
@@ -131,7 +131,7 @@ MACHINE_START_MEMBER(pgm_arm_type2_state,pgm_arm_type2)
/******* ARM 55857F *******/
MACHINE_CONFIG_START(pgm_arm_type2_state::pgm_arm_type2)
- MCFG_FRAGMENT_ADD(pgmbase)
+ pgmbase(config);
MCFG_MACHINE_START_OVERRIDE(pgm_arm_type2_state, pgm_arm_type2 )
diff --git a/src/mame/machine/pgmprot_igs027a_type3.cpp b/src/mame/machine/pgmprot_igs027a_type3.cpp
index fe43fee053c..21ec1a9a780 100644
--- a/src/mame/machine/pgmprot_igs027a_type3.cpp
+++ b/src/mame/machine/pgmprot_igs027a_type3.cpp
@@ -189,7 +189,7 @@ MACHINE_START_MEMBER(pgm_arm_type3_state,pgm_arm_type3)
/******* ARM 55857G *******/
MACHINE_CONFIG_START(pgm_arm_type3_state::pgm_arm_type3)
- MCFG_FRAGMENT_ADD(pgmbase)
+ pgmbase(config);
MCFG_MACHINE_START_OVERRIDE(pgm_arm_type3_state, pgm_arm_type3 )
diff --git a/src/mame/machine/pgmprot_orlegend.cpp b/src/mame/machine/pgmprot_orlegend.cpp
index 740c33baa65..2189f815c11 100644
--- a/src/mame/machine/pgmprot_orlegend.cpp
+++ b/src/mame/machine/pgmprot_orlegend.cpp
@@ -221,5 +221,5 @@ INPUT_PORTS_END
MACHINE_CONFIG_START(pgm_asic3_state::pgm_asic3)
- MCFG_FRAGMENT_ADD(pgmbase)
+ pgmbase(config);
MACHINE_CONFIG_END
diff --git a/src/mame/video/gameplan.cpp b/src/mame/video/gameplan.cpp
index d12aa3bceba..6f15aad5be3 100644
--- a/src/mame/video/gameplan.cpp
+++ b/src/mame/video/gameplan.cpp
@@ -332,7 +332,8 @@ MACHINE_CONFIG_START(gameplan_state::leprechn_video)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(gameplan_state::trvquest_video, gameplan_video)
+MACHINE_CONFIG_START(gameplan_state::trvquest_video)
+ gameplan_video(config);
MCFG_VIDEO_START_OVERRIDE(gameplan_state,trvquest)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(gameplan_state, screen_update_gameplan)
diff --git a/src/mame/video/leland.cpp b/src/mame/video/leland.cpp
index 7141d9a94a2..33f0d3590bd 100644
--- a/src/mame/video/leland.cpp
+++ b/src/mame/video/leland.cpp
@@ -546,7 +546,8 @@ MACHINE_CONFIG_START(leland_state::leland_video)
MCFG_SCREEN_PALETTE("palette")
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(leland_state::ataxx_video, leland_video)
+MACHINE_CONFIG_START(leland_state::ataxx_video)
+ leland_video(config);
MCFG_VIDEO_START_OVERRIDE(leland_state,ataxx)
MCFG_SCREEN_MODIFY("screen")
diff --git a/src/mame/video/redalert.cpp b/src/mame/video/redalert.cpp
index 14024870246..609794abbdb 100644
--- a/src/mame/video/redalert.cpp
+++ b/src/mame/video/redalert.cpp
@@ -414,14 +414,14 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(redalert_state::redalert_video)
MCFG_VIDEO_START_OVERRIDE(redalert_state,redalert)
- MCFG_FRAGMENT_ADD( redalert_video_common )
+ redalert_video_common(config);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(redalert_state::ww3_video)
MCFG_VIDEO_START_OVERRIDE(redalert_state, ww3 )
- MCFG_FRAGMENT_ADD( redalert_video_common )
+ redalert_video_common(config);
MACHINE_CONFIG_END