summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGravatarGravatar Aaron Giles <aaron@aarongiles.com>2010-09-02 07:57:50 +0000
committerGravatarGravatar Aaron Giles <aaron@aarongiles.com>2010-09-02 07:57:50 +0000
commit066e54b69fd68b249402febcf17b4b0bc7c4f79a (patch) (github)
tree3d524fc945e393c18de5beaa555dd14c8a0d107e /src
parent1d194df33ab9ed333921bba2621ebd12b60927ed (diff)
downloadmame-066e54b69fd68b249402febcf17b4b0bc7c4f79a.tar.bz2
mame-066e54b69fd68b249402febcf17b4b0bc7c4f79a.zip
Changed driver_data objects to be devices. Replaced the driver_data_t
class with a new driver_device class, which is the base class for all driver_data objects now. The new driver devices are added as the first device in the device list, with a tag of "root"; all other devices are now owned by the driver device. Moved core callbacks (machine_start/_reset, sound_start/_reset, video_start/_reset/_eof/_update, and palette_init) into device configuration parameters on these new devices. The driver_device base class overrides device_start(), ensures all other devices have been started, and then calls, in order, the following overridable methods: find_devices() - new, used to locate devices prior to DRIVER_INIT DRIVER_INIT function from the game driver palette_init() - by default calls the MDRV_PALETTE_INIT function driver_start() - new machine_start() - by default calls the MDRV_MACHINE_START function sound_start() - by default calls the MDRV_SOUND_START function video_start() - by default calls the MDRV_VIDEO_START function Similarly, the driver_device class overrides device_reset() and then calls these methods in order: driver_reset() - new machine_reset() - by default calls the MDRV_MACHINE_RESET function sound_reset() - by default calls the MDRV_SOUND_RESET function video_reset() - by default calls the MDRV_VIDEO_RESET function To accommodate these changes, initialization order is slightly altered from before. The tilemap, video, sound, and debug systems are now initialized prior to the devices' start. And the user callbacks for DRIVER_INIT, PALETTE_INIT, MACHINE_START, SOUND_START, and VIDEO_START are all called back-to-back. The net effect should be similar, however. Added methods (optional_device and required_device) to the new driver_device class to find devices, intended to be used from the find_devices() callback. See harddriv.h and beathead.h for examples of usage. Changed device_t::subtag to only prepend a prefix if the device is not the 'root' device, in order to keep compatibility with existing tag searching. Changed device startup to actively reorder devices when they report missing dependencies. This ensures that the reset functions get called in the same order that the start functions did. Bulk updated drivers as follows: First removed the old static alloc function from the driver_data_t: S: [ \t]*static driver_device \*alloc *\( *running_machine *\&machine *\) *\{ *return auto_alloc_clear *\( *\&machine *, *[a-zA-Z0-9_]+_state *\( *machine *\) *\); *\}[\r\n]* R: Then switched from driver_data_t to driver_device: S: driver_data_t R: driver_device Then changed the constructors to pass the correct parameters: S: ([a-zA-Z0-9_]+)_state *\( *running_machine *\&machine *\)([\r\n\t ]+): *driver_device *\( *machine *\) R: \1_state\(running_machine \&machine, const driver_device_config_base \&config\)\2: driver_device\(machine, config\)
Diffstat (limited to 'src')
-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,