summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/emu/devintrf.c44
-rw-r--r--src/emu/devintrf.h3
-rw-r--r--src/emu/disound.c2
-rw-r--r--src/emu/drivers/empty.c2
-rw-r--r--src/emu/emu.h2
-rw-r--r--src/emu/emucore.h9
-rw-r--r--src/emu/machine.c277
-rw-r--r--src/emu/machine.h220
-rw-r--r--src/emu/mconfig.c12
-rw-r--r--src/emu/mconfig.h130
-rw-r--r--src/emu/memory.c2
-rw-r--r--src/emu/video.c7
-rw-r--r--src/mame/drivers/1945kiii.c8
-rw-r--r--src/mame/drivers/2mindril.c8
-rw-r--r--src/mame/drivers/39in1.c8
-rw-r--r--src/mame/drivers/3super8.c2
-rw-r--r--src/mame/drivers/4roses.c2
-rw-r--r--src/mame/drivers/5clown.c2
-rw-r--r--src/mame/drivers/86lions.c2
-rw-r--r--src/mame/drivers/ace.c8
-rw-r--r--src/mame/drivers/acefruit.c2
-rw-r--r--src/mame/drivers/acommand.c2
-rw-r--r--src/mame/drivers/adp.c8
-rw-r--r--src/mame/drivers/albazc.c8
-rw-r--r--src/mame/drivers/albazg.c8
-rw-r--r--src/mame/drivers/alg.c2
-rw-r--r--src/mame/drivers/amaticmg.c2
-rw-r--r--src/mame/drivers/ampoker2.c2
-rw-r--r--src/mame/drivers/arcadia.c2
-rw-r--r--src/mame/drivers/argus.c6
-rw-r--r--src/mame/drivers/aristmk4.c2
-rw-r--r--src/mame/drivers/aristmk5.c2
-rw-r--r--src/mame/drivers/artmagic.c2
-rw-r--r--src/mame/drivers/asteroid.c2
-rw-r--r--src/mame/drivers/astinvad.c8
-rw-r--r--src/mame/drivers/astrocde.c2
-rw-r--r--src/mame/drivers/astrocorp.c8
-rw-r--r--src/mame/drivers/atarisy4.c2
-rw-r--r--src/mame/drivers/ataxx.c2
-rw-r--r--src/mame/drivers/atetris.c4
-rw-r--r--src/mame/drivers/attckufo.c8
-rw-r--r--src/mame/drivers/aztarac.c2
-rw-r--r--src/mame/drivers/backfire.c8
-rw-r--r--src/mame/drivers/bagman.c6
-rw-r--r--src/mame/drivers/baraduke.c2
-rw-r--r--src/mame/drivers/battlera.c2
-rw-r--r--src/mame/drivers/beaminv.c8
-rw-r--r--src/mame/drivers/beathead.c4
-rw-r--r--src/mame/drivers/beezer.c2
-rw-r--r--src/mame/drivers/berzerk.c2
-rw-r--r--src/mame/drivers/bestleag.c2
-rw-r--r--src/mame/drivers/bfcobra.c2
-rw-r--r--src/mame/drivers/bfm_sc1.c2
-rw-r--r--src/mame/drivers/bfm_sc2.c6
-rw-r--r--src/mame/drivers/bfmsys85.c2
-rw-r--r--src/mame/drivers/big10.c2
-rw-r--r--src/mame/drivers/bigfghtr.c8
-rw-r--r--src/mame/drivers/bingoc.c2
-rw-r--r--src/mame/drivers/bingor.c2
-rw-r--r--src/mame/drivers/bishjan.c4
-rw-r--r--src/mame/drivers/blackt96.c2
-rw-r--r--src/mame/drivers/blitz.c2
-rw-r--r--src/mame/drivers/bloodbro.c2
-rw-r--r--src/mame/drivers/bmcbowl.c2
-rw-r--r--src/mame/drivers/bnstars.c2
-rw-r--r--src/mame/drivers/boxer.c8
-rw-r--r--src/mame/drivers/btoads.c2
-rw-r--r--src/mame/drivers/buster.c2
-rw-r--r--src/mame/drivers/bwidow.c2
-rw-r--r--src/mame/drivers/bzone.c2
-rw-r--r--src/mame/drivers/cabaret.c2
-rw-r--r--src/mame/drivers/calchase.c2
-rw-r--r--src/mame/drivers/calomega.c2
-rw-r--r--src/mame/drivers/calorie.c8
-rw-r--r--src/mame/drivers/cardline.c2
-rw-r--r--src/mame/drivers/carpolo.c2
-rw-r--r--src/mame/drivers/carrera.c2
-rw-r--r--src/mame/drivers/caswin.c2
-rw-r--r--src/mame/drivers/cb2001.c2
-rw-r--r--src/mame/drivers/cball.c8
-rw-r--r--src/mame/drivers/cchasm.c2
-rw-r--r--src/mame/drivers/cclimber.c4
-rw-r--r--src/mame/drivers/cdi.c8
-rw-r--r--src/mame/drivers/centiped.c4
-rw-r--r--src/mame/drivers/cham24.c2
-rw-r--r--src/mame/drivers/chanbara.c8
-rw-r--r--src/mame/drivers/chihiro.c2
-rw-r--r--src/mame/drivers/chinsan.c8
-rw-r--r--src/mame/drivers/chsuper.c2
-rw-r--r--src/mame/drivers/cinemat.c2
-rw-r--r--src/mame/drivers/cischeat.c4
-rw-r--r--src/mame/drivers/clayshoo.c8
-rw-r--r--src/mame/drivers/cliffhgr.c2
-rw-r--r--src/mame/drivers/cloak.c2
-rw-r--r--src/mame/drivers/clshroad.c4
-rw-r--r--src/mame/drivers/cmmb.c2
-rw-r--r--src/mame/drivers/cntsteer.c8
-rw-r--r--src/mame/drivers/coinmstr.c2
-rw-r--r--src/mame/drivers/coinmvga.c2
-rw-r--r--src/mame/drivers/cojag.c2
-rw-r--r--src/mame/drivers/comebaby.c2
-rw-r--r--src/mame/drivers/coolridr.c2
-rw-r--r--src/mame/drivers/cps3.c2
-rw-r--r--src/mame/drivers/crbaloon.c2
-rw-r--r--src/mame/drivers/crystal.c8
-rw-r--r--src/mame/drivers/cshooter.c4
-rw-r--r--src/mame/drivers/cubeqst.c2
-rw-r--r--src/mame/drivers/cubocd32.c2
-rw-r--r--src/mame/drivers/cultures.c8
-rw-r--r--src/mame/drivers/cybertnk.c2
-rw-r--r--src/mame/drivers/cyclemb.c2
-rw-r--r--src/mame/drivers/d9final.c2
-rw-r--r--src/mame/drivers/dacholer.c8
-rw-r--r--src/mame/drivers/dambustr.c2
-rw-r--r--src/mame/drivers/darkhors.c6
-rw-r--r--src/mame/drivers/darkmist.c2
-rw-r--r--src/mame/drivers/darkseal.c2
-rw-r--r--src/mame/drivers/dblewing.c8
-rw-r--r--src/mame/drivers/dcon.c4
-rw-r--r--src/mame/drivers/ddayjlc.c8
-rw-r--r--src/mame/drivers/ddealer.c8
-rw-r--r--src/mame/drivers/ddz.c2
-rw-r--r--src/mame/drivers/deadang.c2
-rw-r--r--src/mame/drivers/dec0.c20
-rw-r--r--src/mame/drivers/deco156.c8
-rw-r--r--src/mame/drivers/deco32.c14
-rw-r--r--src/mame/drivers/deco_ld.c2
-rw-r--r--src/mame/drivers/deco_mlc.c4
-rw-r--r--src/mame/drivers/deshoros.c2
-rw-r--r--src/mame/drivers/destroyr.c8
-rw-r--r--src/mame/drivers/dgpix.c2
-rw-r--r--src/mame/drivers/discoboy.c8
-rw-r--r--src/mame/drivers/diverboy.c8
-rw-r--r--src/mame/drivers/djmain.c2
-rw-r--r--src/mame/drivers/dlair.c4
-rw-r--r--src/mame/drivers/dmndrby.c2
-rw-r--r--src/mame/drivers/dominob.c8
-rw-r--r--src/mame/drivers/dooyong.c18
-rw-r--r--src/mame/drivers/dorachan.c8
-rw-r--r--src/mame/drivers/dotrikun.c8
-rw-r--r--src/mame/drivers/dreamwld.c8
-rw-r--r--src/mame/drivers/drtomy.c8
-rw-r--r--src/mame/drivers/drw80pkr.c2
-rw-r--r--src/mame/drivers/dunhuang.c8
-rw-r--r--src/mame/drivers/dwarfd.c8
-rw-r--r--src/mame/drivers/dynadice.c8
-rw-r--r--src/mame/drivers/dynduke.c2
-rw-r--r--src/mame/drivers/egghunt.c8
-rw-r--r--src/mame/drivers/embargo.c8
-rw-r--r--src/mame/drivers/enigma2.c8
-rw-r--r--src/mame/drivers/eolith.c2
-rw-r--r--src/mame/drivers/eolith16.c2
-rw-r--r--src/mame/drivers/ertictac.c2
-rw-r--r--src/mame/drivers/esh.c2
-rw-r--r--src/mame/drivers/esripsys.c2
-rw-r--r--src/mame/drivers/ettrivia.c2
-rw-r--r--src/mame/drivers/exidy.c2
-rw-r--r--src/mame/drivers/exidy440.c2
-rw-r--r--src/mame/drivers/expro02.c2
-rw-r--r--src/mame/drivers/exterm.c2
-rw-r--r--src/mame/drivers/exzisus.c2
-rw-r--r--src/mame/drivers/f-32.c8
-rw-r--r--src/mame/drivers/fastfred.c2
-rw-r--r--src/mame/drivers/feversoc.c2
-rw-r--r--src/mame/drivers/firebeat.c4
-rw-r--r--src/mame/drivers/firefox.c2
-rw-r--r--src/mame/drivers/firetrk.c2
-rw-r--r--src/mame/drivers/flower.c2
-rw-r--r--src/mame/drivers/flyball.c8
-rw-r--r--src/mame/drivers/forte2.c2
-rw-r--r--src/mame/drivers/fortecar.c2
-rw-r--r--src/mame/drivers/funworld.c2
-rw-r--r--src/mame/drivers/gaelco2.c12
-rw-r--r--src/mame/drivers/gaelco3d.c2
-rw-r--r--src/mame/drivers/gal3.c2
-rw-r--r--src/mame/drivers/galastrm.c2
-rw-r--r--src/mame/drivers/galaxi.c8
-rw-r--r--src/mame/drivers/galaxia.c2
-rw-r--r--src/mame/drivers/galaxian.c2
-rw-r--r--src/mame/drivers/galaxold.c8
-rw-r--r--src/mame/drivers/galpani2.c2
-rw-r--r--src/mame/drivers/galpani3.c2
-rw-r--r--src/mame/drivers/galpanic.c2
-rw-r--r--src/mame/drivers/gamecstl.c2
-rw-r--r--src/mame/drivers/gaplus.c2
-rw-r--r--src/mame/drivers/gatron.c2
-rw-r--r--src/mame/drivers/gei.c2
-rw-r--r--src/mame/drivers/ggconnie.c2
-rw-r--r--src/mame/drivers/ghosteo.c2
-rw-r--r--src/mame/drivers/gladiatr.c4
-rw-r--r--src/mame/drivers/go2000.c8
-rw-r--r--src/mame/drivers/goldnpkr.c2
-rw-r--r--src/mame/drivers/gomoku.c2
-rw-r--r--src/mame/drivers/good.c8
-rw-r--r--src/mame/drivers/goodejan.c2
-rw-r--r--src/mame/drivers/gottlieb.c2
-rw-r--r--src/mame/drivers/gpworld.c2
-rw-r--r--src/mame/drivers/gridlee.c2
-rw-r--r--src/mame/drivers/groundfx.c2
-rw-r--r--src/mame/drivers/gstream.c8
-rw-r--r--src/mame/drivers/gstriker.c4
-rw-r--r--src/mame/drivers/gsword.c4
-rw-r--r--src/mame/drivers/gticlub.c4
-rw-r--r--src/mame/drivers/guab.c2
-rw-r--r--src/mame/drivers/gunbustr.c2
-rw-r--r--src/mame/drivers/gunpey.c2
-rw-r--r--src/mame/drivers/halleys.c2
-rw-r--r--src/mame/drivers/hexion.c2
-rw-r--r--src/mame/drivers/highvdeo.c4
-rw-r--r--src/mame/drivers/hikaru.c2
-rw-r--r--src/mame/drivers/hitpoker.c2
-rw-r--r--src/mame/drivers/hornet.c2
-rw-r--r--src/mame/drivers/hotblock.c8
-rw-r--r--src/mame/drivers/hotstuff.c2
-rw-r--r--src/mame/drivers/hvyunit.c2
-rw-r--r--src/mame/drivers/hyhoo.c2
-rw-r--r--src/mame/drivers/igs009.c2
-rw-r--r--src/mame/drivers/igs011.c2
-rw-r--r--src/mame/drivers/igs017.c8
-rw-r--r--src/mame/drivers/igs_m027.c2
-rw-r--r--src/mame/drivers/igspoker.c2
-rw-r--r--src/mame/drivers/ilpag.c2
-rw-r--r--src/mame/drivers/imolagp.c8
-rw-r--r--src/mame/drivers/intrscti.c2
-rw-r--r--src/mame/drivers/iqblock.c2
-rw-r--r--src/mame/drivers/irobot.c2
-rw-r--r--src/mame/drivers/istellar.c2
-rw-r--r--src/mame/drivers/itech32.c2
-rw-r--r--src/mame/drivers/itech8.c2
-rw-r--r--src/mame/drivers/itgambl2.c2
-rw-r--r--src/mame/drivers/itgambl3.c2
-rw-r--r--src/mame/drivers/itgamble.c2
-rw-r--r--src/mame/drivers/jackie.c2
-rw-r--r--src/mame/drivers/jackpool.c2
-rw-r--r--src/mame/drivers/jalmah.c2
-rw-r--r--src/mame/drivers/jangou.c8
-rw-r--r--src/mame/drivers/jantotsu.c8
-rw-r--r--src/mame/drivers/jchan.c2
-rw-r--r--src/mame/drivers/jokrwild.c2
-rw-r--r--src/mame/drivers/jollyjgr.c8
-rw-r--r--src/mame/drivers/jongkyo.c8
-rw-r--r--src/mame/drivers/jpmimpct.c4
-rw-r--r--src/mame/drivers/jpmsys5.c2
-rw-r--r--src/mame/drivers/jrpacman.c2
-rw-r--r--src/mame/drivers/kaneko16.c12
-rw-r--r--src/mame/drivers/kingdrby.c2
-rw-r--r--src/mame/drivers/kingpin.c2
-rw-r--r--src/mame/drivers/kinst.c2
-rw-r--r--src/mame/drivers/koftball.c2
-rw-r--r--src/mame/drivers/koikoi.c8
-rw-r--r--src/mame/drivers/konamigq.c2
-rw-r--r--src/mame/drivers/konamigv.c2
-rw-r--r--src/mame/drivers/konamigx.c2
-rw-r--r--src/mame/drivers/konamim2.c2
-rw-r--r--src/mame/drivers/kongambl.c2
-rw-r--r--src/mame/drivers/ksys573.c2
-rw-r--r--src/mame/drivers/kungfur.c2
-rw-r--r--src/mame/drivers/laserbas.c8
-rw-r--r--src/mame/drivers/lastfght.c8
-rw-r--r--src/mame/drivers/legionna.c14
-rw-r--r--src/mame/drivers/leland.c2
-rw-r--r--src/mame/drivers/lethalj.c2
-rw-r--r--src/mame/drivers/lgp.c2
-rw-r--r--src/mame/drivers/liberatr.c2
-rw-r--r--src/mame/drivers/limenko.c4
-rw-r--r--src/mame/drivers/littlerb.c2
-rw-r--r--src/mame/drivers/looping.c8
-rw-r--r--src/mame/drivers/lordgun.c4
-rw-r--r--src/mame/drivers/ltcasino.c2
-rw-r--r--src/mame/drivers/luckgrln.c2
-rw-r--r--src/mame/drivers/lucky74.c2
-rw-r--r--src/mame/drivers/lvcards.c2
-rw-r--r--src/mame/drivers/m107.c2
-rw-r--r--src/mame/drivers/m14.c8
-rw-r--r--src/mame/drivers/m63.c8
-rw-r--r--src/mame/drivers/m72.c26
-rw-r--r--src/mame/drivers/m79amb.c8
-rw-r--r--src/mame/drivers/m90.c8
-rw-r--r--src/mame/drivers/m92.c4
-rw-r--r--src/mame/drivers/macs.c2
-rw-r--r--src/mame/drivers/madalien.c2
-rw-r--r--src/mame/drivers/magic10.c2
-rw-r--r--src/mame/drivers/magicard.c2
-rw-r--r--src/mame/drivers/magicfly.c2
-rw-r--r--src/mame/drivers/magictg.c2
-rw-r--r--src/mame/drivers/magmax.c2
-rw-r--r--src/mame/drivers/marinedt.c8
-rw-r--r--src/mame/drivers/mastboy.c2
-rw-r--r--src/mame/drivers/maxaflex.c2
-rw-r--r--src/mame/drivers/maygay1b.c2
-rw-r--r--src/mame/drivers/maygayv1.c2
-rw-r--r--src/mame/drivers/mayumi.c8
-rw-r--r--src/mame/drivers/mazerbla.c8
-rw-r--r--src/mame/drivers/mcr.c2
-rw-r--r--src/mame/drivers/mcr3.c2
-rw-r--r--src/mame/drivers/mcr68.c4
-rw-r--r--src/mame/drivers/meadows.c6
-rw-r--r--src/mame/drivers/mediagx.c8
-rw-r--r--src/mame/drivers/megadriv.c4
-rw-r--r--src/mame/drivers/megasys1.c8
-rw-r--r--src/mame/drivers/meijinsn.c8
-rw-r--r--src/mame/drivers/merit.c2
-rw-r--r--src/mame/drivers/meritm.c2
-rw-r--r--src/mame/drivers/mgolf.c8
-rw-r--r--src/mame/drivers/mhavoc.c2
-rw-r--r--src/mame/drivers/midas.c4
-rw-r--r--src/mame/drivers/midtunit.c2
-rw-r--r--src/mame/drivers/midvunit.c2
-rw-r--r--src/mame/drivers/midwunit.c2
-rw-r--r--src/mame/drivers/midxunit.c2
-rw-r--r--src/mame/drivers/midyunit.c4
-rw-r--r--src/mame/drivers/midzeus.c4
-rw-r--r--src/mame/drivers/mil4000.c2
-rw-r--r--src/mame/drivers/miniboy7.c2
-rw-r--r--src/mame/drivers/minivadr.c8
-rw-r--r--src/mame/drivers/mirage.c8
-rw-r--r--src/mame/drivers/mirax.c2
-rw-r--r--src/mame/drivers/missile.c2
-rw-r--r--src/mame/drivers/mjsister.c8
-rw-r--r--src/mame/drivers/mlanding.c2
-rw-r--r--src/mame/drivers/model1.c4
-rw-r--r--src/mame/drivers/model2.c8
-rw-r--r--src/mame/drivers/model3.c8
-rw-r--r--src/mame/drivers/mogura.c8
-rw-r--r--src/mame/drivers/mole.c8
-rw-r--r--src/mame/drivers/monzagp.c2
-rw-r--r--src/mame/drivers/mpoker.c2
-rw-r--r--src/mame/drivers/mpu4.c2
-rw-r--r--src/mame/drivers/mpu4drvr.c4
-rw-r--r--src/mame/drivers/mpu5.c2
-rw-r--r--src/mame/drivers/mquake.c2
-rw-r--r--src/mame/drivers/ms32.c2
-rw-r--r--src/mame/drivers/multfish.c2
-rw-r--r--src/mame/drivers/multigam.c2
-rw-r--r--src/mame/drivers/murogem.c2
-rw-r--r--src/mame/drivers/murogmbl.c2
-rw-r--r--src/mame/drivers/mustache.c2
-rw-r--r--src/mame/drivers/mwarr.c8
-rw-r--r--src/mame/drivers/mystwarr.c2
-rw-r--r--src/mame/drivers/namcofl.c2
-rw-r--r--src/mame/drivers/namcona1.c2
-rw-r--r--src/mame/drivers/namconb1.c4
-rw-r--r--src/mame/drivers/namcond1.c2
-rw-r--r--src/mame/drivers/namcops2.c2
-rw-r--r--src/mame/drivers/namcos1.c2
-rw-r--r--src/mame/drivers/namcos10.c2
-rw-r--r--src/mame/drivers/namcos11.c2
-rw-r--r--src/mame/drivers/namcos12.c2
-rw-r--r--src/mame/drivers/namcos2.c12
-rw-r--r--src/mame/drivers/namcos21.c6
-rw-r--r--src/mame/drivers/namcos22.c4
-rw-r--r--src/mame/drivers/namcos23.c6
-rw-r--r--src/mame/drivers/namcos86.c2
-rw-r--r--src/mame/drivers/naomi.c2
-rw-r--r--src/mame/drivers/naughtyb.c4
-rw-r--r--src/mame/drivers/nbmj8688.c4
-rw-r--r--src/mame/drivers/nbmj8891.c2
-rw-r--r--src/mame/drivers/nbmj8900.c2
-rw-r--r--src/mame/drivers/nbmj8991.c4
-rw-r--r--src/mame/drivers/nbmj9195.c2
-rw-r--r--src/mame/drivers/neptunp2.c2
-rw-r--r--src/mame/drivers/nightgal.c8
-rw-r--r--src/mame/drivers/ninjakd2.c2
-rw-r--r--src/mame/drivers/niyanpai.c2
-rw-r--r--src/mame/drivers/nmg5.c8
-rw-r--r--src/mame/drivers/nmk16.c46
-rw-r--r--src/mame/drivers/norautp.c2
-rw-r--r--src/mame/drivers/nova2001.c8
-rw-r--r--src/mame/drivers/nwk-tr.c2
-rw-r--r--src/mame/drivers/nyny.c8
-rw-r--r--src/mame/drivers/olibochu.c8
-rw-r--r--src/mame/drivers/omegrace.c2
-rw-r--r--src/mame/drivers/onetwo.c8
-rw-r--r--src/mame/drivers/othello.c8
-rw-r--r--src/mame/drivers/pachifev.c8
-rw-r--r--src/mame/drivers/pacland.c2
-rw-r--r--src/mame/drivers/pacman.c2
-rw-r--r--src/mame/drivers/pangofun.c2
-rw-r--r--src/mame/drivers/panicr.c2
-rw-r--r--src/mame/drivers/paranoia.c2
-rw-r--r--src/mame/drivers/pasha2.c8
-rw-r--r--src/mame/drivers/pastelg.c4
-rw-r--r--src/mame/drivers/pcat_dyn.c2
-rw-r--r--src/mame/drivers/pcat_nit.c2
-rw-r--r--src/mame/drivers/pcktgal.c2
-rw-r--r--src/mame/drivers/pcxt.c4
-rw-r--r--src/mame/drivers/pengadvb.c2
-rw-r--r--src/mame/drivers/pengo.c2
-rw-r--r--src/mame/drivers/peplus.c2
-rw-r--r--src/mame/drivers/phoenix.c4
-rw-r--r--src/mame/drivers/photon.c2
-rw-r--r--src/mame/drivers/photon2.c2
-rw-r--r--src/mame/drivers/photoply.c2
-rw-r--r--src/mame/drivers/pingpong.c2
-rw-r--r--src/mame/drivers/pinkiri8.c2
-rw-r--r--src/mame/drivers/pipeline.c2
-rw-r--r--src/mame/drivers/pirates.c2
-rw-r--r--src/mame/drivers/pitnrun.c2
-rw-r--r--src/mame/drivers/pkscram.c2
-rw-r--r--src/mame/drivers/playch10.c2
-rw-r--r--src/mame/drivers/pntnpuzl.c2
-rw-r--r--src/mame/drivers/pokechmp.c2
-rw-r--r--src/mame/drivers/poker72.c2
-rw-r--r--src/mame/drivers/polepos.c4
-rw-r--r--src/mame/drivers/policetr.c2
-rw-r--r--src/mame/drivers/polyplay.c2
-rw-r--r--src/mame/drivers/poo.c2
-rw-r--r--src/mame/drivers/poolshrk.c2
-rw-r--r--src/mame/drivers/popeye.c2
-rw-r--r--src/mame/drivers/portrait.c2
-rw-r--r--src/mame/drivers/powerins.c2
-rw-r--r--src/mame/drivers/ppmast93.c2
-rw-r--r--src/mame/drivers/progolf.c2
-rw-r--r--src/mame/drivers/psattack.c2
-rw-r--r--src/mame/drivers/psychic5.c4
-rw-r--r--src/mame/drivers/pturn.c2
-rw-r--r--src/mame/drivers/punchout.c2
-rw-r--r--src/mame/drivers/pzletime.c8
-rw-r--r--src/mame/drivers/qdrmfgp.c4
-rw-r--r--src/mame/drivers/quakeat.c2
-rw-r--r--src/mame/drivers/quantum.c2
-rw-r--r--src/mame/drivers/queen.c2
-rw-r--r--src/mame/drivers/quizdna.c2
-rw-r--r--src/mame/drivers/quizo.c2
-rw-r--r--src/mame/drivers/quizpani.c2
-rw-r--r--src/mame/drivers/quizpun2.c2
-rw-r--r--src/mame/drivers/r2dtank.c2
-rw-r--r--src/mame/drivers/rabbit.c2
-rw-r--r--src/mame/drivers/raiden.c2
-rw-r--r--src/mame/drivers/raiden2.c4
-rw-r--r--src/mame/drivers/rbmk.c2
-rw-r--r--src/mame/drivers/rcorsair.c2
-rw-r--r--src/mame/drivers/re900.c2
-rw-r--r--src/mame/drivers/realbrk.c2
-rw-r--r--src/mame/drivers/redalert.c8
-rw-r--r--src/mame/drivers/renegade.c2
-rw-r--r--src/mame/drivers/retofinv.c2
-rw-r--r--src/mame/drivers/rgum.c2
-rw-r--r--src/mame/drivers/rmhaihai.c2
-rw-r--r--src/mame/drivers/rollrace.c2
-rw-r--r--src/mame/drivers/rotaryf.c2
-rw-r--r--src/mame/drivers/roul.c2
-rw-r--r--src/mame/drivers/route16.c2
-rw-r--r--src/mame/drivers/royalmah.c2
-rw-r--r--src/mame/drivers/rpunch.c2
-rw-r--r--src/mame/drivers/runaway.c2
-rw-r--r--src/mame/drivers/safarir.c8
-rw-r--r--src/mame/drivers/sandscrp.c2
-rw-r--r--src/mame/drivers/sangho.c4
-rw-r--r--src/mame/drivers/sauro.c2
-rw-r--r--src/mame/drivers/savquest.c2
-rw-r--r--src/mame/drivers/sbowling.c8
-rw-r--r--src/mame/drivers/sbrkout.c2
-rw-r--r--src/mame/drivers/scobra.c4
-rw-r--r--src/mame/drivers/scotrsht.c2
-rw-r--r--src/mame/drivers/scramble.c4
-rw-r--r--src/mame/drivers/seattle.c2
-rw-r--r--src/mame/drivers/segac2.c2
-rw-r--r--src/mame/drivers/segae.c2
-rw-r--r--src/mame/drivers/segag80r.c2
-rw-r--r--src/mame/drivers/segag80v.c2
-rw-r--r--src/mame/drivers/segald.c2
-rw-r--r--src/mame/drivers/segamsys.c2
-rw-r--r--src/mame/drivers/segas24.c2
-rw-r--r--src/mame/drivers/segas32.c4
-rw-r--r--src/mame/drivers/seibuspi.c6
-rw-r--r--src/mame/drivers/seicross.c2
-rw-r--r--src/mame/drivers/sengokmj.c2
-rw-r--r--src/mame/drivers/senjyo.c2
-rw-r--r--src/mame/drivers/sfbonus.c2
-rw-r--r--src/mame/drivers/sfkick.c2
-rw-r--r--src/mame/drivers/sg1000a.c2
-rw-r--r--src/mame/drivers/shangha3.c6
-rw-r--r--src/mame/drivers/shanghai.c6
-rw-r--r--src/mame/drivers/shangkid.c4
-rw-r--r--src/mame/drivers/shaolins.c2
-rw-r--r--src/mame/drivers/shisen.c2
-rw-r--r--src/mame/drivers/shougi.c8
-rw-r--r--src/mame/drivers/sigmab52.c2
-rw-r--r--src/mame/drivers/sigmab98.c2
-rw-r--r--src/mame/drivers/skeetsht.c8
-rw-r--r--src/mame/drivers/skimaxx.c2
-rw-r--r--src/mame/drivers/skyarmy.c8
-rw-r--r--src/mame/drivers/skydiver.c2
-rw-r--r--src/mame/drivers/skykid.c2
-rw-r--r--src/mame/drivers/skylncr.c2
-rw-r--r--src/mame/drivers/skyraid.c2
-rw-r--r--src/mame/drivers/slapfght.c8
-rw-r--r--src/mame/drivers/sliver.c8
-rw-r--r--src/mame/drivers/slotcarn.c2
-rw-r--r--src/mame/drivers/sms.c2
-rw-r--r--src/mame/drivers/snookr10.c2
-rw-r--r--src/mame/drivers/snowbros.c8
-rw-r--r--src/mame/drivers/solomon.c2
-rw-r--r--src/mame/drivers/sothello.c2
-rw-r--r--src/mame/drivers/spacefb.c2
-rw-r--r--src/mame/drivers/spaceg.c8
-rw-r--r--src/mame/drivers/spcforce.c2
-rw-r--r--src/mame/drivers/spdodgeb.c2
-rw-r--r--src/mame/drivers/speedatk.c2
-rw-r--r--src/mame/drivers/speedbal.c2
-rw-r--r--src/mame/drivers/speedspn.c2
-rw-r--r--src/mame/drivers/speglsht.c2
-rw-r--r--src/mame/drivers/spiders.c2
-rw-r--r--src/mame/drivers/splash.c6
-rw-r--r--src/mame/drivers/spoker.c8
-rw-r--r--src/mame/drivers/spool99.c8
-rw-r--r--src/mame/drivers/sprcros2.c2
-rw-r--r--src/mame/drivers/sprint2.c2
-rw-r--r--src/mame/drivers/sprint4.c2
-rw-r--r--src/mame/drivers/sprint8.c2
-rw-r--r--src/mame/drivers/srmp5.c8
-rw-r--r--src/mame/drivers/srmp6.c8
-rw-r--r--src/mame/drivers/srumbler.c2
-rw-r--r--src/mame/drivers/ssfindo.c4
-rw-r--r--src/mame/drivers/sshangha.c2
-rw-r--r--src/mame/drivers/ssingles.c8
-rw-r--r--src/mame/drivers/ssozumo.c2
-rw-r--r--src/mame/drivers/sspeedr.c2
-rw-r--r--src/mame/drivers/ssrj.c2
-rw-r--r--src/mame/drivers/sstrangr.c8
-rw-r--r--src/mame/drivers/st0016.c2
-rw-r--r--src/mame/drivers/stadhero.c2
-rw-r--r--src/mame/drivers/starcrus.c2
-rw-r--r--src/mame/drivers/starfire.c2
-rw-r--r--src/mame/drivers/starshp1.c2
-rw-r--r--src/mame/drivers/starwars.c2
-rw-r--r--src/mame/drivers/statriv2.c2
-rw-r--r--src/mame/drivers/stepstag.c2
-rw-r--r--src/mame/drivers/stfight.c2
-rw-r--r--src/mame/drivers/strnskil.c2
-rw-r--r--src/mame/drivers/stv.c2
-rw-r--r--src/mame/drivers/sub.c8
-rw-r--r--src/mame/drivers/subs.c2
-rw-r--r--src/mame/drivers/subsino.c10
-rw-r--r--src/mame/drivers/suna16.c8
-rw-r--r--src/mame/drivers/suna8.c10
-rw-r--r--src/mame/drivers/supdrapo.c8
-rw-r--r--src/mame/drivers/superchs.c2
-rw-r--r--src/mame/drivers/superdq.c8
-rw-r--r--src/mame/drivers/superqix.c8
-rw-r--r--src/mame/drivers/supertnk.c8
-rw-r--r--src/mame/drivers/suprgolf.c8
-rw-r--r--src/mame/drivers/suprloco.c2
-rw-r--r--src/mame/drivers/suprnova.c2
-rw-r--r--src/mame/drivers/suprridr.c2
-rw-r--r--src/mame/drivers/system1.c2
-rw-r--r--src/mame/drivers/tagteam.c2
-rw-r--r--src/mame/drivers/taito_f3.c4
-rw-r--r--src/mame/drivers/taitogn.c2
-rw-r--r--src/mame/drivers/taitopjc.c2
-rw-r--r--src/mame/drivers/taitosj.c2
-rw-r--r--src/mame/drivers/taitotz.c2
-rw-r--r--src/mame/drivers/taitowlf.c2
-rw-r--r--src/mame/drivers/tank8.c2
-rw-r--r--src/mame/drivers/tankbatt.c2
-rw-r--r--src/mame/drivers/tankbust.c2
-rw-r--r--src/mame/drivers/taotaido.c2
-rw-r--r--src/mame/drivers/targeth.c2
-rw-r--r--src/mame/drivers/tatsumi.c8
-rw-r--r--src/mame/drivers/tattack.c2
-rw-r--r--src/mame/drivers/taxidrvr.c2
-rw-r--r--src/mame/drivers/tbowl.c2
-rw-r--r--src/mame/drivers/tceptor.c2
-rw-r--r--src/mame/drivers/tcl.c2
-rw-r--r--src/mame/drivers/tecmo.c4
-rw-r--r--src/mame/drivers/tecmo16.c2
-rw-r--r--src/mame/drivers/tecmosys.c2
-rw-r--r--src/mame/drivers/tehkanwc.c2
-rw-r--r--src/mame/drivers/tempest.c2
-rw-r--r--src/mame/drivers/terracre.c6
-rw-r--r--src/mame/drivers/tetrisp2.c10
-rw-r--r--src/mame/drivers/tgtpanic.c2
-rw-r--r--src/mame/drivers/thayers.c2
-rw-r--r--src/mame/drivers/thedeep.c2
-rw-r--r--src/mame/drivers/thepit.c2
-rw-r--r--src/mame/drivers/thief.c6
-rw-r--r--src/mame/drivers/thoop2.c2
-rw-r--r--src/mame/drivers/tiamc1.c2
-rw-r--r--src/mame/drivers/tickee.c6
-rw-r--r--src/mame/drivers/tigeroad.c2
-rw-r--r--src/mame/drivers/timelimt.c2
-rw-r--r--src/mame/drivers/timetrv.c2
-rw-r--r--src/mame/drivers/tmaster.c4
-rw-r--r--src/mame/drivers/tmmjprd.c2
-rw-r--r--src/mame/drivers/toki.c4
-rw-r--r--src/mame/drivers/tokyocop.c2
-rw-r--r--src/mame/drivers/tomcat.c2
-rw-r--r--src/mame/drivers/toratora.c8
-rw-r--r--src/mame/drivers/tourtabl.c2
-rw-r--r--src/mame/drivers/tp84.c2
-rw-r--r--src/mame/drivers/triforce.c2
-rw-r--r--src/mame/drivers/triplhnt.c2
-rw-r--r--src/mame/drivers/truco.c2
-rw-r--r--src/mame/drivers/trucocl.c2
-rw-r--r--src/mame/drivers/trvmadns.c2
-rw-r--r--src/mame/drivers/tryout.c2
-rw-r--r--src/mame/drivers/tsamurai.c6
-rw-r--r--src/mame/drivers/ttchamp.c2
-rw-r--r--src/mame/drivers/tubep.c4
-rw-r--r--src/mame/drivers/tugboat.c2
-rw-r--r--src/mame/drivers/turrett.c2
-rw-r--r--src/mame/drivers/twin16.c4
-rw-r--r--src/mame/drivers/twincobr.c2
-rw-r--r--src/mame/drivers/twinkle.c2
-rw-r--r--src/mame/drivers/twins.c4
-rw-r--r--src/mame/drivers/tx1.c6
-rw-r--r--src/mame/drivers/uapce.c2
-rw-r--r--src/mame/drivers/ultratnk.c2
-rw-r--r--src/mame/drivers/ultrsprt.c2
-rw-r--r--src/mame/drivers/undrfire.c4
-rw-r--r--src/mame/drivers/unico.c6
-rw-r--r--src/mame/drivers/upscope.c2
-rw-r--r--src/mame/drivers/usgames.c2
-rw-r--r--src/mame/drivers/vamphalf.c4
-rw-r--r--src/mame/drivers/vball.c2
-rw-r--r--src/mame/drivers/vcombat.c4
-rw-r--r--src/mame/drivers/vega.c2
-rw-r--r--src/mame/drivers/vegaeo.c2
-rw-r--r--src/mame/drivers/vegas.c2
-rw-r--r--src/mame/drivers/vertigo.c2
-rw-r--r--src/mame/drivers/vicdual.c2
-rw-r--r--src/mame/drivers/victory.c2
-rw-r--r--src/mame/drivers/videopin.c2
-rw-r--r--src/mame/drivers/videopkr.c2
-rw-r--r--src/mame/drivers/vigilant.c6
-rw-r--r--src/mame/drivers/viper.c2
-rw-r--r--src/mame/drivers/vp101.c2
-rw-r--r--src/mame/drivers/vpoker.c2
-rw-r--r--src/mame/drivers/vroulet.c2
-rw-r--r--src/mame/drivers/vsnes.c4
-rw-r--r--src/mame/drivers/vulgus.c2
-rw-r--r--src/mame/drivers/wallc.c2
-rw-r--r--src/mame/drivers/wardner.c2
-rw-r--r--src/mame/drivers/warpwarp.c4
-rw-r--r--src/mame/drivers/wc90.c2
-rw-r--r--src/mame/drivers/wc90b.c2
-rw-r--r--src/mame/drivers/wecleman.c4
-rw-r--r--src/mame/drivers/wheelfir.c11
-rw-r--r--src/mame/drivers/williams.c4
-rw-r--r--src/mame/drivers/wink.c2
-rw-r--r--src/mame/drivers/wiping.c2
-rw-r--r--src/mame/drivers/witch.c2
-rw-r--r--src/mame/drivers/wiz.c2
-rw-r--r--src/mame/drivers/wldarrow.c2
-rw-r--r--src/mame/drivers/wolfpack.c2
-rw-r--r--src/mame/drivers/wrally.c2
-rw-r--r--src/mame/drivers/wwfwfest.c2
-rw-r--r--src/mame/drivers/xain.c2
-rw-r--r--src/mame/drivers/xorworld.c2
-rw-r--r--src/mame/drivers/xtheball.c2
-rw-r--r--src/mame/drivers/xxmissio.c2
-rw-r--r--src/mame/drivers/zac2650.c2
-rw-r--r--src/mame/drivers/zaccaria.c2
-rw-r--r--src/mame/drivers/zn.c4
-rw-r--r--src/mame/drivers/zr107.c4
-rw-r--r--src/mame/includes/1942.h8
-rw-r--r--src/mame/includes/1943.h8
-rw-r--r--src/mame/includes/20pacgal.h8
-rw-r--r--src/mame/includes/4enraya.h8
-rw-r--r--src/mame/includes/88games.h8
-rw-r--r--src/mame/includes/actfancr.h8
-rw-r--r--src/mame/includes/aeroboto.h8
-rw-r--r--src/mame/includes/aerofgt.h8
-rw-r--r--src/mame/includes/airbustr.h8
-rw-r--r--src/mame/includes/ajax.h8
-rw-r--r--src/mame/includes/aliens.h8
-rw-r--r--src/mame/includes/alpha68k.h8
-rw-r--r--src/mame/includes/ambush.h8
-rw-r--r--src/mame/includes/amspdwy.h8
-rw-r--r--src/mame/includes/angelkds.h8
-rw-r--r--src/mame/includes/appoooh.h8
-rw-r--r--src/mame/includes/aquarium.h8
-rw-r--r--src/mame/includes/arabian.h8
-rw-r--r--src/mame/includes/arkanoid.h8
-rw-r--r--src/mame/includes/armedf.h8
-rw-r--r--src/mame/includes/ashnojoe.h8
-rw-r--r--src/mame/includes/asterix.h8
-rw-r--r--src/mame/includes/astrof.h8
-rw-r--r--src/mame/includes/asuka.h8
-rw-r--r--src/mame/includes/atarifb.h8
-rw-r--r--src/mame/includes/atarig1.h6
-rw-r--r--src/mame/includes/atarig42.h6
-rw-r--r--src/mame/includes/atarigt.h6
-rw-r--r--src/mame/includes/atarigx2.h6
-rw-r--r--src/mame/includes/atarisy1.h6
-rw-r--r--src/mame/includes/atarisy2.h6
-rw-r--r--src/mame/includes/avalnche.h8
-rw-r--r--src/mame/includes/badlands.h6
-rw-r--r--src/mame/includes/balsente.h8
-rw-r--r--src/mame/includes/bankp.h8
-rw-r--r--src/mame/includes/batman.h6
-rw-r--r--src/mame/includes/battlane.h8
-rw-r--r--src/mame/includes/battlex.h8
-rw-r--r--src/mame/includes/battlnts.h8
-rw-r--r--src/mame/includes/bbusters.h8
-rw-r--r--src/mame/includes/beathead.h12
-rw-r--r--src/mame/includes/bigevglf.h8
-rw-r--r--src/mame/includes/bigstrkb.h8
-rw-r--r--src/mame/includes/bionicc.h8
-rw-r--r--src/mame/includes/bishi.h8
-rw-r--r--src/mame/includes/bladestl.h8
-rw-r--r--src/mame/includes/blktiger.h8
-rw-r--r--src/mame/includes/blmbycar.h8
-rw-r--r--src/mame/includes/blockade.h8
-rw-r--r--src/mame/includes/blockhl.h8
-rw-r--r--src/mame/includes/blockout.h8
-rw-r--r--src/mame/includes/blstroid.h6
-rw-r--r--src/mame/includes/blueprnt.h8
-rw-r--r--src/mame/includes/bogeyman.h8
-rw-r--r--src/mame/includes/bombjack.h8
-rw-r--r--src/mame/includes/boogwing.h8
-rw-r--r--src/mame/includes/bottom9.h8
-rw-r--r--src/mame/includes/brkthru.h8
-rw-r--r--src/mame/includes/bsktball.h8
-rw-r--r--src/mame/includes/btime.h8
-rw-r--r--src/mame/includes/bublbobl.h8
-rw-r--r--src/mame/includes/buggychl.h8
-rw-r--r--src/mame/includes/bwing.h8
-rw-r--r--src/mame/includes/cabal.h8
-rw-r--r--src/mame/includes/canyon.h8
-rw-r--r--src/mame/includes/capbowl.h8
-rw-r--r--src/mame/includes/carjmbre.h8
-rw-r--r--src/mame/includes/cave.h8
-rw-r--r--src/mame/includes/cbasebal.h8
-rw-r--r--src/mame/includes/cbuster.h8
-rw-r--r--src/mame/includes/ccastles.h8
-rw-r--r--src/mame/includes/chaknpop.h8
-rw-r--r--src/mame/includes/champbas.h8
-rw-r--r--src/mame/includes/changela.h8
-rw-r--r--src/mame/includes/cheekyms.h8
-rw-r--r--src/mame/includes/chqflag.h8
-rw-r--r--src/mame/includes/cidelsa.h8
-rw-r--r--src/mame/includes/circus.h8
-rw-r--r--src/mame/includes/circusc.h8
-rw-r--r--src/mame/includes/citycon.h8
-rw-r--r--src/mame/includes/cloud9.h8
-rw-r--r--src/mame/includes/cninja.h8
-rw-r--r--src/mame/includes/combatsc.h8
-rw-r--r--src/mame/includes/commando.h8
-rw-r--r--src/mame/includes/compgolf.h8
-rw-r--r--src/mame/includes/contra.h8
-rw-r--r--src/mame/includes/coolpool.h8
-rw-r--r--src/mame/includes/cop01.h8
-rw-r--r--src/mame/includes/copsnrob.h8
-rw-r--r--src/mame/includes/cosmic.h8
-rw-r--r--src/mame/includes/cps1.h8
-rw-r--r--src/mame/includes/crgolf.h8
-rw-r--r--src/mame/includes/crimfght.h8
-rw-r--r--src/mame/includes/crospang.h8
-rw-r--r--src/mame/includes/crshrace.h8
-rw-r--r--src/mame/includes/cvs.h8
-rw-r--r--src/mame/includes/cyberbal.h6
-rw-r--r--src/mame/includes/darius.h8
-rw-r--r--src/mame/includes/dassault.h8
-rw-r--r--src/mame/includes/dbz.h8
-rw-r--r--src/mame/includes/dcheese.h8
-rw-r--r--src/mame/includes/dday.h8
-rw-r--r--src/mame/includes/ddragon.h8
-rw-r--r--src/mame/includes/ddragon3.h8
-rw-r--r--src/mame/includes/ddribble.h8
-rw-r--r--src/mame/includes/dec8.h8
-rw-r--r--src/mame/includes/deniam.h8
-rw-r--r--src/mame/includes/dietgo.h8
-rw-r--r--src/mame/includes/djboy.h8
-rw-r--r--src/mame/includes/dkong.h8
-rw-r--r--src/mame/includes/docastle.h8
-rw-r--r--src/mame/includes/dogfgt.h8
-rw-r--r--src/mame/includes/dragrace.h8
-rw-r--r--src/mame/includes/drgnmst.h8
-rw-r--r--src/mame/includes/dribling.h8
-rw-r--r--src/mame/includes/drmicro.h8
-rw-r--r--src/mame/includes/dynax.h8
-rw-r--r--src/mame/includes/epos.h8
-rw-r--r--src/mame/includes/eprom.h6
-rw-r--r--src/mame/includes/equites.h8
-rw-r--r--src/mame/includes/esd16.h8
-rw-r--r--src/mame/includes/espial.h8
-rw-r--r--src/mame/includes/exedexes.h8
-rw-r--r--src/mame/includes/exerion.h8
-rw-r--r--src/mame/includes/exprraid.h8
-rw-r--r--src/mame/includes/f1gp.h8
-rw-r--r--src/mame/includes/fantland.h8
-rw-r--r--src/mame/includes/fastlane.h8
-rw-r--r--src/mame/includes/fcombat.h8
-rw-r--r--src/mame/includes/fgoal.h8
-rw-r--r--src/mame/includes/finalizr.h8
-rw-r--r--src/mame/includes/firetrap.h8
-rw-r--r--src/mame/includes/fitfight.h8
-rw-r--r--src/mame/includes/flkatck.h8
-rw-r--r--src/mame/includes/flstory.h8
-rw-r--r--src/mame/includes/foodf.h6
-rw-r--r--src/mame/includes/freekick.h8
-rw-r--r--src/mame/includes/fromanc2.h8
-rw-r--r--src/mame/includes/fromance.h8
-rw-r--r--src/mame/includes/funkybee.h8
-rw-r--r--src/mame/includes/funkyjet.h8
-rw-r--r--src/mame/includes/funybubl.h8
-rw-r--r--src/mame/includes/fuukifg2.h8
-rw-r--r--src/mame/includes/fuukifg3.h8
-rw-r--r--src/mame/includes/gaelco.h8
-rw-r--r--src/mame/includes/gaiden.h8
-rw-r--r--src/mame/includes/galaga.h8
-rw-r--r--src/mame/includes/galivan.h8
-rw-r--r--src/mame/includes/galspnbl.h8
-rw-r--r--src/mame/includes/gameplan.h8
-rw-r--r--src/mame/includes/gauntlet.h6
-rw-r--r--src/mame/includes/gberet.h8
-rw-r--r--src/mame/includes/gbusters.h8
-rw-r--r--src/mame/includes/gcpinbal.h8
-rw-r--r--src/mame/includes/gijoe.h8
-rw-r--r--src/mame/includes/ginganin.h8
-rw-r--r--src/mame/includes/glass.h8
-rw-r--r--src/mame/includes/gng.h8
-rw-r--r--src/mame/includes/goal92.h8
-rw-r--r--src/mame/includes/goindol.h8
-rw-r--r--src/mame/includes/goldstar.h8
-rw-r--r--src/mame/includes/gotcha.h8
-rw-r--r--src/mame/includes/gotya.h8
-rw-r--r--src/mame/includes/gradius3.h8
-rw-r--r--src/mame/includes/grchamp.h8
-rw-r--r--src/mame/includes/gumbo.h8
-rw-r--r--src/mame/includes/gundealr.h8
-rw-r--r--src/mame/includes/gunsmoke.h8
-rw-r--r--src/mame/includes/gyruss.h8
-rw-r--r--src/mame/includes/hanaawas.h8
-rw-r--r--src/mame/includes/harddriv.h29
-rw-r--r--src/mame/includes/hcastle.h8
-rw-r--r--src/mame/includes/higemaru.h8
-rw-r--r--src/mame/includes/himesiki.h8
-rw-r--r--src/mame/includes/hitme.h8
-rw-r--r--src/mame/includes/hnayayoi.h8
-rw-r--r--src/mame/includes/hng64.h8
-rw-r--r--src/mame/includes/holeland.h8
-rw-r--r--src/mame/includes/homedata.h8
-rw-r--r--src/mame/includes/homerun.h8
-rw-r--r--src/mame/includes/hyprduel.h8
-rw-r--r--src/mame/includes/ikki.h8
-rw-r--r--src/mame/includes/inufuku.h8
-rw-r--r--src/mame/includes/iremz80.h8
-rw-r--r--src/mame/includes/ironhors.h8
-rw-r--r--src/mame/includes/jack.h8
-rw-r--r--src/mame/includes/jackal.h8
-rw-r--r--src/mame/includes/jailbrek.h8
-rw-r--r--src/mame/includes/jedi.h8
-rw-r--r--src/mame/includes/kangaroo.h8
-rw-r--r--src/mame/includes/karnov.h8
-rw-r--r--src/mame/includes/kchamp.h8
-rw-r--r--src/mame/includes/kickgoal.h8
-rw-r--r--src/mame/includes/kingobox.h8
-rw-r--r--src/mame/includes/klax.h6
-rw-r--r--src/mame/includes/kncljoe.h8
-rw-r--r--src/mame/includes/kopunch.h8
-rw-r--r--src/mame/includes/ksayakyu.h8
-rw-r--r--src/mame/includes/kyugo.h8
-rw-r--r--src/mame/includes/labyrunr.h8
-rw-r--r--src/mame/includes/ladybug.h8
-rw-r--r--src/mame/includes/ladyfrog.h8
-rw-r--r--src/mame/includes/laserbat.h8
-rw-r--r--src/mame/includes/lasso.h8
-rw-r--r--src/mame/includes/lastduel.h8
-rw-r--r--src/mame/includes/lazercmd.h8
-rw-r--r--src/mame/includes/lemmings.h8
-rw-r--r--src/mame/includes/lethal.h8
-rw-r--r--src/mame/includes/liberate.h8
-rw-r--r--src/mame/includes/lkage.h8
-rw-r--r--src/mame/includes/lockon.h8
-rw-r--r--src/mame/includes/lsasquad.h8
-rw-r--r--src/mame/includes/lwings.h8
-rw-r--r--src/mame/includes/m10.h8
-rw-r--r--src/mame/includes/macrossp.h8
-rw-r--r--src/mame/includes/madmotor.h8
-rw-r--r--src/mame/includes/mainevt.h8
-rw-r--r--src/mame/includes/mainsnk.h8
-rw-r--r--src/mame/includes/malzak.h8
-rw-r--r--src/mame/includes/mappy.h8
-rw-r--r--src/mame/includes/mario.h8
-rw-r--r--src/mame/includes/markham.h8
-rw-r--r--src/mame/includes/matmania.h8
-rw-r--r--src/mame/includes/mcatadv.h8
-rw-r--r--src/mame/includes/megazone.h8
-rw-r--r--src/mame/includes/mermaid.h8
-rw-r--r--src/mame/includes/metalmx.h8
-rw-r--r--src/mame/includes/metlclsh.h8
-rw-r--r--src/mame/includes/metro.h8
-rw-r--r--src/mame/includes/mexico86.h8
-rw-r--r--src/mame/includes/micro3d.h8
-rw-r--r--src/mame/includes/mikie.h8
-rw-r--r--src/mame/includes/mitchell.h8
-rw-r--r--src/mame/includes/mjkjidai.h8
-rw-r--r--src/mame/includes/momoko.h8
-rw-r--r--src/mame/includes/moo.h8
-rw-r--r--src/mame/includes/mosaic.h8
-rw-r--r--src/mame/includes/mouser.h8
-rw-r--r--src/mame/includes/mrdo.h8
-rw-r--r--src/mame/includes/mrflea.h8
-rw-r--r--src/mame/includes/mrjong.h8
-rw-r--r--src/mame/includes/mugsmash.h8
-rw-r--r--src/mame/includes/munchmo.h8
-rw-r--r--src/mame/includes/mw8080bw.h8
-rw-r--r--src/mame/includes/mystston.h8
-rw-r--r--src/mame/includes/n64.h8
-rw-r--r--src/mame/includes/n8080.h8
-rw-r--r--src/mame/includes/nemesis.h8
-rw-r--r--src/mame/includes/neogeo.h8
-rw-r--r--src/mame/includes/news.h8
-rw-r--r--src/mame/includes/ninjaw.h8
-rw-r--r--src/mame/includes/nitedrvr.h8
-rw-r--r--src/mame/includes/nycaptor.h8
-rw-r--r--src/mame/includes/offtwall.h6
-rw-r--r--src/mame/includes/ohmygod.h8
-rw-r--r--src/mame/includes/ojankohs.h8
-rw-r--r--src/mame/includes/oneshot.h8
-rw-r--r--src/mame/includes/opwolf.h8
-rw-r--r--src/mame/includes/orbit.h8
-rw-r--r--src/mame/includes/othldrby.h8
-rw-r--r--src/mame/includes/othunder.h8
-rw-r--r--src/mame/includes/overdriv.h8
-rw-r--r--src/mame/includes/pandoras.h8
-rw-r--r--src/mame/includes/paradise.h8
-rw-r--r--src/mame/includes/parodius.h8
-rw-r--r--src/mame/includes/pass.h8
-rw-r--r--src/mame/includes/pbaction.h8
-rw-r--r--src/mame/includes/pgm.h8
-rw-r--r--src/mame/includes/pktgaldx.h8
-rw-r--r--src/mame/includes/playmark.h8
-rw-r--r--src/mame/includes/plygonet.h8
-rw-r--r--src/mame/includes/popper.h8
-rw-r--r--src/mame/includes/prehisle.h8
-rw-r--r--src/mame/includes/psikyo.h8
-rw-r--r--src/mame/includes/psikyo4.h8
-rw-r--r--src/mame/includes/psikyosh.h8
-rw-r--r--src/mame/includes/pushman.h8
-rw-r--r--src/mame/includes/qix.h8
-rw-r--r--src/mame/includes/rainbow.h8
-rw-r--r--src/mame/includes/rampart.h6
-rw-r--r--src/mame/includes/rastan.h8
-rw-r--r--src/mame/includes/relief.h6
-rw-r--r--src/mame/includes/rockrage.h8
-rw-r--r--src/mame/includes/rohga.h8
-rw-r--r--src/mame/includes/rollerg.h8
-rw-r--r--src/mame/includes/rungun.h8
-rw-r--r--src/mame/includes/sbugger.h8
-rw-r--r--src/mame/includes/sderby.h8
-rw-r--r--src/mame/includes/segas16.h8
-rw-r--r--src/mame/includes/seta.h8
-rw-r--r--src/mame/includes/seta2.h8
-rw-r--r--src/mame/includes/sf.h8
-rw-r--r--src/mame/includes/shadfrce.h8
-rw-r--r--src/mame/includes/shootout.h8
-rw-r--r--src/mame/includes/shuuz.h6
-rw-r--r--src/mame/includes/sidearms.h8
-rw-r--r--src/mame/includes/sidepckt.h8
-rw-r--r--src/mame/includes/silkroad.h8
-rw-r--r--src/mame/includes/simpl156.h8
-rw-r--r--src/mame/includes/simpsons.h8
-rw-r--r--src/mame/includes/skullxbo.h6
-rw-r--r--src/mame/includes/skyfox.h8
-rw-r--r--src/mame/includes/slapshot.h8
-rw-r--r--src/mame/includes/snes.h8
-rw-r--r--src/mame/includes/snk.h8
-rw-r--r--src/mame/includes/snk6502.h8
-rw-r--r--src/mame/includes/snk68.h8
-rw-r--r--src/mame/includes/sonson.h8
-rw-r--r--src/mame/includes/spbactn.h8
-rw-r--r--src/mame/includes/spy.h8
-rw-r--r--src/mame/includes/srmp2.h8
-rw-r--r--src/mame/includes/sslam.h8
-rw-r--r--src/mame/includes/ssv.h8
-rw-r--r--src/mame/includes/stactics.h8
-rw-r--r--src/mame/includes/stlforce.h8
-rw-r--r--src/mame/includes/supbtime.h8
-rw-r--r--src/mame/includes/suprslam.h8
-rw-r--r--src/mame/includes/surpratk.h8
-rw-r--r--src/mame/includes/system16.h8
-rw-r--r--src/mame/includes/tail2nos.h8
-rw-r--r--src/mame/includes/taito_b.h8
-rw-r--r--src/mame/includes/taito_f2.h8
-rw-r--r--src/mame/includes/taito_h.h8
-rw-r--r--src/mame/includes/taito_l.h8
-rw-r--r--src/mame/includes/taito_o.h8
-rw-r--r--src/mame/includes/taito_z.h8
-rw-r--r--src/mame/includes/taitoair.h8
-rw-r--r--src/mame/includes/taitojc.h8
-rw-r--r--src/mame/includes/thunderj.h6
-rw-r--r--src/mame/includes/thunderx.h8
-rw-r--r--src/mame/includes/timeplt.h8
-rw-r--r--src/mame/includes/tmnt.h8
-rw-r--r--src/mame/includes/tnzs.h8
-rw-r--r--src/mame/includes/toaplan1.h8
-rw-r--r--src/mame/includes/toaplan2.h8
-rw-r--r--src/mame/includes/toobin.h6
-rw-r--r--src/mame/includes/topspeed.h8
-rw-r--r--src/mame/includes/toypop.h8
-rw-r--r--src/mame/includes/trackfld.h8
-rw-r--r--src/mame/includes/tumbleb.h8
-rw-r--r--src/mame/includes/tumblep.h8
-rw-r--r--src/mame/includes/tunhunt.h8
-rw-r--r--src/mame/includes/turbo.h8
-rw-r--r--src/mame/includes/ultraman.h8
-rw-r--r--src/mame/includes/vaportra.h8
-rw-r--r--src/mame/includes/vastar.h8
-rw-r--r--src/mame/includes/vendetta.h8
-rw-r--r--src/mame/includes/vindictr.h6
-rw-r--r--src/mame/includes/volfied.h8
-rw-r--r--src/mame/includes/warriorb.h8
-rw-r--r--src/mame/includes/welltris.h8
-rw-r--r--src/mame/includes/wgp.h8
-rw-r--r--src/mame/includes/wwfsstar.h8
-rw-r--r--src/mame/includes/xexex.h8
-rw-r--r--src/mame/includes/xmen.h8
-rw-r--r--src/mame/includes/xybots.h6
-rw-r--r--src/mame/includes/xyonix.h8
-rw-r--r--src/mame/includes/yunsun16.h8
-rw-r--r--src/mame/includes/yunsung8.h8
-rw-r--r--src/mame/includes/zaxxon.h8
-rw-r--r--src/mame/includes/zerozone.h8
-rw-r--r--src/mame/machine/atarigen.h6
-rw-r--r--src/mame/machine/decocass.h8
1019 files changed, 2587 insertions, 3361 deletions
diff --git a/src/emu/devintrf.c b/src/emu/devintrf.c
index 8406a8dec48..557cf628426 100644
--- a/src/emu/devintrf.c
+++ b/src/emu/devintrf.c
@@ -136,30 +136,28 @@ void device_list::start_all()
state_save_register_presave(m_machine, static_pre_save, this);
state_save_register_postload(m_machine, static_post_load, this);
- // iterate until we've started everything
- int devcount = count();
- int numstarted = 0;
- while (numstarted < devcount)
+ // iterate over devices to start them
+ device_t *nextdevice;
+ for (device_t *device = first(); device != NULL; device = nextdevice)
{
- // iterate over devices and start them
- int prevstarted = numstarted;
- for (device_t *device = first(); device != NULL; device = device->next())
- if (!device->started())
- {
- // attempt to start the device, catching any expected exceptions
- try
- {
- device->start();
- numstarted++;
- }
- catch (device_missing_dependencies &)
- {
- }
- }
-
- // if we didn't start anything new, we're in trouble
- if (numstarted == prevstarted)
- fatalerror("Circular dependency in device startup; unable to start %d/%d devices\n", devcount - numstarted, devcount);
+ // attempt to start the device, catching any expected exceptions
+ nextdevice = device->next();
+ try
+ {
+ mame_printf_verbose("Starting %s '%s'\n", device->name(), device->tag());
+ device->start();
+ }
+
+ // handle missing dependencies by moving the device to the end
+ catch (device_missing_dependencies &)
+ {
+ // if we're the end, fail
+ mame_printf_verbose(" (missing dependencies; rescheduling)\n");
+ if (nextdevice == NULL)
+ throw emu_fatalerror("Circular dependency in device startup; unable to start %s '%s'\n", device->name(), device->tag());
+ detach(device);
+ append(device->tag(), device);
+ }
}
}
diff --git a/src/emu/devintrf.h b/src/emu/devintrf.h
index fd2e7b10350..9ec09ea9186 100644
--- a/src/emu/devintrf.h
+++ b/src/emu/devintrf.h
@@ -509,7 +509,8 @@ inline device_config *device_config::typenext() const
// create a tag for an object that is owned by this device
inline astring &device_config::subtag(astring &dest, const char *_tag) const
{
- return (this != NULL) ? dest.cpy(m_tag).cat(":").cat(_tag) : dest.cpy(_tag);
+ // temp. for now: don't include the root tag in the full tag name
+ return (this != NULL && m_owner != NULL) ? dest.cpy(m_tag).cat(":").cat(_tag) : dest.cpy(_tag);
}
// create a tag for an object that a sibling to this device
diff --git a/src/emu/disound.c b/src/emu/disound.c
index 29c13c1d114..3734739d170 100644
--- a/src/emu/disound.c
+++ b/src/emu/disound.c
@@ -122,7 +122,7 @@ bool device_config_sound_interface::interface_validity_check(const game_driver &
// if it's not a speaker or a sound device, error
const device_config_sound_interface *sound;
- if (target->type() != SPEAKER && !target->interface(sound))
+ if (target != NULL && target->type() != SPEAKER && !target->interface(sound))
{
mame_printf_error("%s: %s attempting to route sound to a non-sound device '%s' (%s)\n", driver.source_file, driver.name, route->m_target, target->name());
error = true;
diff --git a/src/emu/drivers/empty.c b/src/emu/drivers/empty.c
index 101127c8fea..1ca0364a24d 100644
--- a/src/emu/drivers/empty.c
+++ b/src/emu/drivers/empty.c
@@ -34,7 +34,7 @@ static MACHINE_START( empty )
*
*************************************/
-static MACHINE_CONFIG_START( empty, driver_data_t )
+static MACHINE_CONFIG_START( empty, driver_device )
MDRV_MACHINE_START(empty)
diff --git a/src/emu/emu.h b/src/emu/emu.h
index 1ad1eb7e272..b65d181d28e 100644
--- a/src/emu/emu.h
+++ b/src/emu/emu.h
@@ -73,7 +73,7 @@
// between devices and the machine config
class machine_config;
class device_config;
-typedef void (*machine_config_constructor)(machine_config &config, device_config *owner);
+typedef device_config * (*machine_config_constructor)(machine_config &config, device_config *owner);
// devices and callbacks
#include "devintrf.h"
diff --git a/src/emu/emucore.h b/src/emu/emucore.h
index cb3e7876ed2..59f2af46ddc 100644
--- a/src/emu/emucore.h
+++ b/src/emu/emucore.h
@@ -535,7 +535,7 @@ public:
return object;
}
- void remove(T *object)
+ void detach(T *object)
{
for (T **objectptr = &m_head; *objectptr != NULL; objectptr = &(*objectptr)->m_next)
if (*objectptr == object)
@@ -544,11 +544,16 @@ public:
if (m_tailptr == &object->m_next)
m_tailptr = objectptr;
m_map.remove(object);
- pool_free(m_pool, object);
return;
}
}
+ void remove(T *object)
+ {
+ detach(object);
+ pool_free(m_pool, object);
+ }
+
void remove(const char *tag)
{
T *object = find(tag);
diff --git a/src/emu/machine.c b/src/emu/machine.c
index 2dc4e571c16..fc6b1124196 100644
--- a/src/emu/machine.c
+++ b/src/emu/machine.c
@@ -197,14 +197,16 @@ running_machine::running_machine(const game_driver &driver, const machine_config
memset(m_notifier_list, 0, sizeof(m_notifier_list));
memset(&m_base_time, 0, sizeof(m_base_time));
+ // find the driver device config and tell it which game
+ device_config *config = m_config.m_devicelist.find("root");
+ if (config == NULL)
+ throw emu_fatalerror("Machine configuration missing driver_device");
+ driver_device_config_base::static_set_game(config, &driver);
+
// attach this machine to all the devices in the configuration
m_devicelist.import_config_list(m_config.m_devicelist, *this);
-
- // allocate the driver data (after devices)
- if (m_config.m_driver_data_alloc != NULL)
- m_driver_data = (*m_config.m_driver_data_alloc)(*this);
- else
- m_driver_data = auto_alloc(this, driver_data_t(*this));
+ m_driver_data = device<driver_device>("root");
+ assert(m_driver_data != NULL);
// find devices
primary_screen = screen_first(*this);
@@ -269,8 +271,6 @@ void running_machine::start()
output_init(this);
state_init(this);
state_save_allow_registration(this, true);
- state_save_register_presave(this, pre_save_static, NULL);
- state_save_register_postload(this, post_load_static, NULL);
palette_init(this);
render_init(this);
ui_init(this);
@@ -316,36 +316,26 @@ void running_machine::start()
// initialize image devices
image_init(this);
+ tilemap_init(this);
+ crosshair_init(this);
+ sound_init(this);
+ video_init(this);
- // start up the devices
- m_devicelist.start_all();
+ // initialize the debugger
+ if ((debug_flags & DEBUG_FLAG_ENABLED) != 0)
+ debugger_init(this);
// call the game driver's init function
// this is where decryption is done and memory maps are altered
// so this location in the init order is important
ui_set_startup_text(this, "Initializing...", true);
- if (m_game.driver_init != NULL)
- (*m_game.driver_init)(this);
+
+ // start up the devices
+ m_devicelist.start_all();
// finish image devices init process
image_postdevice_init(this);
- // start the video and audio hardware
- video_init(this);
- tilemap_init(this);
- crosshair_init(this);
-
- sound_init(this);
-
- // initialize the debugger
- if ((debug_flags & DEBUG_FLAG_ENABLED) != 0)
- debugger_init(this);
-
- // call the driver's _START callbacks
- m_driver_data->machine_start();
- m_driver_data->sound_start();
- m_driver_data->video_start();
-
// if we're coming in with a savegame request, process it now
const char *savegame = options_get_string(&m_options, OPTION_STATE);
if (savegame[0] != 0)
@@ -864,28 +854,6 @@ cancel:
//-------------------------------------------------
-// pre_save_static - callback to prepare for
-// state saving
-//-------------------------------------------------
-
-STATE_PRESAVE( running_machine::pre_save_static )
-{
- machine->m_driver_data->pre_save();
-}
-
-
-//-------------------------------------------------
-// post_load_static - callback to update after
-// static loading
-//-------------------------------------------------
-
-STATE_POSTLOAD( running_machine::post_load_static )
-{
- machine->m_driver_data->post_load();
-}
-
-
-//-------------------------------------------------
// soft_reset - actually perform a soft-reset
// of the system
//-------------------------------------------------
@@ -902,11 +870,6 @@ void running_machine::soft_reset()
// call all registered reset callbacks
call_notifiers(MACHINE_NOTIFY_RESET);
- // run the driver's reset callbacks
- m_driver_data->machine_reset();
- m_driver_data->sound_reset();
- m_driver_data->video_reset();
-
// now we're running
m_current_phase = MACHINE_PHASE_RUNNING;
@@ -986,95 +949,136 @@ running_machine::logerror_callback_item::logerror_callback_item(logerror_callbac
//**************************************************************************
-// DRIVER DATA
+// DRIVER DEVICE
//**************************************************************************
//-------------------------------------------------
-// driver_data_t - constructor
+// driver_device_config_base - constructor
//-------------------------------------------------
-driver_data_t::driver_data_t(running_machine &machine)
- : m_machine(machine)
+driver_device_config_base::driver_device_config_base(const machine_config &mconfig, device_type type, const char *tag, const device_config *owner)
+ : device_config(mconfig, type, "Driver Device", tag, owner, 0),
+ m_game(NULL),
+ m_palette_init(NULL),
+ m_video_update(NULL)
{
+ memset(m_callbacks, 0, sizeof(m_callbacks));
}
//-------------------------------------------------
-// driver_data_t - destructor
+// static_set_game - set the game in the device
+// configuration
//-------------------------------------------------
-driver_data_t::~driver_data_t()
+void driver_device_config_base::static_set_game(device_config *device, const game_driver *game)
{
+ downcast<driver_device_config_base *>(device)->m_game = game;
}
//-------------------------------------------------
-// alloc - static allocator for this class
+// static_set_machine_start - set the legacy
+// machine start callback in the device
+// configuration
//-------------------------------------------------
-driver_data_t *driver_data_t::alloc(running_machine &machine)
+void driver_device_config_base::static_set_callback(device_config *device, callback_type type, legacy_callback_func callback)
{
- return auto_alloc_clear(&machine, driver_data_t(machine));
+ downcast<driver_device_config_base *>(device)->m_callbacks[type] = callback;
}
//-------------------------------------------------
-// machine_start - default implementation which
-// calls to the legacy machine_start function
+// static_set_palette_init - set the legacy
+// palette init callback in the device
+// configuration
//-------------------------------------------------
-void driver_data_t::machine_start()
+void driver_device_config_base::static_set_palette_init(device_config *device, palette_init_func callback)
{
- if (m_machine.m_config.m_machine_start != NULL)
- (*m_machine.m_config.m_machine_start)(&m_machine);
+ downcast<driver_device_config_base *>(device)->m_palette_init = callback;
}
//-------------------------------------------------
-// machine_reset - default implementation which
-// calls to the legacy machine_reset function
+// static_set_video_update - set the legacy
+// video update callback in the device
+// configuration
//-------------------------------------------------
-void driver_data_t::machine_reset()
+void driver_device_config_base::static_set_video_update(device_config *device, video_update_func callback)
{
- if (m_machine.m_config.m_machine_reset != NULL)
- (*m_machine.m_config.m_machine_reset)(&m_machine);
+ downcast<driver_device_config_base *>(device)->m_video_update = callback;
}
+
+//**************************************************************************
+// DRIVER DEVICE
+//**************************************************************************
+
//-------------------------------------------------
-// sound_start - default implementation which
-// calls to the legacy sound_start function
+// driver_device - constructor
//-------------------------------------------------
-void driver_data_t::sound_start()
+driver_device::driver_device(running_machine &machine, const driver_device_config_base &config)
+ : device_t(machine, config),
+ m_config(config)
{
- if (m_machine.m_config.m_sound_start != NULL)
- (*m_machine.m_config.m_sound_start)(&m_machine);
}
//-------------------------------------------------
-// sound_reset - default implementation which
-// calls to the legacy sound_reset function
+// driver_device - destructor
+//-------------------------------------------------
+
+driver_device::~driver_device()
+{
+}
+
+
+//-------------------------------------------------
+// find_devices - default implementation which
+// does nothing
//-------------------------------------------------
-void driver_data_t::sound_reset()
+void driver_device::find_devices()
{
- if (m_machine.m_config.m_sound_reset != NULL)
- (*m_machine.m_config.m_sound_reset)(&m_machine);
}
//-------------------------------------------------
-// palette_init - default implementation which
-// calls to the legacy palette_init function
+// driver_start - default implementation which
+// does nothing
//-------------------------------------------------
-void driver_data_t::palette_init(const UINT8 *color_prom)
+void driver_device::driver_start()
{
- if (m_machine.m_config.m_init_palette != NULL)
- (*m_machine.m_config.m_init_palette)(&m_machine, color_prom);
+}
+
+
+//-------------------------------------------------
+// machine_start - default implementation which
+// calls to the legacy machine_start function
+//-------------------------------------------------
+
+void driver_device::machine_start()
+{
+ if (m_config.m_callbacks[driver_device_config_base::CB_MACHINE_START] != NULL)
+ (*m_config.m_callbacks[driver_device_config_base::CB_MACHINE_START])(&m_machine);
+}
+
+
+//-------------------------------------------------
+// sound_start - default implementation which
+// calls to the legacy sound_start function
+//-------------------------------------------------
+
+void driver_device::sound_start()
+{
+ if (m_config.m_callbacks[driver_device_config_base::CB_SOUND_START] != NULL)
+ (*m_config.m_callbacks[driver_device_config_base::CB_SOUND_START])(&m_machine);
}
@@ -1083,10 +1087,44 @@ void driver_data_t::palette_init(const UINT8 *color_prom)
// calls to the legacy video_start function
//-------------------------------------------------
-void driver_data_t::video_start()
+void driver_device::video_start()
+{
+ if (m_config.m_callbacks[driver_device_config_base::CB_VIDEO_START] != NULL)
+ (*m_config.m_callbacks[driver_device_config_base::CB_VIDEO_START])(&m_machine);
+}
+
+
+//-------------------------------------------------
+// driver_reset - default implementation which
+// does nothing
+//-------------------------------------------------
+
+void driver_device::driver_reset()
{
- if (m_machine.m_config.m_video_start != NULL)
- (*m_machine.m_config.m_video_start)(&m_machine);
+}
+
+
+//-------------------------------------------------
+// machine_reset - default implementation which
+// calls to the legacy machine_reset function
+//-------------------------------------------------
+
+void driver_device::machine_reset()
+{
+ if (m_config.m_callbacks[driver_device_config_base::CB_MACHINE_RESET] != NULL)
+ (*m_config.m_callbacks[driver_device_config_base::CB_MACHINE_RESET])(&m_machine);
+}
+
+
+//-------------------------------------------------
+// sound_reset - default implementation which
+// calls to the legacy sound_reset function
+//-------------------------------------------------
+
+void driver_device::sound_reset()
+{
+ if (m_config.m_callbacks[driver_device_config_base::CB_SOUND_RESET] != NULL)
+ (*m_config.m_callbacks[driver_device_config_base::CB_SOUND_RESET])(&m_machine);
}
@@ -1095,10 +1133,10 @@ void driver_data_t::video_start()
// calls to the legacy video_reset function
//-------------------------------------------------
-void driver_data_t::video_reset()
+void driver_device::video_reset()
{
- if (m_machine.m_config.m_video_reset != NULL)
- (*m_machine.m_config.m_video_reset)(&m_machine);
+ if (m_config.m_callbacks[driver_device_config_base::CB_VIDEO_RESET] != NULL)
+ (*m_config.m_callbacks[driver_device_config_base::CB_VIDEO_RESET])(&m_machine);
}
@@ -1107,10 +1145,10 @@ void driver_data_t::video_reset()
// calls to the legacy video_update function
//-------------------------------------------------
-bool driver_data_t::video_update(screen_device &screen, bitmap_t &bitmap, const rectangle &cliprect)
+bool driver_device::video_update(screen_device &screen, bitmap_t &bitmap, const rectangle &cliprect)
{
- if (m_machine.m_config.m_video_update != NULL)
- return (*m_machine.m_config.m_video_update)(&screen, &bitmap, &cliprect);
+ if (m_config.m_video_update != NULL)
+ return (*m_config.m_video_update)(&screen, &bitmap, &cliprect);
return 0;
}
@@ -1120,30 +1158,55 @@ bool driver_data_t::video_update(screen_device &screen, bitmap_t &bitmap, const
// calls to the legacy video_eof function
//-------------------------------------------------
-void driver_data_t::video_eof()
+void driver_device::video_eof()
{
- if (m_machine.m_config.m_video_eof != NULL)
- (*m_machine.m_config.m_video_eof)(&m_machine);
+ if (m_config.m_callbacks[driver_device_config_base::CB_VIDEO_EOF] != NULL)
+ (*m_config.m_callbacks[driver_device_config_base::CB_VIDEO_EOF])(&m_machine);
}
//-------------------------------------------------
-// pre_save - default implementation which
-// does nothing
+// device_start - device override which calls
+// the various helpers
//-------------------------------------------------
-void driver_data_t::pre_save()
+void driver_device::device_start()
{
+ // reschedule ourselves to be last
+ if (next() != NULL)
+ throw device_missing_dependencies();
+
+ // first find devices
+ find_devices();
+
+ // call the game-specific init
+ if (m_config.m_game->driver_init != NULL)
+ (*m_config.m_game->driver_init)(&m_machine);
+
+ // call palette_init if present
+ if (m_config.m_palette_init != NULL)
+ (*m_config.m_palette_init)(&m_machine, memory_region(machine, "proms"));
+
+ // start the various pieces
+ driver_start();
+ machine_start();
+ sound_start();
+ video_start();
}
//-------------------------------------------------
-// post_load - default implementation which
-// does nothing
+// device_reset - device override which calls
+// the various helpers
//-------------------------------------------------
-void driver_data_t::post_load()
+void driver_device::device_reset()
{
+ // reset each piece
+ driver_reset();
+ machine_reset();
+ sound_reset();
+ video_reset();
}
diff --git a/src/emu/machine.h b/src/emu/machine.h
index 02554e7b6b1..4fcd397d5cd 100644
--- a/src/emu/machine.h
+++ b/src/emu/machine.h
@@ -110,6 +110,57 @@ const int DEBUG_FLAG_OSD_ENABLED = 0x00001000; // The OSD debugger is enabled
// MACROS
//**************************************************************************
+// macros to wrap legacy callbacks
+#define MACHINE_START_NAME(name) machine_start_##name
+#define MACHINE_START(name) void MACHINE_START_NAME(name)(running_machine *machine)
+#define MACHINE_START_CALL(name) MACHINE_START_NAME(name)(machine)
+
+#define MACHINE_RESET_NAME(name) machine_reset_##name
+#define MACHINE_RESET(name) void MACHINE_RESET_NAME(name)(running_machine *machine)
+#define MACHINE_RESET_CALL(name) MACHINE_RESET_NAME(name)(machine)
+
+#define SOUND_START_NAME(name) sound_start_##name
+#define SOUND_START(name) void SOUND_START_NAME(name)(running_machine *machine)
+#define SOUND_START_CALL(name) SOUND_START_NAME(name)(machine)
+
+#define SOUND_RESET_NAME(name) sound_reset_##name
+#define SOUND_RESET(name) void SOUND_RESET_NAME(name)(running_machine *machine)
+#define SOUND_RESET_CALL(name) SOUND_RESET_NAME(name)(machine)
+
+#define VIDEO_START_NAME(name) video_start_##name
+#define VIDEO_START(name) void VIDEO_START_NAME(name)(running_machine *machine)
+#define VIDEO_START_CALL(name) VIDEO_START_NAME(name)(machine)
+
+#define VIDEO_RESET_NAME(name) video_reset_##name
+#define VIDEO_RESET(name) void VIDEO_RESET_NAME(name)(running_machine *machine)
+#define VIDEO_RESET_CALL(name) VIDEO_RESET_NAME(name)(machine)
+
+#define PALETTE_INIT_NAME(name) palette_init_##name
+#define PALETTE_INIT(name) void PALETTE_INIT_NAME(name)(running_machine *machine, const UINT8 *color_prom)
+#define PALETTE_INIT_CALL(name) PALETTE_INIT_NAME(name)(machine, color_prom)
+
+#define VIDEO_EOF_NAME(name) video_eof_##name
+#define VIDEO_EOF(name) void VIDEO_EOF_NAME(name)(running_machine *machine)
+#define VIDEO_EOF_CALL(name) VIDEO_EOF_NAME(name)(machine)
+
+#define VIDEO_UPDATE_NAME(name) video_update_##name
+#define VIDEO_UPDATE(name) UINT32 VIDEO_UPDATE_NAME(name)(screen_device *screen, bitmap_t *bitmap, const rectangle *cliprect)
+#define VIDEO_UPDATE_CALL(name) VIDEO_UPDATE_NAME(name)(screen, bitmap, cliprect)
+
+
+// NULL versions
+#define machine_start_0 NULL
+#define machine_reset_0 NULL
+#define sound_start_0 NULL
+#define sound_reset_0 NULL
+#define video_start_0 NULL
+#define video_reset_0 NULL
+#define palette_init_0 NULL
+#define video_eof_0 NULL
+#define video_update_0 NULL
+
+
+
// global allocation helpers
#define auto_alloc(m, t) pool_alloc(static_cast<running_machine *>(m)->m_respool, t)
#define auto_alloc_clear(m, t) pool_alloc_clear(static_cast<running_machine *>(m)->m_respool, t)
@@ -157,35 +208,16 @@ typedef struct _generic_audio_private generic_audio_private;
typedef tagged_list<region_info> region_list;
-// base class for all driver data structures
-class driver_data_t : public bindable_object
-{
-public:
- driver_data_t(running_machine &machine);
- virtual ~driver_data_t();
-
- static driver_data_t *alloc(running_machine &machine);
-
- virtual void machine_start();
- virtual void machine_reset();
-
- virtual void sound_start();
- virtual void sound_reset();
-
- virtual void palette_init(const UINT8 *color_prom);
- virtual void video_start();
- virtual void video_reset();
- virtual bool video_update(screen_device &screen, bitmap_t &bitmap, const rectangle &cliprect);
- virtual void video_eof();
+// legacy callback functions
+typedef void (*legacy_callback_func)(running_machine *machine);
+typedef void (*palette_init_func)(running_machine *machine, const UINT8 *color_prom);
+typedef UINT32 (*video_update_func)(screen_device *screen, bitmap_t *bitmap, const rectangle *cliprect);
- virtual void pre_save();
- virtual void post_load();
- running_machine & m_machine;
-};
+// ======================> region_info
-// memory region
+// memory region object; should eventually be renamed memory_region
class region_info
{
DISABLE_COPYING(region_info);
@@ -240,7 +272,10 @@ private:
};
-// this structure holds generic pointers that are commonly used
+
+// ======================> generic_pointers
+
+// holds generic pointers that are commonly used
struct generic_pointers
{
generic_ptr nvram; // generic NVRAM
@@ -259,6 +294,9 @@ struct generic_pointers
};
+
+// ======================> system_time
+
// system time description, both local and UTC
class system_time
{
@@ -287,6 +325,9 @@ public:
};
+
+// ======================> running_machine
+
// description of the currently-running machine
class running_machine : public bindable_object
{
@@ -423,8 +464,6 @@ private:
void set_saveload_filename(const char *filename);
void fill_systime(system_time &systime, time_t t);
void handle_saveload();
- static STATE_PRESAVE( pre_save_static );
- static STATE_POSTLOAD( post_load_static );
static TIMER_CALLBACK( static_soft_reset );
void soft_reset();
@@ -482,7 +521,130 @@ private:
// base time
time_t m_base_time;
- driver_data_t * m_driver_data; // drivers can hang data off of here instead of using globals
+ driver_device * m_driver_data; // drivers can hang data off of here instead of using globals
+};
+
+
+
+// ======================> driver_device_config_base
+
+// a base class with common functionality for the (mostly stub) driver_device_configs
+class driver_device_config_base : public device_config
+{
+ friend class driver_device;
+
+protected:
+ // construction/destruction
+ driver_device_config_base(const machine_config &mconfig, device_type type, const char *tag, const device_config *owner);
+
+public:
+ // indexes into our generic callbacks
+ enum callback_type
+ {
+ CB_MACHINE_START,
+ CB_MACHINE_RESET,
+ CB_SOUND_START,
+ CB_SOUND_RESET,
+ CB_VIDEO_START,
+ CB_VIDEO_RESET,
+ CB_VIDEO_EOF,
+ CB_COUNT
+ };
+
+ // inline configuration helpers
+ static void static_set_game(device_config *device, const game_driver *game);
+ static void static_set_callback(device_config *device, callback_type type, legacy_callback_func callback);
+ static void static_set_palette_init(device_config *device, palette_init_func callback);
+ static void static_set_video_update(device_config *device, video_update_func callback);
+
+protected:
+ // internal state
+ const game_driver * m_game; // pointer to the game driver
+
+ legacy_callback_func m_callbacks[CB_COUNT]; // generic legacy callbacks
+ palette_init_func m_palette_init; // one-time palette init callback
+ video_update_func m_video_update; // video update callback
+};
+
+
+
+// ======================> driver_device_config
+
+// this provides a minimal config class for driver devices, which don't
+// explicitly declare their own
+template<class _DeviceClass>
+class driver_device_config : public driver_device_config_base
+{
+ // construction/destruction
+ driver_device_config(const machine_config &mconfig, const char *tag, const device_config *owner)
+ : driver_device_config_base(mconfig, static_alloc_device_config, tag, owner) { }
+
+public:
+ // allocators
+ static device_config *static_alloc_device_config(const machine_config &mconfig, const char *tag, const device_config *owner, UINT32 clock)
+ {
+ return global_alloc(driver_device_config(mconfig, tag, owner));
+ }
+
+ virtual device_t *alloc_device(running_machine &machine) const
+ {
+ // we clear here for historical reasons, as many existing driver states
+ // assume everything is NULL before starting
+ return auto_alloc_clear(&machine, _DeviceClass(machine, *this));
+ }
+};
+
+
+
+// ======================> driver_device
+
+// base class for machine driver-specific devices
+class driver_device : public device_t
+{
+public:
+ // construction/destruction
+ driver_device(running_machine &machine, const driver_device_config_base &config);
+ virtual ~driver_device();
+
+ // additional video helpers
+ virtual bool video_update(screen_device &screen, bitmap_t &bitmap, const rectangle &cliprect);
+ virtual void video_eof();
+
+protected:
+ // helpers called at startup
+ virtual void find_devices();
+ virtual void driver_start();
+ virtual void machine_start();
+ virtual void sound_start();
+ virtual void video_start();
+
+ // helpers called at reset
+ virtual void driver_reset();
+ virtual void machine_reset();
+ virtual void sound_reset();
+ virtual void video_reset();
+
+ // device-level overrides
+ virtual void device_start();
+ virtual void device_reset();
+
+ // device locators
+ template<class T>
+ bool optional_device(T *&device, const char *tag)
+ {
+ device = downcast<T *>(m_machine.device<T>(tag));
+ return (device != NULL);
+ }
+
+ template<class T>
+ void required_device(T *&device, const char *tag)
+ {
+ if (!optional_device(device, tag))
+ throw emu_fatalerror("Unable to find device '%s'", tag);
+ }
+
+ // internal state
+ const driver_device_config_base &m_config;
};
diff --git a/src/emu/mconfig.c b/src/emu/mconfig.c
index 7ed1a5e7379..cc40d2e46e1 100644
--- a/src/emu/mconfig.c
+++ b/src/emu/mconfig.c
@@ -50,26 +50,16 @@
//-------------------------------------------------
machine_config::machine_config(machine_config_constructor constructor)
- : m_driver_data_alloc(NULL),
- m_minimum_quantum(attotime_zero),
+ : m_minimum_quantum(attotime_zero),
m_perfect_cpu_quantum(NULL),
m_watchdog_vblank_count(0),
m_watchdog_time(attotime_zero),
- m_machine_start(NULL),
- m_machine_reset(NULL),
m_nvram_handler(NULL),
m_memcard_handler(NULL),
m_video_attributes(0),
m_gfxdecodeinfo(NULL),
m_total_colors(0),
m_default_layout(NULL),
- m_init_palette(NULL),
- m_video_start(NULL),
- m_video_reset(NULL),
- m_video_eof(NULL),
- m_video_update(NULL),
- m_sound_start(NULL),
- m_sound_reset(NULL),
m_parse_level(0)
{
// construct the config
diff --git a/src/emu/mconfig.h b/src/emu/mconfig.h
index fda8f3e761c..fa3cce8bab1 100644
--- a/src/emu/mconfig.h
+++ b/src/emu/mconfig.h
@@ -91,55 +91,10 @@
#define MEMCARD_HANDLER(name) void MEMCARD_HANDLER_NAME(name)(running_machine *machine, mame_file *file, int action)
#define MEMCARD_HANDLER_CALL(name) MEMCARD_HANDLER_NAME(name)(machine, file, action)
-#define MACHINE_START_NAME(name) machine_start_##name
-#define MACHINE_START(name) void MACHINE_START_NAME(name)(running_machine *machine)
-#define MACHINE_START_CALL(name) MACHINE_START_NAME(name)(machine)
-
-#define MACHINE_RESET_NAME(name) machine_reset_##name
-#define MACHINE_RESET(name) void MACHINE_RESET_NAME(name)(running_machine *machine)
-#define MACHINE_RESET_CALL(name) MACHINE_RESET_NAME(name)(machine)
-
-#define SOUND_START_NAME(name) sound_start_##name
-#define SOUND_START(name) void SOUND_START_NAME(name)(running_machine *machine)
-#define SOUND_START_CALL(name) SOUND_START_NAME(name)(machine)
-
-#define SOUND_RESET_NAME(name) sound_reset_##name
-#define SOUND_RESET(name) void SOUND_RESET_NAME(name)(running_machine *machine)
-#define SOUND_RESET_CALL(name) SOUND_RESET_NAME(name)(machine)
-
-#define VIDEO_START_NAME(name) video_start_##name
-#define VIDEO_START(name) void VIDEO_START_NAME(name)(running_machine *machine)
-#define VIDEO_START_CALL(name) VIDEO_START_NAME(name)(machine)
-
-#define VIDEO_RESET_NAME(name) video_reset_##name
-#define VIDEO_RESET(name) void VIDEO_RESET_NAME(name)(running_machine *machine)
-#define VIDEO_RESET_CALL(name) VIDEO_RESET_NAME(name)(machine)
-
-#define PALETTE_INIT_NAME(name) palette_init_##name
-#define PALETTE_INIT(name) void PALETTE_INIT_NAME(name)(running_machine *machine, const UINT8 *color_prom)
-#define PALETTE_INIT_CALL(name) PALETTE_INIT_NAME(name)(machine, color_prom)
-
-#define VIDEO_EOF_NAME(name) video_eof_##name
-#define VIDEO_EOF(name) void VIDEO_EOF_NAME(name)(running_machine *machine)
-#define VIDEO_EOF_CALL(name) VIDEO_EOF_NAME(name)(machine)
-
-#define VIDEO_UPDATE_NAME(name) video_update_##name
-#define VIDEO_UPDATE(name) UINT32 VIDEO_UPDATE_NAME(name)(screen_device *screen, bitmap_t *bitmap, const rectangle *cliprect)
-#define VIDEO_UPDATE_CALL(name) VIDEO_UPDATE_NAME(name)(screen, bitmap, cliprect)
-
// NULL versions
#define nvram_handler_0 NULL
#define memcard_handler_0 NULL
-#define machine_start_0 NULL
-#define machine_reset_0 NULL
-#define sound_start_0 NULL
-#define sound_reset_0 NULL
-#define video_start_0 NULL
-#define video_reset_0 NULL
-#define palette_init_0 NULL
-#define video_eof_0 NULL
-#define video_update_0 NULL
@@ -149,23 +104,13 @@
// forward references
struct gfx_decode_entry;
-class driver_data_t;
+class driver_device;
// various callback functions
typedef void (*nvram_handler_func)(running_machine *machine, mame_file *file, int read_or_write);
typedef void (*memcard_handler_func)(running_machine *machine, mame_file *file, int action);
-typedef void (*machine_start_func)(running_machine *machine);
-typedef void (*machine_reset_func)(running_machine *machine);
-typedef void (*sound_start_func)(running_machine *machine);
-typedef void (*sound_reset_func)(running_machine *machine);
-typedef void (*video_start_func)(running_machine *machine);
-typedef void (*video_reset_func)(running_machine *machine);
-typedef void (*palette_init_func)(running_machine *machine, const UINT8 *color_prom);
-typedef void (*video_eof_func)(running_machine *machine);
-typedef UINT32 (*video_update_func)(screen_device *screen, bitmap_t *bitmap, const rectangle *cliprect);
-typedef driver_data_t *(*driver_data_alloc_func)(running_machine &machine);
@@ -182,16 +127,11 @@ public:
machine_config(machine_config_constructor constructor);
~machine_config();
- driver_data_alloc_func m_driver_data_alloc; // allocator for driver data
-
attotime m_minimum_quantum; // minimum scheduling quantum
const char * m_perfect_cpu_quantum; // tag of CPU to use for "perfect" scheduling
INT32 m_watchdog_vblank_count; // number of VBLANKs until the watchdog kills us
attotime m_watchdog_time; // length of time until the watchdog kills us
- machine_start_func m_machine_start; // one-time machine start callback
- machine_reset_func m_machine_reset; // machine reset callback
-
nvram_handler_func m_nvram_handler; // NVRAM save/load callback
memcard_handler_func m_memcard_handler; // memory card save/load callback
@@ -200,15 +140,6 @@ public:
UINT32 m_total_colors; // total number of colors in the palette
const char * m_default_layout; // default layout for this machine
- palette_init_func m_init_palette; // one-time palette init callback
- video_start_func m_video_start; // one-time video start callback
- video_reset_func m_video_reset; // video reset callback
- video_eof_func m_video_eof; // end-of-frame video callback
- video_update_func m_video_update; // video update callback
-
- sound_start_func m_sound_start; // one-time sound start callback
- sound_reset_func m_sound_reset; // sound reset callback
-
device_config_list m_devicelist; // list of device configs
// helpers during configuration; not for general use
@@ -231,43 +162,44 @@ private:
#define MACHINE_CONFIG_NAME(_name) construct_machine_config_##_name
#define MACHINE_CONFIG_START(_name, _class) \
-void MACHINE_CONFIG_NAME(_name)(machine_config &config, device_config *owner) \
+device_config *MACHINE_CONFIG_NAME(_name)(machine_config &config, device_config *owner) \
{ \
device_config *device = NULL; \
const char *tag; \
astring tempstring; \
(void)device; \
(void)tag; \
- assert(config.m_driver_data_alloc == NULL); \
- config.m_driver_data_alloc = &_class::alloc; \
+ assert(owner == NULL); \
+ owner = config.device_add(NULL, "root", &driver_device_config<_class>::static_alloc_device_config, 0); \
#define MACHINE_CONFIG_FRAGMENT(_name) \
-void MACHINE_CONFIG_NAME(_name)(machine_config &config, device_config *owner) \
+device_config *MACHINE_CONFIG_NAME(_name)(machine_config &config, device_config *owner) \
{ \
device_config *device = NULL; \
const char *tag; \
astring tempstring; \
(void)device; \
(void)tag; \
- assert(config.m_driver_data_alloc != NULL); \
+ assert(owner != NULL); \
#define MACHINE_CONFIG_DERIVED(_name, _base) \
-void MACHINE_CONFIG_NAME(_name)(machine_config &config, device_config *owner) \
+device_config *MACHINE_CONFIG_NAME(_name)(machine_config &config, device_config *owner) \
{ \
device_config *device = NULL; \
const char *tag; \
astring tempstring; \
(void)device; \
(void)tag; \
- MACHINE_CONFIG_NAME(_base)(config, owner); \
- assert(config.m_driver_data_alloc != NULL); \
+ owner = MACHINE_CONFIG_NAME(_base)(config, owner); \
+ assert(owner != NULL); \
#define MACHINE_CONFIG_END \
+ return owner; \
}
// use this to declare external references to a machine driver
#define MACHINE_CONFIG_EXTERN(_name) \
- extern void MACHINE_CONFIG_NAME(_name)(machine_config &config, device_config *owner)
+ extern device_config *MACHINE_CONFIG_NAME(_name)(machine_config &config, device_config *owner)
// importing data from other machine drivers
@@ -290,12 +222,6 @@ void MACHINE_CONFIG_NAME(_name)(machine_config &config, device_config *owner) \
// core functions
-#define MDRV_MACHINE_START(_func) \
- config.m_machine_start = MACHINE_START_NAME(_func); \
-
-#define MDRV_MACHINE_RESET(_func) \
- config.m_machine_reset = MACHINE_RESET_NAME(_func); \
-
#define MDRV_NVRAM_HANDLER(_func) \
config.m_nvram_handler = NVRAM_HANDLER_NAME(_func); \
@@ -317,29 +243,37 @@ void MACHINE_CONFIG_NAME(_name)(machine_config &config, device_config *owner) \
config.m_default_layout = &(_layout)[0]; \
+// core machine functions
+#define MDRV_MACHINE_START(_func) \
+ driver_device_config_base::static_set_callback(owner, driver_device_config_base::CB_MACHINE_START, MACHINE_START_NAME(_func)); \
+
+#define MDRV_MACHINE_RESET(_func) \
+ driver_device_config_base::static_set_callback(owner, driver_device_config_base::CB_MACHINE_RESET, MACHINE_RESET_NAME(_func)); \
+
+
+// core sound functions
+#define MDRV_SOUND_START(_func) \
+ driver_device_config_base::static_set_callback(owner, driver_device_config_base::CB_SOUND_START, SOUND_START_NAME(_func)); \
+
+#define MDRV_SOUND_RESET(_func) \
+ driver_device_config_base::static_set_callback(owner, driver_device_config_base::CB_SOUND_RESET, SOUND_RESET_NAME(_func)); \
+
+
// core video functions
#define MDRV_PALETTE_INIT(_func) \
- config.m_init_palette = PALETTE_INIT_NAME(_func); \
+ driver_device_config_base::static_set_palette_init(owner, PALETTE_INIT_NAME(_func)); \
#define MDRV_VIDEO_START(_func) \
- config.m_video_start = VIDEO_START_NAME(_func); \
+ driver_device_config_base::static_set_callback(owner, driver_device_config_base::CB_VIDEO_START, VIDEO_START_NAME(_func)); \
#define MDRV_VIDEO_RESET(_func) \
- config.m_video_reset = VIDEO_RESET_NAME(_func); \
+ driver_device_config_base::static_set_callback(owner, driver_device_config_base::CB_VIDEO_RESET, VIDEO_RESET_NAME(_func)); \
#define MDRV_VIDEO_EOF(_func) \
- config.m_video_eof = VIDEO_EOF_NAME(_func); \
+ driver_device_config_base::static_set_callback(owner, driver_device_config_base::CB_VIDEO_EOF, VIDEO_EOF_NAME(_func)); \
#define MDRV_VIDEO_UPDATE(_func) \
- config.m_video_update = VIDEO_UPDATE_NAME(_func); \
-
-
-// core sound functions
-#define MDRV_SOUND_START(_func) \
- config.m_sound_start = SOUND_START_NAME(_func); \
-
-#define MDRV_SOUND_RESET(_func) \
- config.m_sound_reset = SOUND_RESET_NAME(_func); \
+ driver_device_config_base::static_set_video_update(owner, VIDEO_UPDATE_NAME(_func)); \
// add/remove devices
diff --git a/src/emu/memory.c b/src/emu/memory.c
index 2bf2ff47b29..770fc31607f 100644
--- a/src/emu/memory.c
+++ b/src/emu/memory.c
@@ -2021,7 +2021,7 @@ void address_space::populate_map_entry(const address_map_entry &entry, read_or_w
case AMH_DEVICE_DELEGATE:
if (data.m_type == AMH_DRIVER_DELEGATE)
{
- object = m_machine.driver_data<driver_data_t>();
+ object = m_machine.driver_data<driver_device>();
if (object == NULL)
throw emu_fatalerror("Attempted to map a driver delegate in space %s of device '%s' when there is no driver data\n", m_name, m_device.tag());
}
diff --git a/src/emu/video.c b/src/emu/video.c
index ea270e8b5c4..829138b34bf 100644
--- a/src/emu/video.c
+++ b/src/emu/video.c
@@ -296,9 +296,6 @@ void video_init(running_machine *machine)
if (machine->config->m_video_attributes & VIDEO_BUFFERS_SPRITERAM)
init_buffered_spriteram(machine);
- /* call the PALETTE_INIT function */
- machine->driver_data<driver_data_t>()->palette_init(memory_region(machine, "proms"));
-
/* create a render target for snapshots */
viewname = options_get_string(machine->options(), OPTION_SNAPVIEW);
global.snap_native = (machine->primary_screen != NULL && (viewname[0] == 0 || strcmp(viewname, "native") == 0));
@@ -487,7 +484,7 @@ void video_frame_update(running_machine *machine, int debug)
else
{
g_profiler.start(PROFILER_VIDEO);
- machine->driver_data<driver_data_t>()->video_eof();
+ machine->driver_data<driver_device>()->video_eof();
g_profiler.stop();
}
}
@@ -2205,7 +2202,7 @@ bool screen_device::update_partial(int scanline)
g_profiler.start(PROFILER_VIDEO);
LOG_PARTIAL_UPDATES(("updating %d-%d\n", clip.min_y, clip.max_y));
- flags = machine->driver_data<driver_data_t>()->video_update(*this, *m_bitmap[m_curbitmap], clip);
+ flags = machine->driver_data<driver_device>()->video_update(*this, *m_bitmap[m_curbitmap], clip);
global.partial_updates_this_frame++;
g_profiler.stop();
diff --git a/src/mame/drivers/1945kiii.c b/src/mame/drivers/1945kiii.c
index 09924e03bbc..91e30847351 100644
--- a/src/mame/drivers/1945kiii.c
+++ b/src/mame/drivers/1945kiii.c
@@ -47,13 +47,11 @@ Notes:
#define MASTER_CLOCK XTAL_16MHz
-class k3_state : public driver_data_t
+class k3_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, k3_state(machine)); }
-
- k3_state(running_machine &machine)
- : driver_data_t(machine),
+ k3_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config),
oki1(machine.device<okim6295_device>("oki1")),
oki2(machine.device<okim6295_device>("oki2")) { }
diff --git a/src/mame/drivers/2mindril.c b/src/mame/drivers/2mindril.c
index eb5c47253ca..23f4d540870 100644
--- a/src/mame/drivers/2mindril.c
+++ b/src/mame/drivers/2mindril.c
@@ -49,13 +49,11 @@ DAC -26.6860Mhz
#include "sound/2610intf.h"
-class _2mindril_state : public driver_data_t
+class _2mindril_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, _2mindril_state(machine)); }
-
- _2mindril_state(running_machine &machine)
- : driver_data_t(machine) { }
+ _2mindril_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * map1ram;
diff --git a/src/mame/drivers/39in1.c b/src/mame/drivers/39in1.c
index b2a399e14f9..dd2b3ebd3cc 100644
--- a/src/mame/drivers/39in1.c
+++ b/src/mame/drivers/39in1.c
@@ -27,13 +27,11 @@
#include "machine/pxa255.h"
#include "sound/dmadac.h"
-class _39in1_state : public driver_data_t
+class _39in1_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, _39in1_state(machine)); }
-
- _39in1_state(running_machine &machine)
- : driver_data_t(machine) { }
+ _39in1_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT32 seed;
UINT32 magic;
diff --git a/src/mame/drivers/3super8.c b/src/mame/drivers/3super8.c
index 5c961c4623f..4c75b0224e4 100644
--- a/src/mame/drivers/3super8.c
+++ b/src/mame/drivers/3super8.c
@@ -64,7 +64,7 @@ GFXDECODE_END
-static MACHINE_CONFIG_START( 3super8, driver_data_t )
+static MACHINE_CONFIG_START( 3super8, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80,24000000/4) /* 6 MHz */
MDRV_CPU_PROGRAM_MAP(map)
diff --git a/src/mame/drivers/4roses.c b/src/mame/drivers/4roses.c
index a9ea9ae5728..2cf9c4b715c 100644
--- a/src/mame/drivers/4roses.c
+++ b/src/mame/drivers/4roses.c
@@ -379,7 +379,7 @@ static const mc6845_interface mc6845_intf =
* Machine Drivers *
**************************/
-static MACHINE_CONFIG_START( 4roses, driver_data_t )
+static MACHINE_CONFIG_START( 4roses, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M65C02, MASTER_CLOCK/8) /* 2MHz, guess */
MDRV_CPU_PROGRAM_MAP(4roses_map)
diff --git a/src/mame/drivers/5clown.c b/src/mame/drivers/5clown.c
index d2494d638bb..c1abb1373d0 100644
--- a/src/mame/drivers/5clown.c
+++ b/src/mame/drivers/5clown.c
@@ -1027,7 +1027,7 @@ static const ay8910_interface ay8910_config =
* Machine Drivers *
*************************/
-static MACHINE_CONFIG_START( fclown, driver_data_t )
+static MACHINE_CONFIG_START( fclown, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, MASTER_CLOCK/8) /* guess, seems ok */
diff --git a/src/mame/drivers/86lions.c b/src/mame/drivers/86lions.c
index e73da9c73d4..501feb44451 100644
--- a/src/mame/drivers/86lions.c
+++ b/src/mame/drivers/86lions.c
@@ -353,7 +353,7 @@ static PALETTE_INIT( lions )
}
}
-static MACHINE_CONFIG_START( lions, driver_data_t )
+static MACHINE_CONFIG_START( lions, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6809, MAIN_CLOCK/4) /* 3 MHz.(guess) */
MDRV_CPU_PROGRAM_MAP(lions_map)
diff --git a/src/mame/drivers/ace.c b/src/mame/drivers/ace.c
index 7f2007ab8a2..aaeb497a189 100644
--- a/src/mame/drivers/ace.c
+++ b/src/mame/drivers/ace.c
@@ -43,13 +43,11 @@ A1 2101 2101
#define MASTER_CLOCK XTAL_18MHz
-class ace_state : public driver_data_t
+class ace_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ace_state(machine)); }
-
- ace_state(running_machine &machine)
- : driver_data_t(machine) { }
+ ace_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* video-related */
UINT8 * ram2;
diff --git a/src/mame/drivers/acefruit.c b/src/mame/drivers/acefruit.c
index b6adc3ec458..d5c48f702e4 100644
--- a/src/mame/drivers/acefruit.c
+++ b/src/mame/drivers/acefruit.c
@@ -547,7 +547,7 @@ static GFXDECODE_START( acefruit )
GFXDECODE_ENTRY( "gfx1", 0x1800, charlayout, 8, 4 )
GFXDECODE_END
-static MACHINE_CONFIG_START( acefruit, driver_data_t )
+static MACHINE_CONFIG_START( acefruit, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 2500000) /* 2.5MHz */
diff --git a/src/mame/drivers/acommand.c b/src/mame/drivers/acommand.c
index 10023eebb95..6095bcea421 100644
--- a/src/mame/drivers/acommand.c
+++ b/src/mame/drivers/acommand.c
@@ -558,7 +558,7 @@ static INTERRUPT_GEN( acommand_irq )
}
}
-static MACHINE_CONFIG_START( acommand, driver_data_t )
+static MACHINE_CONFIG_START( acommand, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu",M68000,12000000)
diff --git a/src/mame/drivers/adp.c b/src/mame/drivers/adp.c
index 40492d87398..ba32dac2c51 100644
--- a/src/mame/drivers/adp.c
+++ b/src/mame/drivers/adp.c
@@ -152,13 +152,11 @@ Video board has additional chips:
#include "machine/microtch.h"
#include "machine/68681.h"
-class adp_state : public driver_data_t
+class adp_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, adp_state(machine)); }
-
- adp_state(running_machine &machine)
- : driver_data_t(machine) { }
+ adp_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* misc */
UINT8 mux_data;
diff --git a/src/mame/drivers/albazc.c b/src/mame/drivers/albazc.c
index edf4197f4fa..f69f0720bfa 100644
--- a/src/mame/drivers/albazc.c
+++ b/src/mame/drivers/albazc.c
@@ -14,13 +14,11 @@ TODO:
#include "cpu/z80/z80.h"
#include "sound/ay8910.h"
-class albazc_state : public driver_data_t
+class albazc_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, albazc_state(machine)); }
-
- albazc_state(running_machine &machine)
- : driver_data_t(machine) { }
+ albazc_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* video-related */
UINT8 * spriteram1;
diff --git a/src/mame/drivers/albazg.c b/src/mame/drivers/albazg.c
index db60c41eaf2..72d2f3de428 100644
--- a/src/mame/drivers/albazg.c
+++ b/src/mame/drivers/albazg.c
@@ -61,13 +61,11 @@ Code disassembling
#include "machine/8255ppi.h"
-class albazg_state : public driver_data_t
+class albazg_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, albazg_state(machine)); }
-
- albazg_state(running_machine &machine)
- : driver_data_t(machine) { }
+ albazg_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * cus_ram;
diff --git a/src/mame/drivers/alg.c b/src/mame/drivers/alg.c
index 3c2356b0a8a..3addf61b0cd 100644
--- a/src/mame/drivers/alg.c
+++ b/src/mame/drivers/alg.c
@@ -403,7 +403,7 @@ static const mos6526_interface cia_1_intf =
DEVCB_NULL /* port B */
};
-static MACHINE_CONFIG_START( alg_r1, driver_data_t )
+static MACHINE_CONFIG_START( alg_r1, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, AMIGA_68000_NTSC_CLOCK)
diff --git a/src/mame/drivers/amaticmg.c b/src/mame/drivers/amaticmg.c
index 347cfc5adb9..e2ec14a734c 100644
--- a/src/mame/drivers/amaticmg.c
+++ b/src/mame/drivers/amaticmg.c
@@ -610,7 +610,7 @@ GFXDECODE_END
* Machine Drivers *
************************************/
-static MACHINE_CONFIG_START( amaticmg, driver_data_t )
+static MACHINE_CONFIG_START( amaticmg, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, CPU_CLOCK) /* WRONG! */
MDRV_CPU_PROGRAM_MAP(amaticmg_map)
diff --git a/src/mame/drivers/ampoker2.c b/src/mame/drivers/ampoker2.c
index a81cd960e2e..1db26cb00d3 100644
--- a/src/mame/drivers/ampoker2.c
+++ b/src/mame/drivers/ampoker2.c
@@ -1054,7 +1054,7 @@ static const ay8910_interface ay8910_config =
* Machine Driver *
*************************/
-static MACHINE_CONFIG_START( ampoker2, driver_data_t )
+static MACHINE_CONFIG_START( ampoker2, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/2) /* 3 MHz */
diff --git a/src/mame/drivers/arcadia.c b/src/mame/drivers/arcadia.c
index aa068ccb07f..330bb4675ed 100644
--- a/src/mame/drivers/arcadia.c
+++ b/src/mame/drivers/arcadia.c
@@ -286,7 +286,7 @@ static const mos6526_interface cia_1_intf =
DEVCB_NULL
};
-static MACHINE_CONFIG_START( arcadia, driver_data_t )
+static MACHINE_CONFIG_START( arcadia, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, AMIGA_68000_NTSC_CLOCK)
diff --git a/src/mame/drivers/argus.c b/src/mame/drivers/argus.c
index d26e409209e..f795fad1cb0 100644
--- a/src/mame/drivers/argus.c
+++ b/src/mame/drivers/argus.c
@@ -529,7 +529,7 @@ static GFXDECODE_START( butasan )
GFXDECODE_END
-static MACHINE_CONFIG_START( argus, driver_data_t )
+static MACHINE_CONFIG_START( argus, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 5000000) /* 4 MHz */
@@ -587,7 +587,7 @@ static MACHINE_CONFIG_START( argus, driver_data_t )
#endif
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( valtric, driver_data_t )
+static MACHINE_CONFIG_START( valtric, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 5000000) /* 5 MHz */
@@ -632,7 +632,7 @@ static MACHINE_CONFIG_START( valtric, driver_data_t )
MDRV_SOUND_ROUTE(3, "mono", 0.50)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( butasan, driver_data_t )
+static MACHINE_CONFIG_START( butasan, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 5000000) /* 5 MHz */
diff --git a/src/mame/drivers/aristmk4.c b/src/mame/drivers/aristmk4.c
index 7a10fea9549..570eec8aa1e 100644
--- a/src/mame/drivers/aristmk4.c
+++ b/src/mame/drivers/aristmk4.c
@@ -1194,7 +1194,7 @@ static MACHINE_RESET( aristmk4 )
}
-static MACHINE_CONFIG_START( aristmk4, driver_data_t )
+static MACHINE_CONFIG_START( aristmk4, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6809, MAIN_CLOCK/8) // 1.5mhz (goldenc needs a bit faster for some reason)
diff --git a/src/mame/drivers/aristmk5.c b/src/mame/drivers/aristmk5.c
index 610dbc233cc..927bac6c45e 100644
--- a/src/mame/drivers/aristmk5.c
+++ b/src/mame/drivers/aristmk5.c
@@ -214,7 +214,7 @@ static const i2cmem_interface i2cmem_interface =
};
-static MACHINE_CONFIG_START( aristmk5, driver_data_t )
+static MACHINE_CONFIG_START( aristmk5, driver_device )
MDRV_CPU_ADD("maincpu", ARM, 10000000) // ?
MDRV_CPU_PROGRAM_MAP(aristmk5_map)
diff --git a/src/mame/drivers/artmagic.c b/src/mame/drivers/artmagic.c
index dcad0ab4457..1f988ad184d 100644
--- a/src/mame/drivers/artmagic.c
+++ b/src/mame/drivers/artmagic.c
@@ -705,7 +705,7 @@ INPUT_PORTS_END
*
*************************************/
-static MACHINE_CONFIG_START( artmagic, driver_data_t )
+static MACHINE_CONFIG_START( artmagic, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, MASTER_CLOCK_25MHz/2)
diff --git a/src/mame/drivers/asteroid.c b/src/mame/drivers/asteroid.c
index 710790b923f..094d21450b5 100644
--- a/src/mame/drivers/asteroid.c
+++ b/src/mame/drivers/asteroid.c
@@ -609,7 +609,7 @@ static const pokey_interface pokey_config =
*
*************************************/
-static MACHINE_CONFIG_START( asteroid, driver_data_t )
+static MACHINE_CONFIG_START( asteroid, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, MASTER_CLOCK/8)
diff --git a/src/mame/drivers/astinvad.c b/src/mame/drivers/astinvad.c
index e399d0907d3..bc27811fd1d 100644
--- a/src/mame/drivers/astinvad.c
+++ b/src/mame/drivers/astinvad.c
@@ -41,13 +41,11 @@ enum
};
-class astinvad_state : public driver_data_t
+class astinvad_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, astinvad_state(machine)); }
-
- astinvad_state(running_machine &machine)
- : driver_data_t(machine) { }
+ astinvad_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT8 * colorram;
UINT8 * videoram;
diff --git a/src/mame/drivers/astrocde.c b/src/mame/drivers/astrocde.c
index e554724c6a3..e4afee6fc05 100644
--- a/src/mame/drivers/astrocde.c
+++ b/src/mame/drivers/astrocde.c
@@ -1270,7 +1270,7 @@ static const z80_daisy_config tenpin_daisy_chain[] =
*
*************************************/
-static MACHINE_CONFIG_START( astrocade_base, driver_data_t )
+static MACHINE_CONFIG_START( astrocade_base, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, ASTROCADE_CLOCK/4)
diff --git a/src/mame/drivers/astrocorp.c b/src/mame/drivers/astrocorp.c
index 6c57ab28a74..d6fba541be3 100644
--- a/src/mame/drivers/astrocorp.c
+++ b/src/mame/drivers/astrocorp.c
@@ -35,13 +35,11 @@ To do:
#include "machine/ticket.h"
#include "sound/okim6295.h"
-class astrocorp_state : public driver_data_t
+class astrocorp_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, astrocorp_state(machine)); }
-
- astrocorp_state(running_machine &machine)
- : driver_data_t(machine) { }
+ astrocorp_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * spriteram;
diff --git a/src/mame/drivers/atarisy4.c b/src/mame/drivers/atarisy4.c
index a33dedcb2c8..94d974e72dc 100644
--- a/src/mame/drivers/atarisy4.c
+++ b/src/mame/drivers/atarisy4.c
@@ -694,7 +694,7 @@ INPUT_PORTS_END
*
*************************************/
-static MACHINE_CONFIG_START( atarisy4, driver_data_t )
+static MACHINE_CONFIG_START( atarisy4, driver_device )
MDRV_CPU_ADD("maincpu", M68000, 8000000)
MDRV_CPU_PROGRAM_MAP(main_map)
MDRV_CPU_VBLANK_INT("screen", vblank_int)
diff --git a/src/mame/drivers/ataxx.c b/src/mame/drivers/ataxx.c
index 85b23e18f81..fb0f46a0f29 100644
--- a/src/mame/drivers/ataxx.c
+++ b/src/mame/drivers/ataxx.c
@@ -310,7 +310,7 @@ static const eeprom_interface eeprom_intf =
*
*************************************/
-static MACHINE_CONFIG_START( ataxx, driver_data_t )
+static MACHINE_CONFIG_START( ataxx, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("master", Z80, 6000000)
diff --git a/src/mame/drivers/atetris.c b/src/mame/drivers/atetris.c
index 399ee799319..7b26490767c 100644
--- a/src/mame/drivers/atetris.c
+++ b/src/mame/drivers/atetris.c
@@ -338,7 +338,7 @@ static const pokey_interface pokey_interface_2 =
*
*************************************/
-static MACHINE_CONFIG_START( atetris, driver_data_t )
+static MACHINE_CONFIG_START( atetris, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502,MASTER_CLOCK/8)
@@ -374,7 +374,7 @@ static MACHINE_CONFIG_START( atetris, driver_data_t )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( atetrisb2, driver_data_t )
+static MACHINE_CONFIG_START( atetrisb2, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502,BOOTLEG_CLOCK/8)
diff --git a/src/mame/drivers/attckufo.c b/src/mame/drivers/attckufo.c
index 83781faf5ad..9ed929267ae 100644
--- a/src/mame/drivers/attckufo.c
+++ b/src/mame/drivers/attckufo.c
@@ -46,13 +46,11 @@ LOIPOIO-B
#include "sound/mos6560.h"
-class attckufo_state : public driver_data_t
+class attckufo_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, attckufo_state(machine)); }
-
- attckufo_state(running_machine &machine)
- : driver_data_t(machine),
+ attckufo_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config),
maincpu(machine.device<cpu_device>("maincpu")),
mos6560(machine.device("mos6560")) { }
diff --git a/src/mame/drivers/aztarac.c b/src/mame/drivers/aztarac.c
index a6939d085db..ab4ecc20c2b 100644
--- a/src/mame/drivers/aztarac.c
+++ b/src/mame/drivers/aztarac.c
@@ -143,7 +143,7 @@ INPUT_PORTS_END
*
*************************************/
-static MACHINE_CONFIG_START( aztarac, driver_data_t )
+static MACHINE_CONFIG_START( aztarac, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 8000000)
diff --git a/src/mame/drivers/backfire.c b/src/mame/drivers/backfire.c
index 461697bbc71..96ab9cecb52 100644
--- a/src/mame/drivers/backfire.c
+++ b/src/mame/drivers/backfire.c
@@ -20,13 +20,11 @@
#include "video/deco16ic.h"
#include "rendlay.h"
-class backfire_state : public driver_data_t
+class backfire_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, backfire_state(machine)); }
-
- backfire_state(running_machine &machine)
- : driver_data_t(machine) { }
+ backfire_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * pf1_rowscroll;
diff --git a/src/mame/drivers/bagman.c b/src/mame/drivers/bagman.c
index 3f31f53bc68..31d3edba4b7 100644
--- a/src/mame/drivers/bagman.c
+++ b/src/mame/drivers/bagman.c
@@ -468,7 +468,7 @@ static const tms5110_interface bagman_tms5110_interface =
DEVCB_NULL /* rom clock - Only used to drive the data lines */
};
-static MACHINE_CONFIG_START( bagman, driver_data_t )
+static MACHINE_CONFIG_START( bagman, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, BAGMAN_H0)
@@ -504,7 +504,7 @@ static MACHINE_CONFIG_START( bagman, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( pickin, driver_data_t )
+static MACHINE_CONFIG_START( pickin, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, BAGMAN_H0)
@@ -556,7 +556,7 @@ z80
*/
-static MACHINE_CONFIG_START( botanic, driver_data_t )
+static MACHINE_CONFIG_START( botanic, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, BAGMAN_H0)
diff --git a/src/mame/drivers/baraduke.c b/src/mame/drivers/baraduke.c
index c58d0b76b54..2b86fc811b7 100644
--- a/src/mame/drivers/baraduke.c
+++ b/src/mame/drivers/baraduke.c
@@ -390,7 +390,7 @@ static const namco_interface namco_config =
-static MACHINE_CONFIG_START( baraduke, driver_data_t )
+static MACHINE_CONFIG_START( baraduke, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6809,49152000/32)
diff --git a/src/mame/drivers/battlera.c b/src/mame/drivers/battlera.c
index 40b741ace83..f6422b1f52a 100644
--- a/src/mame/drivers/battlera.c
+++ b/src/mame/drivers/battlera.c
@@ -241,7 +241,7 @@ static const c6280_interface c6280_config =
"audiocpu"
};
-static MACHINE_CONFIG_START( battlera, driver_data_t )
+static MACHINE_CONFIG_START( battlera, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", H6280,21477200/3)
diff --git a/src/mame/drivers/beaminv.c b/src/mame/drivers/beaminv.c
index e649d1757d0..6594ec1ea37 100644
--- a/src/mame/drivers/beaminv.c
+++ b/src/mame/drivers/beaminv.c
@@ -55,13 +55,11 @@ Stephh's notes (based on the games Z80 code and some tests) :
#include "cpu/z80/z80.h"
-class beaminv_state : public driver_data_t
+class beaminv_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, beaminv_state(machine)); }
-
- beaminv_state(running_machine &machine)
- : driver_data_t(machine) { }
+ beaminv_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/drivers/beathead.c b/src/mame/drivers/beathead.c
index 93311f6d705..65e37fc7aeb 100644
--- a/src/mame/drivers/beathead.c
+++ b/src/mame/drivers/beathead.c
@@ -498,8 +498,8 @@ static DRIVER_INIT( beathead )
atarijsa_init(machine, "IN2", 0x0040);
/* prepare the speedups */
- state->m_speedup_data = state->m_maincpu.space(AS_PROGRAM)->install_handler(0x00000ae8, 0x00000aeb, 0, 0, read32_delegate_create(beathead_state, speedup_r, *state));
- state->m_movie_speedup_data = state->m_maincpu.space(AS_PROGRAM)->install_handler(0x00000804, 0x00000807, 0, 0, read32_delegate_create(beathead_state, movie_speedup_r, *state));
+ state->m_speedup_data = state->m_maincpu->space(AS_PROGRAM)->install_handler(0x00000ae8, 0x00000aeb, 0, 0, read32_delegate_create(beathead_state, speedup_r, *state));
+ state->m_movie_speedup_data = state->m_maincpu->space(AS_PROGRAM)->install_handler(0x00000804, 0x00000807, 0, 0, read32_delegate_create(beathead_state, movie_speedup_r, *state));
}
diff --git a/src/mame/drivers/beezer.c b/src/mame/drivers/beezer.c
index 7a4e5aa613f..5c39cd1f958 100644
--- a/src/mame/drivers/beezer.c
+++ b/src/mame/drivers/beezer.c
@@ -72,7 +72,7 @@ static INPUT_PORTS_START( beezer )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
INPUT_PORTS_END
-static MACHINE_CONFIG_START( beezer, driver_data_t )
+static MACHINE_CONFIG_START( beezer, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6809, 1000000) /* 1 MHz */
diff --git a/src/mame/drivers/berzerk.c b/src/mame/drivers/berzerk.c
index ba64b7f960b..72d4f3dfd07 100644
--- a/src/mame/drivers/berzerk.c
+++ b/src/mame/drivers/berzerk.c
@@ -1043,7 +1043,7 @@ INPUT_PORTS_END
*
*************************************/
-static MACHINE_CONFIG_START( berzerk, driver_data_t )
+static MACHINE_CONFIG_START( berzerk, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, MAIN_CPU_CLOCK)
diff --git a/src/mame/drivers/bestleag.c b/src/mame/drivers/bestleag.c
index 9781242d7be..33e87721e56 100644
--- a/src/mame/drivers/bestleag.c
+++ b/src/mame/drivers/bestleag.c
@@ -328,7 +328,7 @@ static GFXDECODE_START( bestleag )
GFXDECODE_ENTRY( "gfx2", 0, bestleag_char16layout, 0x300, 16 )
GFXDECODE_END
-static MACHINE_CONFIG_START( bestleag, driver_data_t )
+static MACHINE_CONFIG_START( bestleag, driver_device )
MDRV_CPU_ADD("maincpu", M68000, 12000000)
MDRV_CPU_PROGRAM_MAP(bestleag_map)
MDRV_CPU_VBLANK_INT("screen", irq6_line_hold)
diff --git a/src/mame/drivers/bfcobra.c b/src/mame/drivers/bfcobra.c
index 2f938da24e1..4f2130fb75b 100644
--- a/src/mame/drivers/bfcobra.c
+++ b/src/mame/drivers/bfcobra.c
@@ -1729,7 +1729,7 @@ static INTERRUPT_GEN( vblank_gen )
update_irqs(device->machine);
}
-static MACHINE_CONFIG_START( bfcobra, driver_data_t )
+static MACHINE_CONFIG_START( bfcobra, driver_device )
MDRV_CPU_ADD("maincpu", Z80, Z80_XTAL)
MDRV_CPU_PROGRAM_MAP(z80_prog_map)
MDRV_CPU_IO_MAP(z80_io_map)
diff --git a/src/mame/drivers/bfm_sc1.c b/src/mame/drivers/bfm_sc1.c
index 3dbd31aebff..6491bd6133b 100644
--- a/src/mame/drivers/bfm_sc1.c
+++ b/src/mame/drivers/bfm_sc1.c
@@ -1240,7 +1240,7 @@ INPUT_PORTS_END
// machine driver for scorpion1 board ///////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////
-static MACHINE_CONFIG_START( scorpion1, driver_data_t )
+static MACHINE_CONFIG_START( scorpion1, driver_device )
MDRV_MACHINE_RESET(bfm_sc1) // main scorpion1 board initialisation
MDRV_CPU_ADD("maincpu", M6809, MASTER_CLOCK/4) // 6809 CPU at 1 Mhz
MDRV_CPU_PROGRAM_MAP(memmap) // setup read and write memorymap
diff --git a/src/mame/drivers/bfm_sc2.c b/src/mame/drivers/bfm_sc2.c
index c61d074179e..4b0fe589be7 100644
--- a/src/mame/drivers/bfm_sc2.c
+++ b/src/mame/drivers/bfm_sc2.c
@@ -2216,7 +2216,7 @@ INPUT_PORTS_END
// machine driver for scorpion2 board + adder2 expansion //////////////////
///////////////////////////////////////////////////////////////////////////
-static MACHINE_CONFIG_START( scorpion2_vid, driver_data_t )
+static MACHINE_CONFIG_START( scorpion2_vid, driver_device )
MDRV_MACHINE_RESET( init ) // main scorpion2 board initialisation
MDRV_QUANTUM_TIME(HZ(960)) // needed for serial communication !!
MDRV_CPU_ADD("maincpu", M6809, MASTER_CLOCK/4 ) // 6809 CPU at 2 Mhz
@@ -3967,7 +3967,7 @@ INPUT_PORTS_END
/* machine driver for scorpion2 board */
-static MACHINE_CONFIG_START( scorpion2, driver_data_t )
+static MACHINE_CONFIG_START( scorpion2, driver_device )
MDRV_MACHINE_RESET(awp_init)
MDRV_CPU_ADD("maincpu", M6809, MASTER_CLOCK/4 )
MDRV_CPU_PROGRAM_MAP(sc2_memmap)
@@ -3995,7 +3995,7 @@ MACHINE_CONFIG_END
/* machine driver for scorpion2 board + matrix board */
-static MACHINE_CONFIG_START( scorpion2_dm01, driver_data_t )
+static MACHINE_CONFIG_START( scorpion2_dm01, driver_device )
MDRV_MACHINE_RESET(dm01_init)
MDRV_QUANTUM_TIME(HZ(960)) // needed for serial communication !!
MDRV_CPU_ADD("maincpu", M6809, MASTER_CLOCK/4 )
diff --git a/src/mame/drivers/bfmsys85.c b/src/mame/drivers/bfmsys85.c
index ae050f92ca7..797fc779b22 100644
--- a/src/mame/drivers/bfmsys85.c
+++ b/src/mame/drivers/bfmsys85.c
@@ -433,7 +433,7 @@ ADDRESS_MAP_END
// machine driver for system85 board //////////////////////////////////////
-static MACHINE_CONFIG_START( bfmsys85, driver_data_t )
+static MACHINE_CONFIG_START( bfmsys85, driver_device )
MDRV_MACHINE_START(bfm_sys85) // main system85 board initialisation
MDRV_MACHINE_RESET(bfm_sys85)
MDRV_CPU_ADD("maincpu", M6809, MASTER_CLOCK/4) // 6809 CPU at 1 Mhz
diff --git a/src/mame/drivers/big10.c b/src/mame/drivers/big10.c
index 5156d560eba..82bcd1eff64 100644
--- a/src/mame/drivers/big10.c
+++ b/src/mame/drivers/big10.c
@@ -237,7 +237,7 @@ static const ay8910_interface ay8910_config =
* Machine Driver *
**************************************/
-static MACHINE_CONFIG_START( big10, driver_data_t )
+static MACHINE_CONFIG_START( big10, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/6) /* guess */
diff --git a/src/mame/drivers/bigfghtr.c b/src/mame/drivers/bigfghtr.c
index d3e0dcfbb54..65f07ed4b32 100644
--- a/src/mame/drivers/bigfghtr.c
+++ b/src/mame/drivers/bigfghtr.c
@@ -117,13 +117,11 @@ Notes:
#include "sound/3812intf.h"
-class bigfghtr_state : public driver_data_t
+class bigfghtr_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, bigfghtr_state(machine)); }
-
- bigfghtr_state(running_machine &machine)
- : driver_data_t(machine) { }
+ bigfghtr_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* video-related */
UINT16 * text_videoram;
diff --git a/src/mame/drivers/bingoc.c b/src/mame/drivers/bingoc.c
index 2c9e14591ba..b2deecec3e9 100644
--- a/src/mame/drivers/bingoc.c
+++ b/src/mame/drivers/bingoc.c
@@ -125,7 +125,7 @@ static INPUT_PORTS_START( bingoc )
INPUT_PORTS_END
-static MACHINE_CONFIG_START( bingoc, driver_data_t )
+static MACHINE_CONFIG_START( bingoc, driver_device )
MDRV_CPU_ADD("maincpu", M68000,8000000) /* ? MHz */
MDRV_CPU_PROGRAM_MAP(main_map)
diff --git a/src/mame/drivers/bingor.c b/src/mame/drivers/bingor.c
index 9eb1b0b7a73..4232363ef8e 100644
--- a/src/mame/drivers/bingor.c
+++ b/src/mame/drivers/bingor.c
@@ -602,7 +602,7 @@ static GFXDECODE_START( bingor )
GFXDECODE_END
-static MACHINE_CONFIG_START( bingor, driver_data_t )
+static MACHINE_CONFIG_START( bingor, driver_device )
MDRV_CPU_ADD("maincpu", I80186, 14000000 ) //?? Mhz
MDRV_CPU_PROGRAM_MAP(bingor_map)
MDRV_CPU_IO_MAP(bingor_io)
diff --git a/src/mame/drivers/bishjan.c b/src/mame/drivers/bishjan.c
index 534b2575cd7..89b2ea921aa 100644
--- a/src/mame/drivers/bishjan.c
+++ b/src/mame/drivers/bishjan.c
@@ -825,7 +825,7 @@ static INTERRUPT_GEN( bishjan_interrupt )
}
}
-static MACHINE_CONFIG_START( bishjan, driver_data_t )
+static MACHINE_CONFIG_START( bishjan, driver_device )
MDRV_CPU_ADD("maincpu", H83044, XTAL_44_1MHz / 3)
MDRV_CPU_PROGRAM_MAP( bishjan_map)
MDRV_CPU_VBLANK_INT_HACK(bishjan_interrupt,2)
@@ -856,7 +856,7 @@ static INTERRUPT_GEN( saklove_interrupt )
cpu_set_input_line_and_vector(device,0,HOLD_LINE,0x4c/4);
}
-static MACHINE_CONFIG_START( saklove, driver_data_t )
+static MACHINE_CONFIG_START( saklove, driver_device )
MDRV_CPU_ADD("maincpu", I80188, XTAL_20MHz ) // !! AMD AM188-EM !!
MDRV_CPU_PROGRAM_MAP( saklove_map)
MDRV_CPU_IO_MAP( saklove_io)
diff --git a/src/mame/drivers/blackt96.c b/src/mame/drivers/blackt96.c
index 242820e86b5..cde9cb53f29 100644
--- a/src/mame/drivers/blackt96.c
+++ b/src/mame/drivers/blackt96.c
@@ -471,7 +471,7 @@ ADDRESS_MAP_END
-static MACHINE_CONFIG_START( blackt96, driver_data_t )
+static MACHINE_CONFIG_START( blackt96, driver_device )
MDRV_CPU_ADD("maincpu", M68000, 18000000 /2)
MDRV_CPU_PROGRAM_MAP(blackt96_map)
MDRV_CPU_VBLANK_INT("screen", irq1_line_hold)
diff --git a/src/mame/drivers/blitz.c b/src/mame/drivers/blitz.c
index 59516320106..7ffd185549a 100644
--- a/src/mame/drivers/blitz.c
+++ b/src/mame/drivers/blitz.c
@@ -766,7 +766,7 @@ static const mc6845_interface mc6845_intf =
* Machine Drivers *
*********************************************/
-static MACHINE_CONFIG_START( megadpkr, driver_data_t )
+static MACHINE_CONFIG_START( megadpkr, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, CPU_CLOCK)
diff --git a/src/mame/drivers/bloodbro.c b/src/mame/drivers/bloodbro.c
index 32aac8074ee..1a6333ec9d7 100644
--- a/src/mame/drivers/bloodbro.c
+++ b/src/mame/drivers/bloodbro.c
@@ -433,7 +433,7 @@ GFXDECODE_END
/* Machine Drivers */
-static MACHINE_CONFIG_START( bloodbro, driver_data_t )
+static MACHINE_CONFIG_START( bloodbro, driver_device )
// basic machine hardware
MDRV_CPU_ADD("maincpu", M68000, XTAL_20MHz/2) /* verified on pcb */
MDRV_CPU_PROGRAM_MAP(bloodbro_map)
diff --git a/src/mame/drivers/bmcbowl.c b/src/mame/drivers/bmcbowl.c
index 50103633873..a5dc20b6792 100644
--- a/src/mame/drivers/bmcbowl.c
+++ b/src/mame/drivers/bmcbowl.c
@@ -492,7 +492,7 @@ static INTERRUPT_GEN( bmc_interrupt )
cpu_set_input_line(device, 2, HOLD_LINE);
}
-static MACHINE_CONFIG_START( bmcbowl, driver_data_t )
+static MACHINE_CONFIG_START( bmcbowl, driver_device )
MDRV_CPU_ADD("maincpu", M68000, 21477270/2 )
MDRV_CPU_PROGRAM_MAP(bmcbowl_mem)
MDRV_CPU_VBLANK_INT_HACK(bmc_interrupt,2)
diff --git a/src/mame/drivers/bnstars.c b/src/mame/drivers/bnstars.c
index 427ada851ad..20797871d9e 100644
--- a/src/mame/drivers/bnstars.c
+++ b/src/mame/drivers/bnstars.c
@@ -1324,7 +1324,7 @@ static MACHINE_RESET( ms32 )
}
-static MACHINE_CONFIG_START( bnstars, driver_data_t )
+static MACHINE_CONFIG_START( bnstars, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", V70, 20000000) // 20MHz
diff --git a/src/mame/drivers/boxer.c b/src/mame/drivers/boxer.c
index 4cae524f53a..b3462b973a8 100644
--- a/src/mame/drivers/boxer.c
+++ b/src/mame/drivers/boxer.c
@@ -20,13 +20,11 @@
*
*************************************/
-class boxer_state : public driver_data_t
+class boxer_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, boxer_state(machine)); }
-
- boxer_state(running_machine &machine)
- : driver_data_t(machine) { }
+ boxer_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * tile_ram;
diff --git a/src/mame/drivers/btoads.c b/src/mame/drivers/btoads.c
index 6196904de7e..1a6d8277f64 100644
--- a/src/mame/drivers/btoads.c
+++ b/src/mame/drivers/btoads.c
@@ -331,7 +331,7 @@ static const tms34010_config tms_config =
*
*************************************/
-static MACHINE_CONFIG_START( btoads, driver_data_t )
+static MACHINE_CONFIG_START( btoads, driver_device )
MDRV_CPU_ADD("maincpu", TMS34020, CPU_CLOCK/2)
MDRV_CPU_CONFIG(tms_config)
diff --git a/src/mame/drivers/buster.c b/src/mame/drivers/buster.c
index 80b72d34ac1..36d24f07494 100644
--- a/src/mame/drivers/buster.c
+++ b/src/mame/drivers/buster.c
@@ -69,7 +69,7 @@ static GFXDECODE_START( buster )
GFXDECODE_ENTRY( "gfx1", 0, tiles8x8_layout, 0, 16 )
GFXDECODE_END
-static MACHINE_CONFIG_START( buster, driver_data_t )
+static MACHINE_CONFIG_START( buster, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80,8000000) /* ? MHz */
MDRV_CPU_PROGRAM_MAP(mainmap)
diff --git a/src/mame/drivers/bwidow.c b/src/mame/drivers/bwidow.c
index 6f0bc48bec9..9ad264a8b80 100644
--- a/src/mame/drivers/bwidow.c
+++ b/src/mame/drivers/bwidow.c
@@ -709,7 +709,7 @@ static const pokey_interface pokey_interface_2 =
*
*************************************/
-static MACHINE_CONFIG_START( bwidow, driver_data_t )
+static MACHINE_CONFIG_START( bwidow, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, MASTER_CLOCK / 8)
diff --git a/src/mame/drivers/bzone.c b/src/mame/drivers/bzone.c
index 4e790d714fe..1f3ca592ccd 100644
--- a/src/mame/drivers/bzone.c
+++ b/src/mame/drivers/bzone.c
@@ -549,7 +549,7 @@ static const pokey_interface redbaron_pokey_interface =
*
*************************************/
-static MACHINE_CONFIG_START( bzone_base, driver_data_t )
+static MACHINE_CONFIG_START( bzone_base, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, BZONE_MASTER_CLOCK / 8)
diff --git a/src/mame/drivers/cabaret.c b/src/mame/drivers/cabaret.c
index 5b1a5a3859c..7d5714d75c5 100644
--- a/src/mame/drivers/cabaret.c
+++ b/src/mame/drivers/cabaret.c
@@ -303,7 +303,7 @@ static INTERRUPT_GEN( cabaret_interrupt )
cpu_set_input_line(device, INPUT_LINE_NMI, PULSE_LINE);
}
-static MACHINE_CONFIG_START( cabaret, driver_data_t )
+static MACHINE_CONFIG_START( cabaret, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z180, XTAL_12MHz / 2)
MDRV_CPU_PROGRAM_MAP(cabaret_map)
diff --git a/src/mame/drivers/calchase.c b/src/mame/drivers/calchase.c
index 05ef3683911..dcbc35f4df0 100644
--- a/src/mame/drivers/calchase.c
+++ b/src/mame/drivers/calchase.c
@@ -648,7 +648,7 @@ static void calchase_set_keyb_int(running_machine *machine, int state) {
}
-static MACHINE_CONFIG_START( calchase, driver_data_t )
+static MACHINE_CONFIG_START( calchase, driver_device )
MDRV_CPU_ADD("maincpu", PENTIUM, 200000000) // Cyrix 686MX-PR200 CPU
MDRV_CPU_PROGRAM_MAP(calchase_map)
MDRV_CPU_IO_MAP(calchase_io)
diff --git a/src/mame/drivers/calomega.c b/src/mame/drivers/calomega.c
index 441de495e58..7163249c211 100644
--- a/src/mame/drivers/calomega.c
+++ b/src/mame/drivers/calomega.c
@@ -2744,7 +2744,7 @@ static const mc6845_interface mc6845_intf =
* Machine Drivers *
*************************************************/
-static MACHINE_CONFIG_START( sys903, driver_data_t )
+static MACHINE_CONFIG_START( sys903, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, CPU_CLOCK) /* confirmed */
MDRV_CPU_PROGRAM_MAP(sys903_map)
diff --git a/src/mame/drivers/calorie.c b/src/mame/drivers/calorie.c
index fdce61470f6..edd3d55ddb6 100644
--- a/src/mame/drivers/calorie.c
+++ b/src/mame/drivers/calorie.c
@@ -83,13 +83,11 @@ Notes:
#include "sound/ay8910.h"
-class calorie_state : public driver_data_t
+class calorie_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, calorie_state(machine)); }
-
- calorie_state(running_machine &machine)
- : driver_data_t(machine) { }
+ calorie_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * fg_ram;
diff --git a/src/mame/drivers/cardline.c b/src/mame/drivers/cardline.c
index 86ff26c885c..86796aed7a2 100644
--- a/src/mame/drivers/cardline.c
+++ b/src/mame/drivers/cardline.c
@@ -192,7 +192,7 @@ static PALETTE_INIT(cardline)
}
}
-static MACHINE_CONFIG_START( cardline, driver_data_t )
+static MACHINE_CONFIG_START( cardline, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", I80C32,12000000)
diff --git a/src/mame/drivers/carpolo.c b/src/mame/drivers/carpolo.c
index ac86db2ce03..ce9bd513f73 100644
--- a/src/mame/drivers/carpolo.c
+++ b/src/mame/drivers/carpolo.c
@@ -230,7 +230,7 @@ GFXDECODE_END
*
*************************************/
-static MACHINE_CONFIG_START( carpolo, driver_data_t )
+static MACHINE_CONFIG_START( carpolo, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, XTAL_11_289MHz/12) /* 940.75 kHz */
diff --git a/src/mame/drivers/carrera.c b/src/mame/drivers/carrera.c
index e829fba7201..461e32f33d7 100644
--- a/src/mame/drivers/carrera.c
+++ b/src/mame/drivers/carrera.c
@@ -313,7 +313,7 @@ static const mc6845_interface mc6845_intf =
};
-static MACHINE_CONFIG_START( carrera, driver_data_t )
+static MACHINE_CONFIG_START( carrera, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK / 6)
MDRV_CPU_PROGRAM_MAP(carrera_map)
diff --git a/src/mame/drivers/caswin.c b/src/mame/drivers/caswin.c
index dd75464b64e..6467693b6a5 100644
--- a/src/mame/drivers/caswin.c
+++ b/src/mame/drivers/caswin.c
@@ -274,7 +274,7 @@ static PALETTE_INIT( caswin )
}
-static MACHINE_CONFIG_START( vvillage, driver_data_t )
+static MACHINE_CONFIG_START( vvillage, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80,4000000) /* ? MHz */
MDRV_CPU_PROGRAM_MAP(vvillage_mem)
diff --git a/src/mame/drivers/cb2001.c b/src/mame/drivers/cb2001.c
index e2ba2b19674..6d25ce7da62 100644
--- a/src/mame/drivers/cb2001.c
+++ b/src/mame/drivers/cb2001.c
@@ -791,7 +791,7 @@ static const ay8910_interface cb2001_ay8910_config =
};
static const nec_config cb2001_config = { cb2001_decryption_table, };
-static MACHINE_CONFIG_START( cb2001, driver_data_t )
+static MACHINE_CONFIG_START( cb2001, driver_device )
MDRV_CPU_ADD("maincpu", V30, 20000000) // CPU91A-011-0016JK004; encrypted cpu like nec v25/35 used in some irem game
MDRV_CPU_CONFIG(cb2001_config)
MDRV_CPU_PROGRAM_MAP(cb2001_map)
diff --git a/src/mame/drivers/cball.c b/src/mame/drivers/cball.c
index 4b94a84ab77..8cd88fa6bad 100644
--- a/src/mame/drivers/cball.c
+++ b/src/mame/drivers/cball.c
@@ -8,13 +8,11 @@
#include "cpu/m6800/m6800.h"
-class cball_state : public driver_data_t
+class cball_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, cball_state(machine)); }
-
- cball_state(running_machine &machine)
- : driver_data_t(machine) { }
+ cball_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * video_ram;
diff --git a/src/mame/drivers/cchasm.c b/src/mame/drivers/cchasm.c
index ad1cbffecb4..61d3a6cbdc0 100644
--- a/src/mame/drivers/cchasm.c
+++ b/src/mame/drivers/cchasm.c
@@ -153,7 +153,7 @@ static const z80_daisy_config daisy_chain[] =
*
*************************************/
-static MACHINE_CONFIG_START( cchasm, driver_data_t )
+static MACHINE_CONFIG_START( cchasm, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000,CCHASM_68K_CLOCK) /* 8 MHz (from schematics) */
diff --git a/src/mame/drivers/cclimber.c b/src/mame/drivers/cclimber.c
index 713d57a8a24..482e4a3fcfc 100644
--- a/src/mame/drivers/cclimber.c
+++ b/src/mame/drivers/cclimber.c
@@ -981,7 +981,7 @@ GFXDECODE_END
-static MACHINE_CONFIG_START( root, driver_data_t )
+static MACHINE_CONFIG_START( root, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/3/2) /* 3.072 MHz */
@@ -1077,7 +1077,7 @@ static MACHINE_CONFIG_DERIVED( toprollr, cclimber )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( swimmer, driver_data_t )
+static MACHINE_CONFIG_START( swimmer, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, XTAL_18_432MHz/6) /* verified on pcb */
diff --git a/src/mame/drivers/cdi.c b/src/mame/drivers/cdi.c
index 7bde80d93e7..cea652015d7 100644
--- a/src/mame/drivers/cdi.c
+++ b/src/mame/drivers/cdi.c
@@ -558,13 +558,11 @@ struct _mcd212_ab_t
BYTE68K deltaUV[BYTE68K_MAX + 1];
};
-class cdi_state : public driver_data_t
+class cdi_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, cdi_state(machine)); }
-
- cdi_state(running_machine &machine)
- : driver_data_t(machine) { }
+ cdi_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT16 *planea;
UINT16 *planeb;
diff --git a/src/mame/drivers/centiped.c b/src/mame/drivers/centiped.c
index 295bf9c1ce1..ece4c9d9c11 100644
--- a/src/mame/drivers/centiped.c
+++ b/src/mame/drivers/centiped.c
@@ -1586,7 +1586,7 @@ static const pokey_interface warlords_pokey_interface =
*
*************************************/
-static MACHINE_CONFIG_START( centiped, driver_data_t )
+static MACHINE_CONFIG_START( centiped, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, 12096000/8) /* 1.512 MHz (slows down to 0.75MHz while accessing playfield RAM) */
@@ -1710,7 +1710,7 @@ static MACHINE_CONFIG_DERIVED( mazeinv, milliped )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( bullsdrt, driver_data_t )
+static MACHINE_CONFIG_START( bullsdrt, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", S2650, 12096000/8)
diff --git a/src/mame/drivers/cham24.c b/src/mame/drivers/cham24.c
index 55dec1f62e6..35c4b7fe4ea 100644
--- a/src/mame/drivers/cham24.c
+++ b/src/mame/drivers/cham24.c
@@ -309,7 +309,7 @@ static GFXDECODE_START( cham24 )
/* none, the ppu generates one */
GFXDECODE_END
-static MACHINE_CONFIG_START( cham24, driver_data_t )
+static MACHINE_CONFIG_START( cham24, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", N2A03, N2A03_DEFAULTCLOCK)
MDRV_CPU_PROGRAM_MAP(cham24_map)
diff --git a/src/mame/drivers/chanbara.c b/src/mame/drivers/chanbara.c
index 81a1632bc30..ab83b283e22 100644
--- a/src/mame/drivers/chanbara.c
+++ b/src/mame/drivers/chanbara.c
@@ -51,13 +51,11 @@ ToDo:
#include "sound/2203intf.h"
-class chanbara_state : public driver_data_t
+class chanbara_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, chanbara_state(machine)); }
-
- chanbara_state(running_machine &machine)
- : driver_data_t(machine) { }
+ chanbara_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/drivers/chihiro.c b/src/mame/drivers/chihiro.c
index ea3839811da..dc977201cdb 100644
--- a/src/mame/drivers/chihiro.c
+++ b/src/mame/drivers/chihiro.c
@@ -298,7 +298,7 @@ static MACHINE_START( chihiro )
debug_console_register_command(machine,"jamdis",CMDFLAG_NONE,0,2,3,jamtable_disasm_command);
}
-static MACHINE_CONFIG_START( chihiro_base, driver_data_t )
+static MACHINE_CONFIG_START( chihiro_base, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", PENTIUM, 733333333) /* Wrong! */
diff --git a/src/mame/drivers/chinsan.c b/src/mame/drivers/chinsan.c
index df5cd8ea12b..e0d9405151a 100644
--- a/src/mame/drivers/chinsan.c
+++ b/src/mame/drivers/chinsan.c
@@ -47,13 +47,11 @@ MM63.10N
#include "sound/2203intf.h"
#include "sound/msm5205.h"
-class chinsan_state : public driver_data_t
+class chinsan_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, chinsan_state(machine)); }
-
- chinsan_state(running_machine &machine)
- : driver_data_t(machine) { }
+ chinsan_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * video;
diff --git a/src/mame/drivers/chsuper.c b/src/mame/drivers/chsuper.c
index 52341925693..47aca44eb0e 100644
--- a/src/mame/drivers/chsuper.c
+++ b/src/mame/drivers/chsuper.c
@@ -189,7 +189,7 @@ static GFXDECODE_START( chsuper )
GFXDECODE_ENTRY( "gfx1", 0x00000, charlayout, 0, 1 )
GFXDECODE_END
-static MACHINE_CONFIG_START( chsuper, driver_data_t )
+static MACHINE_CONFIG_START( chsuper, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z180, XTAL_12MHz / 2) /* HD64180RP8, 8 MHz? */
diff --git a/src/mame/drivers/cinemat.c b/src/mame/drivers/cinemat.c
index 6c3407f8540..6202e019e6f 100644
--- a/src/mame/drivers/cinemat.c
+++ b/src/mame/drivers/cinemat.c
@@ -992,7 +992,7 @@ static const ccpu_config config_jmi =
*
*************************************/
-static MACHINE_CONFIG_START( cinemat_nojmi_4k, driver_data_t )
+static MACHINE_CONFIG_START( cinemat_nojmi_4k, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", CCPU, MASTER_CLOCK/4)
diff --git a/src/mame/drivers/cischeat.c b/src/mame/drivers/cischeat.c
index a0abdfa4d94..535c5c3140b 100644
--- a/src/mame/drivers/cischeat.c
+++ b/src/mame/drivers/cischeat.c
@@ -1565,7 +1565,7 @@ static INTERRUPT_GEN( cischeat_interrupt )
-static MACHINE_CONFIG_START( bigrun, driver_data_t )
+static MACHINE_CONFIG_START( bigrun, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("cpu1", M68000, 10000000)
@@ -1710,7 +1710,7 @@ static INTERRUPT_GEN( interrupt_scudhamm )
}
-static MACHINE_CONFIG_START( scudhamm, driver_data_t )
+static MACHINE_CONFIG_START( scudhamm, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu",M68000, 12000000)
diff --git a/src/mame/drivers/clayshoo.c b/src/mame/drivers/clayshoo.c
index e584910a6a4..2c43fe9559b 100644
--- a/src/mame/drivers/clayshoo.c
+++ b/src/mame/drivers/clayshoo.c
@@ -17,13 +17,11 @@
#include "machine/8255ppi.h"
-class clayshoo_state : public driver_data_t
+class clayshoo_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, clayshoo_state(machine)); }
-
- clayshoo_state(running_machine &machine)
- : driver_data_t(machine) { }
+ clayshoo_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/drivers/cliffhgr.c b/src/mame/drivers/cliffhgr.c
index b78aa6d89fd..dc254e1df51 100644
--- a/src/mame/drivers/cliffhgr.c
+++ b/src/mame/drivers/cliffhgr.c
@@ -684,7 +684,7 @@ DISCRETE_SOUND_EXTERN( cliffhgr );
*
*************************************/
-static MACHINE_CONFIG_START( cliffhgr, driver_data_t )
+static MACHINE_CONFIG_START( cliffhgr, driver_device )
MDRV_CPU_ADD("maincpu", Z80, 4000000) /* 4MHz */
MDRV_CPU_PROGRAM_MAP(mainmem)
diff --git a/src/mame/drivers/cloak.c b/src/mame/drivers/cloak.c
index f03d4e93acf..43c95c491b8 100644
--- a/src/mame/drivers/cloak.c
+++ b/src/mame/drivers/cloak.c
@@ -330,7 +330,7 @@ static const pokey_interface pokey_interface_2 =
*
*************************************/
-static MACHINE_CONFIG_START( cloak, driver_data_t )
+static MACHINE_CONFIG_START( cloak, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, 1000000) /* 1 MHz ???? */
diff --git a/src/mame/drivers/clshroad.c b/src/mame/drivers/clshroad.c
index b1f44ddff98..906df18ebda 100644
--- a/src/mame/drivers/clshroad.c
+++ b/src/mame/drivers/clshroad.c
@@ -248,7 +248,7 @@ GFXDECODE_END
-static MACHINE_CONFIG_START( firebatl, driver_data_t )
+static MACHINE_CONFIG_START( firebatl, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 3000000) /* ? */
@@ -283,7 +283,7 @@ static MACHINE_CONFIG_START( firebatl, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( clshroad, driver_data_t )
+static MACHINE_CONFIG_START( clshroad, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, XTAL_18_432MHz/4) /* ? real speed unknown. 3MHz is too low and causes problems */
diff --git a/src/mame/drivers/cmmb.c b/src/mame/drivers/cmmb.c
index c15f59445f8..a7865d41662 100644
--- a/src/mame/drivers/cmmb.c
+++ b/src/mame/drivers/cmmb.c
@@ -270,7 +270,7 @@ static MACHINE_RESET( cmmb )
{
}
-static MACHINE_CONFIG_START( cmmb, driver_data_t )
+static MACHINE_CONFIG_START( cmmb, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu",M65C02,8000000/2) // unknown clock
diff --git a/src/mame/drivers/cntsteer.c b/src/mame/drivers/cntsteer.c
index 695868b4c76..dcd06ed9436 100644
--- a/src/mame/drivers/cntsteer.c
+++ b/src/mame/drivers/cntsteer.c
@@ -29,13 +29,11 @@
#include "sound/dac.h"
-class cntsteer_state : public driver_data_t
+class cntsteer_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, cntsteer_state(machine)); }
-
- cntsteer_state(running_machine &machine)
- : driver_data_t(machine) { }
+ cntsteer_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/drivers/coinmstr.c b/src/mame/drivers/coinmstr.c
index ab964434fb6..76e8ea52521 100644
--- a/src/mame/drivers/coinmstr.c
+++ b/src/mame/drivers/coinmstr.c
@@ -980,7 +980,7 @@ static const mc6845_interface h46505_intf =
};
-static MACHINE_CONFIG_START( coinmstr, driver_data_t )
+static MACHINE_CONFIG_START( coinmstr, driver_device )
MDRV_CPU_ADD("maincpu",Z80,8000000) // ?
MDRV_CPU_PROGRAM_MAP(coinmstr_map)
MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
diff --git a/src/mame/drivers/coinmvga.c b/src/mame/drivers/coinmvga.c
index 90fc92cc32b..e3423d9df3d 100644
--- a/src/mame/drivers/coinmvga.c
+++ b/src/mame/drivers/coinmvga.c
@@ -652,7 +652,7 @@ static INTERRUPT_GEN( vblank_irq )
* Machine Drivers *
*************************/
-static MACHINE_CONFIG_START( coinmvga, driver_data_t )
+static MACHINE_CONFIG_START( coinmvga, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", H83007, CPU_CLOCK) /* xtal */
diff --git a/src/mame/drivers/cojag.c b/src/mame/drivers/cojag.c
index 9a672244af3..48f233d0543 100644
--- a/src/mame/drivers/cojag.c
+++ b/src/mame/drivers/cojag.c
@@ -1102,7 +1102,7 @@ static const jaguar_cpu_config dsp_config =
};
-static MACHINE_CONFIG_START( cojagr3k, driver_data_t )
+static MACHINE_CONFIG_START( cojagr3k, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", R3041BE, R3000_CLOCK)
diff --git a/src/mame/drivers/comebaby.c b/src/mame/drivers/comebaby.c
index ed19957672f..32b0dcfdace 100644
--- a/src/mame/drivers/comebaby.c
+++ b/src/mame/drivers/comebaby.c
@@ -76,7 +76,7 @@ static INPUT_PORTS_START( comebaby )
INPUT_PORTS_END
-static MACHINE_CONFIG_START( comebaby, driver_data_t )
+static MACHINE_CONFIG_START( comebaby, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", PENTIUM, 2000000000) /* Probably a Pentium .. ?? Mhz*/
MDRV_CPU_PROGRAM_MAP(comebaby_map)
diff --git a/src/mame/drivers/coolridr.c b/src/mame/drivers/coolridr.c
index 5250006529a..929747d42fa 100644
--- a/src/mame/drivers/coolridr.c
+++ b/src/mame/drivers/coolridr.c
@@ -1056,7 +1056,7 @@ static MACHINE_RESET ( coolridr )
cputag_set_input_line(machine, "soundcpu", INPUT_LINE_HALT, ASSERT_LINE);
}
-static MACHINE_CONFIG_START( coolridr, driver_data_t )
+static MACHINE_CONFIG_START( coolridr, driver_device )
MDRV_CPU_ADD("maincpu", SH2, 28000000) // 28 mhz
MDRV_CPU_PROGRAM_MAP(system_h1_map)
MDRV_CPU_VBLANK_INT("screen",system_h1)
diff --git a/src/mame/drivers/cps3.c b/src/mame/drivers/cps3.c
index 880a7e84d90..193e07c27bf 100644
--- a/src/mame/drivers/cps3.c
+++ b/src/mame/drivers/cps3.c
@@ -2539,7 +2539,7 @@ static const sh2_cpu_core sh2_conf_cps3 = {
cps3_dma_callback
};
-static MACHINE_CONFIG_START( cps3, driver_data_t )
+static MACHINE_CONFIG_START( cps3, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", SH2, 6250000*4) // external clock is 6.25 Mhz, it sets the intenral multiplier to 4x (this should probably be handled in the core..)
MDRV_CPU_PROGRAM_MAP(cps3_map)
diff --git a/src/mame/drivers/crbaloon.c b/src/mame/drivers/crbaloon.c
index 7f613dd0200..7e388fdfe9b 100644
--- a/src/mame/drivers/crbaloon.c
+++ b/src/mame/drivers/crbaloon.c
@@ -358,7 +358,7 @@ static MACHINE_RESET( crballoon )
*
*************************************/
-static MACHINE_CONFIG_START( crbaloon, driver_data_t )
+static MACHINE_CONFIG_START( crbaloon, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, CRBALOON_MASTER_XTAL / 3)
diff --git a/src/mame/drivers/crystal.c b/src/mame/drivers/crystal.c
index 1ccbae21444..18b31b4c0f8 100644
--- a/src/mame/drivers/crystal.c
+++ b/src/mame/drivers/crystal.c
@@ -124,13 +124,11 @@ Notes:
#define IDLE_LOOP_SPEEDUP
-class crystal_state : public driver_data_t
+class crystal_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, crystal_state(machine)); }
-
- crystal_state(running_machine &machine)
- : driver_data_t(machine) { }
+ crystal_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT32 * workram;
diff --git a/src/mame/drivers/cshooter.c b/src/mame/drivers/cshooter.c
index 5d77019f1e0..f3b54663147 100644
--- a/src/mame/drivers/cshooter.c
+++ b/src/mame/drivers/cshooter.c
@@ -416,7 +416,7 @@ static GFXDECODE_START( cshooter )
GFXDECODE_ENTRY( "gfx1", 128/8, cshooter_charlayout, 0, 64 )
GFXDECODE_END
-static MACHINE_CONFIG_START( cshooter, driver_data_t )
+static MACHINE_CONFIG_START( cshooter, driver_device )
MDRV_CPU_ADD("maincpu", Z80,XTAL_12MHz/2) /* verified on pcb */
MDRV_CPU_PROGRAM_MAP(cshooter_map)
MDRV_CPU_VBLANK_INT_HACK(cshooter_interrupt,2)
@@ -445,7 +445,7 @@ static MACHINE_CONFIG_START( cshooter, driver_data_t )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( airraid, driver_data_t )
+static MACHINE_CONFIG_START( airraid, driver_device )
MDRV_CPU_ADD("maincpu", Z80,XTAL_12MHz/2) /* verified on pcb */
MDRV_CPU_PROGRAM_MAP(airraid_map)
MDRV_CPU_VBLANK_INT_HACK(cshooter_interrupt,2)
diff --git a/src/mame/drivers/cubeqst.c b/src/mame/drivers/cubeqst.c
index a07ef4f5913..107d92da458 100644
--- a/src/mame/drivers/cubeqst.c
+++ b/src/mame/drivers/cubeqst.c
@@ -493,7 +493,7 @@ static const cubeqst_lin_config lin_config =
*
*************************************/
-static MACHINE_CONFIG_START( cubeqst, driver_data_t )
+static MACHINE_CONFIG_START( cubeqst, driver_device )
MDRV_CPU_ADD("main_cpu", M68000, XTAL_16MHz / 2)
MDRV_CPU_PROGRAM_MAP(m68k_program_map)
MDRV_CPU_VBLANK_INT("screen", vblank)
diff --git a/src/mame/drivers/cubocd32.c b/src/mame/drivers/cubocd32.c
index ff797b2ca20..1423920a9ca 100644
--- a/src/mame/drivers/cubocd32.c
+++ b/src/mame/drivers/cubocd32.c
@@ -1051,7 +1051,7 @@ static const i2cmem_interface i2cmem_interface =
I2CMEM_SLAVE_ADDRESS, NVRAM_PAGE_SIZE, NVRAM_SIZE
};
-static MACHINE_CONFIG_START( cd32, driver_data_t )
+static MACHINE_CONFIG_START( cd32, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68EC020, AMIGA_68EC020_PAL_CLOCK) /* 14.3 Mhz */
diff --git a/src/mame/drivers/cultures.c b/src/mame/drivers/cultures.c
index f9feb252d9f..af79f4732a8 100644
--- a/src/mame/drivers/cultures.c
+++ b/src/mame/drivers/cultures.c
@@ -14,13 +14,11 @@
#define MCLK 16000000
-class cultures_state : public driver_data_t
+class cultures_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, cultures_state(machine)); }
-
- cultures_state(running_machine &machine)
- : driver_data_t(machine) { }
+ cultures_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * bg0_videoram;
diff --git a/src/mame/drivers/cybertnk.c b/src/mame/drivers/cybertnk.c
index 59f10048c5e..2269fa7a01b 100644
--- a/src/mame/drivers/cybertnk.c
+++ b/src/mame/drivers/cybertnk.c
@@ -810,7 +810,7 @@ static const y8950_interface y8950_config = {
0 /* TODO */
};
-static MACHINE_CONFIG_START( cybertnk, driver_data_t )
+static MACHINE_CONFIG_START( cybertnk, driver_device )
MDRV_CPU_ADD("maincpu", M68000,20000000/2)
MDRV_CPU_PROGRAM_MAP(master_mem)
// MDRV_CPU_VBLANK_INT_HACK(master_irq,2)
diff --git a/src/mame/drivers/cyclemb.c b/src/mame/drivers/cyclemb.c
index 335e6d803aa..3c815a64e38 100644
--- a/src/mame/drivers/cyclemb.c
+++ b/src/mame/drivers/cyclemb.c
@@ -512,7 +512,7 @@ static GFXDECODE_START( cyclemb )
GFXDECODE_ENTRY( "sprite_data_2", 0, spritelayout_32x32, 0x00, 0x40 )
GFXDECODE_END
-static MACHINE_CONFIG_START( cyclemb, driver_data_t )
+static MACHINE_CONFIG_START( cyclemb, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu",Z80,18000000/4)
MDRV_CPU_PROGRAM_MAP(cyclemb_map)
diff --git a/src/mame/drivers/d9final.c b/src/mame/drivers/d9final.c
index f1ba8b69f10..4664d4dc430 100644
--- a/src/mame/drivers/d9final.c
+++ b/src/mame/drivers/d9final.c
@@ -255,7 +255,7 @@ static MACHINE_RESET( d9final )
memory_set_bankptr(machine, "bank1", &ROM[0x10000]);
}
-static MACHINE_CONFIG_START( d9final, driver_data_t )
+static MACHINE_CONFIG_START( d9final, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 24000000/4)/* ? MHz */
MDRV_CPU_PROGRAM_MAP(d9final_map)
diff --git a/src/mame/drivers/dacholer.c b/src/mame/drivers/dacholer.c
index 64683696bed..771d9cbf55a 100644
--- a/src/mame/drivers/dacholer.c
+++ b/src/mame/drivers/dacholer.c
@@ -25,13 +25,11 @@
#include "sound/ay8910.h"
#include "video/resnet.h"
-class dacholer_state : public driver_data_t
+class dacholer_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dacholer_state(machine)); }
-
- dacholer_state(running_machine &machine)
- : driver_data_t(machine) { }
+ dacholer_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * bgvideoram;
diff --git a/src/mame/drivers/dambustr.c b/src/mame/drivers/dambustr.c
index 83a9836b724..b85590b3f35 100644
--- a/src/mame/drivers/dambustr.c
+++ b/src/mame/drivers/dambustr.c
@@ -231,7 +231,7 @@ static DRIVER_INIT(dambustr)
-static MACHINE_CONFIG_START( dambustr, driver_data_t )
+static MACHINE_CONFIG_START( dambustr, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 18432000/6) /* 3.072 MHz */
MDRV_CPU_PROGRAM_MAP(dambustr_map)
diff --git a/src/mame/drivers/darkhors.c b/src/mame/drivers/darkhors.c
index ee6ccf881e3..5890ea5cd1b 100644
--- a/src/mame/drivers/darkhors.c
+++ b/src/mame/drivers/darkhors.c
@@ -621,7 +621,7 @@ static INTERRUPT_GEN( darkhors )
}
}
-static MACHINE_CONFIG_START( darkhors, driver_data_t )
+static MACHINE_CONFIG_START( darkhors, driver_device )
MDRV_CPU_ADD("maincpu", M68EC020, 12000000) // 36MHz/3 ??
MDRV_CPU_PROGRAM_MAP(darkhors_map)
MDRV_CPU_VBLANK_INT_HACK(darkhors,3)
@@ -671,7 +671,7 @@ static VIDEO_UPDATE(jclub2)
return 0;
}
-static MACHINE_CONFIG_START( jclub2, driver_data_t )
+static MACHINE_CONFIG_START( jclub2, driver_device )
MDRV_CPU_ADD("maincpu", M68EC020, 12000000)
MDRV_CPU_PROGRAM_MAP(jclub2_map)
MDRV_CPU_VBLANK_INT_HACK(darkhors,3)
@@ -727,7 +727,7 @@ static VIDEO_UPDATE(jclub2o)
return 0;
}
-static MACHINE_CONFIG_START( jclub2o, driver_data_t )
+static MACHINE_CONFIG_START( jclub2o, driver_device )
MDRV_CPU_ADD("st0016",Z80,8000000)
MDRV_CPU_PROGRAM_MAP(st0016_mem)
MDRV_CPU_IO_MAP(st0016_io)
diff --git a/src/mame/drivers/darkmist.c b/src/mame/drivers/darkmist.c
index 050cb6f18ef..2a8f353f4ff 100644
--- a/src/mame/drivers/darkmist.c
+++ b/src/mame/drivers/darkmist.c
@@ -246,7 +246,7 @@ static INTERRUPT_GEN( darkmist_interrupt )
-static MACHINE_CONFIG_START( darkmist, driver_data_t )
+static MACHINE_CONFIG_START( darkmist, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80,4000000) /* ? MHz */
MDRV_CPU_PROGRAM_MAP(memmap)
diff --git a/src/mame/drivers/darkseal.c b/src/mame/drivers/darkseal.c
index 83e8ac31b9f..331b5f70c44 100644
--- a/src/mame/drivers/darkseal.c
+++ b/src/mame/drivers/darkseal.c
@@ -239,7 +239,7 @@ static const ym2151_interface ym2151_config =
sound_irq
};
-static MACHINE_CONFIG_START( darkseal, driver_data_t )
+static MACHINE_CONFIG_START( darkseal, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000,12000000) /* Custom chip 59 */
diff --git a/src/mame/drivers/dblewing.c b/src/mame/drivers/dblewing.c
index d6910937bfd..208ab288f8e 100644
--- a/src/mame/drivers/dblewing.c
+++ b/src/mame/drivers/dblewing.c
@@ -25,13 +25,11 @@ Protection TODO:
#include "sound/okim6295.h"
#include "video/deco16ic.h"
-class dblewing_state : public driver_data_t
+class dblewing_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dblewing_state(machine)); }
-
- dblewing_state(running_machine &machine)
- : driver_data_t(machine) { }
+ dblewing_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * pf1_rowscroll;
diff --git a/src/mame/drivers/dcon.c b/src/mame/drivers/dcon.c
index 507405a3a06..a5312c9464d 100644
--- a/src/mame/drivers/dcon.c
+++ b/src/mame/drivers/dcon.c
@@ -256,7 +256,7 @@ GFXDECODE_END
/******************************************************************************/
-static MACHINE_CONFIG_START( dcon, driver_data_t )
+static MACHINE_CONFIG_START( dcon, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 10000000)
@@ -285,7 +285,7 @@ static MACHINE_CONFIG_START( dcon, driver_data_t )
SEIBU_SOUND_SYSTEM_YM3812_INTERFACE(4000000,1320000)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( sdgndmps, driver_data_t )
+static MACHINE_CONFIG_START( sdgndmps, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 10000000)
diff --git a/src/mame/drivers/ddayjlc.c b/src/mame/drivers/ddayjlc.c
index 9696f8dd1da..5de83ede644 100644
--- a/src/mame/drivers/ddayjlc.c
+++ b/src/mame/drivers/ddayjlc.c
@@ -56,13 +56,11 @@ $842f = lives
#include "sound/ay8910.h"
-class ddayjlc_state : public driver_data_t
+class ddayjlc_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ddayjlc_state(machine)); }
-
- ddayjlc_state(running_machine &machine)
- : driver_data_t(machine) { }
+ ddayjlc_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * bgram;
diff --git a/src/mame/drivers/ddealer.c b/src/mame/drivers/ddealer.c
index b67e3aef626..023e41509d1 100644
--- a/src/mame/drivers/ddealer.c
+++ b/src/mame/drivers/ddealer.c
@@ -113,13 +113,11 @@ Few words about protection:
#include "cpu/m68000/m68000.h"
#include "sound/2203intf.h"
-class ddealer_state : public driver_data_t
+class ddealer_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ddealer_state(machine)); }
-
- ddealer_state(running_machine &machine)
- : driver_data_t(machine) { }
+ ddealer_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * mcu_shared_ram;
diff --git a/src/mame/drivers/ddz.c b/src/mame/drivers/ddz.c
index a85d063ecae..3cdd2269c7c 100644
--- a/src/mame/drivers/ddz.c
+++ b/src/mame/drivers/ddz.c
@@ -51,7 +51,7 @@ static const vr0_interface vr0_config =
};
-static MACHINE_CONFIG_START( ddz, driver_data_t )
+static MACHINE_CONFIG_START( ddz, driver_device )
MDRV_CPU_ADD("maincpu", SE3208, 43000000)
MDRV_CPU_PROGRAM_MAP(ddz_mem)
MDRV_CPU_VBLANK_INT("screen", ddz_interrupt)
diff --git a/src/mame/drivers/deadang.c b/src/mame/drivers/deadang.c
index 08d97f8035c..639e6f31f38 100644
--- a/src/mame/drivers/deadang.c
+++ b/src/mame/drivers/deadang.c
@@ -225,7 +225,7 @@ static INTERRUPT_GEN( deadang_interrupt )
/* Machine Drivers */
-static MACHINE_CONFIG_START( deadang, driver_data_t )
+static MACHINE_CONFIG_START( deadang, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", V30,XTAL_16MHz/2) /* Sony 8623h9 CXQ70116D-8 (V30 compatible) */
diff --git a/src/mame/drivers/dec0.c b/src/mame/drivers/dec0.c
index 23790e7c05c..4f273e45daa 100644
--- a/src/mame/drivers/dec0.c
+++ b/src/mame/drivers/dec0.c
@@ -1142,7 +1142,7 @@ static const msm5205_interface msm5205_config =
};
-static MACHINE_CONFIG_START( automat, driver_data_t )
+static MACHINE_CONFIG_START( automat, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 10000000)
@@ -1186,7 +1186,7 @@ static MACHINE_CONFIG_START( automat, driver_data_t )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( hbarrel, driver_data_t )
+static MACHINE_CONFIG_START( hbarrel, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, XTAL_20MHz / 2)
@@ -1230,7 +1230,7 @@ static MACHINE_CONFIG_START( hbarrel, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( baddudes, driver_data_t )
+static MACHINE_CONFIG_START( baddudes, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, XTAL_20MHz / 2)
@@ -1271,7 +1271,7 @@ static MACHINE_CONFIG_START( baddudes, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( birdtry, driver_data_t )
+static MACHINE_CONFIG_START( birdtry, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, XTAL_20MHz / 2)
@@ -1312,7 +1312,7 @@ static MACHINE_CONFIG_START( birdtry, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( robocop, driver_data_t )
+static MACHINE_CONFIG_START( robocop, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, XTAL_20MHz / 2)
@@ -1358,7 +1358,7 @@ static MACHINE_CONFIG_START( robocop, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( robocopb, driver_data_t )
+static MACHINE_CONFIG_START( robocopb, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 10000000)
@@ -1399,7 +1399,7 @@ static MACHINE_CONFIG_START( robocopb, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( hippodrm, driver_data_t )
+static MACHINE_CONFIG_START( hippodrm, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, XTAL_20MHz / 2)
@@ -1445,7 +1445,7 @@ static MACHINE_CONFIG_START( hippodrm, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( slyspy, driver_data_t )
+static MACHINE_CONFIG_START( slyspy, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, XTAL_20MHz/2) /* verified on pcb (20MHZ OSC) 68000P12 running at 10Mhz */
@@ -1486,7 +1486,7 @@ static MACHINE_CONFIG_START( slyspy, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( secretab, driver_data_t )
+static MACHINE_CONFIG_START( secretab, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, XTAL_20MHz/2) /* verified on pcb (20MHZ OSC) 68000P12 running at 10Mhz */
@@ -1528,7 +1528,7 @@ static MACHINE_CONFIG_START( secretab, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( midres, driver_data_t )
+static MACHINE_CONFIG_START( midres, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, XTAL_20MHz/2) /* verified on pcb (20MHZ OSC) 68000P12 running at 10Mhz */
diff --git a/src/mame/drivers/deco156.c b/src/mame/drivers/deco156.c
index d25ffb72e01..928501c7eda 100644
--- a/src/mame/drivers/deco156.c
+++ b/src/mame/drivers/deco156.c
@@ -22,13 +22,11 @@
#include "sound/ymz280b.h"
#include "video/deco16ic.h"
-class deco156_state : public driver_data_t
+class deco156_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, deco156_state(machine)); }
-
- deco156_state(running_machine &machine)
- : driver_data_t(machine),
+ deco156_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config),
oki2(machine.device<okim6295_device>("oki2")) { }
/* memory pointers */
diff --git a/src/mame/drivers/deco32.c b/src/mame/drivers/deco32.c
index 452da37ec58..16110686cbe 100644
--- a/src/mame/drivers/deco32.c
+++ b/src/mame/drivers/deco32.c
@@ -1655,7 +1655,7 @@ static INTERRUPT_GEN( tattass_snd_interrupt )
cpu_set_input_line(device, M6809_FIRQ_LINE, HOLD_LINE);
}
-static MACHINE_CONFIG_START( captaven, driver_data_t )
+static MACHINE_CONFIG_START( captaven, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", ARM, XTAL_28MHz/4) /* verified on pcb (Data East 101 custom)*/
@@ -1702,7 +1702,7 @@ static MACHINE_CONFIG_START( captaven, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.35)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( fghthist, driver_data_t )
+static MACHINE_CONFIG_START( fghthist, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", ARM, 28000000/4)
@@ -1746,7 +1746,7 @@ static MACHINE_CONFIG_START( fghthist, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.35)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( fghthsta, driver_data_t )
+static MACHINE_CONFIG_START( fghthsta, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", ARM, 28000000/4)
@@ -1790,7 +1790,7 @@ static MACHINE_CONFIG_START( fghthsta, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.35)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( dragngun, driver_data_t )
+static MACHINE_CONFIG_START( dragngun, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", ARM, 28000000/4)
@@ -1842,7 +1842,7 @@ static MACHINE_CONFIG_START( dragngun, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( lockload, driver_data_t )
+static MACHINE_CONFIG_START( lockload, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", ARM, 28000000/4)
@@ -1894,7 +1894,7 @@ static MACHINE_CONFIG_START( lockload, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( tattass, driver_data_t )
+static MACHINE_CONFIG_START( tattass, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", ARM, 28000000/4) /* Unconfirmed */
@@ -1930,7 +1930,7 @@ static MACHINE_CONFIG_START( tattass, driver_data_t )
MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( nslasher, driver_data_t )
+static MACHINE_CONFIG_START( nslasher, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", ARM, 28322000/4)
diff --git a/src/mame/drivers/deco_ld.c b/src/mame/drivers/deco_ld.c
index 9f6cb18aa21..b954986c2f2 100644
--- a/src/mame/drivers/deco_ld.c
+++ b/src/mame/drivers/deco_ld.c
@@ -487,7 +487,7 @@ static MACHINE_START( rblaster )
laserdisc = machine->device("laserdisc");
}
-static MACHINE_CONFIG_START( rblaster, driver_data_t )
+static MACHINE_CONFIG_START( rblaster, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu",M6502,8000000/2)
diff --git a/src/mame/drivers/deco_mlc.c b/src/mame/drivers/deco_mlc.c
index d2dd2183010..fb1402d6a71 100644
--- a/src/mame/drivers/deco_mlc.c
+++ b/src/mame/drivers/deco_mlc.c
@@ -382,7 +382,7 @@ static MACHINE_RESET( mlc )
raster_irq_timer = machine->device<timer_device>("int_timer");
}
-static MACHINE_CONFIG_START( avengrgs, driver_data_t )
+static MACHINE_CONFIG_START( avengrgs, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", SH2,42000000/2) /* 21 MHz clock confirmed on real board */
@@ -415,7 +415,7 @@ static MACHINE_CONFIG_START( avengrgs, driver_data_t )
MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( mlc, driver_data_t )
+static MACHINE_CONFIG_START( mlc, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", ARM,42000000/6) /* 42 MHz -> 7MHz clock confirmed on real board */
diff --git a/src/mame/drivers/deshoros.c b/src/mame/drivers/deshoros.c
index d8cf8c3a8f2..7eb7e1d65ec 100644
--- a/src/mame/drivers/deshoros.c
+++ b/src/mame/drivers/deshoros.c
@@ -154,7 +154,7 @@ static MACHINE_RESET( deshoros )
bank = -1;
}
-static MACHINE_CONFIG_START( deshoros, driver_data_t )
+static MACHINE_CONFIG_START( deshoros, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu",M6809,2000000)
diff --git a/src/mame/drivers/destroyr.c b/src/mame/drivers/destroyr.c
index b5c49faee0a..8c6e2609b87 100644
--- a/src/mame/drivers/destroyr.c
+++ b/src/mame/drivers/destroyr.c
@@ -9,13 +9,11 @@ Atari Destroyer Driver
#include "deprecat.h"
-class destroyr_state : public driver_data_t
+class destroyr_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, destroyr_state(machine)); }
-
- destroyr_state(running_machine &machine)
- : driver_data_t(machine) { }
+ destroyr_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * major_obj_ram;
diff --git a/src/mame/drivers/dgpix.c b/src/mame/drivers/dgpix.c
index 52f6eb7c9f5..197658e1d23 100644
--- a/src/mame/drivers/dgpix.c
+++ b/src/mame/drivers/dgpix.c
@@ -303,7 +303,7 @@ static MACHINE_RESET( dgpix )
}
-static MACHINE_CONFIG_START( dgpix, driver_data_t )
+static MACHINE_CONFIG_START( dgpix, driver_device )
MDRV_CPU_ADD("maincpu", E132XT, 20000000*4) /* 4x internal multiplier */
MDRV_CPU_PROGRAM_MAP(cpu_map)
MDRV_CPU_IO_MAP(io_map)
diff --git a/src/mame/drivers/discoboy.c b/src/mame/drivers/discoboy.c
index c059a0db16c..977f1c8813b 100644
--- a/src/mame/drivers/discoboy.c
+++ b/src/mame/drivers/discoboy.c
@@ -43,13 +43,11 @@ Notes:
-class discoboy_state : public driver_data_t
+class discoboy_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, discoboy_state(machine)); }
-
- discoboy_state(running_machine &machine)
- : driver_data_t(machine) { }
+ discoboy_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * ram_1;
diff --git a/src/mame/drivers/diverboy.c b/src/mame/drivers/diverboy.c
index 538003ba0e1..b7b2b187eea 100644
--- a/src/mame/drivers/diverboy.c
+++ b/src/mame/drivers/diverboy.c
@@ -53,13 +53,11 @@
-class diverboy_state : public driver_data_t
+class diverboy_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, diverboy_state(machine)); }
-
- diverboy_state(running_machine &machine)
- : driver_data_t(machine) { }
+ diverboy_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * spriteram;
diff --git a/src/mame/drivers/djmain.c b/src/mame/drivers/djmain.c
index 4c722a8704c..ec1d4fab3d0 100644
--- a/src/mame/drivers/djmain.c
+++ b/src/mame/drivers/djmain.c
@@ -1485,7 +1485,7 @@ static const k056832_interface djmain_k056832_intf =
djmain_tile_callback, "none"
};
-static MACHINE_CONFIG_START( djmain, driver_data_t )
+static MACHINE_CONFIG_START( djmain, driver_device )
/* basic machine hardware */
// popn3 works 9.6 MHz or slower in some songs */
diff --git a/src/mame/drivers/dlair.c b/src/mame/drivers/dlair.c
index 82fb675a320..6e2e0a9c1fe 100644
--- a/src/mame/drivers/dlair.c
+++ b/src/mame/drivers/dlair.c
@@ -669,7 +669,7 @@ static const ay8910_interface ay8910_config =
*
*************************************/
-static MACHINE_CONFIG_START( dlair_base, driver_data_t )
+static MACHINE_CONFIG_START( dlair_base, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK_US/4)
@@ -706,7 +706,7 @@ static MACHINE_CONFIG_DERIVED( dlair_ldv1000, dlair_base )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( dleuro, driver_data_t )
+static MACHINE_CONFIG_START( dleuro, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK_EURO/4)
diff --git a/src/mame/drivers/dmndrby.c b/src/mame/drivers/dmndrby.c
index 67d7c8ecb20..e87d36cec2b 100644
--- a/src/mame/drivers/dmndrby.c
+++ b/src/mame/drivers/dmndrby.c
@@ -486,7 +486,7 @@ static INTERRUPT_GEN( dderby_timer_irq )
cputag_set_input_line_and_vector(device->machine, "maincpu", 0, HOLD_LINE, 0xcf); /* RST 08h */
}
-static MACHINE_CONFIG_START( dderby, driver_data_t )
+static MACHINE_CONFIG_START( dderby, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80,4000000) /* ? MHz */
MDRV_CPU_PROGRAM_MAP(memmap)
diff --git a/src/mame/drivers/dominob.c b/src/mame/drivers/dominob.c
index 812d5a09d3b..1001b944480 100644
--- a/src/mame/drivers/dominob.c
+++ b/src/mame/drivers/dominob.c
@@ -64,13 +64,11 @@ Notes:
#include "cpu/z80/z80.h"
#include "sound/ay8910.h"
-class dominob_state : public driver_data_t
+class dominob_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dominob_state(machine)); }
-
- dominob_state(running_machine &machine)
- : driver_data_t(machine) { }
+ dominob_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * spriteram;
diff --git a/src/mame/drivers/dooyong.c b/src/mame/drivers/dooyong.c
index ed061e23f47..4dd59c70e85 100644
--- a/src/mame/drivers/dooyong.c
+++ b/src/mame/drivers/dooyong.c
@@ -809,7 +809,7 @@ static MACHINE_CONFIG_FRAGMENT( sound_2151_m68k )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( lastday, driver_data_t )
+static MACHINE_CONFIG_START( lastday, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 8000000) /* ??? */
@@ -842,7 +842,7 @@ static MACHINE_CONFIG_START( lastday, driver_data_t )
MDRV_FRAGMENT_ADD( sound_2203 )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( gulfstrm, driver_data_t )
+static MACHINE_CONFIG_START( gulfstrm, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 8000000) /* ??? */
@@ -875,7 +875,7 @@ static MACHINE_CONFIG_START( gulfstrm, driver_data_t )
MDRV_FRAGMENT_ADD( sound_2203 )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( pollux, driver_data_t )
+static MACHINE_CONFIG_START( pollux, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 8000000) /* ??? */
@@ -908,7 +908,7 @@ static MACHINE_CONFIG_START( pollux, driver_data_t )
MDRV_FRAGMENT_ADD( sound_2203 )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( bluehawk, driver_data_t )
+static MACHINE_CONFIG_START( bluehawk, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 8000000) /* ??? */
@@ -941,7 +941,7 @@ static MACHINE_CONFIG_START( bluehawk, driver_data_t )
MDRV_FRAGMENT_ADD( sound_2151 )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( flytiger, driver_data_t )
+static MACHINE_CONFIG_START( flytiger, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 8000000) /* ??? */
@@ -974,7 +974,7 @@ static MACHINE_CONFIG_START( flytiger, driver_data_t )
MDRV_FRAGMENT_ADD( sound_2151 )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( primella, driver_data_t )
+static MACHINE_CONFIG_START( primella, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 8000000) /* ??? */
@@ -1013,7 +1013,7 @@ static INTERRUPT_GEN( rshark_interrupt )
cpu_set_input_line(device, 6, HOLD_LINE);
}
-static MACHINE_CONFIG_START( rshark, driver_data_t )
+static MACHINE_CONFIG_START( rshark, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 8000000) /* measured on super-x */
@@ -1044,7 +1044,7 @@ static MACHINE_CONFIG_START( rshark, driver_data_t )
MDRV_FRAGMENT_ADD( sound_2151_m68k )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( superx, driver_data_t ) // dif mem map
+static MACHINE_CONFIG_START( superx, driver_device ) // dif mem map
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 8000000) /* measured on super-x */
@@ -1075,7 +1075,7 @@ static MACHINE_CONFIG_START( superx, driver_data_t ) // dif mem map
MDRV_FRAGMENT_ADD( sound_2151_m68k )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( popbingo, driver_data_t )
+static MACHINE_CONFIG_START( popbingo, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 10000000)
diff --git a/src/mame/drivers/dorachan.c b/src/mame/drivers/dorachan.c
index 0f1284752f5..cbeecb7668b 100644
--- a/src/mame/drivers/dorachan.c
+++ b/src/mame/drivers/dorachan.c
@@ -16,13 +16,11 @@ Todo:
#define NUM_PENS (8)
-class dorachan_state : public driver_data_t
+class dorachan_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dorachan_state(machine)); }
-
- dorachan_state(running_machine &machine)
- : driver_data_t(machine) { }
+ dorachan_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/drivers/dotrikun.c b/src/mame/drivers/dotrikun.c
index 70ed3ad576a..0b5767e80c7 100644
--- a/src/mame/drivers/dotrikun.c
+++ b/src/mame/drivers/dotrikun.c
@@ -24,13 +24,11 @@ SOUND : (none)
#include "cpu/z80/z80.h"
-class dotrikun_state : public driver_data_t
+class dotrikun_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dotrikun_state(machine)); }
-
- dotrikun_state(running_machine &machine)
- : driver_data_t(machine) { }
+ dotrikun_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/drivers/dreamwld.c b/src/mame/drivers/dreamwld.c
index 8f33539ca4f..28a048fb5c0 100644
--- a/src/mame/drivers/dreamwld.c
+++ b/src/mame/drivers/dreamwld.c
@@ -90,13 +90,11 @@ Stephh's notes (based on the game M68EC020 code and some tests) :
#define MASTER_CLOCK 32000000
-class dreamwld_state : public driver_data_t
+class dreamwld_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dreamwld_state(machine)); }
-
- dreamwld_state(running_machine &machine)
- : driver_data_t(machine) { }
+ dreamwld_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT32 * bg_videoram;
diff --git a/src/mame/drivers/drtomy.c b/src/mame/drivers/drtomy.c
index 92110770c8f..27b8a764070 100644
--- a/src/mame/drivers/drtomy.c
+++ b/src/mame/drivers/drtomy.c
@@ -11,13 +11,11 @@ similar hardware.
#include "cpu/m68000/m68000.h"
#include "sound/okim6295.h"
-class drtomy_state : public driver_data_t
+class drtomy_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, drtomy_state(machine)); }
-
- drtomy_state(running_machine &machine)
- : driver_data_t(machine) { }
+ drtomy_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * spriteram;
diff --git a/src/mame/drivers/drw80pkr.c b/src/mame/drivers/drw80pkr.c
index 14a8aac6dfb..3a644ebf218 100644
--- a/src/mame/drivers/drw80pkr.c
+++ b/src/mame/drivers/drw80pkr.c
@@ -444,7 +444,7 @@ INPUT_PORTS_END
* Machine Driver *
*************************/
-static MACHINE_CONFIG_START( drw80pkr, driver_data_t )
+static MACHINE_CONFIG_START( drw80pkr, driver_device )
// basic machine hardware
MDRV_CPU_ADD("maincpu", I8039, CPU_CLOCK)
MDRV_CPU_PROGRAM_MAP(drw80pkr_map)
diff --git a/src/mame/drivers/dunhuang.c b/src/mame/drivers/dunhuang.c
index 677550e3367..747da638a0e 100644
--- a/src/mame/drivers/dunhuang.c
+++ b/src/mame/drivers/dunhuang.c
@@ -58,13 +58,11 @@ Notes:
#define DUNHUANG_DEBUG 0
-class dunhuang_state : public driver_data_t
+class dunhuang_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dunhuang_state(machine)); }
-
- dunhuang_state(running_machine &machine)
- : driver_data_t(machine) { }
+ dunhuang_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * videoram;
diff --git a/src/mame/drivers/dwarfd.c b/src/mame/drivers/dwarfd.c
index c3906992654..237a1407d9a 100644
--- a/src/mame/drivers/dwarfd.c
+++ b/src/mame/drivers/dwarfd.c
@@ -278,13 +278,11 @@ uPC1352C @ N3
#include "cpu/i8085/i8085.h"
#include "sound/ay8910.h"
-class dwarfd_state : public driver_data_t
+class dwarfd_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dwarfd_state(machine)); }
-
- dwarfd_state(running_machine &machine)
- : driver_data_t(machine) { }
+ dwarfd_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * dw_ram;
diff --git a/src/mame/drivers/dynadice.c b/src/mame/drivers/dynadice.c
index 75896eea24a..f58f84036f3 100644
--- a/src/mame/drivers/dynadice.c
+++ b/src/mame/drivers/dynadice.c
@@ -37,13 +37,11 @@ dy_6.bin (near Z80)
#include "sound/ay8910.h"
-class dynadice_state : public driver_data_t
+class dynadice_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dynadice_state(machine)); }
-
- dynadice_state(running_machine &machine)
- : driver_data_t(machine) { }
+ dynadice_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/drivers/dynduke.c b/src/mame/drivers/dynduke.c
index 113b09af09e..031a4772213 100644
--- a/src/mame/drivers/dynduke.c
+++ b/src/mame/drivers/dynduke.c
@@ -281,7 +281,7 @@ static INTERRUPT_GEN( dynduke_interrupt )
/* Machine Driver */
-static MACHINE_CONFIG_START( dynduke, driver_data_t )
+static MACHINE_CONFIG_START( dynduke, driver_device )
// basic machine hardware
MDRV_CPU_ADD("maincpu", V30, 16000000/2) // NEC V30-8 CPU
MDRV_CPU_PROGRAM_MAP(master_map)
diff --git a/src/mame/drivers/egghunt.c b/src/mame/drivers/egghunt.c
index a3829775e03..4bc1a2f3c5a 100644
--- a/src/mame/drivers/egghunt.c
+++ b/src/mame/drivers/egghunt.c
@@ -45,13 +45,11 @@ I dumped it with this configuration. In case I'll redump it desoldering pin 16 f
#include "cpu/z80/z80.h"
#include "sound/okim6295.h"
-class egghunt_state : public driver_data_t
+class egghunt_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, egghunt_state(machine)); }
-
- egghunt_state(running_machine &machine)
- : driver_data_t(machine) { }
+ egghunt_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * bgram;
diff --git a/src/mame/drivers/embargo.c b/src/mame/drivers/embargo.c
index 8ffea03c675..25d1c54e4c0 100644
--- a/src/mame/drivers/embargo.c
+++ b/src/mame/drivers/embargo.c
@@ -8,13 +8,11 @@
#include "cpu/s2650/s2650.h"
-class embargo_state : public driver_data_t
+class embargo_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, embargo_state(machine)); }
-
- embargo_state(running_machine &machine)
- : driver_data_t(machine) { }
+ embargo_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/drivers/enigma2.c b/src/mame/drivers/enigma2.c
index e8ab74d78a5..71aac277b44 100644
--- a/src/mame/drivers/enigma2.c
+++ b/src/mame/drivers/enigma2.c
@@ -57,13 +57,11 @@ TODO:
#define NUM_PENS (8)
-class enigma2_state : public driver_data_t
+class enigma2_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, enigma2_state(machine)); }
-
- enigma2_state(running_machine &machine)
- : driver_data_t(machine) { }
+ enigma2_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/drivers/eolith.c b/src/mame/drivers/eolith.c
index b0be411de11..79df461b373 100644
--- a/src/mame/drivers/eolith.c
+++ b/src/mame/drivers/eolith.c
@@ -337,7 +337,7 @@ INPUT_PORTS_END
-static MACHINE_CONFIG_START( eolith45, driver_data_t )
+static MACHINE_CONFIG_START( eolith45, driver_device )
MDRV_CPU_ADD("maincpu", E132N, 45000000) /* 45 MHz */
MDRV_CPU_PROGRAM_MAP(eolith_map)
MDRV_CPU_VBLANK_INT_HACK(eolith_speedup,262)
diff --git a/src/mame/drivers/eolith16.c b/src/mame/drivers/eolith16.c
index 2740e6544e7..b7a9681ed83 100644
--- a/src/mame/drivers/eolith16.c
+++ b/src/mame/drivers/eolith16.c
@@ -157,7 +157,7 @@ static PALETTE_INIT( eolith16 )
-static MACHINE_CONFIG_START( eolith16, driver_data_t )
+static MACHINE_CONFIG_START( eolith16, driver_device )
MDRV_CPU_ADD("maincpu", E116T, 60000000) /* no internal multiplier */
MDRV_CPU_PROGRAM_MAP(eolith16_map)
MDRV_CPU_VBLANK_INT_HACK(eolith_speedup,262)
diff --git a/src/mame/drivers/ertictac.c b/src/mame/drivers/ertictac.c
index 8e2eacf2d37..6b3974d9936 100644
--- a/src/mame/drivers/ertictac.c
+++ b/src/mame/drivers/ertictac.c
@@ -216,7 +216,7 @@ static const i2cmem_interface i2cmem_interface =
I2CMEM_SLAVE_ADDRESS, NVRAM_PAGE_SIZE, NVRAM_SIZE
};
-static MACHINE_CONFIG_START( ertictac, driver_data_t )
+static MACHINE_CONFIG_START( ertictac, driver_device )
MDRV_CPU_ADD("maincpu", ARM, 8000000) /* guess */
MDRV_CPU_PROGRAM_MAP(ertictac_map)
diff --git a/src/mame/drivers/esh.c b/src/mame/drivers/esh.c
index 1c2b780dd32..d5c172020e7 100644
--- a/src/mame/drivers/esh.c
+++ b/src/mame/drivers/esh.c
@@ -277,7 +277,7 @@ static MACHINE_START( esh )
/* DRIVER */
-static MACHINE_CONFIG_START( esh, driver_data_t )
+static MACHINE_CONFIG_START( esh, driver_device )
/* main cpu */
MDRV_CPU_ADD("maincpu", Z80, PCB_CLOCK/6) /* The denominator is a Daphne guess based on PacMan's hardware */
diff --git a/src/mame/drivers/esripsys.c b/src/mame/drivers/esripsys.c
index 8f07c60293b..fc2fa10d63a 100644
--- a/src/mame/drivers/esripsys.c
+++ b/src/mame/drivers/esripsys.c
@@ -734,7 +734,7 @@ static const esrip_config rip_config =
"proms"
};
-static MACHINE_CONFIG_START( esripsys, driver_data_t )
+static MACHINE_CONFIG_START( esripsys, driver_device )
MDRV_CPU_ADD("game_cpu", M6809E, XTAL_8MHz)
MDRV_CPU_PROGRAM_MAP(game_cpu_map)
MDRV_CPU_VBLANK_INT("screen", esripsys_vblank_irq)
diff --git a/src/mame/drivers/ettrivia.c b/src/mame/drivers/ettrivia.c
index d9b80b9f41e..8325eab7d24 100644
--- a/src/mame/drivers/ettrivia.c
+++ b/src/mame/drivers/ettrivia.c
@@ -237,7 +237,7 @@ static INTERRUPT_GEN( ettrivia_interrupt )
cpu_set_input_line(device, 0, HOLD_LINE);
}
-static MACHINE_CONFIG_START( ettrivia, driver_data_t )
+static MACHINE_CONFIG_START( ettrivia, driver_device )
MDRV_CPU_ADD("maincpu", Z80,12000000/4-48000) //should be ok, it gives the 300 interrupts expected
MDRV_CPU_PROGRAM_MAP(cpu_map)
MDRV_CPU_IO_MAP(io_map)
diff --git a/src/mame/drivers/exidy.c b/src/mame/drivers/exidy.c
index 8a0928e0c3b..c434c58e7f2 100644
--- a/src/mame/drivers/exidy.c
+++ b/src/mame/drivers/exidy.c
@@ -789,7 +789,7 @@ static MACHINE_START( teetert )
*
*************************************/
-static MACHINE_CONFIG_START( base, driver_data_t )
+static MACHINE_CONFIG_START( base, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, EXIDY_CPU_CLOCK)
diff --git a/src/mame/drivers/exidy440.c b/src/mame/drivers/exidy440.c
index 7e7e1883891..d4066e392cc 100644
--- a/src/mame/drivers/exidy440.c
+++ b/src/mame/drivers/exidy440.c
@@ -997,7 +997,7 @@ INPUT_PORTS_END
*
*************************************/
-static MACHINE_CONFIG_START( exidy440, driver_data_t )
+static MACHINE_CONFIG_START( exidy440, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6809, MAIN_CPU_CLOCK)
diff --git a/src/mame/drivers/expro02.c b/src/mame/drivers/expro02.c
index 6a2d255fbba..83d5278efd9 100644
--- a/src/mame/drivers/expro02.c
+++ b/src/mame/drivers/expro02.c
@@ -475,7 +475,7 @@ GFXDECODE_END
*
*************************************/
-static MACHINE_CONFIG_START( galsnew, driver_data_t )
+static MACHINE_CONFIG_START( galsnew, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 12000000)
diff --git a/src/mame/drivers/exterm.c b/src/mame/drivers/exterm.c
index e088151416e..2bde9098a6d 100644
--- a/src/mame/drivers/exterm.c
+++ b/src/mame/drivers/exterm.c
@@ -446,7 +446,7 @@ static const tms34010_config slave_config =
*
*************************************/
-static MACHINE_CONFIG_START( exterm, driver_data_t )
+static MACHINE_CONFIG_START( exterm, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", TMS34010, 40000000)
diff --git a/src/mame/drivers/exzisus.c b/src/mame/drivers/exzisus.c
index 0ef08f6365f..551631f590e 100644
--- a/src/mame/drivers/exzisus.c
+++ b/src/mame/drivers/exzisus.c
@@ -298,7 +298,7 @@ static const tc0140syt_interface exzisus_tc0140syt_intf =
};
/* All clocks are unconfirmed */
-static MACHINE_CONFIG_START( exzisus, driver_data_t )
+static MACHINE_CONFIG_START( exzisus, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("cpua", Z80, 6000000)
diff --git a/src/mame/drivers/f-32.c b/src/mame/drivers/f-32.c
index 0411579a489..79a06f60523 100644
--- a/src/mame/drivers/f-32.c
+++ b/src/mame/drivers/f-32.c
@@ -17,13 +17,11 @@
#include "sound/2151intf.h"
#include "sound/okim6295.h"
-class mosaicf2_state : public driver_data_t
+class mosaicf2_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mosaicf2_state(machine)); }
-
- mosaicf2_state(running_machine &machine)
- : driver_data_t(machine),
+ mosaicf2_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config),
maincpu(machine.device<cpu_device>("maincpu")) { }
/* memory pointers */
diff --git a/src/mame/drivers/fastfred.c b/src/mame/drivers/fastfred.c
index 2d0c78bff9d..cdd8023eb00 100644
--- a/src/mame/drivers/fastfred.c
+++ b/src/mame/drivers/fastfred.c
@@ -616,7 +616,7 @@ GFXDECODE_END
#define CLOCK 18432000 /* The crystal is 18.432MHz */
-static MACHINE_CONFIG_START( fastfred, driver_data_t )
+static MACHINE_CONFIG_START( fastfred, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, CLOCK/6) /* 3.072 MHz */
diff --git a/src/mame/drivers/feversoc.c b/src/mame/drivers/feversoc.c
index 88b20f8c9e1..819ba863260 100644
--- a/src/mame/drivers/feversoc.c
+++ b/src/mame/drivers/feversoc.c
@@ -234,7 +234,7 @@ static INTERRUPT_GEN( feversoc_irq )
cputag_set_input_line(device->machine, "maincpu", 8, HOLD_LINE );
}
-static MACHINE_CONFIG_START( feversoc, driver_data_t )
+static MACHINE_CONFIG_START( feversoc, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu",SH2,MASTER_CLOCK)
diff --git a/src/mame/drivers/firebeat.c b/src/mame/drivers/firebeat.c
index 0cbc1750b9c..ccaf159c0f8 100644
--- a/src/mame/drivers/firebeat.c
+++ b/src/mame/drivers/firebeat.c
@@ -1912,7 +1912,7 @@ static MACHINE_RESET( firebeat )
cdda_set_cdrom(machine->device("cdda"), cd);
}
-static MACHINE_CONFIG_START( firebeat, driver_data_t )
+static MACHINE_CONFIG_START( firebeat, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", PPC403GCX, 66000000)
@@ -1953,7 +1953,7 @@ static MACHINE_CONFIG_START( firebeat, driver_data_t )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( firebeat2, driver_data_t )
+static MACHINE_CONFIG_START( firebeat2, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", PPC403GCX, 66000000)
diff --git a/src/mame/drivers/firefox.c b/src/mame/drivers/firefox.c
index 52d29e770d0..7e70d166f12 100644
--- a/src/mame/drivers/firefox.c
+++ b/src/mame/drivers/firefox.c
@@ -641,7 +641,7 @@ static const riot6532_interface riot_intf =
};
-static MACHINE_CONFIG_START( firefox, driver_data_t )
+static MACHINE_CONFIG_START( firefox, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6809E, MASTER_XTAL/2)
diff --git a/src/mame/drivers/firetrk.c b/src/mame/drivers/firetrk.c
index af8a4691a4d..f0d9a75bcea 100644
--- a/src/mame/drivers/firetrk.c
+++ b/src/mame/drivers/firetrk.c
@@ -876,7 +876,7 @@ static GFXDECODE_START( montecar )
GFXDECODE_END
-static MACHINE_CONFIG_START( firetrk, driver_data_t )
+static MACHINE_CONFIG_START( firetrk, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6800, MASTER_CLOCK/12) /* 750Khz during service mode */
diff --git a/src/mame/drivers/flower.c b/src/mame/drivers/flower.c
index d4540936d23..1c334dd5cba 100644
--- a/src/mame/drivers/flower.c
+++ b/src/mame/drivers/flower.c
@@ -238,7 +238,7 @@ static INTERRUPT_GEN( flower_cpu0_interrupt )
cpu_set_input_line(device, 0, ASSERT_LINE);
}
-static MACHINE_CONFIG_START( flower, driver_data_t )
+static MACHINE_CONFIG_START( flower, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80,8000000)
diff --git a/src/mame/drivers/flyball.c b/src/mame/drivers/flyball.c
index 27e2739fc42..83d4e2f5f04 100644
--- a/src/mame/drivers/flyball.c
+++ b/src/mame/drivers/flyball.c
@@ -11,13 +11,11 @@ Atari Flyball Driver
-class flyball_state : public driver_data_t
+class flyball_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, flyball_state(machine)); }
-
- flyball_state(running_machine &machine)
- : driver_data_t(machine) { }
+ flyball_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * rombase;
diff --git a/src/mame/drivers/forte2.c b/src/mame/drivers/forte2.c
index a8289b15334..e6e72901d18 100644
--- a/src/mame/drivers/forte2.c
+++ b/src/mame/drivers/forte2.c
@@ -115,7 +115,7 @@ static INTERRUPT_GEN( pesadelo_interrupt )
}
-static MACHINE_CONFIG_START( pesadelo, driver_data_t )
+static MACHINE_CONFIG_START( pesadelo, driver_device )
MDRV_CPU_ADD("maincpu", Z80, 3579545) /* 3.579545 Mhz */
MDRV_CPU_PROGRAM_MAP(program_mem)
diff --git a/src/mame/drivers/fortecar.c b/src/mame/drivers/fortecar.c
index 01f64912bd0..f5a231c3600 100644
--- a/src/mame/drivers/fortecar.c
+++ b/src/mame/drivers/fortecar.c
@@ -277,7 +277,7 @@ static const mc6845_interface mc6845_intf =
};
//51f
-static MACHINE_CONFIG_START( fortecar, driver_data_t )
+static MACHINE_CONFIG_START( fortecar, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80,6000000) /* ? MHz */
MDRV_CPU_PROGRAM_MAP(fortecar_map)
diff --git a/src/mame/drivers/funworld.c b/src/mame/drivers/funworld.c
index f43bf17e2e6..2a561aca66e 100644
--- a/src/mame/drivers/funworld.c
+++ b/src/mame/drivers/funworld.c
@@ -2116,7 +2116,7 @@ static const mc6845_interface mc6845_intf =
* Machine Drivers *
**************************/
-static MACHINE_CONFIG_START( fw1stpal, driver_data_t )
+static MACHINE_CONFIG_START( fw1stpal, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M65SC02, MASTER_CLOCK/8) /* 2MHz */
MDRV_CPU_PROGRAM_MAP(funworld_map)
diff --git a/src/mame/drivers/gaelco2.c b/src/mame/drivers/gaelco2.c
index 4d3f23a4e05..69a64d95a5d 100644
--- a/src/mame/drivers/gaelco2.c
+++ b/src/mame/drivers/gaelco2.c
@@ -155,7 +155,7 @@ static const gaelcosnd_interface maniacsq_snd_interface =
{ 0*0x0080000, 1*0x0080000, 0, 0 }, /* start of each ROM bank */
};
-static MACHINE_CONFIG_START( maniacsq, driver_data_t )
+static MACHINE_CONFIG_START( maniacsq, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 26000000/2) /* 13 MHz? */
MDRV_CPU_PROGRAM_MAP(maniacsq_map)
@@ -287,7 +287,7 @@ static const eeprom_interface gaelco2_eeprom_interface =
// "*10010xxxxxx", /* erase all */
};
-static MACHINE_CONFIG_START( bang, driver_data_t )
+static MACHINE_CONFIG_START( bang, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 30000000/2) /* 15 MHz */
MDRV_CPU_PROGRAM_MAP(bang_map)
@@ -531,7 +531,7 @@ static const gaelcosnd_interface alighunt_snd_interface =
{ 0*0x0400000, 1*0x0400000, 2*0x0400000, 3*0x0400000 } /* start of each ROM bank */
};
-static MACHINE_CONFIG_START( alighunt, driver_data_t )
+static MACHINE_CONFIG_START( alighunt, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 24000000/2) /* 12 MHz */
MDRV_CPU_PROGRAM_MAP(alighunt_map)
@@ -774,7 +774,7 @@ static const gaelcosnd_interface touchgo_snd_interface =
{ 0*0x0400000, 1*0x0400000, 0, 0 } /* start of each ROM bank */
};
-static MACHINE_CONFIG_START( touchgo, driver_data_t )
+static MACHINE_CONFIG_START( touchgo, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 32000000/2) /* 16 MHz */
MDRV_CPU_PROGRAM_MAP(touchgo_map)
@@ -967,7 +967,7 @@ static const gaelcosnd_interface snowboar_snd_interface =
{ 0*0x0400000, 1*0x0400000, 0, 0 } /* start of each ROM bank */
};
-static MACHINE_CONFIG_START( snowboar, driver_data_t )
+static MACHINE_CONFIG_START( snowboar, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 30000000/2) /* 15 MHz */
MDRV_CPU_PROGRAM_MAP(snowboar_map)
@@ -1209,7 +1209,7 @@ static const gaelcosnd_interface wrally2_snd_interface =
{ 0*0x0200000, 1*0x0200000, 0, 0 } /* start of each ROM bank */
};
-static MACHINE_CONFIG_START( wrally2, driver_data_t )
+static MACHINE_CONFIG_START( wrally2, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 26000000/2) /* 13 MHz */
MDRV_CPU_PROGRAM_MAP(wrally2_map)
diff --git a/src/mame/drivers/gaelco3d.c b/src/mame/drivers/gaelco3d.c
index eefe9dae984..f3855cde6cd 100644
--- a/src/mame/drivers/gaelco3d.c
+++ b/src/mame/drivers/gaelco3d.c
@@ -953,7 +953,7 @@ static const tms32031_config tms_config =
};
-static MACHINE_CONFIG_START( gaelco3d, driver_data_t )
+static MACHINE_CONFIG_START( gaelco3d, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 15000000)
diff --git a/src/mame/drivers/gal3.c b/src/mame/drivers/gal3.c
index 04147a6d7a6..25dee8cad80 100644
--- a/src/mame/drivers/gal3.c
+++ b/src/mame/drivers/gal3.c
@@ -630,7 +630,7 @@ static const c140_interface C140_interface_typeB =
C140_TYPE_SYSTEM21_B
};
-static MACHINE_CONFIG_START( gal3, driver_data_t )
+static MACHINE_CONFIG_START( gal3, driver_device )
MDRV_CPU_ADD("cpumst", M68020, 49152000/2)
MDRV_CPU_PROGRAM_MAP(cpu_mst_map)
MDRV_CPU_VBLANK_INT("lscreen", irq1_line_hold)
diff --git a/src/mame/drivers/galastrm.c b/src/mame/drivers/galastrm.c
index 80a514289d2..1ace790cd2e 100644
--- a/src/mame/drivers/galastrm.c
+++ b/src/mame/drivers/galastrm.c
@@ -316,7 +316,7 @@ static const tc0480scp_interface galastrm_tc0480scp_intf =
0 /* col_base */
};
-static MACHINE_CONFIG_START( galastrm, driver_data_t )
+static MACHINE_CONFIG_START( galastrm, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68EC020, 16000000) /* 16 MHz */
MDRV_CPU_PROGRAM_MAP(galastrm_map)
diff --git a/src/mame/drivers/galaxi.c b/src/mame/drivers/galaxi.c
index c97004a795e..33e994e61dd 100644
--- a/src/mame/drivers/galaxi.c
+++ b/src/mame/drivers/galaxi.c
@@ -44,13 +44,11 @@ Notes:
#include "sound/okim6295.h"
#include "galaxi.lh"
-class galaxi_state : public driver_data_t
+class galaxi_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, galaxi_state(machine)); }
-
- galaxi_state(running_machine &machine)
- : driver_data_t(machine) { }
+ galaxi_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * bg1_ram;
diff --git a/src/mame/drivers/galaxia.c b/src/mame/drivers/galaxia.c
index 5f18ef8445d..b7946693b60 100644
--- a/src/mame/drivers/galaxia.c
+++ b/src/mame/drivers/galaxia.c
@@ -256,7 +256,7 @@ static const s2636_interface s2636_2_config =
"s2636snd_2"
};
-static MACHINE_CONFIG_START( galaxia, driver_data_t )
+static MACHINE_CONFIG_START( galaxia, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", S2650,2000000) /* ? MHz */
MDRV_CPU_PROGRAM_MAP(mem_map)
diff --git a/src/mame/drivers/galaxian.c b/src/mame/drivers/galaxian.c
index 6a99bab9f50..8009256673d 100644
--- a/src/mame/drivers/galaxian.c
+++ b/src/mame/drivers/galaxian.c
@@ -1956,7 +1956,7 @@ DISCRETE_SOUND_END
*
*************************************/
-static MACHINE_CONFIG_START( galaxian_base, driver_data_t )
+static MACHINE_CONFIG_START( galaxian_base, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, GALAXIAN_PIXEL_CLOCK/3/2)
diff --git a/src/mame/drivers/galaxold.c b/src/mame/drivers/galaxold.c
index 3e4ec32e2be..7c86557a4de 100644
--- a/src/mame/drivers/galaxold.c
+++ b/src/mame/drivers/galaxold.c
@@ -2118,7 +2118,7 @@ static const ay8910_interface bongo_ay8910_interface =
};
-static MACHINE_CONFIG_START( galaxold_base, driver_data_t )
+static MACHINE_CONFIG_START( galaxold_base, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, PIXEL_CLOCK/2) /* 3.072 MHz */
@@ -2277,7 +2277,7 @@ static MACHINE_CONFIG_DERIVED( ozon1, galaxold_base )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( drivfrcg, driver_data_t )
+static MACHINE_CONFIG_START( drivfrcg, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", S2650, MASTER_CLOCK/6)
@@ -2370,7 +2370,7 @@ static MACHINE_CONFIG_DERIVED( tazzmang, galaxian )
MDRV_CPU_PROGRAM_MAP(tazzmang)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( racknrol, driver_data_t )
+static MACHINE_CONFIG_START( racknrol, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", S2650, PIXEL_CLOCK/2)
@@ -2426,7 +2426,7 @@ static MACHINE_CONFIG_DERIVED( ckongmc, galaxian )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( hexpoola, driver_data_t )
+static MACHINE_CONFIG_START( hexpoola, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", S2650, PIXEL_CLOCK/2)
diff --git a/src/mame/drivers/galpani2.c b/src/mame/drivers/galpani2.c
index 827cca529e0..5453570764d 100644
--- a/src/mame/drivers/galpani2.c
+++ b/src/mame/drivers/galpani2.c
@@ -574,7 +574,7 @@ static INTERRUPT_GEN( galpani2_interrupt2 )
}
}
-static MACHINE_CONFIG_START( galpani2, driver_data_t )
+static MACHINE_CONFIG_START( galpani2, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, XTAL_16MHz)
diff --git a/src/mame/drivers/galpani3.c b/src/mame/drivers/galpani3.c
index 056a2c8379b..192b179df2b 100644
--- a/src/mame/drivers/galpani3.c
+++ b/src/mame/drivers/galpani3.c
@@ -898,7 +898,7 @@ static const ymz280b_interface ymz280b_intf =
0 // irq ?
};
-static MACHINE_CONFIG_START( galpani3, driver_data_t )
+static MACHINE_CONFIG_START( galpani3, driver_device )
MDRV_CPU_ADD("maincpu", M68000, 16000000) // ? (from which clock?)
MDRV_CPU_PROGRAM_MAP(galpani3_map)
MDRV_CPU_VBLANK_INT_HACK(galpani3_vblank, 3)
diff --git a/src/mame/drivers/galpanic.c b/src/mame/drivers/galpanic.c
index 3b3fa875582..04a73c2de60 100644
--- a/src/mame/drivers/galpanic.c
+++ b/src/mame/drivers/galpanic.c
@@ -881,7 +881,7 @@ static const kaneko_pandora_interface galpanic_pandora_config =
};
-static MACHINE_CONFIG_START( galpanic, driver_data_t )
+static MACHINE_CONFIG_START( galpanic, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, XTAL_12MHz) /* verified on pcb */
diff --git a/src/mame/drivers/gamecstl.c b/src/mame/drivers/gamecstl.c
index fb3e79f0718..fab7c710ec4 100644
--- a/src/mame/drivers/gamecstl.c
+++ b/src/mame/drivers/gamecstl.c
@@ -656,7 +656,7 @@ static const struct pit8253_config gamecstl_pit8254_config =
}
};
-static MACHINE_CONFIG_START( gamecstl, driver_data_t )
+static MACHINE_CONFIG_START( gamecstl, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", PENTIUM, 200000000)
diff --git a/src/mame/drivers/gaplus.c b/src/mame/drivers/gaplus.c
index 702a5f34fe9..3274775ea2f 100644
--- a/src/mame/drivers/gaplus.c
+++ b/src/mame/drivers/gaplus.c
@@ -522,7 +522,7 @@ static const namcoio_interface intf1 =
/* TODO: chip #2: test/cocktail, optional buttons */
-static MACHINE_CONFIG_START( gaplus, driver_data_t )
+static MACHINE_CONFIG_START( gaplus, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6809, 24576000/16) /* 1.536 MHz */
diff --git a/src/mame/drivers/gatron.c b/src/mame/drivers/gatron.c
index ce6337a9176..c1bf042040a 100644
--- a/src/mame/drivers/gatron.c
+++ b/src/mame/drivers/gatron.c
@@ -437,7 +437,7 @@ GFXDECODE_END
* Machine Drivers *
*************************/
-static MACHINE_CONFIG_START( gat, driver_data_t )
+static MACHINE_CONFIG_START( gat, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/24) /* 666.66 kHz, guess */
diff --git a/src/mame/drivers/gei.c b/src/mame/drivers/gei.c
index a6dce169bde..b8b24d4ac6d 100644
--- a/src/mame/drivers/gei.c
+++ b/src/mame/drivers/gei.c
@@ -1046,7 +1046,7 @@ static const ppi8255_interface findout_ppi8255_intf[2] =
}
};
-static MACHINE_CONFIG_START( getrivia, driver_data_t )
+static MACHINE_CONFIG_START( getrivia, driver_device )
MDRV_CPU_ADD("maincpu",Z80,4000000) /* 4 MHz */
MDRV_CPU_PROGRAM_MAP(getrivia_map)
MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse)
diff --git a/src/mame/drivers/ggconnie.c b/src/mame/drivers/ggconnie.c
index 28f53214f85..9782694d2ca 100644
--- a/src/mame/drivers/ggconnie.c
+++ b/src/mame/drivers/ggconnie.c
@@ -143,7 +143,7 @@ static const c6280_interface c6280_config =
"maincpu"
};
-static MACHINE_CONFIG_START( ggconnie, driver_data_t )
+static MACHINE_CONFIG_START( ggconnie, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", H6280, PCE_MAIN_CLOCK/3)
MDRV_CPU_PROGRAM_MAP(sgx_mem)
diff --git a/src/mame/drivers/ghosteo.c b/src/mame/drivers/ghosteo.c
index 7e0d87d5431..ff9beeaed8c 100644
--- a/src/mame/drivers/ghosteo.c
+++ b/src/mame/drivers/ghosteo.c
@@ -487,7 +487,7 @@ static INTERRUPT_GEN( bballoon_interrupt )
// irq_en = 0;
}
-static MACHINE_CONFIG_START( bballoon, driver_data_t )
+static MACHINE_CONFIG_START( bballoon, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", ARM7, 24000000)
diff --git a/src/mame/drivers/gladiatr.c b/src/mame/drivers/gladiatr.c
index 97fdcbd7286..dd08915e2b5 100644
--- a/src/mame/drivers/gladiatr.c
+++ b/src/mame/drivers/gladiatr.c
@@ -674,7 +674,7 @@ static const msm5205_interface msm5205_config =
-static MACHINE_CONFIG_START( ppking, driver_data_t )
+static MACHINE_CONFIG_START( ppking, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, XTAL_12MHz/2) /* verified on pcb */
@@ -724,7 +724,7 @@ static MACHINE_CONFIG_START( ppking, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( gladiatr, driver_data_t )
+static MACHINE_CONFIG_START( gladiatr, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, XTAL_12MHz/2) /* verified on pcb */
diff --git a/src/mame/drivers/go2000.c b/src/mame/drivers/go2000.c
index 14dcc92ceaf..798fde396d0 100644
--- a/src/mame/drivers/go2000.c
+++ b/src/mame/drivers/go2000.c
@@ -34,13 +34,11 @@ Notes:
#include "cpu/z80/z80.h"
#include "sound/dac.h"
-class go2000_state : public driver_data_t
+class go2000_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, go2000_state(machine)); }
-
- go2000_state(running_machine &machine)
- : driver_data_t(machine) { }
+ go2000_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * videoram;
diff --git a/src/mame/drivers/goldnpkr.c b/src/mame/drivers/goldnpkr.c
index 409ff7fd981..2a5cfd7b797 100644
--- a/src/mame/drivers/goldnpkr.c
+++ b/src/mame/drivers/goldnpkr.c
@@ -2287,7 +2287,7 @@ DISCRETE_SOUND_END
* Machine Drivers *
*********************************************/
-static MACHINE_CONFIG_START( goldnpkr_base, driver_data_t )
+static MACHINE_CONFIG_START( goldnpkr_base, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, CPU_CLOCK)
diff --git a/src/mame/drivers/gomoku.c b/src/mame/drivers/gomoku.c
index 5c9afd136c8..8a7844315b6 100644
--- a/src/mame/drivers/gomoku.c
+++ b/src/mame/drivers/gomoku.c
@@ -117,7 +117,7 @@ static GFXDECODE_START( gomoku )
GFXDECODE_END
-static MACHINE_CONFIG_START( gomoku, driver_data_t )
+static MACHINE_CONFIG_START( gomoku, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, XTAL_18_432MHz/12) /* 1.536 MHz ? */
MDRV_CPU_PROGRAM_MAP(gomoku_map)
diff --git a/src/mame/drivers/good.c b/src/mame/drivers/good.c
index 9d81d6a88d7..eb7df53a0a3 100644
--- a/src/mame/drivers/good.c
+++ b/src/mame/drivers/good.c
@@ -35,13 +35,11 @@ voice.rom - VOICE ROM
#include "sound/okim6295.h"
-class good_state : public driver_data_t
+class good_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, good_state(machine)); }
-
- good_state(running_machine &machine)
- : driver_data_t(machine) { }
+ good_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * bg_tilemapram;
diff --git a/src/mame/drivers/goodejan.c b/src/mame/drivers/goodejan.c
index ea69743cbf5..40fd7a4285c 100644
--- a/src/mame/drivers/goodejan.c
+++ b/src/mame/drivers/goodejan.c
@@ -325,7 +325,7 @@ static INTERRUPT_GEN( goodejan_irq )
/* vector 0x00c is just a reti */
}
-static MACHINE_CONFIG_START( goodejan, driver_data_t )
+static MACHINE_CONFIG_START( goodejan, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", V30, GOODEJAN_MHZ2/2)
diff --git a/src/mame/drivers/gottlieb.c b/src/mame/drivers/gottlieb.c
index 886957810d9..32ec4b35fdb 100644
--- a/src/mame/drivers/gottlieb.c
+++ b/src/mame/drivers/gottlieb.c
@@ -1915,7 +1915,7 @@ static const samples_interface reactor_samples_interface =
*
*************************************/
-static MACHINE_CONFIG_START( gottlieb_core, driver_data_t )
+static MACHINE_CONFIG_START( gottlieb_core, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", I8088, CPU_CLOCK/3)
diff --git a/src/mame/drivers/gpworld.c b/src/mame/drivers/gpworld.c
index ebb6d188fce..20860d142a4 100644
--- a/src/mame/drivers/gpworld.c
+++ b/src/mame/drivers/gpworld.c
@@ -441,7 +441,7 @@ static GFXDECODE_START( gpworld )
GFXDECODE_END
/* DRIVER */
-static MACHINE_CONFIG_START( gpworld, driver_data_t )
+static MACHINE_CONFIG_START( gpworld, driver_device )
/* main cpu */
MDRV_CPU_ADD("maincpu", Z80, GUESSED_CLOCK)
diff --git a/src/mame/drivers/gridlee.c b/src/mame/drivers/gridlee.c
index 4c1955c65ad..89be324606d 100644
--- a/src/mame/drivers/gridlee.c
+++ b/src/mame/drivers/gridlee.c
@@ -433,7 +433,7 @@ static const samples_interface gridlee_samples_interface =
*
*************************************/
-static MACHINE_CONFIG_START( gridlee, driver_data_t )
+static MACHINE_CONFIG_START( gridlee, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6809, BALSENTE_CPU_CLOCK)
diff --git a/src/mame/drivers/groundfx.c b/src/mame/drivers/groundfx.c
index 2c520924539..1980717f372 100644
--- a/src/mame/drivers/groundfx.c
+++ b/src/mame/drivers/groundfx.c
@@ -367,7 +367,7 @@ static INTERRUPT_GEN( groundfx_interrupt )
cpu_set_input_line(device, 4, HOLD_LINE);
}
-static MACHINE_CONFIG_START( groundfx, driver_data_t )
+static MACHINE_CONFIG_START( groundfx, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68EC020, 16000000) /* 16 MHz */
diff --git a/src/mame/drivers/gstream.c b/src/mame/drivers/gstream.c
index 738a8fd7952..1f6bd688149 100644
--- a/src/mame/drivers/gstream.c
+++ b/src/mame/drivers/gstream.c
@@ -124,13 +124,11 @@ RAM4 is HMC HM6264LP-70
#include "cpu/e132xs/e132xs.h"
#include "sound/okim6295.h"
-class gstream_state : public driver_data_t
+class gstream_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, gstream_state(machine)); }
-
- gstream_state(running_machine &machine)
- : driver_data_t(machine),
+ gstream_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config),
maincpu(machine.device<cpu_device>("maincpu")),
oki_1(machine.device<okim6295_device>("oki1")),
oki_2(machine.device<okim6295_device>("oki2")) { }
diff --git a/src/mame/drivers/gstriker.c b/src/mame/drivers/gstriker.c
index 456f30548cf..4ae81b64090 100644
--- a/src/mame/drivers/gstriker.c
+++ b/src/mame/drivers/gstriker.c
@@ -546,7 +546,7 @@ INPUT_PORTS_END
/*** MACHINE DRIVER **********************************************************/
-static MACHINE_CONFIG_START( gstriker, driver_data_t )
+static MACHINE_CONFIG_START( gstriker, driver_device )
MDRV_CPU_ADD("maincpu", M68000, 10000000)
MDRV_CPU_PROGRAM_MAP(gstriker_map)
MDRV_CPU_VBLANK_INT("screen", irq1_line_hold)
@@ -585,7 +585,7 @@ static MACHINE_CONFIG_DERIVED( twrldc94, gstriker )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( vgoal, driver_data_t )
+static MACHINE_CONFIG_START( vgoal, driver_device )
MDRV_CPU_ADD("maincpu", M68000, 16000000)
MDRV_CPU_PROGRAM_MAP(vgoal_map)
MDRV_CPU_VBLANK_INT("screen", irq1_line_hold)
diff --git a/src/mame/drivers/gsword.c b/src/mame/drivers/gsword.c
index 8fb9eb7c305..d75e70f3325 100644
--- a/src/mame/drivers/gsword.c
+++ b/src/mame/drivers/gsword.c
@@ -692,7 +692,7 @@ static const msm5205_interface msm5205_config =
MSM5205_SEX_4B /* vclk input mode */
};
-static MACHINE_CONFIG_START( gsword, driver_data_t )
+static MACHINE_CONFIG_START( gsword, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, XTAL_18MHz/6) /* verified on pcb */
@@ -747,7 +747,7 @@ static MACHINE_CONFIG_START( gsword, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( josvolly, driver_data_t )
+static MACHINE_CONFIG_START( josvolly, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 18000000/6) /* ? */
diff --git a/src/mame/drivers/gticlub.c b/src/mame/drivers/gticlub.c
index 1dd99511e41..77e772b0f0c 100644
--- a/src/mame/drivers/gticlub.c
+++ b/src/mame/drivers/gticlub.c
@@ -815,7 +815,7 @@ static MACHINE_RESET( gticlub )
cputag_set_input_line(machine, "dsp", INPUT_LINE_RESET, ASSERT_LINE);
}
-static MACHINE_CONFIG_START( gticlub, driver_data_t )
+static MACHINE_CONFIG_START( gticlub, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", PPC403GA, 64000000/2) /* PowerPC 403GA 32MHz */
@@ -898,7 +898,7 @@ static MACHINE_RESET( hangplt )
cputag_set_input_line(machine, "dsp2", INPUT_LINE_RESET, ASSERT_LINE);
}
-static MACHINE_CONFIG_START( hangplt, driver_data_t )
+static MACHINE_CONFIG_START( hangplt, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", PPC403GA, 64000000/2) /* PowerPC 403GA 32MHz */
diff --git a/src/mame/drivers/guab.c b/src/mame/drivers/guab.c
index d6e574cdb4b..028f4588fe2 100644
--- a/src/mame/drivers/guab.c
+++ b/src/mame/drivers/guab.c
@@ -760,7 +760,7 @@ static MACHINE_RESET( guab )
memset(&fdc, 0, sizeof(fdc));
}
-static MACHINE_CONFIG_START( guab, driver_data_t )
+static MACHINE_CONFIG_START( guab, driver_device )
/* TODO: Verify clock */
MDRV_CPU_ADD("maincpu", M68000, 8000000)
MDRV_CPU_PROGRAM_MAP(guab_map)
diff --git a/src/mame/drivers/gunbustr.c b/src/mame/drivers/gunbustr.c
index 953840a3b44..76af00e33d0 100644
--- a/src/mame/drivers/gunbustr.c
+++ b/src/mame/drivers/gunbustr.c
@@ -345,7 +345,7 @@ static const tc0480scp_interface gunbustr_tc0480scp_intf =
0 /* col_base */
};
-static MACHINE_CONFIG_START( gunbustr, driver_data_t )
+static MACHINE_CONFIG_START( gunbustr, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68EC020, 16000000) /* 16 MHz */
diff --git a/src/mame/drivers/gunpey.c b/src/mame/drivers/gunpey.c
index 5abdb6927ab..871fb532241 100644
--- a/src/mame/drivers/gunpey.c
+++ b/src/mame/drivers/gunpey.c
@@ -313,7 +313,7 @@ static INTERRUPT_GEN( gunpey_interrupt )
}
/***************************************************************************************/
-static MACHINE_CONFIG_START( gunpey, driver_data_t )
+static MACHINE_CONFIG_START( gunpey, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", V30, 57242400 / 4)
diff --git a/src/mame/drivers/halleys.c b/src/mame/drivers/halleys.c
index 85ec701c53c..5ec017e809d 100644
--- a/src/mame/drivers/halleys.c
+++ b/src/mame/drivers/halleys.c
@@ -1933,7 +1933,7 @@ static const ay8910_interface ay8910_config =
};
-static MACHINE_CONFIG_START( halleys, driver_data_t )
+static MACHINE_CONFIG_START( halleys, driver_device )
MDRV_CPU_ADD("maincpu", M6809, XTAL_19_968MHz/12) /* verified on pcb */
MDRV_CPU_PROGRAM_MAP(halleys_map)
MDRV_CPU_VBLANK_INT_HACK(halleys_interrupt, 4)
diff --git a/src/mame/drivers/hexion.c b/src/mame/drivers/hexion.c
index 98ffd8366fd..4472166d635 100644
--- a/src/mame/drivers/hexion.c
+++ b/src/mame/drivers/hexion.c
@@ -227,7 +227,7 @@ static INTERRUPT_GEN( hexion_interrupt )
cpu_set_input_line(device, 0, HOLD_LINE);
}
-static MACHINE_CONFIG_START( hexion, driver_data_t )
+static MACHINE_CONFIG_START( hexion, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80,24000000/4) /* Z80B 6 MHz */
diff --git a/src/mame/drivers/highvdeo.c b/src/mame/drivers/highvdeo.c
index 34bb7b24c14..c00c87a9292 100644
--- a/src/mame/drivers/highvdeo.c
+++ b/src/mame/drivers/highvdeo.c
@@ -865,7 +865,7 @@ static INTERRUPT_GEN( vblank_irq )
cpu_set_input_line_and_vector(device,0,HOLD_LINE,0x08/4);
}
-static MACHINE_CONFIG_START( tv_vcf, driver_data_t )
+static MACHINE_CONFIG_START( tv_vcf, driver_device )
MDRV_CPU_ADD("maincpu", V30, XTAL_12MHz/2 ) // ?
MDRV_CPU_PROGRAM_MAP(tv_vcf_map)
MDRV_CPU_IO_MAP(tv_vcf_io)
@@ -932,7 +932,7 @@ static MACHINE_CONFIG_DERIVED( ciclone, tv_tcf )
MDRV_CPU_VBLANK_INT("screen", vblank_irq)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( brasil, driver_data_t )
+static MACHINE_CONFIG_START( brasil, driver_device )
MDRV_CPU_ADD("maincpu", I80186, 20000000 ) // fashion doesn't like 20/2 Mhz
MDRV_CPU_PROGRAM_MAP(brasil_map)
MDRV_CPU_IO_MAP(brasil_io)
diff --git a/src/mame/drivers/hikaru.c b/src/mame/drivers/hikaru.c
index 01e7b77a473..a60e89f6601 100644
--- a/src/mame/drivers/hikaru.c
+++ b/src/mame/drivers/hikaru.c
@@ -372,7 +372,7 @@ static ADDRESS_MAP_START( hikaru_map_slave, ADDRESS_SPACE_PROGRAM, 64 )
ADDRESS_MAP_END
-static MACHINE_CONFIG_START( hikaru, driver_data_t )
+static MACHINE_CONFIG_START( hikaru, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", SH4, CPU_CLOCK)
// MDRV_CPU_CONFIG(sh4cpu_config)
diff --git a/src/mame/drivers/hitpoker.c b/src/mame/drivers/hitpoker.c
index fbdf814e9c8..5a681aaf405 100644
--- a/src/mame/drivers/hitpoker.c
+++ b/src/mame/drivers/hitpoker.c
@@ -461,7 +461,7 @@ static INTERRUPT_GEN( hitpoker_irq )
cpu_set_input_line(device, MC68HC11_IRQ_LINE, HOLD_LINE);
}
-static MACHINE_CONFIG_START( hitpoker, driver_data_t )
+static MACHINE_CONFIG_START( hitpoker, driver_device )
MDRV_CPU_ADD("maincpu", MC68HC11,1000000)
MDRV_CPU_PROGRAM_MAP(hitpoker_map)
MDRV_CPU_IO_MAP(hitpoker_io)
diff --git a/src/mame/drivers/hornet.c b/src/mame/drivers/hornet.c
index 27e9894b20f..7815b4447eb 100644
--- a/src/mame/drivers/hornet.c
+++ b/src/mame/drivers/hornet.c
@@ -915,7 +915,7 @@ static const k037122_interface hornet_k037122_intf_r =
"rscreen", 1
};
-static MACHINE_CONFIG_START( hornet, driver_data_t )
+static MACHINE_CONFIG_START( hornet, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", PPC403GA, 64000000/2) /* PowerPC 403GA 32MHz */
diff --git a/src/mame/drivers/hotblock.c b/src/mame/drivers/hotblock.c
index f49dd56a7ad..c0f3ef2ebbb 100644
--- a/src/mame/drivers/hotblock.c
+++ b/src/mame/drivers/hotblock.c
@@ -45,13 +45,11 @@ so it could be by them instead
#include "cpu/i86/i86.h"
#include "sound/ay8910.h"
-class hotblock_state : public driver_data_t
+class hotblock_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, hotblock_state(machine)); }
-
- hotblock_state(running_machine &machine)
- : driver_data_t(machine) { }
+ hotblock_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * vram;
diff --git a/src/mame/drivers/hotstuff.c b/src/mame/drivers/hotstuff.c
index 20421a0061a..373ae706c3d 100644
--- a/src/mame/drivers/hotstuff.c
+++ b/src/mame/drivers/hotstuff.c
@@ -64,7 +64,7 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( hotstuff )
INPUT_PORTS_END
-static MACHINE_CONFIG_START( hotstuff, driver_data_t )
+static MACHINE_CONFIG_START( hotstuff, driver_device )
MDRV_CPU_ADD("maincpu", M68000, 16000000)
MDRV_CPU_PROGRAM_MAP(hotstuff_map)
diff --git a/src/mame/drivers/hvyunit.c b/src/mame/drivers/hvyunit.c
index 0dc27b61169..2203e2dfe23 100644
--- a/src/mame/drivers/hvyunit.c
+++ b/src/mame/drivers/hvyunit.c
@@ -640,7 +640,7 @@ static const kaneko_pandora_interface hvyunit_pandora_config =
};
-static MACHINE_CONFIG_START( hvyunit, driver_data_t )
+static MACHINE_CONFIG_START( hvyunit, driver_device )
MDRV_CPU_ADD("master", Z80,6000000)
MDRV_CPU_PROGRAM_MAP(master_memory)
diff --git a/src/mame/drivers/hyhoo.c b/src/mame/drivers/hyhoo.c
index 136ef902923..0a29fb4e24d 100644
--- a/src/mame/drivers/hyhoo.c
+++ b/src/mame/drivers/hyhoo.c
@@ -252,7 +252,7 @@ static const ay8910_interface ay8910_config =
};
-static MACHINE_CONFIG_START( hyhoo, driver_data_t )
+static MACHINE_CONFIG_START( hyhoo, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 5000000) /* 5.00 MHz ?? */
diff --git a/src/mame/drivers/igs009.c b/src/mame/drivers/igs009.c
index b3f29d034db..73ffcc7de29 100644
--- a/src/mame/drivers/igs009.c
+++ b/src/mame/drivers/igs009.c
@@ -630,7 +630,7 @@ static INTERRUPT_GEN( jingbell_interrupt )
cpu_set_input_line(device, INPUT_LINE_NMI, PULSE_LINE);
}
-static MACHINE_CONFIG_START( jingbell, driver_data_t )
+static MACHINE_CONFIG_START( jingbell, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z180, XTAL_12MHz / 2) /* HD64180RP8, 8 MHz? */
MDRV_CPU_PROGRAM_MAP(jingbell_map)
diff --git a/src/mame/drivers/igs011.c b/src/mame/drivers/igs011.c
index fa6fd625246..537d6a71f9e 100644
--- a/src/mame/drivers/igs011.c
+++ b/src/mame/drivers/igs011.c
@@ -3444,7 +3444,7 @@ static GFXDECODE_START( igs011_hi )
GFXDECODE_END
#endif
-static MACHINE_CONFIG_START( igs011_base, driver_data_t )
+static MACHINE_CONFIG_START( igs011_base, driver_device )
MDRV_CPU_ADD("maincpu",M68000, XTAL_22MHz/3)
MDRV_NVRAM_HANDLER(generic_0fill)
diff --git a/src/mame/drivers/igs017.c b/src/mame/drivers/igs017.c
index 60476089b48..388e4985641 100644
--- a/src/mame/drivers/igs017.c
+++ b/src/mame/drivers/igs017.c
@@ -2027,7 +2027,7 @@ static MACHINE_RESET( iqblocka )
input_select = 0;
}
-static MACHINE_CONFIG_START( iqblocka, driver_data_t )
+static MACHINE_CONFIG_START( iqblocka, driver_device )
MDRV_CPU_ADD("maincpu", Z180, XTAL_16MHz / 2)
MDRV_CPU_PROGRAM_MAP(iqblocka_map)
MDRV_CPU_IO_MAP(iqblocka_io)
@@ -2099,7 +2099,7 @@ static const ppi8255_interface mgcs_ppi8255_intf =
DEVCB_NULL // Port C write
};
-static MACHINE_CONFIG_START( mgcs, driver_data_t )
+static MACHINE_CONFIG_START( mgcs, driver_device )
MDRV_CPU_ADD("maincpu", M68000, XTAL_22MHz / 2)
MDRV_CPU_PROGRAM_MAP(mgcs)
MDRV_CPU_VBLANK_INT_HACK(mgcs_interrupt,2)
@@ -2144,7 +2144,7 @@ static const ppi8255_interface sdmg2_ppi8255_intf =
DEVCB_NULL // Port C write
};
-static MACHINE_CONFIG_START( sdmg2, driver_data_t )
+static MACHINE_CONFIG_START( sdmg2, driver_device )
MDRV_CPU_ADD("maincpu", M68000, XTAL_22MHz/2)
MDRV_CPU_PROGRAM_MAP(sdmg2)
MDRV_CPU_VBLANK_INT_HACK(mgcs_interrupt,2)
@@ -2202,7 +2202,7 @@ static const ppi8255_interface mgdh_ppi8255_intf =
DEVCB_NULL // Port C write
};
-static MACHINE_CONFIG_START( mgdh, driver_data_t )
+static MACHINE_CONFIG_START( mgdh, driver_device )
MDRV_CPU_ADD("maincpu", M68000, XTAL_22MHz / 2)
MDRV_CPU_PROGRAM_MAP(mgdh_map)
MDRV_CPU_VBLANK_INT_HACK(mgdh_interrupt,2)
diff --git a/src/mame/drivers/igs_m027.c b/src/mame/drivers/igs_m027.c
index 3df8a081bed..73d82582829 100644
--- a/src/mame/drivers/igs_m027.c
+++ b/src/mame/drivers/igs_m027.c
@@ -364,7 +364,7 @@ static INTERRUPT_GEN( igs_majhong_interrupt )
}
-static MACHINE_CONFIG_START( igs_majhong, driver_data_t )
+static MACHINE_CONFIG_START( igs_majhong, driver_device )
MDRV_CPU_ADD("maincpu",ARM7, 20000000)
MDRV_CPU_PROGRAM_MAP(igs_majhong_map)
diff --git a/src/mame/drivers/igspoker.c b/src/mame/drivers/igspoker.c
index 20b9fb149eb..6e00994f60f 100644
--- a/src/mame/drivers/igspoker.c
+++ b/src/mame/drivers/igspoker.c
@@ -1556,7 +1556,7 @@ static GFXDECODE_START( cpokerpk )
GFXDECODE_ENTRY( "gfx2", 0x00000, charlayout2, 0, 1 )
GFXDECODE_END
-static MACHINE_CONFIG_START( igspoker, driver_data_t )
+static MACHINE_CONFIG_START( igspoker, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu",Z80, 3579545)
diff --git a/src/mame/drivers/ilpag.c b/src/mame/drivers/ilpag.c
index eaac062d4cb..76163aaf057 100644
--- a/src/mame/drivers/ilpag.c
+++ b/src/mame/drivers/ilpag.c
@@ -418,7 +418,7 @@ static INPUT_PORTS_START( steaser )
PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_POKER_HOLD4 ) PORT_IMPULSE(1)
INPUT_PORTS_END
-static MACHINE_CONFIG_START( ilpag, driver_data_t )
+static MACHINE_CONFIG_START( ilpag, driver_device )
MDRV_CPU_ADD("maincpu", M68000, 11059200 ) // ?
MDRV_CPU_PROGRAM_MAP(ilpag_map)
MDRV_CPU_VBLANK_INT("screen",irq4_line_hold) //3 & 6 used, mcu comms?
diff --git a/src/mame/drivers/imolagp.c b/src/mame/drivers/imolagp.c
index 2e0aa6a6bfa..fb300069cde 100644
--- a/src/mame/drivers/imolagp.c
+++ b/src/mame/drivers/imolagp.c
@@ -83,13 +83,11 @@ Known issues:
#define HLE_COM
-class imolagp_state : public driver_data_t
+class imolagp_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, imolagp_state(machine)); }
-
- imolagp_state(running_machine &machine)
- : driver_data_t(machine) { }
+ imolagp_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT8 *slave_workram; // used only ifdef HLE_COM
diff --git a/src/mame/drivers/intrscti.c b/src/mame/drivers/intrscti.c
index e7661e2c29e..c0f7278dd46 100644
--- a/src/mame/drivers/intrscti.c
+++ b/src/mame/drivers/intrscti.c
@@ -80,7 +80,7 @@ static VIDEO_UPDATE(intrscti)
return 0;
}
-static MACHINE_CONFIG_START( intrscti, driver_data_t )
+static MACHINE_CONFIG_START( intrscti, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80,4000000) /* ? MHz */
MDRV_CPU_PROGRAM_MAP(intrscti_map)
diff --git a/src/mame/drivers/iqblock.c b/src/mame/drivers/iqblock.c
index 43351df2b84..bd341c17c7b 100644
--- a/src/mame/drivers/iqblock.c
+++ b/src/mame/drivers/iqblock.c
@@ -265,7 +265,7 @@ GFXDECODE_END
-static MACHINE_CONFIG_START( iqblock, driver_data_t )
+static MACHINE_CONFIG_START( iqblock, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80,12000000/2) /* 6 MHz */
diff --git a/src/mame/drivers/irobot.c b/src/mame/drivers/irobot.c
index 3ba2633ac0c..88756824351 100644
--- a/src/mame/drivers/irobot.c
+++ b/src/mame/drivers/irobot.c
@@ -287,7 +287,7 @@ static const pokey_interface pokey_config =
*
*************************************/
-static MACHINE_CONFIG_START( irobot, driver_data_t )
+static MACHINE_CONFIG_START( irobot, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6809, MAIN_CLOCK/8)
diff --git a/src/mame/drivers/istellar.c b/src/mame/drivers/istellar.c
index cf7bc058774..d81d369f813 100644
--- a/src/mame/drivers/istellar.c
+++ b/src/mame/drivers/istellar.c
@@ -321,7 +321,7 @@ static INTERRUPT_GEN( vblank_callback_istellar )
/* DRIVER */
-static MACHINE_CONFIG_START( istellar, driver_data_t )
+static MACHINE_CONFIG_START( istellar, driver_device )
/* main cpu */
MDRV_CPU_ADD("maincpu", Z80, GUESSED_CLOCK)
MDRV_CPU_PROGRAM_MAP(z80_0_mem)
diff --git a/src/mame/drivers/itech32.c b/src/mame/drivers/itech32.c
index c6cb7ea9fd4..72c4e0cac8e 100644
--- a/src/mame/drivers/itech32.c
+++ b/src/mame/drivers/itech32.c
@@ -1728,7 +1728,7 @@ static const es5506_interface es5506_config =
*
*************************************/
-static MACHINE_CONFIG_START( timekill, driver_data_t )
+static MACHINE_CONFIG_START( timekill, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, CPU_CLOCK)
diff --git a/src/mame/drivers/itech8.c b/src/mame/drivers/itech8.c
index 336e29c23eb..fb0293ead61 100644
--- a/src/mame/drivers/itech8.c
+++ b/src/mame/drivers/itech8.c
@@ -1714,7 +1714,7 @@ static const ym3812_interface ym3812_config =
/************* core pieces ******************/
-static MACHINE_CONFIG_START( itech8_core_lo, driver_data_t )
+static MACHINE_CONFIG_START( itech8_core_lo, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6809, CLOCK_8MHz/4)
diff --git a/src/mame/drivers/itgambl2.c b/src/mame/drivers/itgambl2.c
index ad7a3282a2e..2f4920af171 100644
--- a/src/mame/drivers/itgambl2.c
+++ b/src/mame/drivers/itgambl2.c
@@ -247,7 +247,7 @@ static PALETTE_INIT( itgambl2 )
* Machine Drivers *
**************************/
-static MACHINE_CONFIG_START( itgambl2, driver_data_t )
+static MACHINE_CONFIG_START( itgambl2, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", H83044, MAIN_CLOCK) /* wrong CPU, but we have not a H8/3337 core ATM */
diff --git a/src/mame/drivers/itgambl3.c b/src/mame/drivers/itgambl3.c
index 2ccd677fac5..bb5e53be08f 100644
--- a/src/mame/drivers/itgambl3.c
+++ b/src/mame/drivers/itgambl3.c
@@ -236,7 +236,7 @@ static PALETTE_INIT( itgambl3 )
* Machine Drivers *
**************************/
-static MACHINE_CONFIG_START( itgambl3, driver_data_t )
+static MACHINE_CONFIG_START( itgambl3, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", H83044, MAIN_CLOCK) /* wrong CPU, but we have not a M16C core ATM */
diff --git a/src/mame/drivers/itgamble.c b/src/mame/drivers/itgamble.c
index 0cd5fb383d6..083c7e7ba5d 100644
--- a/src/mame/drivers/itgamble.c
+++ b/src/mame/drivers/itgamble.c
@@ -179,7 +179,7 @@ static MACHINE_RESET( itgamble )
* Machine Drivers *
**************************/
-static MACHINE_CONFIG_START( itgamble, driver_data_t )
+static MACHINE_CONFIG_START( itgamble, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", H83044, MAIN_CLOCK/2) /* probably the wrong CPU */
diff --git a/src/mame/drivers/jackie.c b/src/mame/drivers/jackie.c
index 091f761cf46..78b97002f1d 100644
--- a/src/mame/drivers/jackie.c
+++ b/src/mame/drivers/jackie.c
@@ -519,7 +519,7 @@ static DRIVER_INIT( jackie )
}
-static MACHINE_CONFIG_START( jackie, driver_data_t )
+static MACHINE_CONFIG_START( jackie, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, XTAL_12MHz / 2)
diff --git a/src/mame/drivers/jackpool.c b/src/mame/drivers/jackpool.c
index ee5d11df942..0997f00b080 100644
--- a/src/mame/drivers/jackpool.c
+++ b/src/mame/drivers/jackpool.c
@@ -239,7 +239,7 @@ static INTERRUPT_GEN( jackpool_interrupt )
}
-static MACHINE_CONFIG_START( jackpool, driver_data_t )
+static MACHINE_CONFIG_START( jackpool, driver_device )
MDRV_CPU_ADD("maincpu", M68000, 12000000) // ?
MDRV_CPU_PROGRAM_MAP(jackpool_mem)
MDRV_CPU_VBLANK_INT("screen",jackpool_interrupt) // ?
diff --git a/src/mame/drivers/jalmah.c b/src/mame/drivers/jalmah.c
index 0c1dfd82da5..d997181fb44 100644
--- a/src/mame/drivers/jalmah.c
+++ b/src/mame/drivers/jalmah.c
@@ -1302,7 +1302,7 @@ static MACHINE_RESET ( jalmah )
}
}
-static MACHINE_CONFIG_START( jalmah, driver_data_t )
+static MACHINE_CONFIG_START( jalmah, driver_device )
MDRV_CPU_ADD("maincpu" , M68000, 12000000) /* 68000-8 */
MDRV_CPU_PROGRAM_MAP(jalmah)
MDRV_CPU_VBLANK_INT("screen", irq2_line_hold)
diff --git a/src/mame/drivers/jangou.c b/src/mame/drivers/jangou.c
index 4818e452392..ae0a352bcae 100644
--- a/src/mame/drivers/jangou.c
+++ b/src/mame/drivers/jangou.c
@@ -33,13 +33,11 @@ $c088-$c095 player tiles
#define MASTER_CLOCK XTAL_19_968MHz
-class jangou_state : public driver_data_t
+class jangou_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, jangou_state(machine)); }
-
- jangou_state(running_machine &machine)
- : driver_data_t(machine) { }
+ jangou_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* video-related */
UINT8 *blit_buffer;
diff --git a/src/mame/drivers/jantotsu.c b/src/mame/drivers/jantotsu.c
index 1bf1ad7bd15..f206f00cbb9 100644
--- a/src/mame/drivers/jantotsu.c
+++ b/src/mame/drivers/jantotsu.c
@@ -99,13 +99,11 @@ dumped by sayu
#include "sound/sn76496.h"
#include "sound/msm5205.h"
-class jantotsu_state : public driver_data_t
+class jantotsu_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, jantotsu_state(machine)); }
-
- jantotsu_state(running_machine &machine)
- : driver_data_t(machine) { }
+ jantotsu_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* video-related */
UINT8 *bitmap;
diff --git a/src/mame/drivers/jchan.c b/src/mame/drivers/jchan.c
index 2101029d5c4..158d3e31bd3 100644
--- a/src/mame/drivers/jchan.c
+++ b/src/mame/drivers/jchan.c
@@ -655,7 +655,7 @@ static const ymz280b_interface ymz280b_intf =
/* machine driver */
-static MACHINE_CONFIG_START( jchan, driver_data_t )
+static MACHINE_CONFIG_START( jchan, driver_device )
MDRV_CPU_ADD("maincpu", M68000, 16000000)
MDRV_CPU_PROGRAM_MAP(jchan_main)
diff --git a/src/mame/drivers/jokrwild.c b/src/mame/drivers/jokrwild.c
index 5d27b6bf134..0784e836eba 100644
--- a/src/mame/drivers/jokrwild.c
+++ b/src/mame/drivers/jokrwild.c
@@ -454,7 +454,7 @@ static const mc6845_interface mc6845_intf =
* Machine Drivers *
*************************/
-static MACHINE_CONFIG_START( jokrwild, driver_data_t )
+static MACHINE_CONFIG_START( jokrwild, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6809, MASTER_CLOCK/2) /* guess */
diff --git a/src/mame/drivers/jollyjgr.c b/src/mame/drivers/jollyjgr.c
index 6d65257b039..ec6c51d0624 100644
--- a/src/mame/drivers/jollyjgr.c
+++ b/src/mame/drivers/jollyjgr.c
@@ -102,13 +102,11 @@ Notes:
#include "sound/ay8910.h"
-class jollyjgr_state : public driver_data_t
+class jollyjgr_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, jollyjgr_state(machine)); }
-
- jollyjgr_state(running_machine &machine)
- : driver_data_t(machine) { }
+ jollyjgr_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/drivers/jongkyo.c b/src/mame/drivers/jongkyo.c
index a0286627ba4..37cfa7d79e4 100644
--- a/src/mame/drivers/jongkyo.c
+++ b/src/mame/drivers/jongkyo.c
@@ -32,13 +32,11 @@
#define JONGKYO_CLOCK 18432000
-class jongkyo_state : public driver_data_t
+class jongkyo_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, jongkyo_state(machine)); }
-
- jongkyo_state(running_machine &machine)
- : driver_data_t(machine) { }
+ jongkyo_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/drivers/jpmimpct.c b/src/mame/drivers/jpmimpct.c
index 7652e8d3be8..c1d663b9a9a 100644
--- a/src/mame/drivers/jpmimpct.c
+++ b/src/mame/drivers/jpmimpct.c
@@ -845,7 +845,7 @@ static const tms34010_config tms_config =
*
*************************************/
-static MACHINE_CONFIG_START( jpmimpct, driver_data_t )
+static MACHINE_CONFIG_START( jpmimpct, driver_device )
MDRV_CPU_ADD("maincpu", M68000, 8000000)
MDRV_CPU_PROGRAM_MAP(m68k_program_map)
@@ -1321,7 +1321,7 @@ ADDRESS_MAP_END
*
*************************************/
-static MACHINE_CONFIG_START( impctawp, driver_data_t )
+static MACHINE_CONFIG_START( impctawp, driver_device )
MDRV_CPU_ADD("maincpu",M68000, 8000000)
MDRV_CPU_PROGRAM_MAP(awp68k_program_map)
diff --git a/src/mame/drivers/jpmsys5.c b/src/mame/drivers/jpmsys5.c
index 3ef624291c6..7594b5543ba 100644
--- a/src/mame/drivers/jpmsys5.c
+++ b/src/mame/drivers/jpmsys5.c
@@ -594,7 +594,7 @@ static MACHINE_RESET( jpmsys5v )
*
*************************************/
-static MACHINE_CONFIG_START( jpmsys5v, driver_data_t )
+static MACHINE_CONFIG_START( jpmsys5v, driver_device )
MDRV_CPU_ADD("maincpu", M68000, 8000000)
MDRV_CPU_PROGRAM_MAP(68000_map)
diff --git a/src/mame/drivers/jrpacman.c b/src/mame/drivers/jrpacman.c
index f9c4bb0d352..e39fdb3149c 100644
--- a/src/mame/drivers/jrpacman.c
+++ b/src/mame/drivers/jrpacman.c
@@ -263,7 +263,7 @@ static const namco_interface namco_config =
*
*************************************/
-static MACHINE_CONFIG_START( jrpacman, driver_data_t )
+static MACHINE_CONFIG_START( jrpacman, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 18432000/6) /* 3.072 MHz */
diff --git a/src/mame/drivers/kaneko16.c b/src/mame/drivers/kaneko16.c
index fc7c1d418d4..9f3df73d70e 100644
--- a/src/mame/drivers/kaneko16.c
+++ b/src/mame/drivers/kaneko16.c
@@ -1799,7 +1799,7 @@ static const ay8910_interface ay8910_intf_eeprom =
6-7] rte
*/
-static MACHINE_CONFIG_START( berlwall, driver_data_t )
+static MACHINE_CONFIG_START( berlwall, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 12000000) /* MC68000P12 */
@@ -1845,7 +1845,7 @@ MACHINE_CONFIG_END
Bakuretsu Breaker
***************************************************************************/
-static MACHINE_CONFIG_START( bakubrkr, driver_data_t )
+static MACHINE_CONFIG_START( bakubrkr, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, XTAL_12MHz) /* verified on pcb */
@@ -1900,7 +1900,7 @@ MACHINE_CONFIG_END
6-7] busy loop
*/
-static MACHINE_CONFIG_START( blazeon, driver_data_t )
+static MACHINE_CONFIG_START( blazeon, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000,12000000) /* TMP68HC000-12 */
@@ -1953,7 +1953,7 @@ MACHINE_CONFIG_END
VIDEO_UPDATE_AFTER_VBLANK fixes the mangled/wrong colored sprites
*/
-static MACHINE_CONFIG_START( gtmr, driver_data_t )
+static MACHINE_CONFIG_START( gtmr, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("gtmr", M68000, XTAL_16MHz) /* verified on pcb */
@@ -2040,7 +2040,7 @@ MACHINE_CONFIG_END
Magical Crystal
***************************************************************************/
-static MACHINE_CONFIG_START( mgcrystl, driver_data_t )
+static MACHINE_CONFIG_START( mgcrystl, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, XTAL_12MHz) /* verified on pcb */
@@ -2158,7 +2158,7 @@ static ADDRESS_MAP_START( shogwarr_oki2_map, 0, 8 )
AM_RANGE(0x00000, 0x3ffff) AM_ROMBANK("bank11")
ADDRESS_MAP_END
-static MACHINE_CONFIG_START( shogwarr, driver_data_t )
+static MACHINE_CONFIG_START( shogwarr, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, XTAL_12MHz)
diff --git a/src/mame/drivers/kingdrby.c b/src/mame/drivers/kingdrby.c
index 7b0dd21b6b8..43476ba976b 100644
--- a/src/mame/drivers/kingdrby.c
+++ b/src/mame/drivers/kingdrby.c
@@ -965,7 +965,7 @@ static PALETTE_INIT(kingdrbb)
}
}
-static MACHINE_CONFIG_START( kingdrby, driver_data_t )
+static MACHINE_CONFIG_START( kingdrby, driver_device )
MDRV_CPU_ADD("master", Z80, CLK_2)
MDRV_CPU_PROGRAM_MAP(master_map)
MDRV_CPU_IO_MAP(master_io_map)
diff --git a/src/mame/drivers/kingpin.c b/src/mame/drivers/kingpin.c
index fb32c4cee9e..b7cf7dee17c 100644
--- a/src/mame/drivers/kingpin.c
+++ b/src/mame/drivers/kingpin.c
@@ -138,7 +138,7 @@ static const TMS9928a_interface tms9928a_interface =
vdp_interrupt
};
-static MACHINE_CONFIG_START( kingpin, driver_data_t )
+static MACHINE_CONFIG_START( kingpin, driver_device )
/* MAIN CPU */
MDRV_CPU_ADD("maincpu", Z80, 3579545)
MDRV_CPU_PROGRAM_MAP(kingpin_program_map)
diff --git a/src/mame/drivers/kinst.c b/src/mame/drivers/kinst.c
index ddaef34876c..0aef1abe858 100644
--- a/src/mame/drivers/kinst.c
+++ b/src/mame/drivers/kinst.c
@@ -636,7 +636,7 @@ static const mips3_config r4600_config =
};
-static MACHINE_CONFIG_START( kinst, driver_data_t )
+static MACHINE_CONFIG_START( kinst, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", R4600LE, MASTER_CLOCK*2)
diff --git a/src/mame/drivers/koftball.c b/src/mame/drivers/koftball.c
index 4ef4c2d51de..91620ad9b99 100644
--- a/src/mame/drivers/koftball.c
+++ b/src/mame/drivers/koftball.c
@@ -202,7 +202,7 @@ static GFXDECODE_START( koftball )
GFXDECODE_END
-static MACHINE_CONFIG_START( koftball, driver_data_t )
+static MACHINE_CONFIG_START( koftball, driver_device )
MDRV_CPU_ADD("maincpu", M68000, 21477270/2 )
MDRV_CPU_PROGRAM_MAP(koftball_mem)
MDRV_CPU_VBLANK_INT_HACK(bmc_interrupt,3)
diff --git a/src/mame/drivers/koikoi.c b/src/mame/drivers/koikoi.c
index 1776fe019b2..97e6c72e64f 100644
--- a/src/mame/drivers/koikoi.c
+++ b/src/mame/drivers/koikoi.c
@@ -45,13 +45,11 @@ to prevent disabling inputs.
static const int input_tab[]= { 0x22, 0x64, 0x44, 0x68, 0x30, 0x50, 0x70, 0x48, 0x28, 0x21, 0x41, 0x82, 0x81, 0x42 };
-class koikoi_state : public driver_data_t
+class koikoi_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, koikoi_state(machine)); }
-
- koikoi_state(running_machine &machine)
- : driver_data_t(machine) { }
+ koikoi_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/drivers/konamigq.c b/src/mame/drivers/konamigq.c
index 86924b22dcb..835d61a194a 100644
--- a/src/mame/drivers/konamigq.c
+++ b/src/mame/drivers/konamigq.c
@@ -357,7 +357,7 @@ static MACHINE_RESET( konamigq )
psx_machine_init(machine);
}
-static MACHINE_CONFIG_START( konamigq, driver_data_t )
+static MACHINE_CONFIG_START( konamigq, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", PSXCPU, XTAL_67_7376MHz )
MDRV_CPU_PROGRAM_MAP( konamigq_map)
diff --git a/src/mame/drivers/konamigv.c b/src/mame/drivers/konamigv.c
index 8e815b5915d..c9aa9a46dc9 100644
--- a/src/mame/drivers/konamigv.c
+++ b/src/mame/drivers/konamigv.c
@@ -327,7 +327,7 @@ static const psx_spu_interface konamigv_psxspu_interface =
psx_dma_install_write_handler
};
-static MACHINE_CONFIG_START( konamigv, driver_data_t )
+static MACHINE_CONFIG_START( konamigv, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", PSXCPU, XTAL_67_7376MHz )
MDRV_CPU_PROGRAM_MAP( konamigv_map)
diff --git a/src/mame/drivers/konamigx.c b/src/mame/drivers/konamigx.c
index 1f94e63310d..57e55193394 100644
--- a/src/mame/drivers/konamigx.c
+++ b/src/mame/drivers/konamigx.c
@@ -1785,7 +1785,7 @@ static GFXDECODE_START( type4 )
GFXDECODE_ENTRY( "gfx3", 0, bglayout_8bpp, 0x1800, 8 )
GFXDECODE_END
-static MACHINE_CONFIG_START( konamigx, driver_data_t )
+static MACHINE_CONFIG_START( konamigx, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68EC020, 24000000)
MDRV_CPU_PROGRAM_MAP(gx_type2_map)
diff --git a/src/mame/drivers/konamim2.c b/src/mame/drivers/konamim2.c
index a8538b0e354..e28d05f5346 100644
--- a/src/mame/drivers/konamim2.c
+++ b/src/mame/drivers/konamim2.c
@@ -1130,7 +1130,7 @@ static INTERRUPT_GEN(m2)
cpu_set_input_line(device, INPUT_LINE_IRQ0, ASSERT_LINE);
}
-static MACHINE_CONFIG_START( m2, driver_data_t )
+static MACHINE_CONFIG_START( m2, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", PPC602, 33000000) /* actually PPC602, 66MHz */
diff --git a/src/mame/drivers/kongambl.c b/src/mame/drivers/kongambl.c
index b4dac4e88fc..4b9081e18b3 100644
--- a/src/mame/drivers/kongambl.c
+++ b/src/mame/drivers/kongambl.c
@@ -126,7 +126,7 @@ static const k053247_interface k053247_intf =
kongambl_sprite_callback
};
-static MACHINE_CONFIG_START( kongambl, driver_data_t )
+static MACHINE_CONFIG_START( kongambl, driver_device )
MDRV_CPU_ADD("maincpu", M68EC020, 25000000)
MDRV_CPU_PROGRAM_MAP(kongambl_map)
diff --git a/src/mame/drivers/ksys573.c b/src/mame/drivers/ksys573.c
index b53d274b9a9..d2e52e5a247 100644
--- a/src/mame/drivers/ksys573.c
+++ b/src/mame/drivers/ksys573.c
@@ -2841,7 +2841,7 @@ static const adc083x_interface konami573_adc_interface = {
analogue_inputs_callback
};
-static MACHINE_CONFIG_START( konami573, driver_data_t )
+static MACHINE_CONFIG_START( konami573, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", PSXCPU, XTAL_67_7376MHz )
MDRV_CPU_PROGRAM_MAP( konami573_map)
diff --git a/src/mame/drivers/kungfur.c b/src/mame/drivers/kungfur.c
index cb426560e71..4ffbc479e23 100644
--- a/src/mame/drivers/kungfur.c
+++ b/src/mame/drivers/kungfur.c
@@ -333,7 +333,7 @@ static INTERRUPT_GEN( kungfur_irq )
cputag_set_input_line(device->machine, "maincpu", M6809_IRQ_LINE, HOLD_LINE);
}
-static MACHINE_CONFIG_START( kungfur, driver_data_t )
+static MACHINE_CONFIG_START( kungfur, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu",M6809,8000000/2)
diff --git a/src/mame/drivers/laserbas.c b/src/mame/drivers/laserbas.c
index e7e37c059b8..8bf7523fadb 100644
--- a/src/mame/drivers/laserbas.c
+++ b/src/mame/drivers/laserbas.c
@@ -20,13 +20,11 @@
#include "cpu/z80/z80.h"
#include "deprecat.h"
-class laserbas_state : public driver_data_t
+class laserbas_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, laserbas_state(machine)); }
-
- laserbas_state(running_machine &machine)
- : driver_data_t(machine) { }
+ laserbas_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* video-related */
UINT8 *vram1;
diff --git a/src/mame/drivers/lastfght.c b/src/mame/drivers/lastfght.c
index 15565ba63ab..9b7fbc5f882 100644
--- a/src/mame/drivers/lastfght.c
+++ b/src/mame/drivers/lastfght.c
@@ -66,13 +66,11 @@ Notes:
#include "deprecat.h"
#include "cpu/h83002/h8.h"
-class lastfght_state : public driver_data_t
+class lastfght_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, lastfght_state(machine)); }
-
- lastfght_state(running_machine &machine)
- : driver_data_t(machine) { }
+ lastfght_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * colorram;
diff --git a/src/mame/drivers/legionna.c b/src/mame/drivers/legionna.c
index a43fc0e6bfb..1117aefb3e4 100644
--- a/src/mame/drivers/legionna.c
+++ b/src/mame/drivers/legionna.c
@@ -1039,7 +1039,7 @@ GFXDECODE_END
/*****************************************************************************/
-static MACHINE_CONFIG_START( legionna, driver_data_t )
+static MACHINE_CONFIG_START( legionna, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000,20000000/2) /* ??? */
@@ -1071,7 +1071,7 @@ static MACHINE_CONFIG_START( legionna, driver_data_t )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( heatbrl, driver_data_t )
+static MACHINE_CONFIG_START( heatbrl, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000,20000000/2) /* ??? */
@@ -1102,7 +1102,7 @@ static MACHINE_CONFIG_START( heatbrl, driver_data_t )
SEIBU_SOUND_SYSTEM_YM3812_INTERFACE(14318180/4,1320000)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( godzilla, driver_data_t )
+static MACHINE_CONFIG_START( godzilla, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 20000000/2)
@@ -1133,7 +1133,7 @@ static MACHINE_CONFIG_START( godzilla, driver_data_t )
SEIBU_SOUND_SYSTEM_YM2151_INTERFACE(14318180/4,1320000)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( denjinmk, driver_data_t )
+static MACHINE_CONFIG_START( denjinmk, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 20000000/2)
@@ -1164,7 +1164,7 @@ static MACHINE_CONFIG_START( denjinmk, driver_data_t )
SEIBU_SOUND_SYSTEM_YM2151_INTERFACE(14318180/4,1320000)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( grainbow, driver_data_t )
+static MACHINE_CONFIG_START( grainbow, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 20000000/2)
@@ -1196,7 +1196,7 @@ static MACHINE_CONFIG_START( grainbow, driver_data_t )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( cupsoc, driver_data_t )
+static MACHINE_CONFIG_START( cupsoc, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000,20000000/2)
@@ -1228,7 +1228,7 @@ static MACHINE_CONFIG_START( cupsoc, driver_data_t )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( cupsocbl, driver_data_t )
+static MACHINE_CONFIG_START( cupsocbl, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000,12000000)
diff --git a/src/mame/drivers/leland.c b/src/mame/drivers/leland.c
index b756417317e..659a566757f 100644
--- a/src/mame/drivers/leland.c
+++ b/src/mame/drivers/leland.c
@@ -731,7 +731,7 @@ static const eeprom_interface eeprom_intf =
*
*************************************/
-static MACHINE_CONFIG_START( leland, driver_data_t )
+static MACHINE_CONFIG_START( leland, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("master", Z80, MASTER_CLOCK/2)
diff --git a/src/mame/drivers/lethalj.c b/src/mame/drivers/lethalj.c
index c96077b18b1..286ffe3b4b7 100644
--- a/src/mame/drivers/lethalj.c
+++ b/src/mame/drivers/lethalj.c
@@ -591,7 +591,7 @@ static const tms34010_config tms_config_lethalj =
*
*************************************/
-static MACHINE_CONFIG_START( gameroom, driver_data_t )
+static MACHINE_CONFIG_START( gameroom, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", TMS34010, MASTER_CLOCK)
diff --git a/src/mame/drivers/lgp.c b/src/mame/drivers/lgp.c
index 319f77b53dc..ce5c2d270c0 100644
--- a/src/mame/drivers/lgp.c
+++ b/src/mame/drivers/lgp.c
@@ -338,7 +338,7 @@ static MACHINE_START( lgp )
/* DRIVER */
-static MACHINE_CONFIG_START( lgp, driver_data_t )
+static MACHINE_CONFIG_START( lgp, driver_device )
/* main cpu */
MDRV_CPU_ADD("maincpu", Z80, CPU_PCB_CLOCK)
MDRV_CPU_PROGRAM_MAP(main_program_map)
diff --git a/src/mame/drivers/liberatr.c b/src/mame/drivers/liberatr.c
index da8601f5784..e47c7f51041 100644
--- a/src/mame/drivers/liberatr.c
+++ b/src/mame/drivers/liberatr.c
@@ -380,7 +380,7 @@ static const pokey_interface pokey_interface_2 =
*
*************************************/
-static MACHINE_CONFIG_START( liberatr, driver_data_t )
+static MACHINE_CONFIG_START( liberatr, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, MASTER_CLOCK/16) /* 1.25Mhz divided from 20Mhz master clock */
diff --git a/src/mame/drivers/limenko.c b/src/mame/drivers/limenko.c
index 220163ea42b..bc2e6db5f52 100644
--- a/src/mame/drivers/limenko.c
+++ b/src/mame/drivers/limenko.c
@@ -640,7 +640,7 @@ GFXDECODE_END
*****************************************************************************************************/
-static MACHINE_CONFIG_START( limenko, driver_data_t )
+static MACHINE_CONFIG_START( limenko, driver_device )
MDRV_CPU_ADD("maincpu", E132XN, 20000000*4) /* 4x internal multiplier */
MDRV_CPU_PROGRAM_MAP(limenko_map)
MDRV_CPU_IO_MAP(limenko_io_map)
@@ -665,7 +665,7 @@ static MACHINE_CONFIG_START( limenko, driver_data_t )
/* sound hardware */
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( spotty, driver_data_t )
+static MACHINE_CONFIG_START( spotty, driver_device )
MDRV_CPU_ADD("maincpu", GMS30C2232, 20000000) /* 20 MHz, no internal multiplier */
MDRV_CPU_PROGRAM_MAP(spotty_map)
MDRV_CPU_IO_MAP(spotty_io_map)
diff --git a/src/mame/drivers/littlerb.c b/src/mame/drivers/littlerb.c
index 01632fa629d..d0ccfec96de 100644
--- a/src/mame/drivers/littlerb.c
+++ b/src/mame/drivers/littlerb.c
@@ -494,7 +494,7 @@ static INTERRUPT_GEN( littlerb )
cpu_set_input_line(device, 4, HOLD_LINE);
}
-static MACHINE_CONFIG_START( littlerb, driver_data_t )
+static MACHINE_CONFIG_START( littlerb, driver_device )
MDRV_CPU_ADD("maincpu", M68000, 12000000)
MDRV_CPU_PROGRAM_MAP(littlerb_main)
MDRV_CPU_VBLANK_INT("screen", littlerb)
diff --git a/src/mame/drivers/looping.c b/src/mame/drivers/looping.c
index d85a4cb8db6..3214deb65e2 100644
--- a/src/mame/drivers/looping.c
+++ b/src/mame/drivers/looping.c
@@ -95,13 +95,11 @@ static UINT8 *cop_io;
*
*************************************/
-class looping_state : public driver_data_t
+class looping_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, looping_state(machine)); }
-
- looping_state(running_machine &machine)
- : driver_data_t(machine) { }
+ looping_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/drivers/lordgun.c b/src/mame/drivers/lordgun.c
index e95e9dfc040..08c266a359a 100644
--- a/src/mame/drivers/lordgun.c
+++ b/src/mame/drivers/lordgun.c
@@ -650,7 +650,7 @@ static const ym3812_interface lordgun_ym3812_interface =
soundirq
};
-static MACHINE_CONFIG_START( lordgun, driver_data_t )
+static MACHINE_CONFIG_START( lordgun, driver_device )
MDRV_CPU_ADD("maincpu", M68000, XTAL_20MHz / 2)
MDRV_CPU_PROGRAM_MAP(lordgun_map)
MDRV_CPU_VBLANK_INT("screen", irq4_line_hold)
@@ -694,7 +694,7 @@ static const ymf278b_interface ymf278b_config =
soundirq
};
-static MACHINE_CONFIG_START( aliencha, driver_data_t )
+static MACHINE_CONFIG_START( aliencha, driver_device )
MDRV_CPU_ADD("maincpu", M68000, XTAL_20MHz / 2)
MDRV_CPU_PROGRAM_MAP(aliencha_map)
MDRV_CPU_VBLANK_INT("screen", irq4_line_hold)
diff --git a/src/mame/drivers/ltcasino.c b/src/mame/drivers/ltcasino.c
index dc2fd5a9505..b030adbda9b 100644
--- a/src/mame/drivers/ltcasino.c
+++ b/src/mame/drivers/ltcasino.c
@@ -626,7 +626,7 @@ static VIDEO_UPDATE(ltcasino)
}
-static MACHINE_CONFIG_START( ltcasino, driver_data_t )
+static MACHINE_CONFIG_START( ltcasino, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502,2000000) /* ? MHz */
MDRV_CPU_PROGRAM_MAP(ltcasino_map)
diff --git a/src/mame/drivers/luckgrln.c b/src/mame/drivers/luckgrln.c
index 651a7a46289..5bec2954f5d 100644
--- a/src/mame/drivers/luckgrln.c
+++ b/src/mame/drivers/luckgrln.c
@@ -815,7 +815,7 @@ static INTERRUPT_GEN( luckgrln_irq )
cputag_set_input_line(device->machine, "maincpu", INPUT_LINE_NMI, PULSE_LINE);
}
-static MACHINE_CONFIG_START( luckgrln, driver_data_t )
+static MACHINE_CONFIG_START( luckgrln, driver_device )
MDRV_CPU_ADD("maincpu", Z180,8000000)
MDRV_CPU_PROGRAM_MAP(mainmap)
MDRV_CPU_IO_MAP(portmap)
diff --git a/src/mame/drivers/lucky74.c b/src/mame/drivers/lucky74.c
index 943a0f57130..2db3fc574bd 100644
--- a/src/mame/drivers/lucky74.c
+++ b/src/mame/drivers/lucky74.c
@@ -1238,7 +1238,7 @@ static const msm5205_interface msm5205_config =
* Machine Drivers *
*************************/
-static MACHINE_CONFIG_START( lucky74, driver_data_t )
+static MACHINE_CONFIG_START( lucky74, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, C_06B49P_CLKOUT_03) /* 3 MHz. */
diff --git a/src/mame/drivers/lvcards.c b/src/mame/drivers/lvcards.c
index 5f79f2ebe4e..2bae3b22608 100644
--- a/src/mame/drivers/lvcards.c
+++ b/src/mame/drivers/lvcards.c
@@ -470,7 +470,7 @@ static const ay8910_interface lcay8910_interface =
};
-static MACHINE_CONFIG_START( lvcards, driver_data_t )
+static MACHINE_CONFIG_START( lvcards, driver_device )
// basic machine hardware
MDRV_CPU_ADD("maincpu",Z80, 18432000/6) // 3.072 MHz ?
diff --git a/src/mame/drivers/m107.c b/src/mame/drivers/m107.c
index 7b103b5f65e..93a291070a3 100644
--- a/src/mame/drivers/m107.c
+++ b/src/mame/drivers/m107.c
@@ -435,7 +435,7 @@ static const ym2151_interface ym2151_config =
static const nec_config firebarr_config ={ rtypeleo_decryption_table, };
-static MACHINE_CONFIG_START( firebarr, driver_data_t )
+static MACHINE_CONFIG_START( firebarr, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", V33, 28000000/2) /* NEC V33, 28MHz clock */
diff --git a/src/mame/drivers/m14.c b/src/mame/drivers/m14.c
index 62f00bf4a4a..c856e467219 100644
--- a/src/mame/drivers/m14.c
+++ b/src/mame/drivers/m14.c
@@ -53,13 +53,11 @@ Dumped by Chackn
#include "cpu/i8085/i8085.h"
-class m14_state : public driver_data_t
+class m14_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, m14_state(machine)); }
-
- m14_state(running_machine &machine)
- : driver_data_t(machine) { }
+ m14_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* video-related */
tilemap_t *m14_tilemap;
diff --git a/src/mame/drivers/m63.c b/src/mame/drivers/m63.c
index a9248c6844e..48455da647e 100644
--- a/src/mame/drivers/m63.c
+++ b/src/mame/drivers/m63.c
@@ -121,13 +121,11 @@ Dip locations verified for:
#include "sound/ay8910.h"
#include "sound/samples.h"
-class m63_state : public driver_data_t
+class m63_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, m63_state(machine)); }
-
- m63_state(running_machine &machine)
- : driver_data_t(machine) { }
+ m63_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT8 * videoram;
UINT8 * colorram;
diff --git a/src/mame/drivers/m72.c b/src/mame/drivers/m72.c
index 69de9d343f7..c5e68c8b9bd 100644
--- a/src/mame/drivers/m72.c
+++ b/src/mame/drivers/m72.c
@@ -1791,7 +1791,7 @@ static const ym2151_interface ym2151_config =
-static MACHINE_CONFIG_START( m72_base, driver_data_t )
+static MACHINE_CONFIG_START( m72_base, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu",V30,MASTER_CLOCK/2/2) /* 16 MHz external freq (8MHz internal) */
@@ -1847,7 +1847,7 @@ static MACHINE_CONFIG_DERIVED( m72_8751, m72_base )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( rtype, driver_data_t )
+static MACHINE_CONFIG_START( rtype, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu",V30,MASTER_CLOCK/2/2) /* 16 MHz external freq (8MHz internal) */
@@ -1885,7 +1885,7 @@ static MACHINE_CONFIG_START( rtype, driver_data_t )
MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( xmultipl, driver_data_t )
+static MACHINE_CONFIG_START( xmultipl, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu",V30,MASTER_CLOCK/2/2) /* 16 MHz external freq (8MHz internal) */
@@ -1928,7 +1928,7 @@ static MACHINE_CONFIG_START( xmultipl, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( xmultiplm72, driver_data_t )
+static MACHINE_CONFIG_START( xmultiplm72, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu",V30,MASTER_CLOCK/2/2) /* 16 MHz external freq (8MHz internal) */
@@ -1971,7 +1971,7 @@ static MACHINE_CONFIG_START( xmultiplm72, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( dbreed, driver_data_t )
+static MACHINE_CONFIG_START( dbreed, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu",V30,MASTER_CLOCK/2/2) /* 16 MHz external freq (8MHz internal) */
@@ -2014,7 +2014,7 @@ static MACHINE_CONFIG_START( dbreed, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( dbreedm72, driver_data_t )
+static MACHINE_CONFIG_START( dbreedm72, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", V30,MASTER_CLOCK/2/2) /* 16 MHz external freq (8MHz internal) */
@@ -2057,7 +2057,7 @@ static MACHINE_CONFIG_START( dbreedm72, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( rtype2, driver_data_t )
+static MACHINE_CONFIG_START( rtype2, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", V30,MASTER_CLOCK/2/2) /* 16 MHz external freq (8MHz internal) */
@@ -2100,7 +2100,7 @@ static MACHINE_CONFIG_START( rtype2, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( majtitle, driver_data_t )
+static MACHINE_CONFIG_START( majtitle, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", V30,MASTER_CLOCK/2/2) /* 16 MHz external freq (8MHz internal) */
@@ -2143,7 +2143,7 @@ static MACHINE_CONFIG_START( majtitle, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( hharry, driver_data_t )
+static MACHINE_CONFIG_START( hharry, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", V30,MASTER_CLOCK/2/2) /* 16 MHz external freq (8MHz internal) */
@@ -2186,7 +2186,7 @@ static MACHINE_CONFIG_START( hharry, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( hharryu, driver_data_t )
+static MACHINE_CONFIG_START( hharryu, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", V30,MASTER_CLOCK/2/2) /* 16 MHz external freq (8MHz internal) */
@@ -2229,7 +2229,7 @@ static MACHINE_CONFIG_START( hharryu, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( dkgenm72, driver_data_t )
+static MACHINE_CONFIG_START( dkgenm72, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu",V30,MASTER_CLOCK/2/2) /* 16 MHz external freq (8MHz internal) */
@@ -2272,7 +2272,7 @@ static MACHINE_CONFIG_START( dkgenm72, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( poundfor, driver_data_t )
+static MACHINE_CONFIG_START( poundfor, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", V30,MASTER_CLOCK/2/2) /* 16 MHz external freq (8MHz internal) */
@@ -2315,7 +2315,7 @@ static MACHINE_CONFIG_START( poundfor, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( cosmccop, driver_data_t )
+static MACHINE_CONFIG_START( cosmccop, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", V30,MASTER_CLOCK/2/2)
diff --git a/src/mame/drivers/m79amb.c b/src/mame/drivers/m79amb.c
index 50155d0c7b3..30260417c01 100644
--- a/src/mame/drivers/m79amb.c
+++ b/src/mame/drivers/m79amb.c
@@ -58,13 +58,11 @@ and two large (paddles pretending to be) guns.
#include "includes/m79amb.h"
#include "cpu/i8085/i8085.h"
-class m79amb_state : public driver_data_t
+class m79amb_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, m79amb_state(machine)); }
-
- m79amb_state(running_machine &machine)
- : driver_data_t(machine) { }
+ m79amb_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/drivers/m90.c b/src/mame/drivers/m90.c
index 2fb656070a5..37dcc8c8e5f 100644
--- a/src/mame/drivers/m90.c
+++ b/src/mame/drivers/m90.c
@@ -697,7 +697,7 @@ static INTERRUPT_GEN( bomblord_interrupt )
/* Basic hardware -- no decryption table is setup for CPU */
-static MACHINE_CONFIG_START( m90, driver_data_t )
+static MACHINE_CONFIG_START( m90, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", V30,XTAL_32MHz/2/2) /* verified clock on cpu is 16Mhz but probably divided internally by 2 */
MDRV_CPU_PROGRAM_MAP(m90_main_cpu_map)
@@ -773,7 +773,7 @@ MACHINE_CONFIG_END
static const nec_config bomberman_config ={ bomberman_decryption_table, };
-static MACHINE_CONFIG_START( bombrman, driver_data_t )
+static MACHINE_CONFIG_START( bombrman, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", V30,XTAL_32MHz/2/2) /* verified clock on cpu is 16Mhz but probably divided internally by 2 */
@@ -818,7 +818,7 @@ MACHINE_CONFIG_END
static const nec_config dynablaster_config ={ dynablaster_decryption_table, };
-static MACHINE_CONFIG_START( bbmanw, driver_data_t )
+static MACHINE_CONFIG_START( bbmanw, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", V30,XTAL_32MHz/2/2) /* verified clock on cpu is 16Mhz but probably divided internally by 2 */
@@ -885,7 +885,7 @@ static MACHINE_CONFIG_DERIVED( bomblord, bbmanw )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( dynablsb, driver_data_t )
+static MACHINE_CONFIG_START( dynablsb, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", V30,32000000/4)
diff --git a/src/mame/drivers/m92.c b/src/mame/drivers/m92.c
index a39cc972e59..73cce810dca 100644
--- a/src/mame/drivers/m92.c
+++ b/src/mame/drivers/m92.c
@@ -917,7 +917,7 @@ void m92_sprite_interrupt(running_machine *machine)
cputag_set_input_line_and_vector(machine, "maincpu", 0, HOLD_LINE, M92_IRQ_1);
}
-static MACHINE_CONFIG_START( m92, driver_data_t )
+static MACHINE_CONFIG_START( m92, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu",V33,18000000/2) /* NEC V33, 18 MHz clock */
@@ -1003,7 +1003,7 @@ static MACHINE_CONFIG_DERIVED( hook, m92 )
MDRV_CPU_CONFIG(hook_config)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( ppan, driver_data_t )
+static MACHINE_CONFIG_START( ppan, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu",V33,18000000/2)
diff --git a/src/mame/drivers/macs.c b/src/mame/drivers/macs.c
index 9c5dc690fd9..119e5e9da11 100644
--- a/src/mame/drivers/macs.c
+++ b/src/mame/drivers/macs.c
@@ -457,7 +457,7 @@ static const st0016_interface st0016_config =
&st0016_charram
};
-static MACHINE_CONFIG_START( macs, driver_data_t )
+static MACHINE_CONFIG_START( macs, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu",Z80,8000000) /* 8 MHz ? */
MDRV_CPU_PROGRAM_MAP(macs_mem)
diff --git a/src/mame/drivers/madalien.c b/src/mame/drivers/madalien.c
index 8e74ff5c531..c63b1f055a4 100644
--- a/src/mame/drivers/madalien.c
+++ b/src/mame/drivers/madalien.c
@@ -172,7 +172,7 @@ static const ay8910_interface ay8910_config =
};
-static MACHINE_CONFIG_START( madalien, driver_data_t )
+static MACHINE_CONFIG_START( madalien, driver_device )
/* main CPU */
MDRV_CPU_ADD("maincpu", M6502, MADALIEN_MAIN_CLOCK / 8) /* 1324kHz */
diff --git a/src/mame/drivers/magic10.c b/src/mame/drivers/magic10.c
index 8b7cff2b3cf..eb25068ed4b 100644
--- a/src/mame/drivers/magic10.c
+++ b/src/mame/drivers/magic10.c
@@ -645,7 +645,7 @@ GFXDECODE_END
* Machine Drivers *
****************************/
-static MACHINE_CONFIG_START( magic10, driver_data_t )
+static MACHINE_CONFIG_START( magic10, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 10000000) // ?
MDRV_CPU_PROGRAM_MAP(magic10_map)
diff --git a/src/mame/drivers/magicard.c b/src/mame/drivers/magicard.c
index 67cdb4ebacb..e3a8635551a 100644
--- a/src/mame/drivers/magicard.c
+++ b/src/mame/drivers/magicard.c
@@ -623,7 +623,7 @@ static INTERRUPT_GEN( magicard_irq )
cpu_set_input_line_and_vector(device, 1, HOLD_LINE,0xf0/4);
}
-static MACHINE_CONFIG_START( magicard, driver_data_t )
+static MACHINE_CONFIG_START( magicard, driver_device )
MDRV_CPU_ADD("maincpu", SCC68070, CLOCK_A/2) /* SCC-68070 CCA84 datasheet */
MDRV_CPU_PROGRAM_MAP(magicard_mem)
MDRV_CPU_VBLANK_INT("screen", magicard_irq) /* no interrupts? (it erases the vectors..) */
diff --git a/src/mame/drivers/magicfly.c b/src/mame/drivers/magicfly.c
index 57428cea6fa..570dde8f546 100644
--- a/src/mame/drivers/magicfly.c
+++ b/src/mame/drivers/magicfly.c
@@ -755,7 +755,7 @@ static const mc6845_interface mc6845_intf =
* Machine Drivers *
*************************/
-static MACHINE_CONFIG_START( magicfly, driver_data_t )
+static MACHINE_CONFIG_START( magicfly, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, MASTER_CLOCK/12) /* guess */
diff --git a/src/mame/drivers/magictg.c b/src/mame/drivers/magictg.c
index 3827385a4be..a45f2f786c4 100644
--- a/src/mame/drivers/magictg.c
+++ b/src/mame/drivers/magictg.c
@@ -139,7 +139,7 @@ ADDRESS_MAP_END
-static MACHINE_CONFIG_START( magictg, driver_data_t )
+static MACHINE_CONFIG_START( magictg, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", R4600BE, 10000000) // ?? what cpu?
MDRV_CPU_CONFIG(r4600_config)
diff --git a/src/mame/drivers/magmax.c b/src/mame/drivers/magmax.c
index f750989bf1e..f5967fd2429 100644
--- a/src/mame/drivers/magmax.c
+++ b/src/mame/drivers/magmax.c
@@ -355,7 +355,7 @@ static const ay8910_interface ay8910_config =
};
-static MACHINE_CONFIG_START( magmax, driver_data_t )
+static MACHINE_CONFIG_START( magmax, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, XTAL_16MHz/2) /* verified on pcb */
diff --git a/src/mame/drivers/marinedt.c b/src/mame/drivers/marinedt.c
index 0d94ebd1ba9..188a5e7494c 100644
--- a/src/mame/drivers/marinedt.c
+++ b/src/mame/drivers/marinedt.c
@@ -97,13 +97,11 @@ p2 ink doesn't always light up in test mode
#include "emu.h"
#include "cpu/z80/z80.h"
-class marinedt_state : public driver_data_t
+class marinedt_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, marinedt_state(machine)); }
-
- marinedt_state(running_machine &machine)
- : driver_data_t(machine) { }
+ marinedt_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * tx_tileram;
diff --git a/src/mame/drivers/mastboy.c b/src/mame/drivers/mastboy.c
index 4e9d27bb695..47e2aa3eabc 100644
--- a/src/mame/drivers/mastboy.c
+++ b/src/mame/drivers/mastboy.c
@@ -855,7 +855,7 @@ static MACHINE_RESET( mastboy )
-static MACHINE_CONFIG_START( mastboy, driver_data_t )
+static MACHINE_CONFIG_START( mastboy, driver_device )
MDRV_CPU_ADD("maincpu", Z180, 12000000/2) /* HD647180X0CP6-1M1R */
MDRV_CPU_PROGRAM_MAP(mastboy_map)
MDRV_CPU_IO_MAP(mastboy_io_map)
diff --git a/src/mame/drivers/maxaflex.c b/src/mame/drivers/maxaflex.c
index 97326f356a3..bb7d85dc2ac 100644
--- a/src/mame/drivers/maxaflex.c
+++ b/src/mame/drivers/maxaflex.c
@@ -427,7 +427,7 @@ static const pokey_interface pokey_config = {
atari_interrupt_cb
};
-static MACHINE_CONFIG_START( a600xl, driver_data_t )
+static MACHINE_CONFIG_START( a600xl, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, FREQ_17_EXACT)
MDRV_CPU_PROGRAM_MAP(a600xl_mem)
diff --git a/src/mame/drivers/maygay1b.c b/src/mame/drivers/maygay1b.c
index 85d5ec60497..f88d8a97cff 100644
--- a/src/mame/drivers/maygay1b.c
+++ b/src/mame/drivers/maygay1b.c
@@ -791,7 +791,7 @@ static const duart68681_config maygaym1_duart68681_config =
// machine driver for maygay m1 board /////////////////////////////////
-static MACHINE_CONFIG_START( m1, driver_data_t )
+static MACHINE_CONFIG_START( m1, driver_device )
MDRV_MACHINE_START(m1)
MDRV_MACHINE_RESET(m1)
diff --git a/src/mame/drivers/maygayv1.c b/src/mame/drivers/maygayv1.c
index 4beb2cd0a1d..f1e136ee3ca 100644
--- a/src/mame/drivers/maygayv1.c
+++ b/src/mame/drivers/maygayv1.c
@@ -989,7 +989,7 @@ static INTERRUPT_GEN( vsync_interrupt )
}
-static MACHINE_CONFIG_START( maygayv1, driver_data_t )
+static MACHINE_CONFIG_START( maygayv1, driver_device )
MDRV_CPU_ADD("maincpu", M68000, MASTER_CLOCK / 2)
MDRV_CPU_PROGRAM_MAP(main_map)
MDRV_CPU_VBLANK_INT("screen", vsync_interrupt)
diff --git a/src/mame/drivers/mayumi.c b/src/mame/drivers/mayumi.c
index 2d73e8e8a3d..9b981f58ae9 100644
--- a/src/mame/drivers/mayumi.c
+++ b/src/mame/drivers/mayumi.c
@@ -13,13 +13,11 @@
#define MCLK 10000000
-class mayumi_state : public driver_data_t
+class mayumi_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mayumi_state(machine)); }
-
- mayumi_state(running_machine &machine)
- : driver_data_t(machine) { }
+ mayumi_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/drivers/mazerbla.c b/src/mame/drivers/mazerbla.c
index 37d27bf6259..223e4d31c95 100644
--- a/src/mame/drivers/mazerbla.c
+++ b/src/mame/drivers/mazerbla.c
@@ -48,13 +48,11 @@ TO DO:
#define SOUND_CLOCK XTAL_14_31818MHz
-class mazerbla_state : public driver_data_t
+class mazerbla_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mazerbla_state(machine)); }
-
- mazerbla_state(running_machine &machine)
- : driver_data_t(machine) { }
+ mazerbla_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * cfb_ram;
diff --git a/src/mame/drivers/mcr.c b/src/mame/drivers/mcr.c
index 4d9a7d3befb..f0d1e11734a 100644
--- a/src/mame/drivers/mcr.c
+++ b/src/mame/drivers/mcr.c
@@ -1566,7 +1566,7 @@ static const samples_interface journey_samples_interface =
*************************************/
/* 90009 CPU board plus 90908/90913/91483 sound board */
-static MACHINE_CONFIG_START( mcr_90009, driver_data_t )
+static MACHINE_CONFIG_START( mcr_90009, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, MAIN_OSC_MCR_I/8)
diff --git a/src/mame/drivers/mcr3.c b/src/mame/drivers/mcr3.c
index 903800962f1..baff30c9e05 100644
--- a/src/mame/drivers/mcr3.c
+++ b/src/mame/drivers/mcr3.c
@@ -1073,7 +1073,7 @@ GFXDECODE_END
*************************************/
/* Core MCR3 system with no sound */
-static MACHINE_CONFIG_START( mcr3_base, driver_data_t )
+static MACHINE_CONFIG_START( mcr3_base, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/4)
diff --git a/src/mame/drivers/mcr68.c b/src/mame/drivers/mcr68.c
index 3a28b13036f..40d720d383e 100644
--- a/src/mame/drivers/mcr68.c
+++ b/src/mame/drivers/mcr68.c
@@ -945,7 +945,7 @@ GFXDECODE_END
=================================================================*/
-static MACHINE_CONFIG_START( zwackery, driver_data_t )
+static MACHINE_CONFIG_START( zwackery, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 7652400) /* should be XTAL_16MHz/2 */
@@ -979,7 +979,7 @@ static MACHINE_CONFIG_START( zwackery, driver_data_t )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( mcr68, driver_data_t )
+static MACHINE_CONFIG_START( mcr68, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 7723800)
diff --git a/src/mame/drivers/meadows.c b/src/mame/drivers/meadows.c
index 304aec2f745..c0b34598aa4 100644
--- a/src/mame/drivers/meadows.c
+++ b/src/mame/drivers/meadows.c
@@ -648,7 +648,7 @@ static const samples_interface bowl3d_samples_interface =
*
*************************************/
-static MACHINE_CONFIG_START( meadows, driver_data_t )
+static MACHINE_CONFIG_START( meadows, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", S2650, MASTER_CLOCK/8) /* 5MHz / 8 = 625 kHz */
@@ -687,7 +687,7 @@ static MACHINE_CONFIG_START( meadows, driver_data_t )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( minferno, driver_data_t )
+static MACHINE_CONFIG_START( minferno, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", S2650, MASTER_CLOCK/24) /* 5MHz / 8 / 3 = 208.33 kHz */
@@ -713,7 +713,7 @@ static MACHINE_CONFIG_START( minferno, driver_data_t )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( bowl3d, driver_data_t )
+static MACHINE_CONFIG_START( bowl3d, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", S2650, MASTER_CLOCK/8) /* 5MHz / 8 = 625 kHz */
MDRV_CPU_PROGRAM_MAP(bowl3d_main_map)
diff --git a/src/mame/drivers/mediagx.c b/src/mame/drivers/mediagx.c
index 851d84f46cb..be5642d417b 100644
--- a/src/mame/drivers/mediagx.c
+++ b/src/mame/drivers/mediagx.c
@@ -86,13 +86,11 @@ struct _speedup_entry
UINT32 pc;
};
-class mediagx_state : public driver_data_t
+class mediagx_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mediagx_state(machine)); }
-
- mediagx_state(running_machine &machine)
- : driver_data_t(machine) { }
+ mediagx_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT32 *cga_ram;
UINT32 *bios_ram;
diff --git a/src/mame/drivers/megadriv.c b/src/mame/drivers/megadriv.c
index d6be45aa379..cb403bf0b4b 100644
--- a/src/mame/drivers/megadriv.c
+++ b/src/mame/drivers/megadriv.c
@@ -6190,7 +6190,7 @@ MACHINE_CONFIG_FRAGMENT( megadriv_timers )
MACHINE_CONFIG_END
-MACHINE_CONFIG_START( megadriv, driver_data_t )
+MACHINE_CONFIG_START( megadriv, driver_device )
MDRV_CPU_ADD("maincpu", M68000, MASTER_CLOCK_NTSC / 7) /* 7.67 MHz */
MDRV_CPU_PROGRAM_MAP(megadriv_map)
/* IRQs are handled via the timers */
@@ -6237,7 +6237,7 @@ MACHINE_CONFIG_END
/************ PAL hardware has a different master clock *************/
-MACHINE_CONFIG_START( megadpal, driver_data_t )
+MACHINE_CONFIG_START( megadpal, driver_device )
MDRV_CPU_ADD("maincpu", M68000, MASTER_CLOCK_PAL / 7) /* 7.67 MHz */
MDRV_CPU_PROGRAM_MAP(megadriv_map)
/* IRQs are handled via the timers */
diff --git a/src/mame/drivers/megasys1.c b/src/mame/drivers/megasys1.c
index 84690d09b1a..7cc08ef308e 100644
--- a/src/mame/drivers/megasys1.c
+++ b/src/mame/drivers/megasys1.c
@@ -1454,7 +1454,7 @@ static const ym2151_interface ym2151_config =
megasys1_sound_irq
};
-static MACHINE_CONFIG_START( system_A, driver_data_t )
+static MACHINE_CONFIG_START( system_A, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, SYS_A_CPU_CLOCK) /* 6MHz verified */
@@ -1519,7 +1519,7 @@ static MACHINE_CONFIG_DERIVED( system_B, system_A )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( system_Bbl, driver_data_t )
+static MACHINE_CONFIG_START( system_Bbl, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, SYS_B_CPU_CLOCK)
@@ -1591,7 +1591,7 @@ MACHINE_CONFIG_END
***************************************************************************/
-static MACHINE_CONFIG_START( system_D, driver_data_t )
+static MACHINE_CONFIG_START( system_D, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, SYS_D_CPU_CLOCK) /* 8MHz */
@@ -1653,7 +1653,7 @@ static const ym2203_interface ym2203_config =
irq_handler
};
-static MACHINE_CONFIG_START( system_Z, driver_data_t )
+static MACHINE_CONFIG_START( system_Z, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, SYS_A_CPU_CLOCK) /* 6MHz (12MHz / 2) */
diff --git a/src/mame/drivers/meijinsn.c b/src/mame/drivers/meijinsn.c
index 39d9d3b69fb..d7d693bde5e 100644
--- a/src/mame/drivers/meijinsn.c
+++ b/src/mame/drivers/meijinsn.c
@@ -65,13 +65,11 @@ SOFT PSG & VOICE BY M.C & S.H
#include "video/resnet.h"
#include "sound/ay8910.h"
-class meijinsn_state : public driver_data_t
+class meijinsn_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, meijinsn_state(machine)); }
-
- meijinsn_state(running_machine &machine)
- : driver_data_t(machine) { }
+ meijinsn_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * shared_ram;
diff --git a/src/mame/drivers/merit.c b/src/mame/drivers/merit.c
index 2f45455f1a7..fc2ee7ac4ef 100644
--- a/src/mame/drivers/merit.c
+++ b/src/mame/drivers/merit.c
@@ -1175,7 +1175,7 @@ static MACHINE_START(casino5)
memory_set_bank(machine, "bank2", 0);
}
-static MACHINE_CONFIG_START( pitboss, driver_data_t )
+static MACHINE_CONFIG_START( pitboss, driver_device )
MDRV_CPU_ADD("maincpu",Z80, CPU_CLOCK)
MDRV_CPU_PROGRAM_MAP(pitboss_map)
MDRV_CPU_IO_MAP(trvwhiz_io_map)
diff --git a/src/mame/drivers/meritm.c b/src/mame/drivers/meritm.c
index ea63a979f6c..7d29cb3ca4b 100644
--- a/src/mame/drivers/meritm.c
+++ b/src/mame/drivers/meritm.c
@@ -1047,7 +1047,7 @@ static TIMER_DEVICE_CALLBACK( vblank_end_tick )
z80pio_pa_w(meritm_z80pio[0], 0, meritm_vint);
}
-static MACHINE_CONFIG_START( meritm_crt250, driver_data_t )
+static MACHINE_CONFIG_START( meritm_crt250, driver_device )
MDRV_CPU_ADD("maincpu", Z80, SYSTEM_CLK/6)
MDRV_CPU_PROGRAM_MAP(meritm_crt250_map)
MDRV_CPU_IO_MAP(meritm_crt250_io_map)
diff --git a/src/mame/drivers/mgolf.c b/src/mame/drivers/mgolf.c
index 954d6e37e4f..c0b5ba75b31 100644
--- a/src/mame/drivers/mgolf.c
+++ b/src/mame/drivers/mgolf.c
@@ -7,13 +7,11 @@
#include "emu.h"
#include "cpu/m6502/m6502.h"
-class mgolf_state : public driver_data_t
+class mgolf_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mgolf_state(machine)); }
-
- mgolf_state(running_machine &machine)
- : driver_data_t(machine) { }
+ mgolf_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8* video_ram;
diff --git a/src/mame/drivers/mhavoc.c b/src/mame/drivers/mhavoc.c
index d6f43ed6519..0921f2d1966 100644
--- a/src/mame/drivers/mhavoc.c
+++ b/src/mame/drivers/mhavoc.c
@@ -471,7 +471,7 @@ static const pokey_interface pokey_config =
*
*************************************/
-static MACHINE_CONFIG_START( mhavoc, driver_data_t )
+static MACHINE_CONFIG_START( mhavoc, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("alpha", M6502, MHAVOC_CLOCK_2_5M) /* 2.5 MHz */
diff --git a/src/mame/drivers/midas.c b/src/mame/drivers/midas.c
index 0618c5837b9..37b9e3cca1b 100644
--- a/src/mame/drivers/midas.c
+++ b/src/mame/drivers/midas.c
@@ -671,7 +671,7 @@ static const ymz280b_interface ymz280b_config =
livequiz_irqhandler
};
-static MACHINE_CONFIG_START( livequiz, driver_data_t )
+static MACHINE_CONFIG_START( livequiz, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, XTAL_24MHz / 2)
@@ -702,7 +702,7 @@ static MACHINE_CONFIG_START( livequiz, driver_data_t )
MDRV_SOUND_ROUTE(1, "rspeaker", 0.80)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( hammer, driver_data_t )
+static MACHINE_CONFIG_START( hammer, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, XTAL_28MHz / 2)
diff --git a/src/mame/drivers/midtunit.c b/src/mame/drivers/midtunit.c
index 81501088563..19598a9202c 100644
--- a/src/mame/drivers/midtunit.c
+++ b/src/mame/drivers/midtunit.c
@@ -600,7 +600,7 @@ static const tms34010_config tms_config =
*
*************************************/
-static MACHINE_CONFIG_START( tunit_core, driver_data_t )
+static MACHINE_CONFIG_START( tunit_core, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", TMS34010, CPU_CLOCK)
diff --git a/src/mame/drivers/midvunit.c b/src/mame/drivers/midvunit.c
index 16f6acef453..b0863778e31 100644
--- a/src/mame/drivers/midvunit.c
+++ b/src/mame/drivers/midvunit.c
@@ -1018,7 +1018,7 @@ INPUT_PORTS_END
*
*************************************/
-static MACHINE_CONFIG_START( midvcommon, driver_data_t )
+static MACHINE_CONFIG_START( midvcommon, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", TMS32031, CPU_CLOCK)
diff --git a/src/mame/drivers/midwunit.c b/src/mame/drivers/midwunit.c
index dfb2a8c8c64..0914dfdab0a 100644
--- a/src/mame/drivers/midwunit.c
+++ b/src/mame/drivers/midwunit.c
@@ -631,7 +631,7 @@ static const tms34010_config tms_config =
*
*************************************/
-static MACHINE_CONFIG_START( wunit, driver_data_t )
+static MACHINE_CONFIG_START( wunit, driver_device )
MDRV_CPU_ADD("maincpu", TMS34010, 50000000)
MDRV_CPU_CONFIG(tms_config)
diff --git a/src/mame/drivers/midxunit.c b/src/mame/drivers/midxunit.c
index 169bd3244fd..9bb187056e1 100644
--- a/src/mame/drivers/midxunit.c
+++ b/src/mame/drivers/midxunit.c
@@ -255,7 +255,7 @@ static const tms34010_config tms_config =
*
*************************************/
-static MACHINE_CONFIG_START( midxunit, driver_data_t )
+static MACHINE_CONFIG_START( midxunit, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", TMS34020, 40000000)
diff --git a/src/mame/drivers/midyunit.c b/src/mame/drivers/midyunit.c
index e24b2112675..f598f763ca3 100644
--- a/src/mame/drivers/midyunit.c
+++ b/src/mame/drivers/midyunit.c
@@ -1014,7 +1014,7 @@ static const tms34010_config yunit_tms_config =
*
*************************************/
-static MACHINE_CONFIG_START( zunit, driver_data_t )
+static MACHINE_CONFIG_START( zunit, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", TMS34010, FAST_MASTER_CLOCK)
@@ -1047,7 +1047,7 @@ MACHINE_CONFIG_END
*
*************************************/
-static MACHINE_CONFIG_START( yunit_core, driver_data_t )
+static MACHINE_CONFIG_START( yunit_core, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", TMS34010, SLOW_MASTER_CLOCK)
diff --git a/src/mame/drivers/midzeus.c b/src/mame/drivers/midzeus.c
index 7b660129314..39509fffd33 100644
--- a/src/mame/drivers/midzeus.c
+++ b/src/mame/drivers/midzeus.c
@@ -1107,7 +1107,7 @@ INPUT_PORTS_END
*
*************************************/
-static MACHINE_CONFIG_START( midzeus, driver_data_t )
+static MACHINE_CONFIG_START( midzeus, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", TMS32032, CPU_CLOCK)
@@ -1148,7 +1148,7 @@ static MACHINE_CONFIG_DERIVED( invasn, midzeus )
MDRV_CPU_IO_MAP(pic_io_map)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( midzeus2, driver_data_t )
+static MACHINE_CONFIG_START( midzeus2, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", TMS32032, CPU_CLOCK)
diff --git a/src/mame/drivers/mil4000.c b/src/mame/drivers/mil4000.c
index 0edd44fe1bb..1293fbfd8c8 100644
--- a/src/mame/drivers/mil4000.c
+++ b/src/mame/drivers/mil4000.c
@@ -343,7 +343,7 @@ static GFXDECODE_START( mil4000 )
GFXDECODE_END
-static MACHINE_CONFIG_START( mil4000, driver_data_t )
+static MACHINE_CONFIG_START( mil4000, driver_device )
MDRV_CPU_ADD("maincpu", M68000, 12000000 ) // ?
MDRV_CPU_PROGRAM_MAP(mil4000_map)
// irq 2/4/5 point to the same place, others invalid
diff --git a/src/mame/drivers/miniboy7.c b/src/mame/drivers/miniboy7.c
index e78a76df7c6..77ac03511fc 100644
--- a/src/mame/drivers/miniboy7.c
+++ b/src/mame/drivers/miniboy7.c
@@ -428,7 +428,7 @@ static const ay8910_interface miniboy7_ay8910_intf =
* Machine Drivers *
***********************************/
-static MACHINE_CONFIG_START( miniboy7, driver_data_t )
+static MACHINE_CONFIG_START( miniboy7, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, MASTER_CLOCK/16) /* guess */
diff --git a/src/mame/drivers/minivadr.c b/src/mame/drivers/minivadr.c
index 1fb0011de75..942ab4e96bb 100644
--- a/src/mame/drivers/minivadr.c
+++ b/src/mame/drivers/minivadr.c
@@ -14,13 +14,11 @@ Japan). It has no sound.
#include "cpu/z80/z80.h"
-class minivadr_state : public driver_data_t
+class minivadr_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, minivadr_state(machine)); }
-
- minivadr_state(running_machine &machine)
- : driver_data_t(machine) { }
+ minivadr_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/drivers/mirage.c b/src/mame/drivers/mirage.c
index ee27cc21ed6..d1a786cf620 100644
--- a/src/mame/drivers/mirage.c
+++ b/src/mame/drivers/mirage.c
@@ -39,13 +39,11 @@ MR_01-.3A [a0b758aa]
#include "video/deco16ic.h"
#include "sound/okim6295.h"
-class mirage_state : public driver_data_t
+class mirage_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mirage_state(machine)); }
-
- mirage_state(running_machine &machine)
- : driver_data_t(machine),
+ mirage_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config),
maincpu(machine.device<cpu_device>("maincpu")),
deco16ic(machine.device<deco16ic_device>("deco_custom")),
oki_sfx(machine.device<okim6295_device>("oki_sfx")),
diff --git a/src/mame/drivers/mirax.c b/src/mame/drivers/mirax.c
index bd8e06781f8..657dd9333e6 100644
--- a/src/mame/drivers/mirax.c
+++ b/src/mame/drivers/mirax.c
@@ -375,7 +375,7 @@ static INTERRUPT_GEN( mirax_vblank_irq )
cpu_set_input_line(device, INPUT_LINE_NMI, PULSE_LINE);
}
-static MACHINE_CONFIG_START( mirax, driver_data_t )
+static MACHINE_CONFIG_START( mirax, driver_device )
MDRV_CPU_ADD("maincpu", Z80, 12000000/4) // ceramic potted module, encrypted z80
MDRV_CPU_PROGRAM_MAP(mirax_main_map)
MDRV_CPU_VBLANK_INT("screen",mirax_vblank_irq)
diff --git a/src/mame/drivers/missile.c b/src/mame/drivers/missile.c
index a3630b5681e..550c71b54ae 100644
--- a/src/mame/drivers/missile.c
+++ b/src/mame/drivers/missile.c
@@ -975,7 +975,7 @@ static const pokey_interface pokey_config =
*
*************************************/
-static MACHINE_CONFIG_START( missile, driver_data_t )
+static MACHINE_CONFIG_START( missile, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, MASTER_CLOCK/8)
diff --git a/src/mame/drivers/mjsister.c b/src/mame/drivers/mjsister.c
index 02290b8ec81..10fae305a23 100644
--- a/src/mame/drivers/mjsister.c
+++ b/src/mame/drivers/mjsister.c
@@ -15,13 +15,11 @@
#define MCLK 12000000
-class mjsister_state : public driver_data_t
+class mjsister_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mjsister_state(machine)); }
-
- mjsister_state(running_machine &machine)
- : driver_data_t(machine) { }
+ mjsister_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram0, *videoram1;
diff --git a/src/mame/drivers/mlanding.c b/src/mame/drivers/mlanding.c
index 47abc2ef55a..121e8540e1f 100644
--- a/src/mame/drivers/mlanding.c
+++ b/src/mame/drivers/mlanding.c
@@ -717,7 +717,7 @@ static MACHINE_RESET( mlanding )
dsp_HOLD_signal = 0;
}
-static MACHINE_CONFIG_START( mlanding, driver_data_t )
+static MACHINE_CONFIG_START( mlanding, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 12000000 ) /* 12 MHz ??? (guess) */
diff --git a/src/mame/drivers/model1.c b/src/mame/drivers/model1.c
index 9a678cee0d4..4eb64158a6d 100644
--- a/src/mame/drivers/model1.c
+++ b/src/mame/drivers/model1.c
@@ -1496,7 +1496,7 @@ ROM_START( wingwarj )
ROM_END
-static MACHINE_CONFIG_START( model1, driver_data_t )
+static MACHINE_CONFIG_START( model1, driver_device )
MDRV_CPU_ADD("maincpu", V60, 16000000)
MDRV_CPU_PROGRAM_MAP(model1_mem)
MDRV_CPU_IO_MAP(model1_io)
@@ -1536,7 +1536,7 @@ static MACHINE_CONFIG_START( model1, driver_data_t )
MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( model1_vr, driver_data_t )
+static MACHINE_CONFIG_START( model1_vr, driver_device )
MDRV_CPU_ADD("maincpu", V60, 16000000)
MDRV_CPU_PROGRAM_MAP(model1_vr_mem)
MDRV_CPU_IO_MAP(model1_vr_io)
diff --git a/src/mame/drivers/model2.c b/src/mame/drivers/model2.c
index 77df6450da7..c502241e92f 100644
--- a/src/mame/drivers/model2.c
+++ b/src/mame/drivers/model2.c
@@ -2009,7 +2009,7 @@ static const mb86233_cpu_core tgp_config =
/* original Model 2 */
-static MACHINE_CONFIG_START( model2o, driver_data_t )
+static MACHINE_CONFIG_START( model2o, driver_device )
MDRV_CPU_ADD("maincpu", I960, 25000000)
MDRV_CPU_PROGRAM_MAP(model2o_mem)
MDRV_CPU_VBLANK_INT_HACK(model2_interrupt,2)
@@ -2065,7 +2065,7 @@ static MACHINE_CONFIG_START( model2o, driver_data_t )
MACHINE_CONFIG_END
/* 2A-CRX */
-static MACHINE_CONFIG_START( model2a, driver_data_t )
+static MACHINE_CONFIG_START( model2a, driver_device )
MDRV_CPU_ADD("maincpu", I960, 25000000)
MDRV_CPU_PROGRAM_MAP(model2a_crx_mem)
MDRV_CPU_VBLANK_INT_HACK(model2_interrupt,2)
@@ -2160,7 +2160,7 @@ static const sharc_config sharc_cfg =
};
/* 2B-CRX */
-static MACHINE_CONFIG_START( model2b, driver_data_t )
+static MACHINE_CONFIG_START( model2b, driver_device )
MDRV_CPU_ADD("maincpu", I960, 25000000)
MDRV_CPU_PROGRAM_MAP(model2b_crx_mem)
MDRV_CPU_VBLANK_INT_HACK(model2_interrupt,2)
@@ -2215,7 +2215,7 @@ static MACHINE_CONFIG_START( model2b, driver_data_t )
MACHINE_CONFIG_END
/* 2C-CRX */
-static MACHINE_CONFIG_START( model2c, driver_data_t )
+static MACHINE_CONFIG_START( model2c, driver_device )
MDRV_CPU_ADD("maincpu", I960, 25000000)
MDRV_CPU_PROGRAM_MAP(model2c_crx_mem)
MDRV_CPU_VBLANK_INT_HACK(model2c_interrupt,3)
diff --git a/src/mame/drivers/model3.c b/src/mame/drivers/model3.c
index d0d6ecf907c..b5ba4b712b9 100644
--- a/src/mame/drivers/model3.c
+++ b/src/mame/drivers/model3.c
@@ -4992,7 +4992,7 @@ static const powerpc_config model3_2x =
66000000 /* Multiplier 2.5, Bus = 66MHz, Core = 166MHz */
};
-static MACHINE_CONFIG_START( model3_10, driver_data_t )
+static MACHINE_CONFIG_START( model3_10, driver_device )
MDRV_CPU_ADD("maincpu", PPC603E, 66000000)
MDRV_CPU_CONFIG(model3_10)
MDRV_CPU_PROGRAM_MAP(model3_mem)
@@ -5034,7 +5034,7 @@ static MACHINE_CONFIG_START( model3_10, driver_data_t )
MDRV_SOUND_ROUTE(0, "rspeaker", 2.0)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( model3_15, driver_data_t )
+static MACHINE_CONFIG_START( model3_15, driver_device )
MDRV_CPU_ADD("maincpu", PPC603E, 100000000)
MDRV_CPU_CONFIG(model3_15)
MDRV_CPU_PROGRAM_MAP(model3_mem)
@@ -5074,7 +5074,7 @@ static MACHINE_CONFIG_START( model3_15, driver_data_t )
MDRV_SOUND_ROUTE(0, "rspeaker", 2.0)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( model3_20, driver_data_t )
+static MACHINE_CONFIG_START( model3_20, driver_device )
MDRV_CPU_ADD("maincpu", PPC603R, 166000000)
MDRV_CPU_CONFIG(model3_2x)
MDRV_CPU_PROGRAM_MAP(model3_mem)
@@ -5114,7 +5114,7 @@ static MACHINE_CONFIG_START( model3_20, driver_data_t )
MDRV_SOUND_ROUTE(0, "rspeaker", 2.0)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( model3_21, driver_data_t )
+static MACHINE_CONFIG_START( model3_21, driver_device )
MDRV_CPU_ADD("maincpu", PPC603R, 166000000)
MDRV_CPU_CONFIG(model3_2x)
MDRV_CPU_PROGRAM_MAP(model3_mem)
diff --git a/src/mame/drivers/mogura.c b/src/mame/drivers/mogura.c
index a132450d608..111694ad7b3 100644
--- a/src/mame/drivers/mogura.c
+++ b/src/mame/drivers/mogura.c
@@ -5,13 +5,11 @@
#include "sound/dac.h"
#include "includes/konamipt.h"
-class mogura_state : public driver_data_t
+class mogura_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mogura_state(machine)); }
-
- mogura_state(running_machine &machine)
- : driver_data_t(machine) { }
+ mogura_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * tileram;
diff --git a/src/mame/drivers/mole.c b/src/mame/drivers/mole.c
index 78dece0dc36..3b943e47641 100644
--- a/src/mame/drivers/mole.c
+++ b/src/mame/drivers/mole.c
@@ -53,13 +53,11 @@
#include "sound/ay8910.h"
-class mole_state : public driver_data_t
+class mole_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mole_state(machine)); }
-
- mole_state(running_machine &machine)
- : driver_data_t(machine) { }
+ mole_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * tileram;
diff --git a/src/mame/drivers/monzagp.c b/src/mame/drivers/monzagp.c
index 5a72bc4c563..30fa202e33e 100644
--- a/src/mame/drivers/monzagp.c
+++ b/src/mame/drivers/monzagp.c
@@ -238,7 +238,7 @@ static GFXDECODE_START( monzagp )
GFXDECODE_ENTRY( "gfx1", 0x0000, tile_layout2, 0, 8 )
GFXDECODE_END
-static MACHINE_CONFIG_START( monzagp, driver_data_t )
+static MACHINE_CONFIG_START( monzagp, driver_device )
MDRV_CPU_ADD("maincpu", I8035, 12000000/32) /* 400KHz ??? - Main board Crystal is 12MHz */
MDRV_CPU_PROGRAM_MAP(monzagp_map)
MDRV_CPU_IO_MAP(monzagp_io)
diff --git a/src/mame/drivers/mpoker.c b/src/mame/drivers/mpoker.c
index f758472d9fd..86cecbabb68 100644
--- a/src/mame/drivers/mpoker.c
+++ b/src/mame/drivers/mpoker.c
@@ -559,7 +559,7 @@ static GFXDECODE_START( mpoker )
GFXDECODE_ENTRY( "gfx1", 0, tiles16x16_layout, 0, 0x100 )
GFXDECODE_END
-static MACHINE_CONFIG_START( mpoker, driver_data_t )
+static MACHINE_CONFIG_START( mpoker, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80,MASTER_CLOCK/6) /* 3 MHz? */
MDRV_CPU_PROGRAM_MAP(main_map)
diff --git a/src/mame/drivers/mpu4.c b/src/mame/drivers/mpu4.c
index 6dbb6fc01d7..905e91163d1 100644
--- a/src/mame/drivers/mpu4.c
+++ b/src/mame/drivers/mpu4.c
@@ -1856,7 +1856,7 @@ static const ay8910_interface ay8910_config =
/* machine driver for MOD 2 board */
-static MACHINE_CONFIG_START( mpu4mod2, driver_data_t )
+static MACHINE_CONFIG_START( mpu4mod2, driver_device )
MDRV_MACHINE_START(mpu4mod2)
MDRV_MACHINE_RESET(mpu4)
diff --git a/src/mame/drivers/mpu4drvr.c b/src/mame/drivers/mpu4drvr.c
index f7ba50e749e..077e4a1f618 100644
--- a/src/mame/drivers/mpu4drvr.c
+++ b/src/mame/drivers/mpu4drvr.c
@@ -2224,7 +2224,7 @@ static TIMER_DEVICE_CALLBACK( scanline_timer_callback )
}
-static MACHINE_CONFIG_START( mpu4_vid, driver_data_t )
+static MACHINE_CONFIG_START( mpu4_vid, driver_device )
MDRV_CPU_ADD("maincpu", M6809, MPU4_MASTER_CLOCK/4 )
MDRV_CPU_PROGRAM_MAP(mpu4_6809_map)
MDRV_TIMER_ADD_PERIODIC("50hz",gen_50hz, HZ(100))
@@ -2298,7 +2298,7 @@ MACHINE_CONFIG_END
/* machine driver for Zenitone Deal 'Em board */
-static MACHINE_CONFIG_START( dealem, driver_data_t )
+static MACHINE_CONFIG_START( dealem, driver_device )
MDRV_MACHINE_START(mpu4mod2) /* main mpu4 board initialisation */
MDRV_MACHINE_RESET(mpu4_vid)
MDRV_CPU_ADD("maincpu", M6809, MPU4_MASTER_CLOCK/4)
diff --git a/src/mame/drivers/mpu5.c b/src/mame/drivers/mpu5.c
index 96ba31e6eca..bf246fe6d42 100644
--- a/src/mame/drivers/mpu5.c
+++ b/src/mame/drivers/mpu5.c
@@ -33,7 +33,7 @@ static VIDEO_UPDATE(mpu5)
return 0;
}
-static MACHINE_CONFIG_START( mpu5, driver_data_t )
+static MACHINE_CONFIG_START( mpu5, driver_device )
MDRV_CPU_ADD("maincpu", M68EC020, 16000000) // ?
MDRV_CPU_PROGRAM_MAP(mpu5_map)
diff --git a/src/mame/drivers/mquake.c b/src/mame/drivers/mquake.c
index 74c7492579c..0a63b590513 100644
--- a/src/mame/drivers/mquake.c
+++ b/src/mame/drivers/mquake.c
@@ -356,7 +356,7 @@ static const mos6526_interface cia_1_intf =
DEVCB_NULL
};
-static MACHINE_CONFIG_START( mquake, driver_data_t )
+static MACHINE_CONFIG_START( mquake, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, AMIGA_68000_NTSC_CLOCK)
diff --git a/src/mame/drivers/ms32.c b/src/mame/drivers/ms32.c
index 4f23f3ad261..446fc149b48 100644
--- a/src/mame/drivers/ms32.c
+++ b/src/mame/drivers/ms32.c
@@ -1312,7 +1312,7 @@ static MACHINE_RESET( ms32 )
/********** MACHINE DRIVER **********/
-static MACHINE_CONFIG_START( ms32, driver_data_t )
+static MACHINE_CONFIG_START( ms32, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", V70, 20000000) // 20MHz
diff --git a/src/mame/drivers/multfish.c b/src/mame/drivers/multfish.c
index d3c4ca153ff..2d7c57bd0fc 100644
--- a/src/mame/drivers/multfish.c
+++ b/src/mame/drivers/multfish.c
@@ -606,7 +606,7 @@ static const ay8910_interface ay8910_config =
};
-static MACHINE_CONFIG_START( multfish, driver_data_t )
+static MACHINE_CONFIG_START( multfish, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80,6000000) /* 6 MHz? */
MDRV_CPU_PROGRAM_MAP(multfish_map)
diff --git a/src/mame/drivers/multigam.c b/src/mame/drivers/multigam.c
index 98c51f217bc..fdf3bab3f7c 100644
--- a/src/mame/drivers/multigam.c
+++ b/src/mame/drivers/multigam.c
@@ -1133,7 +1133,7 @@ static MACHINE_START( supergm3 )
multigmc_mmc3_6000_ram = auto_alloc_array(machine, UINT8, 0x2000);
}
-static MACHINE_CONFIG_START( multigam, driver_data_t )
+static MACHINE_CONFIG_START( multigam, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", N2A03, N2A03_DEFAULTCLOCK)
MDRV_CPU_PROGRAM_MAP(multigam_map)
diff --git a/src/mame/drivers/murogem.c b/src/mame/drivers/murogem.c
index d2fb74d6a7c..73dc4bc9254 100644
--- a/src/mame/drivers/murogem.c
+++ b/src/mame/drivers/murogem.c
@@ -207,7 +207,7 @@ static const mc6845_interface mc6845_intf =
};
-static MACHINE_CONFIG_START( murogem, driver_data_t )
+static MACHINE_CONFIG_START( murogem, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6802,8000000) /* ? MHz */
MDRV_CPU_PROGRAM_MAP(murogem_map)
diff --git a/src/mame/drivers/murogmbl.c b/src/mame/drivers/murogmbl.c
index 29ee0effc77..5c106721639 100644
--- a/src/mame/drivers/murogmbl.c
+++ b/src/mame/drivers/murogmbl.c
@@ -166,7 +166,7 @@ static GFXDECODE_START( murogmbl )
GFXDECODE_ENTRY( "gfx1", 0, layout8x8x2, 0x0, 1 )
GFXDECODE_END
-static MACHINE_CONFIG_START( murogmbl, driver_data_t )
+static MACHINE_CONFIG_START( murogmbl, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 1000000) /* Z80? */
MDRV_CPU_PROGRAM_MAP(murogmbl_map)
diff --git a/src/mame/drivers/mustache.c b/src/mame/drivers/mustache.c
index 071a69d7aaf..bdd6e2d48c6 100644
--- a/src/mame/drivers/mustache.c
+++ b/src/mame/drivers/mustache.c
@@ -195,7 +195,7 @@ static INTERRUPT_GEN( assert_irq )
*/
}
-static MACHINE_CONFIG_START( mustache, driver_data_t )
+static MACHINE_CONFIG_START( mustache, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, CPU_CLOCK)
diff --git a/src/mame/drivers/mwarr.c b/src/mame/drivers/mwarr.c
index 7ef53232b4f..d5ab3749273 100644
--- a/src/mame/drivers/mwarr.c
+++ b/src/mame/drivers/mwarr.c
@@ -46,13 +46,11 @@ Notes:
#define SOUND_CLOCK XTAL_45MHz
-class mwarr_state : public driver_data_t
+class mwarr_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mwarr_state(machine)); }
-
- mwarr_state(running_machine &machine)
- : driver_data_t(machine) { }
+ mwarr_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 *bg_videoram, *mlow_videoram, *mhigh_videoram, *tx_videoram, *sprites_buffer;
diff --git a/src/mame/drivers/mystwarr.c b/src/mame/drivers/mystwarr.c
index 365240149a8..9d6f6d54378 100644
--- a/src/mame/drivers/mystwarr.c
+++ b/src/mame/drivers/mystwarr.c
@@ -957,7 +957,7 @@ static MACHINE_RESET(gaiapols)
for (i=5; i<=7; i++) k054539_set_gain(k054539_1, i, 2.0);
}
-static MACHINE_CONFIG_START( mystwarr, driver_data_t )
+static MACHINE_CONFIG_START( mystwarr, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 16000000) /* 16 MHz (confirmed) */
diff --git a/src/mame/drivers/namcofl.c b/src/mame/drivers/namcofl.c
index 3bae9d7c672..8366c80b206 100644
--- a/src/mame/drivers/namcofl.c
+++ b/src/mame/drivers/namcofl.c
@@ -590,7 +590,7 @@ static MACHINE_RESET( namcofl )
}
-static MACHINE_CONFIG_START( namcofl, driver_data_t )
+static MACHINE_CONFIG_START( namcofl, driver_device )
MDRV_CPU_ADD("maincpu", I960, 20000000) // i80960KA-20 == 20 MHz part
MDRV_CPU_PROGRAM_MAP(namcofl_mem)
diff --git a/src/mame/drivers/namcona1.c b/src/mame/drivers/namcona1.c
index 57d8f334d29..16ace557937 100644
--- a/src/mame/drivers/namcona1.c
+++ b/src/mame/drivers/namcona1.c
@@ -1004,7 +1004,7 @@ static const c140_interface C140_interface_typeA =
};
/* cropped at sides */
-static MACHINE_CONFIG_START( namcona1, driver_data_t )
+static MACHINE_CONFIG_START( namcona1, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 50113000/4)
MDRV_CPU_PROGRAM_MAP(namcona1_main_map)
diff --git a/src/mame/drivers/namconb1.c b/src/mame/drivers/namconb1.c
index 046777f9daa..74605a90ff0 100644
--- a/src/mame/drivers/namconb1.c
+++ b/src/mame/drivers/namconb1.c
@@ -1011,7 +1011,7 @@ ADDRESS_MAP_END
#define MASTER_CLOCK_HZ 48384000
-static MACHINE_CONFIG_START( namconb1, driver_data_t )
+static MACHINE_CONFIG_START( namconb1, driver_device )
MDRV_CPU_ADD("maincpu", M68EC020,MASTER_CLOCK_HZ/2)
MDRV_CPU_PROGRAM_MAP(namconb1_am)
MDRV_CPU_VBLANK_INT("screen", namconb1_interrupt)
@@ -1044,7 +1044,7 @@ static MACHINE_CONFIG_START( namconb1, driver_data_t )
MDRV_SOUND_ROUTE(3, "lspeaker", 1.00)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( namconb2, driver_data_t )
+static MACHINE_CONFIG_START( namconb2, driver_device )
MDRV_CPU_ADD("maincpu", M68EC020,MASTER_CLOCK_HZ/2)
MDRV_CPU_PROGRAM_MAP(namconb2_am)
MDRV_CPU_VBLANK_INT("screen", namconb2_interrupt)
diff --git a/src/mame/drivers/namcond1.c b/src/mame/drivers/namcond1.c
index 8146fdc98a5..f07b8a168fc 100644
--- a/src/mame/drivers/namcond1.c
+++ b/src/mame/drivers/namcond1.c
@@ -281,7 +281,7 @@ static INTERRUPT_GEN( mcu_interrupt )
- The level 1 interrupt to the 68k has been measured at 60Hz.
*******************************************/
-static MACHINE_CONFIG_START( namcond1, driver_data_t )
+static MACHINE_CONFIG_START( namcond1, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 12288000)
diff --git a/src/mame/drivers/namcops2.c b/src/mame/drivers/namcops2.c
index cd34239302b..59976573720 100644
--- a/src/mame/drivers/namcops2.c
+++ b/src/mame/drivers/namcops2.c
@@ -47,7 +47,7 @@ static const mips3_config r5000_config =
16384 /* data cache size */
};
-static MACHINE_CONFIG_START( system246, driver_data_t )
+static MACHINE_CONFIG_START( system246, driver_device )
MDRV_CPU_ADD("maincpu", R5000LE, 294000000) // actually R5900 @ 294 MHz
MDRV_CPU_PROGRAM_MAP(ps2_map)
MDRV_CPU_CONFIG(r5000_config)
diff --git a/src/mame/drivers/namcos1.c b/src/mame/drivers/namcos1.c
index a26f7edcc96..4e6f3269700 100644
--- a/src/mame/drivers/namcos1.c
+++ b/src/mame/drivers/namcos1.c
@@ -1077,7 +1077,7 @@ static const namco_interface namco_config =
LPF info : Fco = 3.3KHz , g = -12dB/oct
*/
-static MACHINE_CONFIG_START( ns1, driver_data_t )
+static MACHINE_CONFIG_START( ns1, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6809,49152000/32)
diff --git a/src/mame/drivers/namcos10.c b/src/mame/drivers/namcos10.c
index e3ee4445173..69ccd09fd22 100644
--- a/src/mame/drivers/namcos10.c
+++ b/src/mame/drivers/namcos10.c
@@ -375,7 +375,7 @@ static MACHINE_RESET( namcos10 )
psx_machine_init(machine);
}
-static MACHINE_CONFIG_START( namcos10, driver_data_t )
+static MACHINE_CONFIG_START( namcos10, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", PSXCPU, XTAL_101_4912MHz )
MDRV_CPU_PROGRAM_MAP( namcos10_map)
diff --git a/src/mame/drivers/namcos11.c b/src/mame/drivers/namcos11.c
index 50cd3116999..48d56f6d88e 100644
--- a/src/mame/drivers/namcos11.c
+++ b/src/mame/drivers/namcos11.c
@@ -953,7 +953,7 @@ static MACHINE_RESET( namcos11 )
psx_machine_init(machine);
}
-static MACHINE_CONFIG_START( coh100, driver_data_t )
+static MACHINE_CONFIG_START( coh100, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", PSXCPU, XTAL_67_7376MHz )
MDRV_CPU_PROGRAM_MAP( namcos11_map)
diff --git a/src/mame/drivers/namcos12.c b/src/mame/drivers/namcos12.c
index 4645aa2c018..b2a49496276 100644
--- a/src/mame/drivers/namcos12.c
+++ b/src/mame/drivers/namcos12.c
@@ -1511,7 +1511,7 @@ static DRIVER_INIT( ghlpanic )
system11gun_install(machine);
}
-static MACHINE_CONFIG_START( coh700, driver_data_t )
+static MACHINE_CONFIG_START( coh700, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", CXD8661R, XTAL_100MHz )
MDRV_CPU_PROGRAM_MAP( namcos12_map)
diff --git a/src/mame/drivers/namcos2.c b/src/mame/drivers/namcos2.c
index 6dba8c552d9..4ca6afabaae 100644
--- a/src/mame/drivers/namcos2.c
+++ b/src/mame/drivers/namcos2.c
@@ -1605,7 +1605,7 @@ via software as INT1
/* */
/*************************************************************/
-static MACHINE_CONFIG_START( default, driver_data_t )
+static MACHINE_CONFIG_START( default, driver_device )
MDRV_CPU_ADD("maincpu", M68000, M68K_CPU_CLOCK) /* 12.288MHz (49.152MHz OSC/4) */
MDRV_CPU_PROGRAM_MAP(master_default_am)
MDRV_CPU_VBLANK_INT("screen", namcos2_68k_master_vblank)
@@ -1682,7 +1682,7 @@ static MACHINE_CONFIG_DERIVED( default3, default )
MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( gollygho, driver_data_t )
+static MACHINE_CONFIG_START( gollygho, driver_device )
MDRV_CPU_ADD("maincpu", M68000, M68K_CPU_CLOCK) /* 12.288MHz (49.152MHz OSC/4) */
MDRV_CPU_PROGRAM_MAP(master_default_am)
MDRV_CPU_VBLANK_INT("screen", namcos2_68k_master_vblank)
@@ -1732,7 +1732,7 @@ static MACHINE_CONFIG_START( gollygho, driver_data_t )
MDRV_SOUND_ROUTE(1, "rspeaker", 0.80)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( finallap, driver_data_t )
+static MACHINE_CONFIG_START( finallap, driver_device )
MDRV_CPU_ADD("maincpu", M68000, M68K_CPU_CLOCK) /* 12.288MHz (49.152MHz OSC/4) */
MDRV_CPU_PROGRAM_MAP(master_finallap_am)
MDRV_CPU_VBLANK_INT("screen", namcos2_68k_master_vblank)
@@ -1782,7 +1782,7 @@ static MACHINE_CONFIG_START( finallap, driver_data_t )
MDRV_SOUND_ROUTE(1, "rspeaker", 0.80)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( sgunner, driver_data_t )
+static MACHINE_CONFIG_START( sgunner, driver_device )
MDRV_CPU_ADD("maincpu", M68000, M68K_CPU_CLOCK) /* 12.288MHz (49.152MHz OSC/4) */
MDRV_CPU_PROGRAM_MAP(master_sgunner_am)
MDRV_CPU_VBLANK_INT("screen", namcos2_68k_master_vblank)
@@ -1832,7 +1832,7 @@ static MACHINE_CONFIG_START( sgunner, driver_data_t )
MDRV_SOUND_ROUTE(1, "rspeaker", 0.80)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( luckywld, driver_data_t )
+static MACHINE_CONFIG_START( luckywld, driver_device )
MDRV_CPU_ADD("maincpu", M68000, M68K_CPU_CLOCK) /* 12.288MHz (49.152MHz OSC/4) */
MDRV_CPU_PROGRAM_MAP(master_luckywld_am)
MDRV_CPU_VBLANK_INT("screen", namcos2_68k_master_vblank)
@@ -1882,7 +1882,7 @@ static MACHINE_CONFIG_START( luckywld, driver_data_t )
MDRV_SOUND_ROUTE(1, "rspeaker", 0.80)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( metlhawk, driver_data_t )
+static MACHINE_CONFIG_START( metlhawk, driver_device )
MDRV_CPU_ADD("maincpu", M68000, M68K_CPU_CLOCK) /* 12.288MHz (49.152MHz OSC/4) */
MDRV_CPU_PROGRAM_MAP(master_metlhawk_am)
MDRV_CPU_VBLANK_INT("screen", namcos2_68k_master_vblank)
diff --git a/src/mame/drivers/namcos21.c b/src/mame/drivers/namcos21.c
index b9c0658e629..b2383696784 100644
--- a/src/mame/drivers/namcos21.c
+++ b/src/mame/drivers/namcos21.c
@@ -1522,7 +1522,7 @@ static const c140_interface C140_interface_typeB =
C140_TYPE_SYSTEM21_B
};
-static MACHINE_CONFIG_START( s21base, driver_data_t )
+static MACHINE_CONFIG_START( s21base, driver_device )
MDRV_CPU_ADD("maincpu", M68000,12288000) /* Master */
MDRV_CPU_PROGRAM_MAP(namcos21_68k_master)
MDRV_CPU_VBLANK_INT("screen", namcos2_68k_master_vblank)
@@ -1599,7 +1599,7 @@ static MACHINE_CONFIG_DERIVED( poly_c140_typeB, s21base )
MDRV_SOUND_ROUTE(1, "rspeaker", 0.30)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( driveyes, driver_data_t )
+static MACHINE_CONFIG_START( driveyes, driver_device )
MDRV_CPU_ADD("maincpu", M68000,12288000) /* Master */
MDRV_CPU_PROGRAM_MAP(driveyes_68k_master)
MDRV_CPU_VBLANK_INT("screen", namcos2_68k_master_vblank)
@@ -1654,7 +1654,7 @@ static MACHINE_CONFIG_START( driveyes, driver_data_t )
MDRV_SOUND_ROUTE(1, "rspeaker", 0.30)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( winrun_c140_typeB, driver_data_t )
+static MACHINE_CONFIG_START( winrun_c140_typeB, driver_device )
MDRV_CPU_ADD("maincpu", M68000,12288000) /* Master */
MDRV_CPU_PROGRAM_MAP(am_master_winrun)
MDRV_CPU_VBLANK_INT("screen", namcos2_68k_master_vblank)
diff --git a/src/mame/drivers/namcos22.c b/src/mame/drivers/namcos22.c
index dcad5c8c556..b0ae1a17d2a 100644
--- a/src/mame/drivers/namcos22.c
+++ b/src/mame/drivers/namcos22.c
@@ -2868,7 +2868,7 @@ static INTERRUPT_GEN( mcu_interrupt )
}
}
-static MACHINE_CONFIG_START( namcos22s, driver_data_t )
+static MACHINE_CONFIG_START( namcos22s, driver_device )
MDRV_CPU_ADD("maincpu", M68EC020,SS22_MASTER_CLOCK/2)
MDRV_CPU_PROGRAM_MAP(namcos22s_am)
MDRV_CPU_VBLANK_INT_HACK(namcos22s_interrupt,2)
@@ -3284,7 +3284,7 @@ static MACHINE_RESET(namcos22)
InitDSP(machine, 0);
}
-static MACHINE_CONFIG_START( namcos22, driver_data_t )
+static MACHINE_CONFIG_START( namcos22, driver_device )
MDRV_CPU_ADD("maincpu", M68020,SS22_MASTER_CLOCK/2) /* 25 MHz? */
MDRV_CPU_PROGRAM_MAP(namcos22_am)
MDRV_CPU_VBLANK_INT_HACK(namcos22_interrupt,2)
diff --git a/src/mame/drivers/namcos23.c b/src/mame/drivers/namcos23.c
index c67bcbe1043..ec011cee143 100644
--- a/src/mame/drivers/namcos23.c
+++ b/src/mame/drivers/namcos23.c
@@ -2871,7 +2871,7 @@ static const mips3_config r4650_config =
8192 /* data cache size - VERIFIED */
};
-static MACHINE_CONFIG_START( gorgon, driver_data_t )
+static MACHINE_CONFIG_START( gorgon, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", R4650BE, S23_BUSCLOCK*4)
@@ -2918,7 +2918,7 @@ static MACHINE_CONFIG_START( gorgon, driver_data_t )
MDRV_SOUND_ROUTE(3, "lspeaker", 1.00)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( s23, driver_data_t )
+static MACHINE_CONFIG_START( s23, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", R4650BE, S23_BUSCLOCK*4)
MDRV_CPU_CONFIG(r4650_config)
@@ -2964,7 +2964,7 @@ static MACHINE_CONFIG_START( s23, driver_data_t )
MDRV_SOUND_ROUTE(3, "lspeaker", 1.00)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( ss23, driver_data_t )
+static MACHINE_CONFIG_START( ss23, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", R4650BE, S23_BUSCLOCK*5)
MDRV_CPU_CONFIG(r4650_config)
diff --git a/src/mame/drivers/namcos86.c b/src/mame/drivers/namcos86.c
index a41255b1d65..6328023f3c5 100644
--- a/src/mame/drivers/namcos86.c
+++ b/src/mame/drivers/namcos86.c
@@ -1013,7 +1013,7 @@ static const namco_interface namco_config =
};
-static MACHINE_CONFIG_START( hopmappy, driver_data_t )
+static MACHINE_CONFIG_START( hopmappy, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("cpu1", M6809, 49152000/32)
diff --git a/src/mame/drivers/naomi.c b/src/mame/drivers/naomi.c
index 94634608fda..86c0384d204 100644
--- a/src/mame/drivers/naomi.c
+++ b/src/mame/drivers/naomi.c
@@ -1915,7 +1915,7 @@ static MACHINE_RESET( naomi )
* Common for Naomi 1, Naomi GD-Rom, Naomi 2, Atomiswave ...
*/
-static MACHINE_CONFIG_START( naomi_base, driver_data_t )
+static MACHINE_CONFIG_START( naomi_base, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", SH4, CPU_CLOCK) // SH4!!!
MDRV_CPU_CONFIG(sh4cpu_config)
diff --git a/src/mame/drivers/naughtyb.c b/src/mame/drivers/naughtyb.c
index 616682e0668..d9c695a3161 100644
--- a/src/mame/drivers/naughtyb.c
+++ b/src/mame/drivers/naughtyb.c
@@ -433,7 +433,7 @@ static const tms36xx_interface tms3615_interface =
-static MACHINE_CONFIG_START( naughtyb, driver_data_t )
+static MACHINE_CONFIG_START( naughtyb, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, CLOCK_XTAL / 4) /* 12 MHz clock, divided by 4. CPU is a Z80A */
@@ -469,7 +469,7 @@ MACHINE_CONFIG_END
/* Exactly the same but for certain address writes */
-static MACHINE_CONFIG_START( popflame, driver_data_t )
+static MACHINE_CONFIG_START( popflame, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, CLOCK_XTAL / 4) /* 12 MHz clock, divided by 4. CPU is a Z80A */
diff --git a/src/mame/drivers/nbmj8688.c b/src/mame/drivers/nbmj8688.c
index 573fa3b4cf8..77bba2aee03 100644
--- a/src/mame/drivers/nbmj8688.c
+++ b/src/mame/drivers/nbmj8688.c
@@ -2916,7 +2916,7 @@ static const ay8910_interface ay8910_config =
-static MACHINE_CONFIG_START( NBMJDRV_4096, driver_data_t )
+static MACHINE_CONFIG_START( NBMJDRV_4096, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 5000000) /* 5.00 MHz */
@@ -3038,7 +3038,7 @@ static MACHINE_CONFIG_DERIVED( mbmj_p16bit, NBMJDRV_65536 )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( mbmj_p16bit_LCD, driver_data_t )
+static MACHINE_CONFIG_START( mbmj_p16bit_LCD, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 5000000) /* 5.00 MHz */
diff --git a/src/mame/drivers/nbmj8891.c b/src/mame/drivers/nbmj8891.c
index d58cd1bb3cc..608516532f7 100644
--- a/src/mame/drivers/nbmj8891.c
+++ b/src/mame/drivers/nbmj8891.c
@@ -2605,7 +2605,7 @@ static const ay8910_interface ay8910_config =
-static MACHINE_CONFIG_START( gionbana, driver_data_t )
+static MACHINE_CONFIG_START( gionbana, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 20000000/4) /* 5.00 MHz ? */
diff --git a/src/mame/drivers/nbmj8900.c b/src/mame/drivers/nbmj8900.c
index 959c7ba7c24..d5353950203 100644
--- a/src/mame/drivers/nbmj8900.c
+++ b/src/mame/drivers/nbmj8900.c
@@ -328,7 +328,7 @@ INPUT_PORTS_END
-static MACHINE_CONFIG_START( ohpaipee, driver_data_t )
+static MACHINE_CONFIG_START( ohpaipee, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 20000000/4) /* 5.00 MHz ? */
diff --git a/src/mame/drivers/nbmj8991.c b/src/mame/drivers/nbmj8991.c
index 718dd255984..eae0e4328b2 100644
--- a/src/mame/drivers/nbmj8991.c
+++ b/src/mame/drivers/nbmj8991.c
@@ -1474,7 +1474,7 @@ static const ay8910_interface ay8910_config =
};
-static MACHINE_CONFIG_START( nbmjdrv1, driver_data_t ) // galkoku
+static MACHINE_CONFIG_START( nbmjdrv1, driver_device ) // galkoku
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 25000000/5) /* 5.00 MHz ? */
@@ -1507,7 +1507,7 @@ static MACHINE_CONFIG_START( nbmjdrv1, driver_data_t ) // galkoku
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( nbmjdrv2, driver_data_t ) // pstadium
+static MACHINE_CONFIG_START( nbmjdrv2, driver_device ) // pstadium
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 6000000/2) /* 3.00 MHz */
diff --git a/src/mame/drivers/nbmj9195.c b/src/mame/drivers/nbmj9195.c
index f69c9fe3b4c..4589de38c8c 100644
--- a/src/mame/drivers/nbmj9195.c
+++ b/src/mame/drivers/nbmj9195.c
@@ -2911,7 +2911,7 @@ static const z80_daisy_config daisy_chain_sound[] =
};
-static MACHINE_CONFIG_START( NBMJDRV1, driver_data_t )
+static MACHINE_CONFIG_START( NBMJDRV1, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 12000000/2) /* TMPZ84C011, 6.00 MHz */
diff --git a/src/mame/drivers/neptunp2.c b/src/mame/drivers/neptunp2.c
index fe7cef3c689..0a9267c1e28 100644
--- a/src/mame/drivers/neptunp2.c
+++ b/src/mame/drivers/neptunp2.c
@@ -66,7 +66,7 @@ static GFXDECODE_START( neptunp2 )
// GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 8 )
GFXDECODE_END
-static MACHINE_CONFIG_START( neptunp2, driver_data_t )
+static MACHINE_CONFIG_START( neptunp2, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu",I80188,20000000) // N80C188-20 AMD
diff --git a/src/mame/drivers/nightgal.c b/src/mame/drivers/nightgal.c
index 1d2a4f37011..e7bd5aa8de4 100644
--- a/src/mame/drivers/nightgal.c
+++ b/src/mame/drivers/nightgal.c
@@ -27,13 +27,11 @@ TODO:
#define MASTER_CLOCK XTAL_19_968MHz
-class nightgal_state : public driver_data_t
+class nightgal_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, nightgal_state(machine)); }
-
- nightgal_state(running_machine &machine)
- : driver_data_t(machine) { }
+ nightgal_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * blit_buffer;
diff --git a/src/mame/drivers/ninjakd2.c b/src/mame/drivers/ninjakd2.c
index 042b5b0e7ff..90519185c5f 100644
--- a/src/mame/drivers/ninjakd2.c
+++ b/src/mame/drivers/ninjakd2.c
@@ -905,7 +905,7 @@ static const samples_interface ninjakd2_samples_interface =
*
*************************************/
-static MACHINE_CONFIG_START( ninjakd2, driver_data_t )
+static MACHINE_CONFIG_START( ninjakd2, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, MAIN_CLOCK_12/2) /* verified */
diff --git a/src/mame/drivers/niyanpai.c b/src/mame/drivers/niyanpai.c
index ddab10020a6..4d3cdf0418c 100644
--- a/src/mame/drivers/niyanpai.c
+++ b/src/mame/drivers/niyanpai.c
@@ -771,7 +771,7 @@ static const z80_daisy_config daisy_chain_sound[] =
};
-static MACHINE_CONFIG_START( niyanpai, driver_data_t )
+static MACHINE_CONFIG_START( niyanpai, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 12288000/2) /* TMP68301, 6.144 MHz */
diff --git a/src/mame/drivers/nmg5.c b/src/mame/drivers/nmg5.c
index c018191f7ef..e02c1a7ed1f 100644
--- a/src/mame/drivers/nmg5.c
+++ b/src/mame/drivers/nmg5.c
@@ -226,13 +226,11 @@ Stephh's notes (based on the games M68000 code and some tests) :
#include "sound/3812intf.h"
-class nmg5_state : public driver_data_t
+class nmg5_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, nmg5_state(machine)); }
-
- nmg5_state(running_machine &machine)
- : driver_data_t(machine) { }
+ nmg5_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * fg_videoram;
diff --git a/src/mame/drivers/nmk16.c b/src/mame/drivers/nmk16.c
index 61d95c4bd1b..a4f03187b33 100644
--- a/src/mame/drivers/nmk16.c
+++ b/src/mame/drivers/nmk16.c
@@ -3528,7 +3528,7 @@ static const nmk112_interface nmk16_nmk112_intf =
"oki1", "oki2", 0
};
-static MACHINE_CONFIG_START( tharrier, driver_data_t )
+static MACHINE_CONFIG_START( tharrier, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 10000000) /* 10 MHz */
@@ -3574,7 +3574,7 @@ static MACHINE_CONFIG_START( tharrier, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( manybloc, driver_data_t )
+static MACHINE_CONFIG_START( manybloc, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 10000000) /* 10? MHz - check */
@@ -3618,7 +3618,7 @@ static MACHINE_CONFIG_START( manybloc, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( mustang, driver_data_t )
+static MACHINE_CONFIG_START( mustang, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 10000000) /* 10 MHz ? */
@@ -3661,7 +3661,7 @@ static MACHINE_CONFIG_START( mustang, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( mustangb, driver_data_t )
+static MACHINE_CONFIG_START( mustangb, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 10000000) /* 10 MHz ? */
@@ -3696,7 +3696,7 @@ MACHINE_CONFIG_END
#define BIOSHIP_CRYSTAL1 10000000
#define BIOSHIP_CRYSTAL2 12000000
-static MACHINE_CONFIG_START( bioship, driver_data_t )
+static MACHINE_CONFIG_START( bioship, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, BIOSHIP_CRYSTAL1 ) /* 10.0 MHz (verified) */
@@ -3738,7 +3738,7 @@ static MACHINE_CONFIG_START( bioship, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( vandyke, driver_data_t )
+static MACHINE_CONFIG_START( vandyke, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, XTAL_10MHz) /* 68000p12 running at 10Mhz, verified on pcb */
@@ -3780,7 +3780,7 @@ static MACHINE_CONFIG_START( vandyke, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( vandykeb, driver_data_t )
+static MACHINE_CONFIG_START( vandykeb, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 10000000) /* 10 MHz ? */
@@ -3815,7 +3815,7 @@ static MACHINE_CONFIG_START( vandykeb, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( acrobatm, driver_data_t )
+static MACHINE_CONFIG_START( acrobatm, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 10000000) /* 10 MHz (verified on pcb) */
@@ -3858,7 +3858,7 @@ static MACHINE_CONFIG_START( acrobatm, driver_data_t )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( tdragonb, driver_data_t ) /* bootleg using Raiden sound hardware */
+static MACHINE_CONFIG_START( tdragonb, driver_device ) /* bootleg using Raiden sound hardware */
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 10000000)
@@ -3890,7 +3890,7 @@ static MACHINE_CONFIG_START( tdragonb, driver_data_t ) /* bootleg using Raiden s
SEIBU_SOUND_SYSTEM_YM3812_INTERFACE(14318180/4, 1320000)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( tdragon, driver_data_t )
+static MACHINE_CONFIG_START( tdragon, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, XTAL_8MHz) /* verified on pcb */
@@ -3934,7 +3934,7 @@ static MACHINE_CONFIG_START( tdragon, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( ssmissin, driver_data_t )
+static MACHINE_CONFIG_START( ssmissin, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 8000000) /* 8 Mhz */
@@ -3969,7 +3969,7 @@ static MACHINE_CONFIG_START( ssmissin, driver_data_t )
MDRV_NMK112_ADD("nmk112", nmk16_nmk112_intf)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( strahl, driver_data_t )
+static MACHINE_CONFIG_START( strahl, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz ? */
@@ -4011,7 +4011,7 @@ static MACHINE_CONFIG_START( strahl, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( hachamf, driver_data_t )
+static MACHINE_CONFIG_START( hachamf, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 10000000) /* 10 MHz ? */
@@ -4054,7 +4054,7 @@ static MACHINE_CONFIG_START( hachamf, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( macross, driver_data_t )
+static MACHINE_CONFIG_START( macross, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 10000000) /* 10 MHz ? */
@@ -4096,7 +4096,7 @@ static MACHINE_CONFIG_START( macross, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( blkheart, driver_data_t )
+static MACHINE_CONFIG_START( blkheart, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, XTAL_8MHz) /* verified on pcb */
@@ -4138,7 +4138,7 @@ static MACHINE_CONFIG_START( blkheart, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( gunnail, driver_data_t )
+static MACHINE_CONFIG_START( gunnail, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz? */
@@ -4180,7 +4180,7 @@ static MACHINE_CONFIG_START( gunnail, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( macross2, driver_data_t )
+static MACHINE_CONFIG_START( macross2, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 10000000) /* 10 MHz ? */
@@ -4223,7 +4223,7 @@ static MACHINE_CONFIG_START( macross2, driver_data_t )
MDRV_NMK112_ADD("nmk112", nmk16_nmk112_intf)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( tdragon2, driver_data_t )
+static MACHINE_CONFIG_START( tdragon2, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 10000000) /* 10 MHz */
@@ -4266,7 +4266,7 @@ static MACHINE_CONFIG_START( tdragon2, driver_data_t )
MDRV_NMK112_ADD("nmk112", nmk16_nmk112_intf)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( raphero, driver_data_t )
+static MACHINE_CONFIG_START( raphero, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 14000000) /* 14 MHz measured */
@@ -4308,7 +4308,7 @@ static MACHINE_CONFIG_START( raphero, driver_data_t )
MDRV_NMK112_ADD("nmk112", nmk16_nmk112_intf)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( bjtwin, driver_data_t )
+static MACHINE_CONFIG_START( bjtwin, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 10000000) /* verified on pcb */
@@ -4814,7 +4814,7 @@ static const ym2151_interface afega_ym2151_intf =
};
-static MACHINE_CONFIG_START( stagger1, driver_data_t )
+static MACHINE_CONFIG_START( stagger1, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000,XTAL_12MHz) /* 68000p10 running at 12mhz, verified on pcb */
@@ -4895,7 +4895,7 @@ static MACHINE_CONFIG_DERIVED( popspops, grdnstrm )
MDRV_VIDEO_UPDATE(bubl2000)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( firehawk, driver_data_t )
+static MACHINE_CONFIG_START( firehawk, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000,12000000)
@@ -4930,7 +4930,7 @@ static MACHINE_CONFIG_START( firehawk, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( twinactn, driver_data_t )
+static MACHINE_CONFIG_START( twinactn, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000,12000000)
diff --git a/src/mame/drivers/norautp.c b/src/mame/drivers/norautp.c
index 6e0f6c94578..2082e603c30 100644
--- a/src/mame/drivers/norautp.c
+++ b/src/mame/drivers/norautp.c
@@ -1235,7 +1235,7 @@ static I8255A_INTERFACE (ppi8255_intf_1)
* Machine Drivers *
*************************/
-static MACHINE_CONFIG_START( noraut_base, driver_data_t )
+static MACHINE_CONFIG_START( noraut_base, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, NORAUT_CPU_CLOCK)
diff --git a/src/mame/drivers/nova2001.c b/src/mame/drivers/nova2001.c
index 684d97f5d00..6a6f97763c5 100644
--- a/src/mame/drivers/nova2001.c
+++ b/src/mame/drivers/nova2001.c
@@ -680,7 +680,7 @@ static const ay8910_interface pkunwar_ay8910_interface_2 =
*
*************************************/
-static MACHINE_CONFIG_START( nova2001, driver_data_t )
+static MACHINE_CONFIG_START( nova2001, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, MAIN_CLOCK/4) // 3 MHz verified on schematics
@@ -713,7 +713,7 @@ static MACHINE_CONFIG_START( nova2001, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( ninjakun, driver_data_t )
+static MACHINE_CONFIG_START( ninjakun, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, MAIN_CLOCK/4) // 3 MHz
@@ -754,7 +754,7 @@ static MACHINE_CONFIG_START( ninjakun, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( pkunwar, driver_data_t )
+static MACHINE_CONFIG_START( pkunwar, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, MAIN_CLOCK/4) // 3 MHz
@@ -788,7 +788,7 @@ static MACHINE_CONFIG_START( pkunwar, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( raiders5, driver_data_t )
+static MACHINE_CONFIG_START( raiders5, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, MAIN_CLOCK/4) // 3 MHz
diff --git a/src/mame/drivers/nwk-tr.c b/src/mame/drivers/nwk-tr.c
index da9b0aa9a44..4a039b5af1e 100644
--- a/src/mame/drivers/nwk-tr.c
+++ b/src/mame/drivers/nwk-tr.c
@@ -652,7 +652,7 @@ static MACHINE_RESET( nwktr )
cputag_set_input_line(machine, "dsp", INPUT_LINE_RESET, ASSERT_LINE);
}
-static MACHINE_CONFIG_START( nwktr, driver_data_t )
+static MACHINE_CONFIG_START( nwktr, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", PPC403GA, 64000000/2) /* PowerPC 403GA 32MHz */
diff --git a/src/mame/drivers/nyny.c b/src/mame/drivers/nyny.c
index abfaa1119ad..de41bfe15f8 100644
--- a/src/mame/drivers/nyny.c
+++ b/src/mame/drivers/nyny.c
@@ -81,13 +81,11 @@
#define AUDIO_CPU_2_CLOCK AUDIO_2_MASTER_CLOCK
-class nyny_state : public driver_data_t
+class nyny_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, nyny_state(machine)); }
-
- nyny_state(running_machine &machine)
- : driver_data_t(machine) { }
+ nyny_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram1;
diff --git a/src/mame/drivers/olibochu.c b/src/mame/drivers/olibochu.c
index eecf333bac8..417d087c7df 100644
--- a/src/mame/drivers/olibochu.c
+++ b/src/mame/drivers/olibochu.c
@@ -56,13 +56,11 @@ $7004 writes, related to $7000 reads
#include "deprecat.h"
#include "sound/ay8910.h"
-class olibochu_state : public driver_data_t
+class olibochu_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, olibochu_state(machine)); }
-
- olibochu_state(running_machine &machine)
- : driver_data_t(machine) { }
+ olibochu_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/drivers/omegrace.c b/src/mame/drivers/omegrace.c
index 450f847cd56..bd8029642e3 100644
--- a/src/mame/drivers/omegrace.c
+++ b/src/mame/drivers/omegrace.c
@@ -466,7 +466,7 @@ INPUT_PORTS_END
*
*************************************/
-static MACHINE_CONFIG_START( omegrace, driver_data_t )
+static MACHINE_CONFIG_START( omegrace, driver_device )
/* basic machine hardware */
diff --git a/src/mame/drivers/onetwo.c b/src/mame/drivers/onetwo.c
index e88e13426ed..5ae46ec094a 100644
--- a/src/mame/drivers/onetwo.c
+++ b/src/mame/drivers/onetwo.c
@@ -46,13 +46,11 @@ Note: this is quite clearly a 'Korean bootleg' of Shisensho - Joshiryo-Hen / Mat
#define MASTER_CLOCK XTAL_4MHz
-class onetwo_state : public driver_data_t
+class onetwo_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, onetwo_state(machine)); }
-
- onetwo_state(running_machine &machine)
- : driver_data_t(machine) { }
+ onetwo_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * fgram;
diff --git a/src/mame/drivers/othello.c b/src/mame/drivers/othello.c
index d5b93c985b9..f2691b777dc 100644
--- a/src/mame/drivers/othello.c
+++ b/src/mame/drivers/othello.c
@@ -47,13 +47,11 @@ Limit for help/undo (matta):
#define TILE_WIDTH 6
-class othello_state : public driver_data_t
+class othello_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, othello_state(machine)); }
-
- othello_state(running_machine &machine)
- : driver_data_t(machine) { }
+ othello_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/drivers/pachifev.c b/src/mame/drivers/pachifev.c
index 7d231ac1d47..1c0f6d96d3d 100644
--- a/src/mame/drivers/pachifev.c
+++ b/src/mame/drivers/pachifev.c
@@ -86,13 +86,11 @@ Stephh's notes (based on the game TMS9995 code and some tests) :
#define USE_MSM 0
#define NUM_PLUNGER_REPEATS 50
-class pachifev_state : public driver_data_t
+class pachifev_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, pachifev_state(machine)); }
-
- pachifev_state(running_machine &machine)
- : driver_data_t(machine) { }
+ pachifev_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* controls related */
diff --git a/src/mame/drivers/pacland.c b/src/mame/drivers/pacland.c
index d0ce3181dd7..ac979e7eaeb 100644
--- a/src/mame/drivers/pacland.c
+++ b/src/mame/drivers/pacland.c
@@ -411,7 +411,7 @@ static const namco_interface namco_config =
-static MACHINE_CONFIG_START( pacland, driver_data_t )
+static MACHINE_CONFIG_START( pacland, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6809, 49152000/32) /* 1.536 MHz */
diff --git a/src/mame/drivers/pacman.c b/src/mame/drivers/pacman.c
index fa45da890d4..45f29d4f4bb 100644
--- a/src/mame/drivers/pacman.c
+++ b/src/mame/drivers/pacman.c
@@ -3170,7 +3170,7 @@ static const namco_interface namco_config =
*
*************************************/
-static MACHINE_CONFIG_START( pacman, driver_data_t )
+static MACHINE_CONFIG_START( pacman, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/6)
diff --git a/src/mame/drivers/pangofun.c b/src/mame/drivers/pangofun.c
index 99fd66f7383..524ea9ebcca 100644
--- a/src/mame/drivers/pangofun.c
+++ b/src/mame/drivers/pangofun.c
@@ -110,7 +110,7 @@ static INPUT_PORTS_START( pangofun )
INPUT_PORTS_END
-static MACHINE_CONFIG_START( pangofun, driver_data_t )
+static MACHINE_CONFIG_START( pangofun, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", I486, 14318180*2) /* I486 ?? Mhz */
MDRV_CPU_PROGRAM_MAP(pangofun_map)
diff --git a/src/mame/drivers/panicr.c b/src/mame/drivers/panicr.c
index e4c9e486f22..02d75c14346 100644
--- a/src/mame/drivers/panicr.c
+++ b/src/mame/drivers/panicr.c
@@ -361,7 +361,7 @@ static GFXDECODE_START( panicr )
GFXDECODE_ENTRY( "gfx3", 0, spritelayout, 0x200, 16 )
GFXDECODE_END
-static MACHINE_CONFIG_START( panicr, driver_data_t )
+static MACHINE_CONFIG_START( panicr, driver_device )
MDRV_CPU_ADD("maincpu", V20,MASTER_CLOCK/2) /* Sony 8623h9 CXQ70116D-8 (V20 compatible) */
MDRV_CPU_PROGRAM_MAP(panicr_map)
MDRV_CPU_VBLANK_INT_HACK(panicr_interrupt,2)
diff --git a/src/mame/drivers/paranoia.c b/src/mame/drivers/paranoia.c
index f7a806aa163..347646f5724 100644
--- a/src/mame/drivers/paranoia.c
+++ b/src/mame/drivers/paranoia.c
@@ -135,7 +135,7 @@ static const c6280_interface c6280_config =
"maincpu"
};
-static MACHINE_CONFIG_START( paranoia, driver_data_t )
+static MACHINE_CONFIG_START( paranoia, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", H6280, PCE_MAIN_CLOCK/3)
MDRV_CPU_PROGRAM_MAP(pce_mem)
diff --git a/src/mame/drivers/pasha2.c b/src/mame/drivers/pasha2.c
index 73abbeb035c..eeae1e64860 100644
--- a/src/mame/drivers/pasha2.c
+++ b/src/mame/drivers/pasha2.c
@@ -76,13 +76,11 @@ Notes:
#include "machine/eeprom.h"
#include "sound/okim6295.h"
-class pasha2_state : public driver_data_t
+class pasha2_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, pasha2_state(machine)); }
-
- pasha2_state(running_machine &machine)
- : driver_data_t(machine) { }
+ pasha2_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * bitmap0;
diff --git a/src/mame/drivers/pastelg.c b/src/mame/drivers/pastelg.c
index c77adb62e78..20356dedd89 100644
--- a/src/mame/drivers/pastelg.c
+++ b/src/mame/drivers/pastelg.c
@@ -401,7 +401,7 @@ static const ay8910_interface ay8910_config =
};
-static MACHINE_CONFIG_START( pastelg, driver_data_t )
+static MACHINE_CONFIG_START( pastelg, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 19968000/8) /* 2.496 MHz ? */
@@ -461,7 +461,7 @@ Note
*/
-static MACHINE_CONFIG_START( threeds, driver_data_t )
+static MACHINE_CONFIG_START( threeds, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 19968000/8) /* 2.496 MHz ? */
diff --git a/src/mame/drivers/pcat_dyn.c b/src/mame/drivers/pcat_dyn.c
index b5f39512cd2..edf61d9cfb3 100644
--- a/src/mame/drivers/pcat_dyn.c
+++ b/src/mame/drivers/pcat_dyn.c
@@ -510,7 +510,7 @@ static GFXDECODE_START( pcat_dyn )
// there's a 8x16 charset just after the 8x8 one
GFXDECODE_END
-static MACHINE_CONFIG_START( pcat_dyn, driver_data_t )
+static MACHINE_CONFIG_START( pcat_dyn, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", I486, 40000000) /* Am486 DX-40 */
MDRV_CPU_PROGRAM_MAP(pcat_map)
diff --git a/src/mame/drivers/pcat_nit.c b/src/mame/drivers/pcat_nit.c
index 551b8ef12d8..461bd786ed9 100644
--- a/src/mame/drivers/pcat_nit.c
+++ b/src/mame/drivers/pcat_nit.c
@@ -224,7 +224,7 @@ static MACHINE_START( streetg2 )
microtouch_init(machine, pcat_nit_microtouch_tx_callback, NULL);
}
-static MACHINE_CONFIG_START( pcat_nit, driver_data_t )
+static MACHINE_CONFIG_START( pcat_nit, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", I386, 14318180*2) /* I386 ?? Mhz */
MDRV_CPU_PROGRAM_MAP(pcat_map)
diff --git a/src/mame/drivers/pcktgal.c b/src/mame/drivers/pcktgal.c
index dc748a4c18d..8f2f21691a4 100644
--- a/src/mame/drivers/pcktgal.c
+++ b/src/mame/drivers/pcktgal.c
@@ -221,7 +221,7 @@ static const msm5205_interface msm5205_config =
/***************************************************************************/
-static MACHINE_CONFIG_START( pcktgal, driver_data_t )
+static MACHINE_CONFIG_START( pcktgal, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, 2000000)
diff --git a/src/mame/drivers/pcxt.c b/src/mame/drivers/pcxt.c
index 51a3273cdc0..deee903e868 100644
--- a/src/mame/drivers/pcxt.c
+++ b/src/mame/drivers/pcxt.c
@@ -917,7 +917,7 @@ static MACHINE_RESET( filetto )
filetto_devices.dma8237_2 = machine->device( "dma8237_2" );
}
-static MACHINE_CONFIG_START( filetto, driver_data_t )
+static MACHINE_CONFIG_START( filetto, driver_device )
MDRV_CPU_ADD("maincpu", I8088, 8000000) //or regular PC-XT 14318180/3 clock?
MDRV_CPU_PROGRAM_MAP(filetto_map)
MDRV_CPU_IO_MAP(filetto_io)
@@ -962,7 +962,7 @@ static MACHINE_CONFIG_START( filetto, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.33)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( tetriskr, driver_data_t )
+static MACHINE_CONFIG_START( tetriskr, driver_device )
MDRV_CPU_ADD("maincpu", I8088, 14318180/3)
MDRV_CPU_PROGRAM_MAP(filetto_map)
MDRV_CPU_IO_MAP(tetriskr_io)
diff --git a/src/mame/drivers/pengadvb.c b/src/mame/drivers/pengadvb.c
index 7ddc8b015a4..c2586fe27fb 100644
--- a/src/mame/drivers/pengadvb.c
+++ b/src/mame/drivers/pengadvb.c
@@ -259,7 +259,7 @@ static INTERRUPT_GEN( pengadvb_interrupt )
}
-static MACHINE_CONFIG_START( pengadvb, driver_data_t )
+static MACHINE_CONFIG_START( pengadvb, driver_device )
MDRV_CPU_ADD("maincpu", Z80, XTAL_10_738635MHz/3) /* 3.579545 Mhz */
MDRV_CPU_PROGRAM_MAP(program_mem)
diff --git a/src/mame/drivers/pengo.c b/src/mame/drivers/pengo.c
index fc77b39398a..aa638574cbf 100644
--- a/src/mame/drivers/pengo.c
+++ b/src/mame/drivers/pengo.c
@@ -344,7 +344,7 @@ static const namco_interface namco_config =
*
*************************************/
-static MACHINE_CONFIG_START( pengo, driver_data_t )
+static MACHINE_CONFIG_START( pengo, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/6)
diff --git a/src/mame/drivers/peplus.c b/src/mame/drivers/peplus.c
index e60e23c8c32..32d3a394045 100644
--- a/src/mame/drivers/peplus.c
+++ b/src/mame/drivers/peplus.c
@@ -1021,7 +1021,7 @@ static MACHINE_RESET( peplus )
* Machine Driver *
*************************/
-static MACHINE_CONFIG_START( peplus, driver_data_t )
+static MACHINE_CONFIG_START( peplus, driver_device )
// basic machine hardware
MDRV_CPU_ADD("maincpu", I80C32, CPU_CLOCK)
MDRV_CPU_PROGRAM_MAP(peplus_map)
diff --git a/src/mame/drivers/phoenix.c b/src/mame/drivers/phoenix.c
index 86bb57762f6..b2d84124ec2 100644
--- a/src/mame/drivers/phoenix.c
+++ b/src/mame/drivers/phoenix.c
@@ -449,7 +449,7 @@ static MACHINE_RESET( phoenix )
}
-static MACHINE_CONFIG_START( phoenix, driver_data_t )
+static MACHINE_CONFIG_START( phoenix, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", I8085A, CPU_CLOCK) /* 2.75 MHz */
@@ -520,7 +520,7 @@ static I8085_CONFIG( survival_i8085_config )
DEVCB_NULL /* SOD changed callback (8085A only) */
};
-static MACHINE_CONFIG_START( survival, driver_data_t )
+static MACHINE_CONFIG_START( survival, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", I8085A, CPU_CLOCK) /* 5.50 MHz */
diff --git a/src/mame/drivers/photon.c b/src/mame/drivers/photon.c
index 2dfb65967b7..e25bda354d9 100644
--- a/src/mame/drivers/photon.c
+++ b/src/mame/drivers/photon.c
@@ -192,7 +192,7 @@ static VIDEO_UPDATE( photon )
return pk8000_video_update(screen, bitmap, cliprect, memory_region(screen->machine, "maincpu"));
}
-static MACHINE_CONFIG_START( photon, driver_data_t )
+static MACHINE_CONFIG_START( photon, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu",I8080, 1780000)
diff --git a/src/mame/drivers/photon2.c b/src/mame/drivers/photon2.c
index 400864ba66e..c65a12f8e39 100644
--- a/src/mame/drivers/photon2.c
+++ b/src/mame/drivers/photon2.c
@@ -296,7 +296,7 @@ static MACHINE_RESET( photon2 )
memory_set_bankptr(machine, "bank1", memory_region(machine, "maincpu"));
}
-static MACHINE_CONFIG_START( photon2, driver_data_t )
+static MACHINE_CONFIG_START( photon2, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 3500000) /* 3.5 MHz */
MDRV_CPU_PROGRAM_MAP(spectrum_mem)
diff --git a/src/mame/drivers/photoply.c b/src/mame/drivers/photoply.c
index d9a4f274f7b..47f376031e2 100644
--- a/src/mame/drivers/photoply.c
+++ b/src/mame/drivers/photoply.c
@@ -495,7 +495,7 @@ static GFXDECODE_START( photoply )
GFXDECODE_END
-static MACHINE_CONFIG_START( photoply, driver_data_t )
+static MACHINE_CONFIG_START( photoply, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", I486, 75000000) /* I486DX4, 75 or 100 Mhz */
MDRV_CPU_PROGRAM_MAP(photoply_map)
diff --git a/src/mame/drivers/pingpong.c b/src/mame/drivers/pingpong.c
index 31d142a73e4..5a14de574f7 100644
--- a/src/mame/drivers/pingpong.c
+++ b/src/mame/drivers/pingpong.c
@@ -457,7 +457,7 @@ GFXDECODE_END
-static MACHINE_CONFIG_START( pingpong, driver_data_t )
+static MACHINE_CONFIG_START( pingpong, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu",Z80,18432000/6) /* 3.072 MHz (probably) */
diff --git a/src/mame/drivers/pinkiri8.c b/src/mame/drivers/pinkiri8.c
index bda0f74af7f..4bfd9d59cbd 100644
--- a/src/mame/drivers/pinkiri8.c
+++ b/src/mame/drivers/pinkiri8.c
@@ -1107,7 +1107,7 @@ static GFXDECODE_START( pinkiri8 )
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 0x100 )
GFXDECODE_END
-static MACHINE_CONFIG_START( pinkiri8, driver_data_t )
+static MACHINE_CONFIG_START( pinkiri8, driver_device )
MDRV_CPU_ADD("maincpu",Z180,16000000)
MDRV_CPU_PROGRAM_MAP(pinkiri8_map)
MDRV_CPU_IO_MAP(pinkiri8_io)
diff --git a/src/mame/drivers/pipeline.c b/src/mame/drivers/pipeline.c
index 300cd5042b8..7fafd785dfc 100644
--- a/src/mame/drivers/pipeline.c
+++ b/src/mame/drivers/pipeline.c
@@ -358,7 +358,7 @@ static PALETTE_INIT(pipeline)
}
}
-static MACHINE_CONFIG_START( pipeline, driver_data_t )
+static MACHINE_CONFIG_START( pipeline, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 7372800/2)
diff --git a/src/mame/drivers/pirates.c b/src/mame/drivers/pirates.c
index f6a53a00bc0..5c97f009c51 100644
--- a/src/mame/drivers/pirates.c
+++ b/src/mame/drivers/pirates.c
@@ -270,7 +270,7 @@ GFXDECODE_END
/* Machine Driver + Related bits */
-static MACHINE_CONFIG_START( pirates, driver_data_t )
+static MACHINE_CONFIG_START( pirates, driver_device )
MDRV_CPU_ADD("maincpu", M68000, 16000000) /* 16mhz */
MDRV_CPU_PROGRAM_MAP(pirates_map)
MDRV_CPU_VBLANK_INT("screen", irq1_line_hold)
diff --git a/src/mame/drivers/pitnrun.c b/src/mame/drivers/pitnrun.c
index b9b5fa34b93..1b630e152fe 100644
--- a/src/mame/drivers/pitnrun.c
+++ b/src/mame/drivers/pitnrun.c
@@ -228,7 +228,7 @@ static GFXDECODE_START( pitnrun )
GFXDECODE_ENTRY( "gfx1", 0, spritelayout, 0, 4 )
GFXDECODE_END
-static MACHINE_CONFIG_START( pitnrun, driver_data_t )
+static MACHINE_CONFIG_START( pitnrun, driver_device )
MDRV_CPU_ADD("maincpu", Z80,XTAL_18_432MHz/6) /* verified on pcb */
MDRV_CPU_PROGRAM_MAP(pitnrun_map)
MDRV_CPU_VBLANK_INT("screen", pitnrun_nmi_source)
diff --git a/src/mame/drivers/pkscram.c b/src/mame/drivers/pkscram.c
index e35b6585a17..d0ff94b53d0 100644
--- a/src/mame/drivers/pkscram.c
+++ b/src/mame/drivers/pkscram.c
@@ -272,7 +272,7 @@ static MACHINE_RESET( pkscramble)
scanline_timer->adjust(machine->primary_screen->time_until_pos(interrupt_scanline), interrupt_scanline);
}
-static MACHINE_CONFIG_START( pkscramble, driver_data_t )
+static MACHINE_CONFIG_START( pkscramble, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 8000000 )
MDRV_CPU_PROGRAM_MAP(pkscramble_map)
diff --git a/src/mame/drivers/playch10.c b/src/mame/drivers/playch10.c
index e07c1676c03..08d17385c3b 100644
--- a/src/mame/drivers/playch10.c
+++ b/src/mame/drivers/playch10.c
@@ -684,7 +684,7 @@ static const nes_interface nes_config =
};
-static MACHINE_CONFIG_START( playch10, driver_data_t )
+static MACHINE_CONFIG_START( playch10, driver_device )
// basic machine hardware
MDRV_CPU_ADD("maincpu", Z80, 8000000/2) // 4 MHz
MDRV_CPU_PROGRAM_MAP(bios_map)
diff --git a/src/mame/drivers/pntnpuzl.c b/src/mame/drivers/pntnpuzl.c
index ca89ac552d6..c4c8071369c 100644
--- a/src/mame/drivers/pntnpuzl.c
+++ b/src/mame/drivers/pntnpuzl.c
@@ -436,7 +436,7 @@ INPUT_PORTS_END
-static MACHINE_CONFIG_START( pntnpuzl, driver_data_t )
+static MACHINE_CONFIG_START( pntnpuzl, driver_device )
MDRV_CPU_ADD("maincpu", M68000, 12000000)//??
MDRV_CPU_PROGRAM_MAP(pntnpuzl_map)
MDRV_CPU_VBLANK_INT("screen", pntnpuzl_irq) // irq1 = coin irq2 = service irq4 = coin
diff --git a/src/mame/drivers/pokechmp.c b/src/mame/drivers/pokechmp.c
index 97e513ac22b..6510dc94436 100644
--- a/src/mame/drivers/pokechmp.c
+++ b/src/mame/drivers/pokechmp.c
@@ -228,7 +228,7 @@ static GFXDECODE_START( pokechmp )
GFXDECODE_END
-static MACHINE_CONFIG_START( pokechmp, driver_data_t )
+static MACHINE_CONFIG_START( pokechmp, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, 4000000)
diff --git a/src/mame/drivers/poker72.c b/src/mame/drivers/poker72.c
index 5e36e804759..5b790046bc9 100644
--- a/src/mame/drivers/poker72.c
+++ b/src/mame/drivers/poker72.c
@@ -329,7 +329,7 @@ static MACHINE_RESET( poker72 )
memory_set_bankptr(machine, "bank1", &ROM[0]);
}
-static MACHINE_CONFIG_START( poker72, driver_data_t )
+static MACHINE_CONFIG_START( poker72, driver_device )
/* basic machine hardware */
diff --git a/src/mame/drivers/polepos.c b/src/mame/drivers/polepos.c
index fdbed8d036e..2c8720872e1 100644
--- a/src/mame/drivers/polepos.c
+++ b/src/mame/drivers/polepos.c
@@ -863,7 +863,7 @@ static const namco_interface namco_config =
* Machine driver
*********************************************************************/
-static MACHINE_CONFIG_START( polepos, driver_data_t )
+static MACHINE_CONFIG_START( polepos, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/8) /* 3.072 MHz */
@@ -949,7 +949,7 @@ static const namco_51xx_interface namco_51xx_bl_intf =
};
-static MACHINE_CONFIG_START( topracern, driver_data_t )
+static MACHINE_CONFIG_START( topracern, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/8) /* 3.072 MHz */
diff --git a/src/mame/drivers/policetr.c b/src/mame/drivers/policetr.c
index 0c5d9e178e9..936450b6911 100644
--- a/src/mame/drivers/policetr.c
+++ b/src/mame/drivers/policetr.c
@@ -425,7 +425,7 @@ static const r3000_cpu_core r3000_config =
};
-static MACHINE_CONFIG_START( policetr, driver_data_t )
+static MACHINE_CONFIG_START( policetr, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", R3000BE, MASTER_CLOCK/2)
diff --git a/src/mame/drivers/polyplay.c b/src/mame/drivers/polyplay.c
index d151ea40135..425140d49d8 100644
--- a/src/mame/drivers/polyplay.c
+++ b/src/mame/drivers/polyplay.c
@@ -276,7 +276,7 @@ GFXDECODE_END
/* the machine driver */
-static MACHINE_CONFIG_START( polyplay, driver_data_t )
+static MACHINE_CONFIG_START( polyplay, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 9830400/4)
diff --git a/src/mame/drivers/poo.c b/src/mame/drivers/poo.c
index 42cbefb24d5..dcf684fdd3e 100644
--- a/src/mame/drivers/poo.c
+++ b/src/mame/drivers/poo.c
@@ -310,7 +310,7 @@ static const ay8910_interface ay8910_config =
DEVCB_NULL
};
-static MACHINE_CONFIG_START( unclepoo, driver_data_t )
+static MACHINE_CONFIG_START( unclepoo, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80,18000000/6) /* ? MHz */
MDRV_CPU_PROGRAM_MAP(unclepoo_main_map)
diff --git a/src/mame/drivers/poolshrk.c b/src/mame/drivers/poolshrk.c
index 976d1563917..81687be1502 100644
--- a/src/mame/drivers/poolshrk.c
+++ b/src/mame/drivers/poolshrk.c
@@ -212,7 +212,7 @@ static PALETTE_INIT( poolshrk )
}
-static MACHINE_CONFIG_START( poolshrk, driver_data_t )
+static MACHINE_CONFIG_START( poolshrk, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6800, 11055000 / 8) /* ? */
diff --git a/src/mame/drivers/popeye.c b/src/mame/drivers/popeye.c
index fd0e2ea167f..99ab44829f8 100644
--- a/src/mame/drivers/popeye.c
+++ b/src/mame/drivers/popeye.c
@@ -443,7 +443,7 @@ static const ay8910_interface ay8910_config =
-static MACHINE_CONFIG_START( skyskipr, driver_data_t )
+static MACHINE_CONFIG_START( skyskipr, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, XTAL_8MHz/2) /* 4 MHz */
MDRV_CPU_PROGRAM_MAP(skyskipr_map)
diff --git a/src/mame/drivers/portrait.c b/src/mame/drivers/portrait.c
index c97ac4ca89a..c3f02f8c845 100644
--- a/src/mame/drivers/portrait.c
+++ b/src/mame/drivers/portrait.c
@@ -250,7 +250,7 @@ static GFXDECODE_START( portrait )
GFXDECODE_ENTRY( "gfx1", 0x00000, tile_layout, 0, 0x800/8 )
GFXDECODE_END
-static MACHINE_CONFIG_START( portrait, driver_data_t )
+static MACHINE_CONFIG_START( portrait, driver_device )
MDRV_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz ? */
MDRV_CPU_PROGRAM_MAP(portrait_map)
MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
diff --git a/src/mame/drivers/powerins.c b/src/mame/drivers/powerins.c
index 7dfda59e359..f136adbf54c 100644
--- a/src/mame/drivers/powerins.c
+++ b/src/mame/drivers/powerins.c
@@ -357,7 +357,7 @@ static const nmk112_interface powerins_nmk112_intf =
};
-static MACHINE_CONFIG_START( powerins, driver_data_t )
+static MACHINE_CONFIG_START( powerins, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 12000000) /* 12MHz */
diff --git a/src/mame/drivers/ppmast93.c b/src/mame/drivers/ppmast93.c
index 51fcdbb1ae8..8aa725fbf46 100644
--- a/src/mame/drivers/ppmast93.c
+++ b/src/mame/drivers/ppmast93.c
@@ -339,7 +339,7 @@ static VIDEO_UPDATE( ppmast93 )
return 0;
}
-static MACHINE_CONFIG_START( ppmast93, driver_data_t )
+static MACHINE_CONFIG_START( ppmast93, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80,5000000) /* 5 MHz */
MDRV_CPU_PROGRAM_MAP(ppmast93_cpu1_map)
diff --git a/src/mame/drivers/progolf.c b/src/mame/drivers/progolf.c
index d32c8fddb4e..2dbd5385e88 100644
--- a/src/mame/drivers/progolf.c
+++ b/src/mame/drivers/progolf.c
@@ -425,7 +425,7 @@ static PALETTE_INIT( progolf )
}
}
-static MACHINE_CONFIG_START( progolf, driver_data_t )
+static MACHINE_CONFIG_START( progolf, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, 3000000/2) /* guess, 3 Mhz makes the game to behave worse? */
MDRV_CPU_PROGRAM_MAP(main_cpu)
diff --git a/src/mame/drivers/psattack.c b/src/mame/drivers/psattack.c
index a19605415cf..b26c1f88445 100644
--- a/src/mame/drivers/psattack.c
+++ b/src/mame/drivers/psattack.c
@@ -157,7 +157,7 @@ static const vr0_interface vr0_config =
};
-static MACHINE_CONFIG_START( psattack, driver_data_t )
+static MACHINE_CONFIG_START( psattack, driver_device )
MDRV_CPU_ADD("maincpu", SE3208, 43000000)
MDRV_CPU_PROGRAM_MAP(psattack_mem)
MDRV_CPU_VBLANK_INT("screen", psattack_interrupt)
diff --git a/src/mame/drivers/psychic5.c b/src/mame/drivers/psychic5.c
index 7567f04fc1c..ad0eab2092d 100644
--- a/src/mame/drivers/psychic5.c
+++ b/src/mame/drivers/psychic5.c
@@ -677,7 +677,7 @@ static const ym2203_interface ym2203_config =
irqhandler
};
-static MACHINE_CONFIG_START( psychic5, driver_data_t )
+static MACHINE_CONFIG_START( psychic5, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, XTAL_12MHz/2)
@@ -724,7 +724,7 @@ static MACHINE_CONFIG_START( psychic5, driver_data_t )
MDRV_SOUND_ROUTE(3, "mono", 0.50)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( bombsa, driver_data_t )
+static MACHINE_CONFIG_START( bombsa, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, XTAL_12MHz/2 ) /* 6 MHz */
diff --git a/src/mame/drivers/pturn.c b/src/mame/drivers/pturn.c
index 3b67e86b23d..e67a19c18b1 100644
--- a/src/mame/drivers/pturn.c
+++ b/src/mame/drivers/pturn.c
@@ -444,7 +444,7 @@ static MACHINE_RESET( pturn )
soundlatch_clear_w(space,0,0);
}
-static MACHINE_CONFIG_START( pturn, driver_data_t )
+static MACHINE_CONFIG_START( pturn, driver_device )
MDRV_CPU_ADD("maincpu", Z80, 12000000/3)
MDRV_CPU_PROGRAM_MAP(main_map)
MDRV_CPU_VBLANK_INT("screen", pturn_main_intgen)
diff --git a/src/mame/drivers/punchout.c b/src/mame/drivers/punchout.c
index 5b2e67e2425..9c0da8b8485 100644
--- a/src/mame/drivers/punchout.c
+++ b/src/mame/drivers/punchout.c
@@ -946,7 +946,7 @@ static MACHINE_RESET( punchout )
}
-static MACHINE_CONFIG_START( punchout, driver_data_t )
+static MACHINE_CONFIG_START( punchout, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 8000000/2) /* 4 MHz */
diff --git a/src/mame/drivers/pzletime.c b/src/mame/drivers/pzletime.c
index ca850a50b4b..8436a7cb2cc 100644
--- a/src/mame/drivers/pzletime.c
+++ b/src/mame/drivers/pzletime.c
@@ -19,13 +19,11 @@
#include "sound/okim6295.h"
#include "machine/eeprom.h"
-class pzletime_state : public driver_data_t
+class pzletime_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, pzletime_state(machine)); }
-
- pzletime_state(running_machine &machine)
- : driver_data_t(machine) { }
+ pzletime_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * bg_videoram;
diff --git a/src/mame/drivers/qdrmfgp.c b/src/mame/drivers/qdrmfgp.c
index 0368ae5119a..96a19211142 100644
--- a/src/mame/drivers/qdrmfgp.c
+++ b/src/mame/drivers/qdrmfgp.c
@@ -641,7 +641,7 @@ static MACHINE_RESET( qdrmfgp )
*
*************************************/
-static MACHINE_CONFIG_START( qdrmfgp, driver_data_t )
+static MACHINE_CONFIG_START( qdrmfgp, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 32000000/2) /* 16.000 MHz */
@@ -679,7 +679,7 @@ static MACHINE_CONFIG_START( qdrmfgp, driver_data_t )
MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( qdrmfgp2, driver_data_t )
+static MACHINE_CONFIG_START( qdrmfgp2, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 32000000/2) /* 16.000 MHz */
diff --git a/src/mame/drivers/quakeat.c b/src/mame/drivers/quakeat.c
index 2d331342b79..6388e4c1b5f 100644
--- a/src/mame/drivers/quakeat.c
+++ b/src/mame/drivers/quakeat.c
@@ -147,7 +147,7 @@ static MACHINE_START(quakeat)
}
/*************************************************************/
-static MACHINE_CONFIG_START( quake, driver_data_t )
+static MACHINE_CONFIG_START( quake, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", PENTIUM, 233000000) /* Pentium II, 233MHz */
MDRV_CPU_PROGRAM_MAP(quake_map)
diff --git a/src/mame/drivers/quantum.c b/src/mame/drivers/quantum.c
index 6d1574da3b0..e326f86fbb0 100644
--- a/src/mame/drivers/quantum.c
+++ b/src/mame/drivers/quantum.c
@@ -225,7 +225,7 @@ static const pokey_interface pokey_interface_2 =
*
*************************************/
-static MACHINE_CONFIG_START( quantum, driver_data_t )
+static MACHINE_CONFIG_START( quantum, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, MASTER_CLOCK / 2)
diff --git a/src/mame/drivers/queen.c b/src/mame/drivers/queen.c
index c1717116286..9d5ac3b8921 100644
--- a/src/mame/drivers/queen.c
+++ b/src/mame/drivers/queen.c
@@ -71,7 +71,7 @@ static INPUT_PORTS_START( queen )
INPUT_PORTS_END
-static MACHINE_CONFIG_START( queen, driver_data_t )
+static MACHINE_CONFIG_START( queen, driver_device )
MDRV_CPU_ADD("maincpu", PENTIUM, 533000000) // Celeron or Pentium 3, 533 Mhz
MDRV_CPU_PROGRAM_MAP(queen_map)
MDRV_CPU_IO_MAP(queen_io)
diff --git a/src/mame/drivers/quizdna.c b/src/mame/drivers/quizdna.c
index 01ea14e4707..4370680ccba 100644
--- a/src/mame/drivers/quizdna.c
+++ b/src/mame/drivers/quizdna.c
@@ -452,7 +452,7 @@ static const ym2203_interface ym2203_config =
};
-static MACHINE_CONFIG_START( quizdna, driver_data_t )
+static MACHINE_CONFIG_START( quizdna, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, MCLK/2) /* 8.000 MHz */
diff --git a/src/mame/drivers/quizo.c b/src/mame/drivers/quizo.c
index ad7c23b4dae..8ecba83d494 100644
--- a/src/mame/drivers/quizo.c
+++ b/src/mame/drivers/quizo.c
@@ -183,7 +183,7 @@ static INPUT_PORTS_START( quizo )
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
INPUT_PORTS_END
-static MACHINE_CONFIG_START( quizo, driver_data_t )
+static MACHINE_CONFIG_START( quizo, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80,XTAL1/2)
MDRV_CPU_PROGRAM_MAP(memmap)
diff --git a/src/mame/drivers/quizpani.c b/src/mame/drivers/quizpani.c
index e155a288833..081b80cdf21 100644
--- a/src/mame/drivers/quizpani.c
+++ b/src/mame/drivers/quizpani.c
@@ -240,7 +240,7 @@ static const nmk112_interface quizpani_nmk112_intf =
};
-static MACHINE_CONFIG_START( quizpani, driver_data_t )
+static MACHINE_CONFIG_START( quizpani, driver_device )
MDRV_CPU_ADD("maincpu", M68000, 10000000)
MDRV_CPU_PROGRAM_MAP(quizpani_map)
MDRV_CPU_VBLANK_INT("screen", irq4_line_hold)
diff --git a/src/mame/drivers/quizpun2.c b/src/mame/drivers/quizpun2.c
index 6ad3115adf8..6b8034af461 100644
--- a/src/mame/drivers/quizpun2.c
+++ b/src/mame/drivers/quizpun2.c
@@ -415,7 +415,7 @@ GFXDECODE_END
Machine Drivers
***************************************************************************/
-static MACHINE_CONFIG_START( quizpun2, driver_data_t )
+static MACHINE_CONFIG_START( quizpun2, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, XTAL_8MHz / 2) // 4 MHz?
MDRV_CPU_PROGRAM_MAP(quizpun2_map)
diff --git a/src/mame/drivers/r2dtank.c b/src/mame/drivers/r2dtank.c
index 5b898c6634b..e17067c7e84 100644
--- a/src/mame/drivers/r2dtank.c
+++ b/src/mame/drivers/r2dtank.c
@@ -515,7 +515,7 @@ INPUT_PORTS_END
*
*************************************/
-static MACHINE_CONFIG_START( r2dtank, driver_data_t )
+static MACHINE_CONFIG_START( r2dtank, driver_device )
MDRV_CPU_ADD("maincpu", M6809,3000000) /* ?? too fast ? */
MDRV_CPU_PROGRAM_MAP(r2dtank_main_map)
diff --git a/src/mame/drivers/rabbit.c b/src/mame/drivers/rabbit.c
index c3bcb70d5ad..b537a5c8911 100644
--- a/src/mame/drivers/rabbit.c
+++ b/src/mame/drivers/rabbit.c
@@ -935,7 +935,7 @@ static INTERRUPT_GEN( rabbit_interrupts )
cpu_set_input_line(device, intlevel, HOLD_LINE);
}
-static MACHINE_CONFIG_START( rabbit, driver_data_t )
+static MACHINE_CONFIG_START( rabbit, driver_device )
MDRV_CPU_ADD("maincpu",M68EC020,24000000) /* 24 MHz */
MDRV_CPU_PROGRAM_MAP(rabbit_map)
MDRV_CPU_VBLANK_INT_HACK(rabbit_interrupts,262)
diff --git a/src/mame/drivers/raiden.c b/src/mame/drivers/raiden.c
index 2d2318e5680..077305ef2c6 100644
--- a/src/mame/drivers/raiden.c
+++ b/src/mame/drivers/raiden.c
@@ -258,7 +258,7 @@ static VIDEO_EOF( raiden )
buffer_spriteram16_w(space,0,0,0xffff); /* Could be a memory location instead */
}
-static MACHINE_CONFIG_START( raiden, driver_data_t )
+static MACHINE_CONFIG_START( raiden, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", V30,XTAL_20MHz/2) /* NEC V30 CPU, 20MHz verified on pcb */
diff --git a/src/mame/drivers/raiden2.c b/src/mame/drivers/raiden2.c
index c53ac6835b4..18907c964e3 100644
--- a/src/mame/drivers/raiden2.c
+++ b/src/mame/drivers/raiden2.c
@@ -1184,7 +1184,7 @@ GFXDECODE_END
/* MACHINE DRIVERS */
-static MACHINE_CONFIG_START( raiden2, driver_data_t )
+static MACHINE_CONFIG_START( raiden2, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", V30,XTAL_32MHz/2) /* verified on pcb */
@@ -2273,7 +2273,7 @@ static MACHINE_RESET( rdx_v33 )
common_reset();
}
-static MACHINE_CONFIG_START( rdx_v33, driver_data_t )
+static MACHINE_CONFIG_START( rdx_v33, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", V33, 32000000/2 ) // ?
diff --git a/src/mame/drivers/rbmk.c b/src/mame/drivers/rbmk.c
index 4d729d8878d..10af89bc31f 100644
--- a/src/mame/drivers/rbmk.c
+++ b/src/mame/drivers/rbmk.c
@@ -512,7 +512,7 @@ static INTERRUPT_GEN( mcu_irq )
cputag_set_input_line(device->machine, "mcu", INPUT_LINE_NMI, PULSE_LINE);
}
-static MACHINE_CONFIG_START( rbmk, driver_data_t )
+static MACHINE_CONFIG_START( rbmk, driver_device )
MDRV_CPU_ADD("maincpu", M68000, 22000000 /2)
MDRV_CPU_PROGRAM_MAP(rbmk_mem)
MDRV_CPU_VBLANK_INT("screen", irq1_line_hold)
diff --git a/src/mame/drivers/rcorsair.c b/src/mame/drivers/rcorsair.c
index c28796ccb47..6a8445d52a5 100644
--- a/src/mame/drivers/rcorsair.c
+++ b/src/mame/drivers/rcorsair.c
@@ -106,7 +106,7 @@ static VIDEO_UPDATE( rcorsair )
return 0;
}
-static MACHINE_CONFIG_START( rcorsair, driver_data_t )
+static MACHINE_CONFIG_START( rcorsair, driver_device )
/* Main CPU is probably inside Custom Block with
program code, unknown type */
diff --git a/src/mame/drivers/re900.c b/src/mame/drivers/re900.c
index d89db4b0f39..201de50f468 100644
--- a/src/mame/drivers/re900.c
+++ b/src/mame/drivers/re900.c
@@ -387,7 +387,7 @@ static const ay8910_interface ay8910_bs94 =
* Machine Driver *
***************************/
-static MACHINE_CONFIG_START( re900, driver_data_t )
+static MACHINE_CONFIG_START( re900, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", I8051, MAIN_CLOCK)
diff --git a/src/mame/drivers/realbrk.c b/src/mame/drivers/realbrk.c
index dacb5e0ad03..b08a2e55655 100644
--- a/src/mame/drivers/realbrk.c
+++ b/src/mame/drivers/realbrk.c
@@ -673,7 +673,7 @@ static INTERRUPT_GEN( realbrk_interrupt )
}
}
-static MACHINE_CONFIG_START( realbrk, driver_data_t )
+static MACHINE_CONFIG_START( realbrk, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu",M68000, XTAL_32MHz / 2) /* !! TMP68301 !! */
diff --git a/src/mame/drivers/redalert.c b/src/mame/drivers/redalert.c
index 68647ee053c..973aedfcc16 100644
--- a/src/mame/drivers/redalert.c
+++ b/src/mame/drivers/redalert.c
@@ -385,7 +385,7 @@ INPUT_PORTS_END
*
*************************************/
-static MACHINE_CONFIG_START( redalert, driver_data_t )
+static MACHINE_CONFIG_START( redalert, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, MAIN_CPU_CLOCK)
@@ -399,7 +399,7 @@ static MACHINE_CONFIG_START( redalert, driver_data_t )
MDRV_FRAGMENT_ADD(redalert_audio)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( ww3, driver_data_t )
+static MACHINE_CONFIG_START( ww3, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, MAIN_CPU_CLOCK)
@@ -413,7 +413,7 @@ static MACHINE_CONFIG_START( ww3, driver_data_t )
MDRV_FRAGMENT_ADD(ww3_audio)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( panther, driver_data_t )
+static MACHINE_CONFIG_START( panther, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, MAIN_CPU_CLOCK)
@@ -427,7 +427,7 @@ static MACHINE_CONFIG_START( panther, driver_data_t )
MDRV_FRAGMENT_ADD(ww3_audio)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( demoneye, driver_data_t )
+static MACHINE_CONFIG_START( demoneye, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, MAIN_CPU_CLOCK)
diff --git a/src/mame/drivers/renegade.c b/src/mame/drivers/renegade.c
index 4d273ac7e6d..871efceae1b 100644
--- a/src/mame/drivers/renegade.c
+++ b/src/mame/drivers/renegade.c
@@ -927,7 +927,7 @@ static MACHINE_RESET( renegade )
}
-static MACHINE_CONFIG_START( renegade, driver_data_t )
+static MACHINE_CONFIG_START( renegade, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, 12000000/8) /* 1.5 MHz (measured) */
diff --git a/src/mame/drivers/retofinv.c b/src/mame/drivers/retofinv.c
index 91b268dee83..4b4c4bb9973 100644
--- a/src/mame/drivers/retofinv.c
+++ b/src/mame/drivers/retofinv.c
@@ -336,7 +336,7 @@ GFXDECODE_END
-static MACHINE_CONFIG_START( retofinv, driver_data_t )
+static MACHINE_CONFIG_START( retofinv, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 18432000/6) /* 3.072 MHz? */
diff --git a/src/mame/drivers/rgum.c b/src/mame/drivers/rgum.c
index 6eeac3d3142..d2b9f45cf67 100644
--- a/src/mame/drivers/rgum.c
+++ b/src/mame/drivers/rgum.c
@@ -249,7 +249,7 @@ static const ay8910_interface ay8910_config =
DEVCB_NULL
};
-static MACHINE_CONFIG_START( rgum, driver_data_t )
+static MACHINE_CONFIG_START( rgum, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M65C02,24000000/16) /* ? MHz */
MDRV_CPU_PROGRAM_MAP(rgum_map)
diff --git a/src/mame/drivers/rmhaihai.c b/src/mame/drivers/rmhaihai.c
index f4fc5b39215..2685575fd3d 100644
--- a/src/mame/drivers/rmhaihai.c
+++ b/src/mame/drivers/rmhaihai.c
@@ -437,7 +437,7 @@ static const msm5205_interface msm5205_config =
-static MACHINE_CONFIG_START( rmhaihai, driver_data_t )
+static MACHINE_CONFIG_START( rmhaihai, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu",Z80,20000000/4) /* 5 MHz ??? */
diff --git a/src/mame/drivers/rollrace.c b/src/mame/drivers/rollrace.c
index 944de9b0204..01c40da275f 100644
--- a/src/mame/drivers/rollrace.c
+++ b/src/mame/drivers/rollrace.c
@@ -209,7 +209,7 @@ static GFXDECODE_START( rollrace )
GFXDECODE_ENTRY( "gfx5", 0x0000, spritelayout, 0, 32 )
GFXDECODE_END
-static MACHINE_CONFIG_START( rollrace, driver_data_t )
+static MACHINE_CONFIG_START( rollrace, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80,XTAL_24MHz/8) /* verified on pcb */
diff --git a/src/mame/drivers/rotaryf.c b/src/mame/drivers/rotaryf.c
index 68a795fc3b5..c37026e9865 100644
--- a/src/mame/drivers/rotaryf.c
+++ b/src/mame/drivers/rotaryf.c
@@ -148,7 +148,7 @@ static INPUT_PORTS_START( rotaryf )
INPUT_PORTS_END
-static MACHINE_CONFIG_START( rotaryf, driver_data_t )
+static MACHINE_CONFIG_START( rotaryf, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu",I8085A,4000000) /* 8080? */ /* 2 MHz? */
diff --git a/src/mame/drivers/roul.c b/src/mame/drivers/roul.c
index 5da92888146..95aded1a8dc 100644
--- a/src/mame/drivers/roul.c
+++ b/src/mame/drivers/roul.c
@@ -240,7 +240,7 @@ static INPUT_PORTS_START( roul )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
INPUT_PORTS_END
-static MACHINE_CONFIG_START( roul, driver_data_t )
+static MACHINE_CONFIG_START( roul, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 4000000)
MDRV_CPU_PROGRAM_MAP(roul_map)
diff --git a/src/mame/drivers/route16.c b/src/mame/drivers/route16.c
index 98d00caa0a9..0ee26824b77 100644
--- a/src/mame/drivers/route16.c
+++ b/src/mame/drivers/route16.c
@@ -607,7 +607,7 @@ static const sn76477_interface sn76477_intf =
};
-static MACHINE_CONFIG_START( route16, driver_data_t )
+static MACHINE_CONFIG_START( route16, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("cpu1", Z80, 2500000) /* 10MHz / 4 = 2.5MHz */
diff --git a/src/mame/drivers/royalmah.c b/src/mame/drivers/royalmah.c
index e47f5d03111..d6bba87bb25 100644
--- a/src/mame/drivers/royalmah.c
+++ b/src/mame/drivers/royalmah.c
@@ -3093,7 +3093,7 @@ static const ay8910_interface ay8910_config =
DEVCB_HANDLER(royalmah_player_2_port_r)
};
-static MACHINE_CONFIG_START( royalmah, driver_data_t )
+static MACHINE_CONFIG_START( royalmah, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 18432000/6) /* 3.072 MHz */
diff --git a/src/mame/drivers/rpunch.c b/src/mame/drivers/rpunch.c
index f2ea4492e1e..0b9c7f1842e 100644
--- a/src/mame/drivers/rpunch.c
+++ b/src/mame/drivers/rpunch.c
@@ -479,7 +479,7 @@ static const ym2151_interface ym2151_config =
*
*************************************/
-static MACHINE_CONFIG_START( rpunch, driver_data_t )
+static MACHINE_CONFIG_START( rpunch, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, MASTER_CLOCK/2)
diff --git a/src/mame/drivers/runaway.c b/src/mame/drivers/runaway.c
index b1d412f848b..c604cfd8dc1 100644
--- a/src/mame/drivers/runaway.c
+++ b/src/mame/drivers/runaway.c
@@ -356,7 +356,7 @@ static const pokey_interface pokey_interface_2 =
};
-static MACHINE_CONFIG_START( runaway, driver_data_t )
+static MACHINE_CONFIG_START( runaway, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, 12096000 / 8) /* ? */
diff --git a/src/mame/drivers/safarir.c b/src/mame/drivers/safarir.c
index dca35aa4ac1..7d59da2bb68 100644
--- a/src/mame/drivers/safarir.c
+++ b/src/mame/drivers/safarir.c
@@ -50,13 +50,11 @@ modified by Hau
#include "cpu/i8085/i8085.h"
#include "sound/samples.h"
-class safarir_state : public driver_data_t
+class safarir_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, safarir_state(machine)); }
-
- safarir_state(running_machine &machine)
- : driver_data_t(machine) { }
+ safarir_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT8 *ram_1, *ram_2;
size_t ram_size;
diff --git a/src/mame/drivers/sandscrp.c b/src/mame/drivers/sandscrp.c
index bd8f3ece68a..d1efce8b8c0 100644
--- a/src/mame/drivers/sandscrp.c
+++ b/src/mame/drivers/sandscrp.c
@@ -438,7 +438,7 @@ static const kaneko_pandora_interface sandscrp_pandora_config =
0, 0 /* x_offs, y_offs */
};
-static MACHINE_CONFIG_START( sandscrp, driver_data_t )
+static MACHINE_CONFIG_START( sandscrp, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000,12000000) /* TMP68HC000N-12 */
diff --git a/src/mame/drivers/sangho.c b/src/mame/drivers/sangho.c
index c2e799ea124..359ee309c64 100644
--- a/src/mame/drivers/sangho.c
+++ b/src/mame/drivers/sangho.c
@@ -352,7 +352,7 @@ static VIDEO_START( sangho )
v9938_init (machine, 0, *machine->primary_screen, machine->generic.tmpbitmap, MODEL_V9938, 0x20000, msx_vdp_interrupt);
}
-static MACHINE_CONFIG_START( pzlestar, driver_data_t )
+static MACHINE_CONFIG_START( pzlestar, driver_device )
MDRV_CPU_ADD("maincpu", Z80,8000000) // ?
MDRV_CPU_PROGRAM_MAP(sangho_map)
@@ -385,7 +385,7 @@ static MACHINE_CONFIG_START( pzlestar, driver_data_t )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( sexyboom, driver_data_t )
+static MACHINE_CONFIG_START( sexyboom, driver_device )
MDRV_CPU_ADD("maincpu", Z80,8000000) // ?
MDRV_CPU_PROGRAM_MAP(sangho_map)
diff --git a/src/mame/drivers/sauro.c b/src/mame/drivers/sauro.c
index d34a3a524a0..03963d0f953 100644
--- a/src/mame/drivers/sauro.c
+++ b/src/mame/drivers/sauro.c
@@ -388,7 +388,7 @@ static INTERRUPT_GEN( sauro_interrupt )
cpu_set_input_line(device, 0, HOLD_LINE);
}
-static MACHINE_CONFIG_START( tecfri, driver_data_t )
+static MACHINE_CONFIG_START( tecfri, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, XTAL_20MHz/4) /* verified on pcb */
MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
diff --git a/src/mame/drivers/savquest.c b/src/mame/drivers/savquest.c
index ec72e861c3e..6db612a8fbe 100644
--- a/src/mame/drivers/savquest.c
+++ b/src/mame/drivers/savquest.c
@@ -54,7 +54,7 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( savquest )
INPUT_PORTS_END
-static MACHINE_CONFIG_START( savquest, driver_data_t )
+static MACHINE_CONFIG_START( savquest, driver_device )
MDRV_CPU_ADD("maincpu", PENTIUM, 450000000) // actually Pentium II 450
MDRV_CPU_PROGRAM_MAP(savquest_map)
MDRV_CPU_IO_MAP(savquest_io)
diff --git a/src/mame/drivers/sbowling.c b/src/mame/drivers/sbowling.c
index 5c40d2cc132..f878680bce5 100644
--- a/src/mame/drivers/sbowling.c
+++ b/src/mame/drivers/sbowling.c
@@ -45,13 +45,11 @@ PROMs : NEC B406 (1kx4) x2
#include "sound/ay8910.h"
-class sbowling_state : public driver_data_t
+class sbowling_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, sbowling_state(machine)); }
-
- sbowling_state(running_machine &machine)
- : driver_data_t(machine) { }
+ sbowling_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
int bgmap;
UINT8 *videoram;
diff --git a/src/mame/drivers/sbrkout.c b/src/mame/drivers/sbrkout.c
index eaceeca4f1e..bc30859b4c8 100644
--- a/src/mame/drivers/sbrkout.c
+++ b/src/mame/drivers/sbrkout.c
@@ -475,7 +475,7