summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2010-09-02 07:57:50 +0000
committer Aaron Giles <aaron@aarongiles.com>2010-09-02 07:57:50 +0000
commit066e54b69fd68b249402febcf17b4b0bc7c4f79a (patch)
tree3d524fc945e393c18de5beaa555dd14c8a0d107e /src
parent1d194df33ab9ed333921bba2621ebd12b60927ed (diff)
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, driver_data_t )
+static MACHINE_CONFIG_START( sandscrp, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000,12000000) /* TMP68HC000N-12 */
diff --git a/src/mame/drivers/sangho.c b/src/mame/drivers/sangho.c
index c2e799ea124..359ee309c64 100644
--- a/src/mame/drivers/sangho.c
+++ b/src/mame/drivers/sangho.c
@@ -352,7 +352,7 @@ static VIDEO_START( sangho )
v9938_init (machine, 0, *machine->primary_screen, machine->generic.tmpbitmap, MODEL_V9938, 0x20000, msx_vdp_interrupt);
}
-static MACHINE_CONFIG_START( pzlestar, driver_data_t )
+static MACHINE_CONFIG_START( pzlestar, driver_device )
MDRV_CPU_ADD("maincpu", Z80,8000000) // ?
MDRV_CPU_PROGRAM_MAP(sangho_map)
@@ -385,7 +385,7 @@ static MACHINE_CONFIG_START( pzlestar, driver_data_t )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( sexyboom, driver_data_t )
+static MACHINE_CONFIG_START( sexyboom, driver_device )
MDRV_CPU_ADD("maincpu", Z80,8000000) // ?
MDRV_CPU_PROGRAM_MAP(sangho_map)
diff --git a/src/mame/drivers/sauro.c b/src/mame/drivers/sauro.c
index d34a3a524a0..03963d0f953 100644
--- a/src/mame/drivers/sauro.c
+++ b/src/mame/drivers/sauro.c
@@ -388,7 +388,7 @@ static INTERRUPT_GEN( sauro_interrupt )
cpu_set_input_line(device, 0, HOLD_LINE);
}
-static MACHINE_CONFIG_START( tecfri, driver_data_t )
+static MACHINE_CONFIG_START( tecfri, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, XTAL_20MHz/4) /* verified on pcb */
MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
diff --git a/src/mame/drivers/savquest.c b/src/mame/drivers/savquest.c
index ec72e861c3e..6db612a8fbe 100644
--- a/src/mame/drivers/savquest.c
+++ b/src/mame/drivers/savquest.c
@@ -54,7 +54,7 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( savquest )
INPUT_PORTS_END
-static MACHINE_CONFIG_START( savquest, driver_data_t )
+static MACHINE_CONFIG_START( savquest, driver_device )
MDRV_CPU_ADD("maincpu", PENTIUM, 450000000) // actually Pentium II 450
MDRV_CPU_PROGRAM_MAP(savquest_map)
MDRV_CPU_IO_MAP(savquest_io)
diff --git a/src/mame/drivers/sbowling.c b/src/mame/drivers/sbowling.c
index 5c40d2cc132..f878680bce5 100644
--- a/src/mame/drivers/sbowling.c
+++ b/src/mame/drivers/sbowling.c
@@ -45,13 +45,11 @@ PROMs : NEC B406 (1kx4) x2
#include "sound/ay8910.h"
-class sbowling_state : public driver_data_t
+class sbowling_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, sbowling_state(machine)); }
-
- sbowling_state(running_machine &machine)
- : driver_data_t(machine) { }
+ sbowling_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
int bgmap;
UINT8 *videoram;
diff --git a/src/mame/drivers/sbrkout.c b/src/mame/drivers/sbrkout.c
index eaceeca4f1e..bc30859b4c8 100644
--- a/src/mame/drivers/sbrkout.c
+++ b/src/mame/drivers/sbrkout.c
@@ -475,7 +475,7 @@ GFXDECODE_END
*
*************************************/
-static MACHINE_CONFIG_START( sbrkout, driver_data_t )
+static MACHINE_CONFIG_START( sbrkout, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502,MAIN_CLOCK/16) /* 375 KHz? Should be 750KHz? */
diff --git a/src/mame/drivers/scobra.c b/src/mame/drivers/scobra.c
index dfdad493cd3..965f6864334 100644
--- a/src/mame/drivers/scobra.c
+++ b/src/mame/drivers/scobra.c
@@ -850,7 +850,7 @@ static const ay8910_interface scobra_ay8910_interface_2 =
};
-static MACHINE_CONFIG_START( type1, driver_data_t )
+static MACHINE_CONFIG_START( type1, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 18432000/6) /* 3.072 MHz */
@@ -975,7 +975,7 @@ static MACHINE_CONFIG_DERIVED( darkplnt, type2 )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( hustler, driver_data_t )
+static MACHINE_CONFIG_START( hustler, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 18432000/6) /* 3.072 MHz */
diff --git a/src/mame/drivers/scotrsht.c b/src/mame/drivers/scotrsht.c
index 6acea79aaa3..356f2fa7b3e 100644
--- a/src/mame/drivers/scotrsht.c
+++ b/src/mame/drivers/scotrsht.c
@@ -191,7 +191,7 @@ static GFXDECODE_START( scotrsht )
GFXDECODE_ENTRY( "gfx2", 0, spritelayout, 16*16*8, 16*8 ) /* sprites */
GFXDECODE_END
-static MACHINE_CONFIG_START( scotrsht, driver_data_t )
+static MACHINE_CONFIG_START( scotrsht, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6809, 18432000/6) /* 3.072 MHz */
diff --git a/src/mame/drivers/scramble.c b/src/mame/drivers/scramble.c
index e3c923f221a..f523daf7cfa 100644
--- a/src/mame/drivers/scramble.c
+++ b/src/mame/drivers/scramble.c
@@ -1233,7 +1233,7 @@ static ADDRESS_MAP_START( scramble_sound_io_map, ADDRESS_SPACE_IO, 8 )
AM_RANGE(0x80, 0x80) AM_DEVREADWRITE("8910.2", ay8910_r, ay8910_data_w)
ADDRESS_MAP_END
-static MACHINE_CONFIG_START( scramble, driver_data_t )
+static MACHINE_CONFIG_START( scramble, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 18432000/6) /* 3.072 MHz */
@@ -1462,7 +1462,7 @@ static MACHINE_CONFIG_DERIVED( hncholms, hunchbks )
MDRV_VIDEO_START(scorpion)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( ad2083, driver_data_t )
+static MACHINE_CONFIG_START( ad2083, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 18432000/6) /* 3.072 MHz */
MDRV_CPU_PROGRAM_MAP(ad2083_map)
diff --git a/src/mame/drivers/seattle.c b/src/mame/drivers/seattle.c
index 713d7bfd069..aa79c519cfd 100644
--- a/src/mame/drivers/seattle.c
+++ b/src/mame/drivers/seattle.c
@@ -2457,7 +2457,7 @@ static const mips3_config r5000_config =
SYSTEM_CLOCK /* system clock rate */
};
-static MACHINE_CONFIG_START( seattle_common, driver_data_t )
+static MACHINE_CONFIG_START( seattle_common, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", R5000LE, SYSTEM_CLOCK*3)
diff --git a/src/mame/drivers/segac2.c b/src/mame/drivers/segac2.c
index b15e80f0e2a..aeccffdd6de 100644
--- a/src/mame/drivers/segac2.c
+++ b/src/mame/drivers/segac2.c
@@ -1360,7 +1360,7 @@ static VIDEO_UPDATE(segac2_new)
}
-static MACHINE_CONFIG_START( segac, driver_data_t )
+static MACHINE_CONFIG_START( segac, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, XL2_CLOCK/6)
diff --git a/src/mame/drivers/segae.c b/src/mame/drivers/segae.c
index 28cacc15868..ce743a872da 100644
--- a/src/mame/drivers/segae.c
+++ b/src/mame/drivers/segae.c
@@ -865,7 +865,7 @@ static ADDRESS_MAP_START( io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_END
-static MACHINE_CONFIG_START( systeme, driver_data_t )
+static MACHINE_CONFIG_START( systeme, driver_device )
MDRV_CPU_ADD("maincpu", Z80, 10738600/2) /* correct? */
MDRV_CPU_PROGRAM_MAP(systeme_map)
MDRV_CPU_IO_MAP(io_map)
diff --git a/src/mame/drivers/segag80r.c b/src/mame/drivers/segag80r.c
index a6fc1b4cbe7..83085a94411 100644
--- a/src/mame/drivers/segag80r.c
+++ b/src/mame/drivers/segag80r.c
@@ -831,7 +831,7 @@ GFXDECODE_END
*
*************************************/
-static MACHINE_CONFIG_START( g80r_base, driver_data_t )
+static MACHINE_CONFIG_START( g80r_base, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, VIDEO_CLOCK/4)
diff --git a/src/mame/drivers/segag80v.c b/src/mame/drivers/segag80v.c
index e81a547c52a..9e1a3be747d 100644
--- a/src/mame/drivers/segag80v.c
+++ b/src/mame/drivers/segag80v.c
@@ -909,7 +909,7 @@ static const samples_interface zektor_samples_interface =
*
*************************************/
-static MACHINE_CONFIG_START( g80v_base, driver_data_t )
+static MACHINE_CONFIG_START( g80v_base, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, CPU_CLOCK/2)
diff --git a/src/mame/drivers/segald.c b/src/mame/drivers/segald.c
index b78743f44de..a59b17d71b2 100644
--- a/src/mame/drivers/segald.c
+++ b/src/mame/drivers/segald.c
@@ -334,7 +334,7 @@ static MACHINE_START( astron )
/* DRIVER */
-static MACHINE_CONFIG_START( astron, driver_data_t )
+static MACHINE_CONFIG_START( astron, driver_device )
/* main cpu */
MDRV_CPU_ADD("maincpu", Z80, SCHEMATIC_CLOCK/4)
diff --git a/src/mame/drivers/segamsys.c b/src/mame/drivers/segamsys.c
index f4d69222cc8..7f76552b00a 100644
--- a/src/mame/drivers/segamsys.c
+++ b/src/mame/drivers/segamsys.c
@@ -1711,7 +1711,7 @@ static NVRAM_HANDLER( sms )
}
}
-MACHINE_CONFIG_START( sms, driver_data_t )
+MACHINE_CONFIG_START( sms, driver_device )
MDRV_CPU_ADD("maincpu", Z80, 3579540)
//MDRV_CPU_PROGRAM_MAP(sms_map)
MDRV_CPU_IO_MAP(sms_io_map)
diff --git a/src/mame/drivers/segas24.c b/src/mame/drivers/segas24.c
index 224662bca50..a6510f2ecf0 100644
--- a/src/mame/drivers/segas24.c
+++ b/src/mame/drivers/segas24.c
@@ -1772,7 +1772,7 @@ static const ym2151_interface ym2151_config =
*
*************************************/
-static MACHINE_CONFIG_START( system24, driver_data_t )
+static MACHINE_CONFIG_START( system24, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, MASTER_CLOCK/2)
MDRV_CPU_PROGRAM_MAP(system24_cpu1_map)
diff --git a/src/mame/drivers/segas32.c b/src/mame/drivers/segas32.c
index 98f1c6468d5..cc0816ab172 100644
--- a/src/mame/drivers/segas32.c
+++ b/src/mame/drivers/segas32.c
@@ -2183,7 +2183,7 @@ static READ16_HANDLER( dual_pcb_masterslave )
*
*************************************/
-static MACHINE_CONFIG_START( system32, driver_data_t )
+static MACHINE_CONFIG_START( system32, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", V60, MASTER_CLOCK/2)
@@ -2240,7 +2240,7 @@ static MACHINE_CONFIG_DERIVED( system32_v25, system32 )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( multi32, driver_data_t )
+static MACHINE_CONFIG_START( multi32, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", V70, MULTI32_CLOCK/2)
diff --git a/src/mame/drivers/seibuspi.c b/src/mame/drivers/seibuspi.c
index a3ffa68df43..3b9f11c7a8c 100644
--- a/src/mame/drivers/seibuspi.c
+++ b/src/mame/drivers/seibuspi.c
@@ -1858,7 +1858,7 @@ static MACHINE_RESET( spi )
}
}
-static MACHINE_CONFIG_START( spi, driver_data_t )
+static MACHINE_CONFIG_START( spi, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", I386, 50000000/2) /* Intel 386DX, 25MHz */
@@ -2198,7 +2198,7 @@ static MACHINE_RESET( seibu386 )
cpu_set_irq_callback(machine->device("maincpu"), spi_irq_callback);
}
-static MACHINE_CONFIG_START( seibu386, driver_data_t )
+static MACHINE_CONFIG_START( seibu386, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", I386, 40000000) /* AMD 386DX, 40MHz */
@@ -2252,7 +2252,7 @@ static DRIVER_INIT( sys386f2 )
}
}
-static MACHINE_CONFIG_START( sys386f2, driver_data_t )
+static MACHINE_CONFIG_START( sys386f2, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", I386, 25000000) /* 25mhz */
diff --git a/src/mame/drivers/seicross.c b/src/mame/drivers/seicross.c
index 96e0e425ba1..0540bcf6d38 100644
--- a/src/mame/drivers/seicross.c
+++ b/src/mame/drivers/seicross.c
@@ -399,7 +399,7 @@ static const ay8910_interface ay8910_config =
};
-static MACHINE_CONFIG_START( nvram, driver_data_t )
+static MACHINE_CONFIG_START( nvram, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 3072000) /* 3.072 MHz? */
diff --git a/src/mame/drivers/sengokmj.c b/src/mame/drivers/sengokmj.c
index 8e0f4df4a6b..eac4e00fabd 100644
--- a/src/mame/drivers/sengokmj.c
+++ b/src/mame/drivers/sengokmj.c
@@ -278,7 +278,7 @@ static INTERRUPT_GEN( sengokmj_interrupt )
cpu_set_input_line_and_vector(device,0,HOLD_LINE,0xc8/4);
}
-static MACHINE_CONFIG_START( sengokmj, driver_data_t )
+static MACHINE_CONFIG_START( sengokmj, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", V30, 16000000/2) /* V30-8 */
diff --git a/src/mame/drivers/senjyo.c b/src/mame/drivers/senjyo.c
index 1a34f61fea5..c91a5f8a931 100644
--- a/src/mame/drivers/senjyo.c
+++ b/src/mame/drivers/senjyo.c
@@ -537,7 +537,7 @@ static const samples_interface senjyo_samples_interface =
};
-static MACHINE_CONFIG_START( senjyo, driver_data_t )
+static MACHINE_CONFIG_START( senjyo, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz? */
diff --git a/src/mame/drivers/sfbonus.c b/src/mame/drivers/sfbonus.c
index 9fd2f5dd549..b00bbc0fb6f 100644
--- a/src/mame/drivers/sfbonus.c
+++ b/src/mame/drivers/sfbonus.c
@@ -1246,7 +1246,7 @@ static NVRAM_HANDLER( sfbonus )
}
-static MACHINE_CONFIG_START( sfbonus, driver_data_t )
+static MACHINE_CONFIG_START( sfbonus, driver_device )
MDRV_CPU_ADD("maincpu", Z80, 6000000) // custom packaged z80 CPU ?? Mhz
MDRV_CPU_PROGRAM_MAP(sfbonus_map)
MDRV_CPU_IO_MAP(sfbonus_io)
diff --git a/src/mame/drivers/sfkick.c b/src/mame/drivers/sfkick.c
index b540b78f003..1f9abe90520 100644
--- a/src/mame/drivers/sfkick.c
+++ b/src/mame/drivers/sfkick.c
@@ -457,7 +457,7 @@ static const ym2203_interface ym2203_config =
irqhandler
};
-static MACHINE_CONFIG_START( sfkick, driver_data_t )
+static MACHINE_CONFIG_START( sfkick, driver_device )
MDRV_CPU_ADD("maincpu",Z80,MASTER_CLOCK/6)
MDRV_CPU_PROGRAM_MAP(sfkick_map)
diff --git a/src/mame/drivers/sg1000a.c b/src/mame/drivers/sg1000a.c
index 9188653e8f6..48ad2792f7e 100644
--- a/src/mame/drivers/sg1000a.c
+++ b/src/mame/drivers/sg1000a.c
@@ -263,7 +263,7 @@ static I8255A_INTERFACE( ppi8255_intf )
*
*************************************/
-static MACHINE_CONFIG_START( sg1000a, driver_data_t )
+static MACHINE_CONFIG_START( sg1000a, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, XTAL_3_579545MHz)
MDRV_CPU_PROGRAM_MAP(program_map)
diff --git a/src/mame/drivers/shangha3.c b/src/mame/drivers/shangha3.c
index ae5e9f38185..411eaa2b414 100644
--- a/src/mame/drivers/shangha3.c
+++ b/src/mame/drivers/shangha3.c
@@ -476,7 +476,7 @@ static const ym3438_interface ym3438_config =
};
-static MACHINE_CONFIG_START( shangha3, driver_data_t )
+static MACHINE_CONFIG_START( shangha3, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 8000000)
@@ -511,7 +511,7 @@ static MACHINE_CONFIG_START( shangha3, driver_data_t )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( heberpop, driver_data_t )
+static MACHINE_CONFIG_START( heberpop, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 8000000)
@@ -551,7 +551,7 @@ static MACHINE_CONFIG_START( heberpop, driver_data_t )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( blocken, driver_data_t )
+static MACHINE_CONFIG_START( blocken, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 8000000)
diff --git a/src/mame/drivers/shanghai.c b/src/mame/drivers/shanghai.c
index 1221a3cf2df..ef96644db54 100644
--- a/src/mame/drivers/shanghai.c
+++ b/src/mame/drivers/shanghai.c
@@ -424,7 +424,7 @@ static const ym2203_interface kothello_ym2203_interface =
static const hd63484_interface shanghai_hd63484_intf = { 0 };
-static MACHINE_CONFIG_START( shanghai, driver_data_t )
+static MACHINE_CONFIG_START( shanghai, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", V30,16000000/2) /* ? */
@@ -459,7 +459,7 @@ static MACHINE_CONFIG_START( shanghai, driver_data_t )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( shangha2, driver_data_t )
+static MACHINE_CONFIG_START( shangha2, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", V30,16000000/2) /* ? */
@@ -493,7 +493,7 @@ static MACHINE_CONFIG_START( shangha2, driver_data_t )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( kothello, driver_data_t )
+static MACHINE_CONFIG_START( kothello, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", V30,16000000/2) /* ? */
diff --git a/src/mame/drivers/shangkid.c b/src/mame/drivers/shangkid.c
index 6e99a023bec..c4412182d93 100644
--- a/src/mame/drivers/shangkid.c
+++ b/src/mame/drivers/shangkid.c
@@ -373,7 +373,7 @@ static const ay8910_interface shangkid_ay8910_interface =
};
-static MACHINE_CONFIG_START( chinhero, driver_data_t )
+static MACHINE_CONFIG_START( chinhero, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, XTAL_18_432MHz/6) /* verified on pcb */
@@ -465,7 +465,7 @@ static ADDRESS_MAP_START( dynamski_portmap, ADDRESS_SPACE_IO, 8 )
AM_RANGE(0x00, 0x01) AM_DEVWRITE("aysnd", ay8910_data_address_w)
ADDRESS_MAP_END
-static MACHINE_CONFIG_START( dynamski, driver_data_t )
+static MACHINE_CONFIG_START( dynamski, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 3000000) /* ? */
diff --git a/src/mame/drivers/shaolins.c b/src/mame/drivers/shaolins.c
index 357097865b2..bcda4003780 100644
--- a/src/mame/drivers/shaolins.c
+++ b/src/mame/drivers/shaolins.c
@@ -200,7 +200,7 @@ GFXDECODE_END
-static MACHINE_CONFIG_START( shaolins, driver_data_t )
+static MACHINE_CONFIG_START( shaolins, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6809, MASTER_CLOCK/12) /* verified on pcb */
diff --git a/src/mame/drivers/shisen.c b/src/mame/drivers/shisen.c
index c829f1fed6f..0ef6209ee57 100644
--- a/src/mame/drivers/shisen.c
+++ b/src/mame/drivers/shisen.c
@@ -215,7 +215,7 @@ static const ym2151_interface ym2151_config =
-static MACHINE_CONFIG_START( shisen, driver_data_t )
+static MACHINE_CONFIG_START( shisen, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 6000000) /* 6 MHz ? */
diff --git a/src/mame/drivers/shougi.c b/src/mame/drivers/shougi.c
index 8f05c3add68..872ab0a58bc 100644
--- a/src/mame/drivers/shougi.c
+++ b/src/mame/drivers/shougi.c
@@ -87,13 +87,11 @@ PROM : Type MB7051
#include "sound/ay8910.h"
#include "video/resnet.h"
-class shougi_state : public driver_data_t
+class shougi_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, shougi_state(machine)); }
-
- shougi_state(running_machine &machine)
- : driver_data_t(machine) { }
+ shougi_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT8 *videoram;
int nmi_enabled;
diff --git a/src/mame/drivers/sigmab52.c b/src/mame/drivers/sigmab52.c
index e3a15b3720d..333ff41c6d3 100644
--- a/src/mame/drivers/sigmab52.c
+++ b/src/mame/drivers/sigmab52.c
@@ -564,7 +564,7 @@ static const hd63484_interface jwildb52_hd63484_intf = { 1 };
* Machine Drivers *
*************************/
-static MACHINE_CONFIG_START( jwildb52, driver_data_t )
+static MACHINE_CONFIG_START( jwildb52, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6809, MAIN_CLOCK/9) /* 2 MHz */
diff --git a/src/mame/drivers/sigmab98.c b/src/mame/drivers/sigmab98.c
index 1206a60cd21..54cb04da4b4 100644
--- a/src/mame/drivers/sigmab98.c
+++ b/src/mame/drivers/sigmab98.c
@@ -461,7 +461,7 @@ static INTERRUPT_GEN( gegege_vblank_interrupt )
cpu_set_input_line_and_vector(device, 0, HOLD_LINE, 0x5a);
}
-static MACHINE_CONFIG_START( gegege, driver_data_t )
+static MACHINE_CONFIG_START( gegege, driver_device )
MDRV_CPU_ADD("maincpu", Z80, XTAL_27MHz / 4) // ?
MDRV_CPU_PROGRAM_MAP(gegege_mem_map)
MDRV_CPU_IO_MAP(gegege_io_map)
diff --git a/src/mame/drivers/skeetsht.c b/src/mame/drivers/skeetsht.c
index 418318455f3..deeb2552a01 100644
--- a/src/mame/drivers/skeetsht.c
+++ b/src/mame/drivers/skeetsht.c
@@ -17,13 +17,11 @@
*
*************************************/
-class skeetsht_state : public driver_data_t
+class skeetsht_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, skeetsht_state(machine)); }
-
- skeetsht_state(running_machine &machine)
- : driver_data_t(machine) { }
+ skeetsht_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT16 *tms_vram;
UINT8 porta_latch;
diff --git a/src/mame/drivers/skimaxx.c b/src/mame/drivers/skimaxx.c
index 46b84a371ef..886180608b8 100644
--- a/src/mame/drivers/skimaxx.c
+++ b/src/mame/drivers/skimaxx.c
@@ -503,7 +503,7 @@ static MACHINE_RESET( skimaxx )
*
*************************************/
-static MACHINE_CONFIG_START( skimaxx, driver_data_t )
+static MACHINE_CONFIG_START( skimaxx, driver_device )
MDRV_CPU_ADD("maincpu", M68EC030, XTAL_40MHz)
MDRV_CPU_PROGRAM_MAP(68030_1_map)
MDRV_CPU_VBLANK_INT("screen", irq3_line_hold) // 1,3,7 are identical, rest is RTE
diff --git a/src/mame/drivers/skyarmy.c b/src/mame/drivers/skyarmy.c
index 8c8cc03e443..be7aa4569e9 100644
--- a/src/mame/drivers/skyarmy.c
+++ b/src/mame/drivers/skyarmy.c
@@ -29,13 +29,11 @@
#include "cpu/z80/z80.h"
#include "sound/ay8910.h"
-class skyarmy_state : public driver_data_t
+class skyarmy_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, skyarmy_state(machine)); }
-
- skyarmy_state(running_machine &machine)
- : driver_data_t(machine) { }
+ skyarmy_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT8 *spriteram;
UINT8 *videoram;
diff --git a/src/mame/drivers/skydiver.c b/src/mame/drivers/skydiver.c
index 50ad6684456..fecf0fdc7c9 100644
--- a/src/mame/drivers/skydiver.c
+++ b/src/mame/drivers/skydiver.c
@@ -371,7 +371,7 @@ GFXDECODE_END
*
*************************************/
-static MACHINE_CONFIG_START( skydiver, driver_data_t )
+static MACHINE_CONFIG_START( skydiver, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6800,MASTER_CLOCK/16) /* ???? */
diff --git a/src/mame/drivers/skykid.c b/src/mame/drivers/skykid.c
index 4e1fee3a340..54363138f52 100644
--- a/src/mame/drivers/skykid.c
+++ b/src/mame/drivers/skykid.c
@@ -439,7 +439,7 @@ static const namco_interface namco_config =
-static MACHINE_CONFIG_START( skykid, driver_data_t )
+static MACHINE_CONFIG_START( skykid, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6809,49152000/32)
diff --git a/src/mame/drivers/skylncr.c b/src/mame/drivers/skylncr.c
index 95f2a1fb227..5fb7f189cfb 100644
--- a/src/mame/drivers/skylncr.c
+++ b/src/mame/drivers/skylncr.c
@@ -656,7 +656,7 @@ static INTERRUPT_GEN( skylncr_vblank_interrupt )
* Machine Driver *
*************************************/
-static MACHINE_CONFIG_START( skylncr, driver_data_t )
+static MACHINE_CONFIG_START( skylncr, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/4)
diff --git a/src/mame/drivers/skyraid.c b/src/mame/drivers/skyraid.c
index 21e82323bf5..3602df1ce69 100644
--- a/src/mame/drivers/skyraid.c
+++ b/src/mame/drivers/skyraid.c
@@ -223,7 +223,7 @@ static GFXDECODE_START( skyraid )
GFXDECODE_END
-static MACHINE_CONFIG_START( skyraid, driver_data_t )
+static MACHINE_CONFIG_START( skyraid, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, 12096000 / 12)
diff --git a/src/mame/drivers/slapfght.c b/src/mame/drivers/slapfght.c
index 53344bf6804..6cc6bbc57aa 100644
--- a/src/mame/drivers/slapfght.c
+++ b/src/mame/drivers/slapfght.c
@@ -743,7 +743,7 @@ static VIDEO_EOF( perfrman )
buffer_spriteram_w(space, 0, 0);
}
-static MACHINE_CONFIG_START( perfrman, driver_data_t )
+static MACHINE_CONFIG_START( perfrman, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80,16000000/4) /* 4MHz ???, 16MHz Oscillator */
@@ -790,7 +790,7 @@ static MACHINE_CONFIG_START( perfrman, driver_data_t )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( tigerhb, driver_data_t )
+static MACHINE_CONFIG_START( tigerhb, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 6000000)
@@ -836,7 +836,7 @@ static MACHINE_CONFIG_START( tigerhb, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( tigerh, driver_data_t )
+static MACHINE_CONFIG_START( tigerh, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, XTAL_36MHz/6) /* verified on pcb */
@@ -886,7 +886,7 @@ static MACHINE_CONFIG_START( tigerh, driver_data_t )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( slapfigh, driver_data_t )
+static MACHINE_CONFIG_START( slapfigh, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu",Z80, XTAL_36MHz/6) /* verified on pcb */
diff --git a/src/mame/drivers/sliver.c b/src/mame/drivers/sliver.c
index 4b66a0dabf0..2f4db6d992c 100644
--- a/src/mame/drivers/sliver.c
+++ b/src/mame/drivers/sliver.c
@@ -76,13 +76,11 @@ Notes:
#define x_offset 0x45
#define y_offset 0x0d
-class sliver_state : public driver_data_t
+class sliver_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, sliver_state(machine)); }
-
- sliver_state(running_machine &machine)
- : driver_data_t(machine) { }
+ sliver_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT16 io_offset;
UINT16 io_reg[IO_SIZE];
diff --git a/src/mame/drivers/slotcarn.c b/src/mame/drivers/slotcarn.c
index 83e37df37e6..95c86a09414 100644
--- a/src/mame/drivers/slotcarn.c
+++ b/src/mame/drivers/slotcarn.c
@@ -591,7 +591,7 @@ static const ay8910_interface scarn_ay8910_config =
* Machine Driver *
***********************************/
-static MACHINE_CONFIG_START( slotcarn, driver_data_t )
+static MACHINE_CONFIG_START( slotcarn, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, CPU_CLOCK) // 2.5 Mhz?
diff --git a/src/mame/drivers/sms.c b/src/mame/drivers/sms.c
index ca3fc9c8d6f..287af7790f7 100644
--- a/src/mame/drivers/sms.c
+++ b/src/mame/drivers/sms.c
@@ -532,7 +532,7 @@ static MACHINE_RESET( sms )
communication_port_status = 0;
}
-static MACHINE_CONFIG_START( sms, driver_data_t )
+static MACHINE_CONFIG_START( sms, driver_device )
MDRV_CPU_ADD("maincpu", I8088, XTAL_24MHz/8)
MDRV_CPU_PROGRAM_MAP(sms_map)
diff --git a/src/mame/drivers/snookr10.c b/src/mame/drivers/snookr10.c
index 15fbf81fa44..f22cfebc54b 100644
--- a/src/mame/drivers/snookr10.c
+++ b/src/mame/drivers/snookr10.c
@@ -698,7 +698,7 @@ GFXDECODE_END
* Machine Drivers *
**************************/
-static MACHINE_CONFIG_START( snookr10, driver_data_t )
+static MACHINE_CONFIG_START( snookr10, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M65SC02, MASTER_CLOCK/8) /* 2 MHz (1.999 MHz measured) */
diff --git a/src/mame/drivers/snowbros.c b/src/mame/drivers/snowbros.c
index 5a409f7ec38..bb1e3c177f3 100644
--- a/src/mame/drivers/snowbros.c
+++ b/src/mame/drivers/snowbros.c
@@ -1445,7 +1445,7 @@ static const kaneko_pandora_interface snowbros_pandora_config =
0, 0 /* x_offs, y_offs */
};
-static MACHINE_CONFIG_START( snowbros, driver_data_t )
+static MACHINE_CONFIG_START( snowbros, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 8000000) /* 8 Mhz - confirmed */
@@ -1556,7 +1556,7 @@ CPU : 1 X MC68000P12
See included pics
*/
-static MACHINE_CONFIG_START( honeydol, driver_data_t )
+static MACHINE_CONFIG_START( honeydol, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 16000000)
@@ -1594,7 +1594,7 @@ static MACHINE_CONFIG_START( honeydol, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( twinadv, driver_data_t )
+static MACHINE_CONFIG_START( twinadv, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 16000000) // or 12
@@ -1673,7 +1673,7 @@ static MACHINE_CONFIG_DERIVED( _4in1, semicom )
MDRV_GFXDECODE(snowbros)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( snowbro3, driver_data_t )
+static MACHINE_CONFIG_START( snowbro3, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 16000000) /* 16mhz or 12mhz ? */
diff --git a/src/mame/drivers/solomon.c b/src/mame/drivers/solomon.c
index f72ce5d5a32..af9cb26eaeb 100644
--- a/src/mame/drivers/solomon.c
+++ b/src/mame/drivers/solomon.c
@@ -201,7 +201,7 @@ static GFXDECODE_START( solomon )
GFXDECODE_ENTRY( "gfx3", 0, spritelayout, 0, 8 ) /* colors 0-127 */
GFXDECODE_END
-static MACHINE_CONFIG_START( solomon, driver_data_t )
+static MACHINE_CONFIG_START( solomon, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 4000000) /* 4.0 MHz (?????) */
diff --git a/src/mame/drivers/sothello.c b/src/mame/drivers/sothello.c
index c70316d75ba..440d823ef67 100644
--- a/src/mame/drivers/sothello.c
+++ b/src/mame/drivers/sothello.c
@@ -344,7 +344,7 @@ static const ym2203_interface ym2203_config =
irqhandler
};
-static MACHINE_CONFIG_START( sothello, driver_data_t )
+static MACHINE_CONFIG_START( sothello, driver_device )
/* basic machine hardware */
diff --git a/src/mame/drivers/spacefb.c b/src/mame/drivers/spacefb.c
index 6d1ac91a8dd..acb3b9ecf50 100644
--- a/src/mame/drivers/spacefb.c
+++ b/src/mame/drivers/spacefb.c
@@ -328,7 +328,7 @@ INPUT_PORTS_END
*
*************************************/
-static MACHINE_CONFIG_START( spacefb, driver_data_t )
+static MACHINE_CONFIG_START( spacefb, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, SPACEFB_MAIN_CPU_CLOCK)
diff --git a/src/mame/drivers/spaceg.c b/src/mame/drivers/spaceg.c
index b09e9273740..eee64f72dbc 100644
--- a/src/mame/drivers/spaceg.c
+++ b/src/mame/drivers/spaceg.c
@@ -173,13 +173,11 @@ Notes:
*
*************************************/
-class spaceg_state : public driver_data_t
+class spaceg_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, spaceg_state(machine)); }
-
- spaceg_state(running_machine &machine)
- : driver_data_t(machine) { }
+ spaceg_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT8 * videoram;
UINT8 * unkram;
diff --git a/src/mame/drivers/spcforce.c b/src/mame/drivers/spcforce.c
index 8d441ae0bcb..e75c7d4ff96 100644
--- a/src/mame/drivers/spcforce.c
+++ b/src/mame/drivers/spcforce.c
@@ -242,7 +242,7 @@ static PALETTE_INIT( spcforce )
}
-static MACHINE_CONFIG_START( spcforce, driver_data_t )
+static MACHINE_CONFIG_START( spcforce, driver_device )
/* basic machine hardware */
/* FIXME: The 8085A had a max clock of 6MHz, internally divided by 2! */
diff --git a/src/mame/drivers/spdodgeb.c b/src/mame/drivers/spdodgeb.c
index 08193fc71dd..f6936f24c9a 100644
--- a/src/mame/drivers/spdodgeb.c
+++ b/src/mame/drivers/spdodgeb.c
@@ -431,7 +431,7 @@ static MACHINE_RESET( spdodgeb )
last_dash[0] = last_dash[1] = 0;
}
-static MACHINE_CONFIG_START( spdodgeb, driver_data_t )
+static MACHINE_CONFIG_START( spdodgeb, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502,12000000/6) /* 2MHz ? */
diff --git a/src/mame/drivers/speedatk.c b/src/mame/drivers/speedatk.c
index afa8c761df8..fd5c5d17b4a 100644
--- a/src/mame/drivers/speedatk.c
+++ b/src/mame/drivers/speedatk.c
@@ -319,7 +319,7 @@ static const ay8910_interface ay8910_config =
DEVCB_NULL
};
-static MACHINE_CONFIG_START( speedatk, driver_data_t )
+static MACHINE_CONFIG_START( speedatk, driver_device )
MDRV_CPU_ADD("maincpu", Z80,MASTER_CLOCK/2) //divider is unknown
MDRV_CPU_PROGRAM_MAP(speedatk_mem)
MDRV_CPU_IO_MAP(speedatk_io)
diff --git a/src/mame/drivers/speedbal.c b/src/mame/drivers/speedbal.c
index 46c14fbeb07..4911393fbba 100644
--- a/src/mame/drivers/speedbal.c
+++ b/src/mame/drivers/speedbal.c
@@ -225,7 +225,7 @@ GFXDECODE_END
-static MACHINE_CONFIG_START( speedbal, driver_data_t )
+static MACHINE_CONFIG_START( speedbal, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz ??? */
diff --git a/src/mame/drivers/speedspn.c b/src/mame/drivers/speedspn.c
index 62525dd6f6f..1f28fa713af 100644
--- a/src/mame/drivers/speedspn.c
+++ b/src/mame/drivers/speedspn.c
@@ -277,7 +277,7 @@ GFXDECODE_END
/*** MACHINE DRIVER **********************************************************/
-static MACHINE_CONFIG_START( speedspn, driver_data_t )
+static MACHINE_CONFIG_START( speedspn, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu",Z80,6000000) /* 6 MHz */
diff --git a/src/mame/drivers/speglsht.c b/src/mame/drivers/speglsht.c
index 8b2da98bd98..818eb7f9250 100644
--- a/src/mame/drivers/speglsht.c
+++ b/src/mame/drivers/speglsht.c
@@ -319,7 +319,7 @@ static MACHINE_RESET(speglsht)
memset(shared,0,0x1000);
}
-static MACHINE_CONFIG_START( speglsht, driver_data_t )
+static MACHINE_CONFIG_START( speglsht, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu",Z80, 8000000) /* 8 MHz ? */
MDRV_CPU_PROGRAM_MAP(st0016_mem)
diff --git a/src/mame/drivers/spiders.c b/src/mame/drivers/spiders.c
index 2aada552fea..5a6a4f95a02 100644
--- a/src/mame/drivers/spiders.c
+++ b/src/mame/drivers/spiders.c
@@ -705,7 +705,7 @@ INPUT_PORTS_END
*
*************************************/
-static MACHINE_CONFIG_START( spiders, driver_data_t )
+static MACHINE_CONFIG_START( spiders, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6809, 2800000)
diff --git a/src/mame/drivers/splash.c b/src/mame/drivers/splash.c
index 2fd31bffd05..7c646d0fe5f 100644
--- a/src/mame/drivers/splash.c
+++ b/src/mame/drivers/splash.c
@@ -391,7 +391,7 @@ static MACHINE_RESET( splash )
ret = 0x100;
}
-static MACHINE_CONFIG_START( splash, driver_data_t )
+static MACHINE_CONFIG_START( splash, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000,24000000/2) /* 12 MHz (24/2) */
@@ -444,7 +444,7 @@ static const ym2203_interface ym2203_config =
ym_irq
};
-static MACHINE_CONFIG_START( roldfrog, driver_data_t )
+static MACHINE_CONFIG_START( roldfrog, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000,24000000/2) /* 12 MHz - verified */
@@ -484,7 +484,7 @@ static MACHINE_CONFIG_START( roldfrog, driver_data_t )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( funystrp, driver_data_t )
+static MACHINE_CONFIG_START( funystrp, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000,24000000/2) /* 12 MHz (24/2) */
diff --git a/src/mame/drivers/spoker.c b/src/mame/drivers/spoker.c
index 3783f0397eb..af4dc77fe2e 100644
--- a/src/mame/drivers/spoker.c
+++ b/src/mame/drivers/spoker.c
@@ -18,13 +18,11 @@ TODO:
Video Hardware
***************************************************************************/
-class spoker_state : public driver_data_t
+class spoker_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, spoker_state(machine)); }
-
- spoker_state(running_machine &machine)
- : driver_data_t(machine) { }
+ spoker_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT8 *bg_tile_ram;
tilemap_t *bg_tilemap;
diff --git a/src/mame/drivers/spool99.c b/src/mame/drivers/spool99.c
index 4d25ab6b512..7c8ab5e9c4e 100644
--- a/src/mame/drivers/spool99.c
+++ b/src/mame/drivers/spool99.c
@@ -94,13 +94,11 @@ Note
#include "sound/okim6295.h"
#include "machine/eeprom.h"
-class spool99_state : public driver_data_t
+class spool99_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, spool99_state(machine)); }
-
- spool99_state(running_machine &machine)
- : driver_data_t(machine) { }
+ spool99_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT8 *main;
tilemap_t *sc0_tilemap;
diff --git a/src/mame/drivers/sprcros2.c b/src/mame/drivers/sprcros2.c
index ee57489e47e..ee855119352 100644
--- a/src/mame/drivers/sprcros2.c
+++ b/src/mame/drivers/sprcros2.c
@@ -267,7 +267,7 @@ static MACHINE_START( sprcros2 )
state_save_register_global(machine, sprcros2_s_port3);
}
-static MACHINE_CONFIG_START( sprcros2, driver_data_t )
+static MACHINE_CONFIG_START( sprcros2, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("master", Z80,10000000/2)
diff --git a/src/mame/drivers/sprint2.c b/src/mame/drivers/sprint2.c
index d85d1d3b508..680dbbb26cc 100644
--- a/src/mame/drivers/sprint2.c
+++ b/src/mame/drivers/sprint2.c
@@ -492,7 +492,7 @@ static GFXDECODE_START( sprint2 )
GFXDECODE_END
-static MACHINE_CONFIG_START( sprint2, driver_data_t )
+static MACHINE_CONFIG_START( sprint2, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, 12096000 / 16)
diff --git a/src/mame/drivers/sprint4.c b/src/mame/drivers/sprint4.c
index 6076ce820c2..5cf12559399 100644
--- a/src/mame/drivers/sprint4.c
+++ b/src/mame/drivers/sprint4.c
@@ -402,7 +402,7 @@ static GFXDECODE_START( sprint4 )
GFXDECODE_END
-static MACHINE_CONFIG_START( sprint4, driver_data_t )
+static MACHINE_CONFIG_START( sprint4, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, PIXEL_CLOCK / 8)
diff --git a/src/mame/drivers/sprint8.c b/src/mame/drivers/sprint8.c
index fb8ec8dfa94..6bb71183f5c 100644
--- a/src/mame/drivers/sprint8.c
+++ b/src/mame/drivers/sprint8.c
@@ -452,7 +452,7 @@ static GFXDECODE_START( sprint8 )
GFXDECODE_END
-static MACHINE_CONFIG_START( sprint8, driver_data_t )
+static MACHINE_CONFIG_START( sprint8, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6800, 11055000 / 11) /* ? */
diff --git a/src/mame/drivers/srmp5.c b/src/mame/drivers/srmp5.c
index 78d910754f9..b74539f3f59 100644
--- a/src/mame/drivers/srmp5.c
+++ b/src/mame/drivers/srmp5.c
@@ -62,13 +62,11 @@ This is not a bug (real machine behaves the same).
#define SPRITE_DATA_GRANULARITY 0x80
-class srmp5_state : public driver_data_t
+class srmp5_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, srmp5_state(machine)); }
-
- srmp5_state(running_machine &machine)
- : driver_data_t(machine) { }
+ srmp5_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT32 databank;
UINT16 *tileram;
diff --git a/src/mame/drivers/srmp6.c b/src/mame/drivers/srmp6.c
index 0899a6ec594..0b915bd1492 100644
--- a/src/mame/drivers/srmp6.c
+++ b/src/mame/drivers/srmp6.c
@@ -71,13 +71,11 @@ Dumped 06/15/2000
#include "deprecat.h"
#include "sound/nile.h"
-class srmp6_state : public driver_data_t
+class srmp6_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, srmp6_state(machine)); }
-
- srmp6_state(running_machine &machine)
- : driver_data_t(machine) { }
+ srmp6_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT16* tileram;
UINT16* dmaram;
diff --git a/src/mame/drivers/srumbler.c b/src/mame/drivers/srumbler.c
index 2bebe9ac4cc..c1d5f9ed071 100644
--- a/src/mame/drivers/srumbler.c
+++ b/src/mame/drivers/srumbler.c
@@ -242,7 +242,7 @@ GFXDECODE_END
-static MACHINE_CONFIG_START( srumbler, driver_data_t )
+static MACHINE_CONFIG_START( srumbler, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6809, 1500000) /* 1.5 MHz (?) */
diff --git a/src/mame/drivers/ssfindo.c b/src/mame/drivers/ssfindo.c
index f19a876a017..ec7f4c46e3c 100644
--- a/src/mame/drivers/ssfindo.c
+++ b/src/mame/drivers/ssfindo.c
@@ -593,7 +593,7 @@ static INPUT_PORTS_START( ppcar )
INPUT_PORTS_END
-static MACHINE_CONFIG_START( ssfindo, driver_data_t )
+static MACHINE_CONFIG_START( ssfindo, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", ARM7, 54000000) // guess...
@@ -616,7 +616,7 @@ static MACHINE_CONFIG_START( ssfindo, driver_data_t )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( ppcar, driver_data_t )
+static MACHINE_CONFIG_START( ppcar, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", ARM7, 54000000) // guess...
diff --git a/src/mame/drivers/sshangha.c b/src/mame/drivers/sshangha.c
index 3f58b99a5fa..09b98482b80 100644
--- a/src/mame/drivers/sshangha.c
+++ b/src/mame/drivers/sshangha.c
@@ -353,7 +353,7 @@ static const ym2203_interface ym2203_config =
irqhandler
};
-static MACHINE_CONFIG_START( sshangha, driver_data_t )
+static MACHINE_CONFIG_START( sshangha, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 28000000/2)
diff --git a/src/mame/drivers/ssingles.c b/src/mame/drivers/ssingles.c
index 87bdf93d8a3..1ee28ca7bb1 100644
--- a/src/mame/drivers/ssingles.c
+++ b/src/mame/drivers/ssingles.c
@@ -150,13 +150,11 @@ Dumped by Chack'n
#define NUM_PENS (4*8)
#define VMEM_SIZE 0x100
-class ssingles_state : public driver_data_t
+class ssingles_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ssingles_state(machine)); }
-
- ssingles_state(running_machine &machine)
- : driver_data_t(machine) { }
+ ssingles_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT8 *videoram;
UINT8 *colorram;
diff --git a/src/mame/drivers/ssozumo.c b/src/mame/drivers/ssozumo.c
index 6880482e9f3..31dd2db23c5 100644
--- a/src/mame/drivers/ssozumo.c
+++ b/src/mame/drivers/ssozumo.c
@@ -189,7 +189,7 @@ static GFXDECODE_START( ssozumo )
GFXDECODE_END
-static MACHINE_CONFIG_START( ssozumo, driver_data_t )
+static MACHINE_CONFIG_START( ssozumo, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, 1200000) /* 1.2 MHz ???? */
diff --git a/src/mame/drivers/sspeedr.c b/src/mame/drivers/sspeedr.c
index 35ef445889d..f9e06745311 100644
--- a/src/mame/drivers/sspeedr.c
+++ b/src/mame/drivers/sspeedr.c
@@ -186,7 +186,7 @@ static GFXDECODE_START( sspeedr )
GFXDECODE_END
-static MACHINE_CONFIG_START( sspeedr, driver_data_t )
+static MACHINE_CONFIG_START( sspeedr, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, XTAL_19_968MHz/8)
diff --git a/src/mame/drivers/ssrj.c b/src/mame/drivers/ssrj.c
index 776153b1d09..0f34aafd581 100644
--- a/src/mame/drivers/ssrj.c
+++ b/src/mame/drivers/ssrj.c
@@ -148,7 +148,7 @@ static const ay8910_interface ay8910_config =
};
-static MACHINE_CONFIG_START( ssrj, driver_data_t )
+static MACHINE_CONFIG_START( ssrj, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80,8000000/2)
diff --git a/src/mame/drivers/sstrangr.c b/src/mame/drivers/sstrangr.c
index ebacfede4c5..20a71a8e7cc 100644
--- a/src/mame/drivers/sstrangr.c
+++ b/src/mame/drivers/sstrangr.c
@@ -14,13 +14,11 @@
#define NUM_PENS (8)
-class sstrangr_state : public driver_data_t
+class sstrangr_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, sstrangr_state(machine)); }
-
- sstrangr_state(running_machine &machine)
- : driver_data_t(machine) { }
+ sstrangr_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT8 *ram;
UINT8 flip_screen;
diff --git a/src/mame/drivers/st0016.c b/src/mame/drivers/st0016.c
index e0262dbc592..7212278759a 100644
--- a/src/mame/drivers/st0016.c
+++ b/src/mame/drivers/st0016.c
@@ -432,7 +432,7 @@ static const st0016_interface st0016_config =
*
*************************************/
-static MACHINE_CONFIG_START( st0016, driver_data_t )
+static MACHINE_CONFIG_START( st0016, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu",Z80,8000000) /* 8 MHz ? */
MDRV_CPU_PROGRAM_MAP(st0016_mem)
diff --git a/src/mame/drivers/stadhero.c b/src/mame/drivers/stadhero.c
index e6ede991948..2c0807e1d6a 100644
--- a/src/mame/drivers/stadhero.c
+++ b/src/mame/drivers/stadhero.c
@@ -219,7 +219,7 @@ static const ym3812_interface ym3812_config =
/******************************************************************************/
-static MACHINE_CONFIG_START( stadhero, driver_data_t )
+static MACHINE_CONFIG_START( stadhero, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 10000000)
diff --git a/src/mame/drivers/starcrus.c b/src/mame/drivers/starcrus.c
index 7578e5609fe..79c4314b28d 100644
--- a/src/mame/drivers/starcrus.c
+++ b/src/mame/drivers/starcrus.c
@@ -150,7 +150,7 @@ static const samples_interface starcrus_samples_interface =
};
-static MACHINE_CONFIG_START( starcrus, driver_data_t )
+static MACHINE_CONFIG_START( starcrus, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", I8080,9750000/9) /* 8224 chip is a divide by 9 */
diff --git a/src/mame/drivers/starfire.c b/src/mame/drivers/starfire.c
index f8c30cd76c5..c7cb934fefe 100644
--- a/src/mame/drivers/starfire.c
+++ b/src/mame/drivers/starfire.c
@@ -261,7 +261,7 @@ INPUT_PORTS_END
*
*************************************/
-static MACHINE_CONFIG_START( starfire, driver_data_t )
+static MACHINE_CONFIG_START( starfire, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, STARFIRE_CPU_CLOCK)
diff --git a/src/mame/drivers/starshp1.c b/src/mame/drivers/starshp1.c
index 39f34889b6b..b769b67058d 100644
--- a/src/mame/drivers/starshp1.c
+++ b/src/mame/drivers/starshp1.c
@@ -293,7 +293,7 @@ static GFXDECODE_START( starshp1 )
GFXDECODE_END
-static MACHINE_CONFIG_START( starshp1, driver_data_t )
+static MACHINE_CONFIG_START( starshp1, driver_device )
/* basic machine hardware */
diff --git a/src/mame/drivers/starwars.c b/src/mame/drivers/starwars.c
index eaa4f7f1b7a..6632347a67c 100644
--- a/src/mame/drivers/starwars.c
+++ b/src/mame/drivers/starwars.c
@@ -324,7 +324,7 @@ INPUT_PORTS_END
*
*************************************/
-static MACHINE_CONFIG_START( starwars, driver_data_t )
+static MACHINE_CONFIG_START( starwars, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6809, MASTER_CLOCK / 8)
diff --git a/src/mame/drivers/statriv2.c b/src/mame/drivers/statriv2.c
index b6e09532541..7d3cf632b07 100644
--- a/src/mame/drivers/statriv2.c
+++ b/src/mame/drivers/statriv2.c
@@ -567,7 +567,7 @@ static const tms9927_interface tms9927_intf =
*
*************************************/
-static MACHINE_CONFIG_START( statriv2, driver_data_t )
+static MACHINE_CONFIG_START( statriv2, driver_device )
/* basic machine hardware */
/* FIXME: The 8085A had a max clock of 6MHz, internally divided by 2! */
MDRV_CPU_ADD("maincpu", I8085A, MASTER_CLOCK)
diff --git a/src/mame/drivers/stepstag.c b/src/mame/drivers/stepstag.c
index 0551c3172fa..ce4bb192aa4 100644
--- a/src/mame/drivers/stepstag.c
+++ b/src/mame/drivers/stepstag.c
@@ -108,7 +108,7 @@ static VIDEO_UPDATE(stepstag)
return 0;
}
-static MACHINE_CONFIG_START( stepstag, driver_data_t )
+static MACHINE_CONFIG_START( stepstag, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 16000000 ) //??
MDRV_CPU_PROGRAM_MAP(stepstag_map)
diff --git a/src/mame/drivers/stfight.c b/src/mame/drivers/stfight.c
index 30fc3d3e287..e7eb19c26f3 100644
--- a/src/mame/drivers/stfight.c
+++ b/src/mame/drivers/stfight.c
@@ -431,7 +431,7 @@ static const msm5205_interface msm5205_config =
MSM5205_S48_4B /* 8KHz */
};
-static MACHINE_CONFIG_START( stfight, driver_data_t )
+static MACHINE_CONFIG_START( stfight, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 3000000) /* 3 MHz */
diff --git a/src/mame/drivers/strnskil.c b/src/mame/drivers/strnskil.c
index e86a19c0136..d99965c1ac6 100644
--- a/src/mame/drivers/strnskil.c
+++ b/src/mame/drivers/strnskil.c
@@ -321,7 +321,7 @@ static GFXDECODE_START( strnskil )
GFXDECODE_END
-static MACHINE_CONFIG_START( strnskil, driver_data_t )
+static MACHINE_CONFIG_START( strnskil, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80,8000000/2) /* 4.000MHz */
diff --git a/src/mame/drivers/stv.c b/src/mame/drivers/stv.c
index 9de247c3492..37b113c30a9 100644
--- a/src/mame/drivers/stv.c
+++ b/src/mame/drivers/stv.c
@@ -2852,7 +2852,7 @@ static MACHINE_RESET( stv )
}
-static MACHINE_CONFIG_START( stv, driver_data_t )
+static MACHINE_CONFIG_START( stv, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", SH2, MASTER_CLOCK_352/2) // 28.6364 MHz
diff --git a/src/mame/drivers/sub.c b/src/mame/drivers/sub.c
index 5938f08b273..35ffb66e1a8 100644
--- a/src/mame/drivers/sub.c
+++ b/src/mame/drivers/sub.c
@@ -112,13 +112,11 @@ PCB2 (Top board, CPU board)
#define MASTER_CLOCK XTAL_18_432MHz
-class sub_state : public driver_data_t
+class sub_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, sub_state(machine)); }
-
- sub_state(running_machine &machine)
- : driver_data_t(machine) { }
+ sub_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT8* vid;
UINT8* attr;
diff --git a/src/mame/drivers/subs.c b/src/mame/drivers/subs.c
index 97918b43a83..33530dbd634 100644
--- a/src/mame/drivers/subs.c
+++ b/src/mame/drivers/subs.c
@@ -175,7 +175,7 @@ GFXDECODE_END
*
*************************************/
-static MACHINE_CONFIG_START( subs, driver_data_t )
+static MACHINE_CONFIG_START( subs, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502,12096000/16) /* clock input is the "4H" signal */
diff --git a/src/mame/drivers/subsino.c b/src/mame/drivers/subsino.c
index 86d536eca88..76712c56d4b 100644
--- a/src/mame/drivers/subsino.c
+++ b/src/mame/drivers/subsino.c
@@ -2217,7 +2217,7 @@ GFXDECODE_END
* Machine Drivers *
***************************************************************************/
-static MACHINE_CONFIG_START( victor21, driver_data_t )
+static MACHINE_CONFIG_START( victor21, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z180, XTAL_12MHz / 8) /* Unknown clock */
MDRV_CPU_PROGRAM_MAP(victor21_map)
@@ -2258,7 +2258,7 @@ static MACHINE_CONFIG_DERIVED( victor5, victor21 )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( crsbingo, driver_data_t )
+static MACHINE_CONFIG_START( crsbingo, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z180, XTAL_12MHz / 8) /* Unknown CPU and clock */
MDRV_CPU_PROGRAM_MAP(crsbingo_map)
@@ -2288,7 +2288,7 @@ static MACHINE_CONFIG_START( crsbingo, driver_data_t )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( srider, driver_data_t )
+static MACHINE_CONFIG_START( srider, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z180, XTAL_12MHz / 8) /* Unknown clock */
MDRV_CPU_PROGRAM_MAP(srider_map)
@@ -2328,7 +2328,7 @@ static MACHINE_CONFIG_DERIVED( sharkpy, srider )
MDRV_CPU_PROGRAM_MAP(sharkpy_map)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( tisub, driver_data_t )
+static MACHINE_CONFIG_START( tisub, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z180, XTAL_12MHz / 8) /* Unknown CPU and clock */
MDRV_CPU_PROGRAM_MAP(tisub_map)
@@ -2357,7 +2357,7 @@ static MACHINE_CONFIG_START( tisub, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( stisub, driver_data_t )
+static MACHINE_CONFIG_START( stisub, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z180, XTAL_12MHz / 8) /* Unknown clock */
MDRV_CPU_PROGRAM_MAP(stisub_map)
diff --git a/src/mame/drivers/suna16.c b/src/mame/drivers/suna16.c
index 47be84b31e2..7ab22fba4bc 100644
--- a/src/mame/drivers/suna16.c
+++ b/src/mame/drivers/suna16.c
@@ -759,7 +759,7 @@ static INTERRUPT_GEN( bssoccer_interrupt )
}
}
-static MACHINE_CONFIG_START( bssoccer, driver_data_t )
+static MACHINE_CONFIG_START( bssoccer, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 8000000) /* ? */
@@ -819,7 +819,7 @@ MACHINE_CONFIG_END
Ultra Balloon
***************************************************************************/
-static MACHINE_CONFIG_START( uballoon, driver_data_t )
+static MACHINE_CONFIG_START( uballoon, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 8000000)
@@ -871,7 +871,7 @@ MACHINE_CONFIG_END
Suna Quiz 6000 Academy
***************************************************************************/
-static MACHINE_CONFIG_START( sunaq, driver_data_t )
+static MACHINE_CONFIG_START( sunaq, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 24000000/4)
MDRV_CPU_PROGRAM_MAP(sunaq_map)
@@ -943,7 +943,7 @@ static const ay8910_interface bestbest_ay8910_interface =
DEVCB_HANDLER(bestbest_ay8910_port_a_w), DEVCB_NULL
};
-static MACHINE_CONFIG_START( bestbest, driver_data_t )
+static MACHINE_CONFIG_START( bestbest, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 24000000/4)
MDRV_CPU_PROGRAM_MAP(bestbest_map)
diff --git a/src/mame/drivers/suna8.c b/src/mame/drivers/suna8.c
index 767c7350d74..629d37db6d4 100644
--- a/src/mame/drivers/suna8.c
+++ b/src/mame/drivers/suna8.c
@@ -1465,7 +1465,7 @@ static const samples_interface suna8_samples_interface =
suna8_sh_start
};
-static MACHINE_CONFIG_START( hardhead, driver_data_t )
+static MACHINE_CONFIG_START( hardhead, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, SUNA8_MASTER_CLOCK / 4) /* verified on pcb */
@@ -1531,7 +1531,7 @@ static const ym2203_interface rranger_ym2203_interface =
};
/* 2203 + 8910 */
-static MACHINE_CONFIG_START( rranger, driver_data_t )
+static MACHINE_CONFIG_START( rranger, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, SUNA8_MASTER_CLOCK / 4) /* ? */
@@ -1593,7 +1593,7 @@ static INTERRUPT_GEN( brickzn_interrupt )
else cpu_set_input_line(device, 0, HOLD_LINE);
}
-static MACHINE_CONFIG_START( brickzn, driver_data_t )
+static MACHINE_CONFIG_START( brickzn, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, SUNA8_MASTER_CLOCK / 4) /* SUNA PROTECTION BLOCK */
@@ -1693,7 +1693,7 @@ static const ay8910_interface starfigh_ay8910_interface =
DEVCB_DEVICE_HANDLER("samples", suna8_samples_number_w)
};
-static MACHINE_CONFIG_START( starfigh, driver_data_t )
+static MACHINE_CONFIG_START( starfigh, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, SUNA8_MASTER_CLOCK / 4) /* ? */
@@ -1752,7 +1752,7 @@ static INTERRUPT_GEN( sparkman_interrupt )
else cpu_set_input_line(device, 0, HOLD_LINE);
}
-static MACHINE_CONFIG_START( sparkman, driver_data_t )
+static MACHINE_CONFIG_START( sparkman, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, SUNA8_MASTER_CLOCK / 4) /* ? */
diff --git a/src/mame/drivers/supdrapo.c b/src/mame/drivers/supdrapo.c
index 2f6170c89ff..ec1a744a7fe 100644
--- a/src/mame/drivers/supdrapo.c
+++ b/src/mame/drivers/supdrapo.c
@@ -64,13 +64,11 @@
#include "cpu/z80/z80.h"
#include "sound/ay8910.h"
-class supdrapo_state : public driver_data_t
+class supdrapo_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, supdrapo_state(machine)); }
-
- supdrapo_state(running_machine &machine)
- : driver_data_t(machine) { }
+ supdrapo_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT8 *char_bank;
UINT8 *col_line;
diff --git a/src/mame/drivers/superchs.c b/src/mame/drivers/superchs.c
index 20d375bbdcc..1590a6cf971 100644
--- a/src/mame/drivers/superchs.c
+++ b/src/mame/drivers/superchs.c
@@ -369,7 +369,7 @@ static const tc0480scp_interface superchs_tc0480scp_intf =
0 /* col_base */
};
-static MACHINE_CONFIG_START( superchs, driver_data_t )
+static MACHINE_CONFIG_START( superchs, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68EC020, 16000000) /* 16 MHz */
diff --git a/src/mame/drivers/superdq.c b/src/mame/drivers/superdq.c
index e9aa77be2d9..b29311c19e8 100644
--- a/src/mame/drivers/superdq.c
+++ b/src/mame/drivers/superdq.c
@@ -27,13 +27,11 @@
#include "machine/laserdsc.h"
#include "video/resnet.h"
-class superdq_state : public driver_data_t
+class superdq_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, superdq_state(machine)); }
-
- superdq_state(running_machine &machine)
- : driver_data_t(machine) { }
+ superdq_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
running_device *laserdisc;
UINT8 ld_in_latch;
diff --git a/src/mame/drivers/superqix.c b/src/mame/drivers/superqix.c
index 393ac5f77c5..24e063dd9b5 100644
--- a/src/mame/drivers/superqix.c
+++ b/src/mame/drivers/superqix.c
@@ -1028,7 +1028,7 @@ static INTERRUPT_GEN( bootleg_interrupt )
-static MACHINE_CONFIG_START( pbillian, driver_data_t )
+static MACHINE_CONFIG_START( pbillian, driver_device )
MDRV_CPU_ADD("maincpu", Z80,12000000/2) /* 6 MHz */
MDRV_CPU_PROGRAM_MAP(main_map)
MDRV_CPU_IO_MAP(pbillian_port_map)
@@ -1061,7 +1061,7 @@ static MACHINE_CONFIG_START( pbillian, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( hotsmash, driver_data_t )
+static MACHINE_CONFIG_START( hotsmash, driver_device )
MDRV_CPU_ADD("maincpu", Z80,12000000/2) /* 6 MHz */
MDRV_CPU_PROGRAM_MAP(main_map)
MDRV_CPU_IO_MAP(hotsmash_port_map)
@@ -1097,7 +1097,7 @@ static MACHINE_CONFIG_START( hotsmash, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( sqix, driver_data_t )
+static MACHINE_CONFIG_START( sqix, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 12000000/2) /* 6 MHz */
@@ -1146,7 +1146,7 @@ static MACHINE_CONFIG_DERIVED( sqixu, sqix )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( sqixbl, driver_data_t )
+static MACHINE_CONFIG_START( sqixbl, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 12000000/2) /* 6 MHz */
diff --git a/src/mame/drivers/supertnk.c b/src/mame/drivers/supertnk.c
index 69eaa000760..51960149606 100644
--- a/src/mame/drivers/supertnk.c
+++ b/src/mame/drivers/supertnk.c
@@ -105,13 +105,11 @@ CRU lines:
every 8 bytes */
#define NUM_PENS (8)
-class supertnk_state : public driver_data_t
+class supertnk_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, supertnk_state(machine)); }
-
- supertnk_state(running_machine &machine)
- : driver_data_t(machine) { }
+ supertnk_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT8 *videoram[3];
UINT8 rom_bank;
diff --git a/src/mame/drivers/suprgolf.c b/src/mame/drivers/suprgolf.c
index c9b63658ed2..b5e563f1bd9 100644
--- a/src/mame/drivers/suprgolf.c
+++ b/src/mame/drivers/suprgolf.c
@@ -24,13 +24,11 @@
#include "sound/2203intf.h"
#include "sound/msm5205.h"
-class suprgolf_state : public driver_data_t
+class suprgolf_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, suprgolf_state(machine)); }
-
- suprgolf_state(running_machine &machine)
- : driver_data_t(machine) { }
+ suprgolf_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
tilemap_t *tilemap;
UINT8 *videoram;
diff --git a/src/mame/drivers/suprloco.c b/src/mame/drivers/suprloco.c
index ba091a3734c..cef0621c774 100644
--- a/src/mame/drivers/suprloco.c
+++ b/src/mame/drivers/suprloco.c
@@ -164,7 +164,7 @@ GFXDECODE_END
-static MACHINE_CONFIG_START( suprloco, driver_data_t )
+static MACHINE_CONFIG_START( suprloco, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz (?) */
diff --git a/src/mame/drivers/suprnova.c b/src/mame/drivers/suprnova.c
index 282949141fe..c0c165a7986 100644
--- a/src/mame/drivers/suprnova.c
+++ b/src/mame/drivers/suprnova.c
@@ -830,7 +830,7 @@ static const ymz280b_interface ymz280b_intf =
0 // irq ?
};
-static MACHINE_CONFIG_START( skns, driver_data_t )
+static MACHINE_CONFIG_START( skns, driver_device )
MDRV_CPU_ADD("maincpu", SH2,28638000)
MDRV_CPU_PROGRAM_MAP(skns_map)
MDRV_CPU_VBLANK_INT_HACK(skns_interrupt,2)
diff --git a/src/mame/drivers/suprridr.c b/src/mame/drivers/suprridr.c
index b2cd3f6dcd3..6dcc25c365f 100644
--- a/src/mame/drivers/suprridr.c
+++ b/src/mame/drivers/suprridr.c
@@ -354,7 +354,7 @@ static const ay8910_interface ay8910_config =
*
*************************************/
-static MACHINE_CONFIG_START( suprridr, driver_data_t )
+static MACHINE_CONFIG_START( suprridr, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, XTAL_49_152MHz/16) /* 3 MHz */
diff --git a/src/mame/drivers/system1.c b/src/mame/drivers/system1.c
index 56e59318ba4..c424e656b9a 100644
--- a/src/mame/drivers/system1.c
+++ b/src/mame/drivers/system1.c
@@ -2099,7 +2099,7 @@ static Z80PIO_INTERFACE( pio_interface )
*************************************/
/* original board with 64kbit ROMs and an 8255 PPI for outputs */
-static MACHINE_CONFIG_START( sys1ppi, driver_data_t )
+static MACHINE_CONFIG_START( sys1ppi, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK) /* not really, see notes above */
diff --git a/src/mame/drivers/tagteam.c b/src/mame/drivers/tagteam.c
index 48f39ac416e..894371c7199 100644
--- a/src/mame/drivers/tagteam.c
+++ b/src/mame/drivers/tagteam.c
@@ -226,7 +226,7 @@ GFXDECODE_END
-static MACHINE_CONFIG_START( tagteam, driver_data_t )
+static MACHINE_CONFIG_START( tagteam, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, 1500000) /* 1.5 MHz ?? */
diff --git a/src/mame/drivers/taito_f3.c b/src/mame/drivers/taito_f3.c
index 71a639abbcd..bcdf6242a72 100644
--- a/src/mame/drivers/taito_f3.c
+++ b/src/mame/drivers/taito_f3.c
@@ -389,7 +389,7 @@ static MACHINE_START(f3)
state_save_register_global_array(machine, coin_word);
}
-static MACHINE_CONFIG_START( f3, driver_data_t )
+static MACHINE_CONFIG_START( f3, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68EC020, XTAL_16MHz)
@@ -485,7 +485,7 @@ static GFXDECODE_START( bubsympb )
GFXDECODE_ENTRY( NULL, 0x000000, pivotlayout, 0, 64 ) /* Dynamically modified */
GFXDECODE_END
-static MACHINE_CONFIG_START( bubsympb, driver_data_t )
+static MACHINE_CONFIG_START( bubsympb, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68EC020, XTAL_16MHz)
MDRV_CPU_PROGRAM_MAP(f3_map)
diff --git a/src/mame/drivers/taitogn.c b/src/mame/drivers/taitogn.c
index 5d7c3140956..1a920c36f25 100644
--- a/src/mame/drivers/taitogn.c
+++ b/src/mame/drivers/taitogn.c
@@ -916,7 +916,7 @@ static const psx_spu_interface psxspu_interface =
psx_dma_install_write_handler
};
-static MACHINE_CONFIG_START( coh3002t, driver_data_t )
+static MACHINE_CONFIG_START( coh3002t, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD( "maincpu", PSXCPU, XTAL_100MHz )
MDRV_CPU_PROGRAM_MAP( zn_map)
diff --git a/src/mame/drivers/taitopjc.c b/src/mame/drivers/taitopjc.c
index b4997df1a68..3b09245de2c 100644
--- a/src/mame/drivers/taitopjc.c
+++ b/src/mame/drivers/taitopjc.c
@@ -86,7 +86,7 @@ static const powerpc_config ppc603e_config =
XTAL_66_6667MHz /* Multiplier 1.5, Bus = 66MHz, Core = 100MHz */
};
-static MACHINE_CONFIG_START( taitopjc, driver_data_t )
+static MACHINE_CONFIG_START( taitopjc, driver_device )
MDRV_CPU_ADD("maincpu", PPC603E, 100000000)
MDRV_CPU_CONFIG(ppc603e_config)
MDRV_CPU_PROGRAM_MAP(ppc603e_mem)
diff --git a/src/mame/drivers/taitosj.c b/src/mame/drivers/taitosj.c
index a1ffa2fce41..69b5773330c 100644
--- a/src/mame/drivers/taitosj.c
+++ b/src/mame/drivers/taitosj.c
@@ -1790,7 +1790,7 @@ static const ay8910_interface ay8910_interface_4 =
-static MACHINE_CONFIG_START( nomcu, driver_data_t )
+static MACHINE_CONFIG_START( nomcu, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu",Z80,8000000/2) /* 4 MHz */
diff --git a/src/mame/drivers/taitotz.c b/src/mame/drivers/taitotz.c
index 1b770f11609..719ecba937f 100644
--- a/src/mame/drivers/taitotz.c
+++ b/src/mame/drivers/taitotz.c
@@ -102,7 +102,7 @@ static const powerpc_config ppc603e_config =
};
-static MACHINE_CONFIG_START( taitotz, driver_data_t )
+static MACHINE_CONFIG_START( taitotz, driver_device )
MDRV_CPU_ADD("maincpu", PPC603E, 100000000)
MDRV_CPU_CONFIG(ppc603e_config)
MDRV_CPU_PROGRAM_MAP(ppc603e_mem)
diff --git a/src/mame/drivers/taitowlf.c b/src/mame/drivers/taitowlf.c
index 9b43e741e62..8806ce88691 100644
--- a/src/mame/drivers/taitowlf.c
+++ b/src/mame/drivers/taitowlf.c
@@ -597,7 +597,7 @@ static const struct pit8253_config taitowlf_pit8254_config =
}
};
-static MACHINE_CONFIG_START( taitowlf, driver_data_t )
+static MACHINE_CONFIG_START( taitowlf, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", PENTIUM, 200000000)
diff --git a/src/mame/drivers/tank8.c b/src/mame/drivers/tank8.c
index 7714be84ccd..65d1848a598 100644
--- a/src/mame/drivers/tank8.c
+++ b/src/mame/drivers/tank8.c
@@ -324,7 +324,7 @@ static GFXDECODE_START( tank8 )
GFXDECODE_END
-static MACHINE_CONFIG_START( tank8, driver_data_t )
+static MACHINE_CONFIG_START( tank8, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6800, 11055000 / 10) /* ? */
diff --git a/src/mame/drivers/tankbatt.c b/src/mame/drivers/tankbatt.c
index 1d863539c00..77488f998b1 100644
--- a/src/mame/drivers/tankbatt.c
+++ b/src/mame/drivers/tankbatt.c
@@ -297,7 +297,7 @@ static const samples_interface tankbatt_samples_interface =
-static MACHINE_CONFIG_START( tankbatt, driver_data_t )
+static MACHINE_CONFIG_START( tankbatt, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, 1000000) /* 1 MHz ???? */
diff --git a/src/mame/drivers/tankbust.c b/src/mame/drivers/tankbust.c
index a099bae11a8..d7c9a02ddb3 100644
--- a/src/mame/drivers/tankbust.c
+++ b/src/mame/drivers/tankbust.c
@@ -339,7 +339,7 @@ static MACHINE_RESET( tankbust )
}
-static MACHINE_CONFIG_START( tankbust, driver_data_t )
+static MACHINE_CONFIG_START( tankbust, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz ? */
diff --git a/src/mame/drivers/taotaido.c b/src/mame/drivers/taotaido.c
index c0b9863fa18..1d59aeac781 100644
--- a/src/mame/drivers/taotaido.c
+++ b/src/mame/drivers/taotaido.c
@@ -330,7 +330,7 @@ static const ym2610_interface ym2610_config =
irqhandler
};
-static MACHINE_CONFIG_START( taotaido, driver_data_t )
+static MACHINE_CONFIG_START( taotaido, driver_device )
MDRV_CPU_ADD("maincpu", M68000, 32000000/2)
MDRV_CPU_PROGRAM_MAP(main_map)
MDRV_CPU_VBLANK_INT("screen", irq1_line_hold)
diff --git a/src/mame/drivers/targeth.c b/src/mame/drivers/targeth.c
index ae96772093d..1b8111ffc93 100644
--- a/src/mame/drivers/targeth.c
+++ b/src/mame/drivers/targeth.c
@@ -176,7 +176,7 @@ static INPUT_PORTS_START( targeth )
INPUT_PORTS_END
-static MACHINE_CONFIG_START( targeth, driver_data_t )
+static MACHINE_CONFIG_START( targeth, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000,24000000/2) /* 12 MHz */
diff --git a/src/mame/drivers/tatsumi.c b/src/mame/drivers/tatsumi.c
index ac968576681..7cd06f525cf 100644
--- a/src/mame/drivers/tatsumi.c
+++ b/src/mame/drivers/tatsumi.c
@@ -855,7 +855,7 @@ static MACHINE_RESET( apache3 )
}
-static MACHINE_CONFIG_START( apache3, driver_data_t )
+static MACHINE_CONFIG_START( apache3, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", V30, CLOCK_1 / 2)
@@ -901,7 +901,7 @@ static MACHINE_CONFIG_START( apache3, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.75)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( roundup5, driver_data_t )
+static MACHINE_CONFIG_START( roundup5, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", V30, CLOCK_1 / 2)
@@ -943,7 +943,7 @@ static MACHINE_CONFIG_START( roundup5, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.75)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( cyclwarr, driver_data_t )
+static MACHINE_CONFIG_START( cyclwarr, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, CLOCK_2 / 4)
@@ -986,7 +986,7 @@ static MACHINE_CONFIG_START( cyclwarr, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.75)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( bigfight, driver_data_t )
+static MACHINE_CONFIG_START( bigfight, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, CLOCK_2 / 4)
diff --git a/src/mame/drivers/tattack.c b/src/mame/drivers/tattack.c
index 129ca86bb7c..e6e96aec1bd 100644
--- a/src/mame/drivers/tattack.c
+++ b/src/mame/drivers/tattack.c
@@ -180,7 +180,7 @@ static PALETTE_INIT( tattack )
}
-static MACHINE_CONFIG_START( tattack, driver_data_t )
+static MACHINE_CONFIG_START( tattack, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 8000000 / 2) /* 4 MHz ? */
diff --git a/src/mame/drivers/taxidrvr.c b/src/mame/drivers/taxidrvr.c
index 6a526b3b034..91d59ab167f 100644
--- a/src/mame/drivers/taxidrvr.c
+++ b/src/mame/drivers/taxidrvr.c
@@ -358,7 +358,7 @@ static const ay8910_interface ay8910_interface_2 =
-static MACHINE_CONFIG_START( taxidrvr, driver_data_t )
+static MACHINE_CONFIG_START( taxidrvr, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80,4000000) /* 4 MHz ??? */
diff --git a/src/mame/drivers/tbowl.c b/src/mame/drivers/tbowl.c
index 2d7c6a60785..26d2444cdf9 100644
--- a/src/mame/drivers/tbowl.c
+++ b/src/mame/drivers/tbowl.c
@@ -477,7 +477,7 @@ static MACHINE_RESET( tbowl )
adpcm_data[0] = adpcm_data[1] = -1;
}
-static MACHINE_CONFIG_START( tbowl, driver_data_t )
+static MACHINE_CONFIG_START( tbowl, driver_device )
/* CPU on Board '6206B' */
MDRV_CPU_ADD("maincpu", Z80, 8000000) /* NEC D70008AC-8 (Z80 Clone) */
diff --git a/src/mame/drivers/tceptor.c b/src/mame/drivers/tceptor.c
index 83c509fd33e..db02e05b41b 100644
--- a/src/mame/drivers/tceptor.c
+++ b/src/mame/drivers/tceptor.c
@@ -377,7 +377,7 @@ static MACHINE_RESET( tceptor )
/*******************************************************************/
-static MACHINE_CONFIG_START( tceptor, driver_data_t )
+static MACHINE_CONFIG_START( tceptor, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6809, 49152000/32)
diff --git a/src/mame/drivers/tcl.c b/src/mame/drivers/tcl.c
index 08d33da3256..328872aaaa0 100644
--- a/src/mame/drivers/tcl.c
+++ b/src/mame/drivers/tcl.c
@@ -112,7 +112,7 @@ static const ppi8255_interface ppi8255_intf[2] =
};
-static MACHINE_CONFIG_START( tcl, driver_data_t )
+static MACHINE_CONFIG_START( tcl, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80,12000000/4)
diff --git a/src/mame/drivers/tecmo.c b/src/mame/drivers/tecmo.c
index a29bd1be196..2b48ea5cced 100644
--- a/src/mame/drivers/tecmo.c
+++ b/src/mame/drivers/tecmo.c
@@ -675,7 +675,7 @@ static MACHINE_RESET( rygar )
adpcm_data = -1;
}
-static MACHINE_CONFIG_START( rygar, driver_data_t )
+static MACHINE_CONFIG_START( rygar, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, XTAL_24MHz/4) /* verified on pcb */
@@ -735,7 +735,7 @@ static MACHINE_CONFIG_DERIVED( silkworm, gemini )
MACHINE_CONFIG_END
#ifdef UNUSED_CODE
-static MACHINE_CONFIG_START( backfirt, driver_data_t )
+static MACHINE_CONFIG_START( backfirt, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, XTAL_24MHz/4)
diff --git a/src/mame/drivers/tecmo16.c b/src/mame/drivers/tecmo16.c
index bbd56b2234b..85951d372b0 100644
--- a/src/mame/drivers/tecmo16.c
+++ b/src/mame/drivers/tecmo16.c
@@ -398,7 +398,7 @@ static const ym2151_interface ym2151_config =
/******************************************************************************/
-static MACHINE_CONFIG_START( fstarfrc, driver_data_t )
+static MACHINE_CONFIG_START( fstarfrc, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000,24000000/2) /* 12MHz */
diff --git a/src/mame/drivers/tecmosys.c b/src/mame/drivers/tecmosys.c
index 09d1e0f46ae..005380d2f95 100644
--- a/src/mame/drivers/tecmosys.c
+++ b/src/mame/drivers/tecmosys.c
@@ -876,7 +876,7 @@ static const ymf262_interface tecmosys_ymf262_interface =
};
-static MACHINE_CONFIG_START( deroon, driver_data_t )
+static MACHINE_CONFIG_START( deroon, driver_device )
MDRV_CPU_ADD("maincpu", M68000, 16000000)
MDRV_CPU_PROGRAM_MAP(main_map)
MDRV_CPU_VBLANK_INT("screen", irq1_line_hold)
diff --git a/src/mame/drivers/tehkanwc.c b/src/mame/drivers/tehkanwc.c
index 7381660006b..12fe33f4d3d 100644
--- a/src/mame/drivers/tehkanwc.c
+++ b/src/mame/drivers/tehkanwc.c
@@ -657,7 +657,7 @@ static const msm5205_interface msm5205_config =
MSM5205_S48_4B /* 8KHz */
};
-static MACHINE_CONFIG_START( tehkanwc, driver_data_t )
+static MACHINE_CONFIG_START( tehkanwc, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 18432000/4) /* 18.432000 / 4 */
diff --git a/src/mame/drivers/tempest.c b/src/mame/drivers/tempest.c
index 14aa62e66e3..e825aefbbf4 100644
--- a/src/mame/drivers/tempest.c
+++ b/src/mame/drivers/tempest.c
@@ -570,7 +570,7 @@ static const pokey_interface pokey_interface_2 =
*
*************************************/
-static MACHINE_CONFIG_START( tempest, driver_data_t )
+static MACHINE_CONFIG_START( tempest, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, MASTER_CLOCK / 8)
diff --git a/src/mame/drivers/terracre.c b/src/mame/drivers/terracre.c
index 667a67241df..c6760777750 100644
--- a/src/mame/drivers/terracre.c
+++ b/src/mame/drivers/terracre.c
@@ -539,7 +539,7 @@ static GFXDECODE_START( terracre )
GFXDECODE_ENTRY( "gfx3", 0, sprite_layout, 1*16+16*16, 256 )
GFXDECODE_END
-static MACHINE_CONFIG_START( amazon, driver_data_t )
+static MACHINE_CONFIG_START( amazon, driver_device )
MDRV_CPU_ADD("maincpu", M68000, 8000000 )
MDRV_CPU_PROGRAM_MAP(amazon_map)
MDRV_CPU_VBLANK_INT("screen", irq1_line_hold)
@@ -578,7 +578,7 @@ static MACHINE_CONFIG_START( amazon, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( ym3526, driver_data_t )
+static MACHINE_CONFIG_START( ym3526, driver_device )
MDRV_CPU_ADD("maincpu", M68000, 8000000 )
MDRV_CPU_PROGRAM_MAP(terracre_map)
MDRV_CPU_VBLANK_INT("screen", irq1_line_hold)
@@ -615,7 +615,7 @@ static MACHINE_CONFIG_START( ym3526, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( ym2203, driver_data_t )
+static MACHINE_CONFIG_START( ym2203, driver_device )
MDRV_CPU_ADD("maincpu", M68000, 8000000) /* 8 MHz?? */
MDRV_CPU_PROGRAM_MAP(terracre_map)
MDRV_CPU_VBLANK_INT("screen", irq1_line_hold)
diff --git a/src/mame/drivers/tetrisp2.c b/src/mame/drivers/tetrisp2.c
index 7a33011d0f1..1218db716ec 100644
--- a/src/mame/drivers/tetrisp2.c
+++ b/src/mame/drivers/tetrisp2.c
@@ -1106,7 +1106,7 @@ static DRIVER_INIT( rockn3 )
}
-static MACHINE_CONFIG_START( tetrisp2, driver_data_t )
+static MACHINE_CONFIG_START( tetrisp2, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 12000000)
@@ -1139,7 +1139,7 @@ static MACHINE_CONFIG_START( tetrisp2, driver_data_t )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( nndmseal, driver_data_t )
+static MACHINE_CONFIG_START( nndmseal, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, XTAL_12MHz)
@@ -1170,7 +1170,7 @@ static MACHINE_CONFIG_START( nndmseal, driver_data_t )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( rockn, driver_data_t )
+static MACHINE_CONFIG_START( rockn, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 12000000)
@@ -1202,7 +1202,7 @@ static MACHINE_CONFIG_START( rockn, driver_data_t )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( rockn2, driver_data_t )
+static MACHINE_CONFIG_START( rockn2, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 12000000)
@@ -1234,7 +1234,7 @@ static MACHINE_CONFIG_START( rockn2, driver_data_t )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( rocknms, driver_data_t )
+static MACHINE_CONFIG_START( rocknms, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 12000000)
diff --git a/src/mame/drivers/tgtpanic.c b/src/mame/drivers/tgtpanic.c
index 0fa963654af..446dac39ccd 100644
--- a/src/mame/drivers/tgtpanic.c
+++ b/src/mame/drivers/tgtpanic.c
@@ -117,7 +117,7 @@ INPUT_PORTS_END
*
*************************************/
-static MACHINE_CONFIG_START( tgtpanic, driver_data_t )
+static MACHINE_CONFIG_START( tgtpanic, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, XTAL_4MHz)
diff --git a/src/mame/drivers/thayers.c b/src/mame/drivers/thayers.c
index de277235d81..a9b5b6c6170 100644
--- a/src/mame/drivers/thayers.c
+++ b/src/mame/drivers/thayers.c
@@ -755,7 +755,7 @@ static COP400_INTERFACE( thayers_cop_intf )
/* Machine Driver */
-static MACHINE_CONFIG_START( thayers, driver_data_t )
+static MACHINE_CONFIG_START( thayers, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, XTAL_4MHz)
MDRV_CPU_PROGRAM_MAP(thayers_map)
diff --git a/src/mame/drivers/thedeep.c b/src/mame/drivers/thedeep.c
index 6140b59c846..9fe47868537 100644
--- a/src/mame/drivers/thedeep.c
+++ b/src/mame/drivers/thedeep.c
@@ -349,7 +349,7 @@ static INTERRUPT_GEN( thedeep_interrupt )
}
}
-static MACHINE_CONFIG_START( thedeep, driver_data_t )
+static MACHINE_CONFIG_START( thedeep, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, XTAL_12MHz/2) /* verified on pcb */
diff --git a/src/mame/drivers/thepit.c b/src/mame/drivers/thepit.c
index e70478529b0..8e8bf994e71 100644
--- a/src/mame/drivers/thepit.c
+++ b/src/mame/drivers/thepit.c
@@ -648,7 +648,7 @@ static const ay8910_interface ay8910_config =
};
-static MACHINE_CONFIG_START( thepit, driver_data_t )
+static MACHINE_CONFIG_START( thepit, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, PIXEL_CLOCK/2) /* 3.072 MHz */
diff --git a/src/mame/drivers/thief.c b/src/mame/drivers/thief.c
index 6520152a1bb..5eac44348a3 100644
--- a/src/mame/drivers/thief.c
+++ b/src/mame/drivers/thief.c
@@ -448,7 +448,7 @@ static const tms9927_interface tms9927_intf =
};
-static MACHINE_CONFIG_START( sharkatt, driver_data_t )
+static MACHINE_CONFIG_START( sharkatt, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz? */
@@ -486,7 +486,7 @@ static MACHINE_CONFIG_START( sharkatt, driver_data_t )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( thief, driver_data_t )
+static MACHINE_CONFIG_START( thief, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz? */
@@ -524,7 +524,7 @@ static MACHINE_CONFIG_START( thief, driver_data_t )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( natodef, driver_data_t )
+static MACHINE_CONFIG_START( natodef, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz? */
diff --git a/src/mame/drivers/thoop2.c b/src/mame/drivers/thoop2.c
index d44c1dafd69..c73d11e8832 100644
--- a/src/mame/drivers/thoop2.c
+++ b/src/mame/drivers/thoop2.c
@@ -195,7 +195,7 @@ static INPUT_PORTS_START( thoop2 )
INPUT_PORTS_END
-static MACHINE_CONFIG_START( thoop2, driver_data_t )
+static MACHINE_CONFIG_START( thoop2, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000,24000000/2) /* 12 MHz */
diff --git a/src/mame/drivers/tiamc1.c b/src/mame/drivers/tiamc1.c
index 91b866e58b7..b7f77773eb0 100644
--- a/src/mame/drivers/tiamc1.c
+++ b/src/mame/drivers/tiamc1.c
@@ -218,7 +218,7 @@ static GFXDECODE_START( tiamc1 )
GFXDECODE_END
-static MACHINE_CONFIG_START( tiamc1, driver_data_t )
+static MACHINE_CONFIG_START( tiamc1, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", I8080,16000000/9) /* 16 MHz */
MDRV_CPU_PROGRAM_MAP(tiamc1_map)
diff --git a/src/mame/drivers/tickee.c b/src/mame/drivers/tickee.c
index 6cb63b26a2b..1fb5643a946 100644
--- a/src/mame/drivers/tickee.c
+++ b/src/mame/drivers/tickee.c
@@ -724,7 +724,7 @@ static const tms34010_config rapidfir_tms_config =
*
*************************************/
-static MACHINE_CONFIG_START( tickee, driver_data_t )
+static MACHINE_CONFIG_START( tickee, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", TMS34010, XTAL_40MHz)
@@ -768,7 +768,7 @@ static MACHINE_CONFIG_DERIVED( ghoshunt, tickee )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( rapidfir, driver_data_t )
+static MACHINE_CONFIG_START( rapidfir, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", TMS34010, XTAL_50MHz)
@@ -796,7 +796,7 @@ static MACHINE_CONFIG_START( rapidfir, driver_data_t )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( mouseatk, driver_data_t )
+static MACHINE_CONFIG_START( mouseatk, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", TMS34010, XTAL_40MHz)
diff --git a/src/mame/drivers/tigeroad.c b/src/mame/drivers/tigeroad.c
index 19923e37119..e405c4caf47 100644
--- a/src/mame/drivers/tigeroad.c
+++ b/src/mame/drivers/tigeroad.c
@@ -521,7 +521,7 @@ static const msm5205_interface msm5205_config =
};
-static MACHINE_CONFIG_START( tigeroad, driver_data_t )
+static MACHINE_CONFIG_START( tigeroad, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, XTAL_10MHz) /* verified on pcb */
diff --git a/src/mame/drivers/timelimt.c b/src/mame/drivers/timelimt.c
index 39a0bb9af4d..27572e1a297 100644
--- a/src/mame/drivers/timelimt.c
+++ b/src/mame/drivers/timelimt.c
@@ -241,7 +241,7 @@ static INTERRUPT_GEN( timelimt_irq ) {
/***************************************************************************/
-static MACHINE_CONFIG_START( timelimt, driver_data_t )
+static MACHINE_CONFIG_START( timelimt, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 5000000) /* 5.000 MHz */
diff --git a/src/mame/drivers/timetrv.c b/src/mame/drivers/timetrv.c
index 4b6f089062e..6d6a514c1a0 100644
--- a/src/mame/drivers/timetrv.c
+++ b/src/mame/drivers/timetrv.c
@@ -125,7 +125,7 @@ static INTERRUPT_GEN( ld_irq )
cpu_set_input_line_and_vector(device,0,HOLD_LINE,0x48/4); //ld irq
}
-static MACHINE_CONFIG_START( timetrv, driver_data_t )
+static MACHINE_CONFIG_START( timetrv, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu",I80188,20000000) //???
diff --git a/src/mame/drivers/tmaster.c b/src/mame/drivers/tmaster.c
index a265307783a..d278961c8ad 100644
--- a/src/mame/drivers/tmaster.c
+++ b/src/mame/drivers/tmaster.c
@@ -870,7 +870,7 @@ static const duart68681_config tmaster_duart68681_config =
NULL
};
-static MACHINE_CONFIG_START( tm3k, driver_data_t )
+static MACHINE_CONFIG_START( tm3k, driver_device )
MDRV_CPU_ADD("maincpu", M68000, XTAL_24MHz / 2) /* 12MHz */
MDRV_CPU_PROGRAM_MAP(tmaster_map)
MDRV_CPU_VBLANK_INT_HACK(tm3k_interrupt,2+20) // ??
@@ -936,7 +936,7 @@ static MACHINE_RESET( galgames )
machine->device("maincpu")->reset();
}
-static MACHINE_CONFIG_START( galgames, driver_data_t )
+static MACHINE_CONFIG_START( galgames, driver_device )
MDRV_CPU_ADD("maincpu", M68000, XTAL_24MHz / 2)
MDRV_CPU_PROGRAM_MAP(galgames_map)
MDRV_CPU_VBLANK_INT_HACK(galgames_interrupt, 1+20) // ??
diff --git a/src/mame/drivers/tmmjprd.c b/src/mame/drivers/tmmjprd.c
index 70e2be1c050..a1eb526550c 100644
--- a/src/mame/drivers/tmmjprd.c
+++ b/src/mame/drivers/tmmjprd.c
@@ -714,7 +714,7 @@ static INTERRUPT_GEN( tmmjprd_interrupt )
cpu_set_input_line(device, intlevel, HOLD_LINE);
}
-static MACHINE_CONFIG_START( tmmjprd, driver_data_t )
+static MACHINE_CONFIG_START( tmmjprd, driver_device )
MDRV_CPU_ADD("maincpu",M68EC020,24000000) /* 24 MHz */
MDRV_CPU_PROGRAM_MAP(tmmjprd_map)
MDRV_CPU_VBLANK_INT_HACK(tmmjprd_interrupt,2)
diff --git a/src/mame/drivers/toki.c b/src/mame/drivers/toki.c
index 657a6008e97..228ffa34837 100644
--- a/src/mame/drivers/toki.c
+++ b/src/mame/drivers/toki.c
@@ -427,7 +427,7 @@ static const msm5205_interface msm5205_config =
};
-static MACHINE_CONFIG_START( toki, driver_data_t ) /* KOYO 20.000MHz near the cpu */
+static MACHINE_CONFIG_START( toki, driver_device ) /* KOYO 20.000MHz near the cpu */
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000,XTAL_20MHz /2) /* verified on pcb */
@@ -459,7 +459,7 @@ static MACHINE_CONFIG_START( toki, driver_data_t ) /* KOYO 20.000MHz near the cp
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( tokib, driver_data_t )
+static MACHINE_CONFIG_START( tokib, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 12000000) /* 10MHz causes bad slowdowns with monkey machine rd1 */
diff --git a/src/mame/drivers/tokyocop.c b/src/mame/drivers/tokyocop.c
index cd4d8de53e6..0573a355adb 100644
--- a/src/mame/drivers/tokyocop.c
+++ b/src/mame/drivers/tokyocop.c
@@ -36,7 +36,7 @@ static INPUT_PORTS_START( tokyocop )
INPUT_PORTS_END
-static MACHINE_CONFIG_START( tokyocop, driver_data_t )
+static MACHINE_CONFIG_START( tokyocop, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", PENTIUM, 2000000000) /* Pentium4? */
MDRV_CPU_PROGRAM_MAP(tokyocop_map)
diff --git a/src/mame/drivers/tomcat.c b/src/mame/drivers/tomcat.c
index 2bc1968061c..99cc9c9ba90 100644
--- a/src/mame/drivers/tomcat.c
+++ b/src/mame/drivers/tomcat.c
@@ -374,7 +374,7 @@ static const riot6532_interface tomcat_riot6532_intf =
DEVCB_NULL // connected to IRQ line of 6502
};
-static MACHINE_CONFIG_START( tomcat, driver_data_t )
+static MACHINE_CONFIG_START( tomcat, driver_device )
MDRV_CPU_ADD("maincpu", M68010, XTAL_12MHz / 2)
MDRV_CPU_PROGRAM_MAP(tomcat_map)
MDRV_CPU_VBLANK_INT_HACK(irq1_line_assert, 5)
diff --git a/src/mame/drivers/toratora.c b/src/mame/drivers/toratora.c
index 6a3361f1a5b..635a2795307 100644
--- a/src/mame/drivers/toratora.c
+++ b/src/mame/drivers/toratora.c
@@ -23,13 +23,11 @@ TODO:
#include "sound/sn76477.h"
-class toratora_state : public driver_data_t
+class toratora_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, toratora_state(machine)); }
-
- toratora_state(running_machine &machine)
- : driver_data_t(machine) { }
+ toratora_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/drivers/tourtabl.c b/src/mame/drivers/tourtabl.c
index 58aee67a6af..4fd89695308 100644
--- a/src/mame/drivers/tourtabl.c
+++ b/src/mame/drivers/tourtabl.c
@@ -165,7 +165,7 @@ static INPUT_PORTS_START( tourtabl )
INPUT_PORTS_END
-static MACHINE_CONFIG_START( tourtabl, driver_data_t )
+static MACHINE_CONFIG_START( tourtabl, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, MASTER_CLOCK / 3) /* actually M6507 */
MDRV_CPU_PROGRAM_MAP(main_map)
diff --git a/src/mame/drivers/tp84.c b/src/mame/drivers/tp84.c
index 3bc27ae6443..09c8c79978b 100644
--- a/src/mame/drivers/tp84.c
+++ b/src/mame/drivers/tp84.c
@@ -291,7 +291,7 @@ GFXDECODE_END
-static MACHINE_CONFIG_START( tp84, driver_data_t )
+static MACHINE_CONFIG_START( tp84, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("cpu1",M6809, XTAL_18_432MHz/12) /* verified on pcb */
diff --git a/src/mame/drivers/triforce.c b/src/mame/drivers/triforce.c
index 371487d7b91..0dfcbc68ca5 100644
--- a/src/mame/drivers/triforce.c
+++ b/src/mame/drivers/triforce.c
@@ -418,7 +418,7 @@ static VIDEO_UPDATE(triforce)
static INPUT_PORTS_START( triforce )
INPUT_PORTS_END
-static MACHINE_CONFIG_START( triforce_base, driver_data_t )
+static MACHINE_CONFIG_START( triforce_base, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", PPC403GA, 64000000) /* Wrong! */
diff --git a/src/mame/drivers/triplhnt.c b/src/mame/drivers/triplhnt.c
index 3ee66d25285..1612d384557 100644
--- a/src/mame/drivers/triplhnt.c
+++ b/src/mame/drivers/triplhnt.c
@@ -309,7 +309,7 @@ static PALETTE_INIT( triplhnt )
}
-static MACHINE_CONFIG_START( triplhnt, driver_data_t )
+static MACHINE_CONFIG_START( triplhnt, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6800, 800000)
diff --git a/src/mame/drivers/truco.c b/src/mame/drivers/truco.c
index f7c0647e827..be3317d25a3 100644
--- a/src/mame/drivers/truco.c
+++ b/src/mame/drivers/truco.c
@@ -135,7 +135,7 @@ static INTERRUPT_GEN( truco_interrupt )
}
-static MACHINE_CONFIG_START( truco, driver_data_t )
+static MACHINE_CONFIG_START( truco, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6809, 750000) /* ?? guess */
diff --git a/src/mame/drivers/trucocl.c b/src/mame/drivers/trucocl.c
index a00079df2e5..829304a1a86 100644
--- a/src/mame/drivers/trucocl.c
+++ b/src/mame/drivers/trucocl.c
@@ -137,7 +137,7 @@ static INTERRUPT_GEN( trucocl_interrupt )
irq0_line_hold(device);
}
-static MACHINE_CONFIG_START( trucocl, driver_data_t )
+static MACHINE_CONFIG_START( trucocl, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 18432000/6)
MDRV_CPU_PROGRAM_MAP(main_map)
diff --git a/src/mame/drivers/trvmadns.c b/src/mame/drivers/trvmadns.c
index b06c6ecf132..12fea56e836 100644
--- a/src/mame/drivers/trvmadns.c
+++ b/src/mame/drivers/trvmadns.c
@@ -322,7 +322,7 @@ static MACHINE_RESET( trvmadns )
old_data = -1;
}
-static MACHINE_CONFIG_START( trvmadns, driver_data_t )
+static MACHINE_CONFIG_START( trvmadns, driver_device )
MDRV_CPU_ADD("maincpu", Z80,10000000/2) // ?
MDRV_CPU_PROGRAM_MAP(cpu_map)
MDRV_CPU_IO_MAP(io_map)
diff --git a/src/mame/drivers/tryout.c b/src/mame/drivers/tryout.c
index 15431efe336..2a2e3f53949 100644
--- a/src/mame/drivers/tryout.c
+++ b/src/mame/drivers/tryout.c
@@ -196,7 +196,7 @@ static GFXDECODE_START( tryout )
GFXDECODE_ENTRY( NULL, 0, vramlayout, 0, 4 )
GFXDECODE_END
-static MACHINE_CONFIG_START( tryout, driver_data_t )
+static MACHINE_CONFIG_START( tryout, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, 2000000) /* ? */
MDRV_CPU_PROGRAM_MAP(main_cpu)
diff --git a/src/mame/drivers/tsamurai.c b/src/mame/drivers/tsamurai.c
index 8831087b848..cd975667de9 100644
--- a/src/mame/drivers/tsamurai.c
+++ b/src/mame/drivers/tsamurai.c
@@ -661,7 +661,7 @@ GFXDECODE_END
/*******************************************************************************/
-static MACHINE_CONFIG_START( tsamurai, driver_data_t )
+static MACHINE_CONFIG_START( tsamurai, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 4000000)
@@ -704,7 +704,7 @@ static MACHINE_CONFIG_START( tsamurai, driver_data_t )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( m660, driver_data_t )
+static MACHINE_CONFIG_START( m660, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 4000000)
@@ -752,7 +752,7 @@ static MACHINE_CONFIG_START( m660, driver_data_t )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( vsgongf, driver_data_t )
+static MACHINE_CONFIG_START( vsgongf, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 4000000)
diff --git a/src/mame/drivers/ttchamp.c b/src/mame/drivers/ttchamp.c
index 907cf224036..f5178a00921 100644
--- a/src/mame/drivers/ttchamp.c
+++ b/src/mame/drivers/ttchamp.c
@@ -222,7 +222,7 @@ static INTERRUPT_GEN( ttchamp_irq ) /* right? */
cpu_set_input_line(device, INPUT_LINE_NMI, PULSE_LINE);
}
-static MACHINE_CONFIG_START( ttchamp, driver_data_t )
+static MACHINE_CONFIG_START( ttchamp, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", V30, 8000000)
MDRV_CPU_PROGRAM_MAP(ttchamp_map)
diff --git a/src/mame/drivers/tubep.c b/src/mame/drivers/tubep.c
index 775a23c7782..0af8aee2eed 100644
--- a/src/mame/drivers/tubep.c
+++ b/src/mame/drivers/tubep.c
@@ -892,7 +892,7 @@ static const msm5205_interface msm5205_config =
*
*************************************/
-static MACHINE_CONFIG_START( tubep, driver_data_t )
+static MACHINE_CONFIG_START( tubep, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu",Z80,16000000 / 4) /* 4 MHz */
@@ -954,7 +954,7 @@ static MACHINE_CONFIG_DERIVED( tubepb, tubep )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( rjammer, driver_data_t )
+static MACHINE_CONFIG_START( rjammer, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu",Z80,16000000 / 4) /* 4 MHz */
diff --git a/src/mame/drivers/tugboat.c b/src/mame/drivers/tugboat.c
index 61834094545..8ade9910948 100644
--- a/src/mame/drivers/tugboat.c
+++ b/src/mame/drivers/tugboat.c
@@ -313,7 +313,7 @@ static GFXDECODE_START( tugboat )
GFXDECODE_END
-static MACHINE_CONFIG_START( tugboat, driver_data_t )
+static MACHINE_CONFIG_START( tugboat, driver_device )
MDRV_CPU_ADD("maincpu", M6502, 2000000) /* 2 MHz ???? */
MDRV_CPU_PROGRAM_MAP(main_map)
MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse)
diff --git a/src/mame/drivers/turrett.c b/src/mame/drivers/turrett.c
index 435d6d3de62..d40f2ece918 100644
--- a/src/mame/drivers/turrett.c
+++ b/src/mame/drivers/turrett.c
@@ -103,7 +103,7 @@ static const r3000_cpu_core r3000_config =
};
-static MACHINE_CONFIG_START( turrett, driver_data_t )
+static MACHINE_CONFIG_START( turrett, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", R3041BE, R3041_CLOCK)
MDRV_CPU_PROGRAM_MAP(cpu_map)
diff --git a/src/mame/drivers/twin16.c b/src/mame/drivers/twin16.c
index 2ecd6ac1a4e..7e193e40308 100644
--- a/src/mame/drivers/twin16.c
+++ b/src/mame/drivers/twin16.c
@@ -714,7 +714,7 @@ static MACHINE_START( twin16 )
state_save_register_global_array(machine, cuebrickj_nvram);
}
-static MACHINE_CONFIG_START( twin16, driver_data_t )
+static MACHINE_CONFIG_START( twin16, driver_device )
// basic machine hardware
MDRV_CPU_ADD("maincpu", M68000, XTAL_18_432MHz/2)
MDRV_CPU_PROGRAM_MAP(main_map)
@@ -772,7 +772,7 @@ static MACHINE_CONFIG_DERIVED( devilw, twin16 )
MDRV_QUANTUM_TIME(HZ(60000)) // watchdog reset otherwise
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( fround, driver_data_t )
+static MACHINE_CONFIG_START( fround, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 10000000)
MDRV_CPU_PROGRAM_MAP(fround_map)
diff --git a/src/mame/drivers/twincobr.c b/src/mame/drivers/twincobr.c
index bc1c534d2f2..b3b371d8707 100644
--- a/src/mame/drivers/twincobr.c
+++ b/src/mame/drivers/twincobr.c
@@ -556,7 +556,7 @@ static const ym3812_interface ym3812_config =
-static MACHINE_CONFIG_START( twincobr, driver_data_t )
+static MACHINE_CONFIG_START( twincobr, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, XTAL_28MHz/4) /* 7MHz - Main board Crystal is 28MHz */
diff --git a/src/mame/drivers/twinkle.c b/src/mame/drivers/twinkle.c
index 16fea0c3df0..4e0c5d877eb 100644
--- a/src/mame/drivers/twinkle.c
+++ b/src/mame/drivers/twinkle.c
@@ -896,7 +896,7 @@ static const i2cmem_interface i2cmem_interface =
I2CMEM_SLAVE_ADDRESS, 0, 0x100
};
-static MACHINE_CONFIG_START( twinkle, driver_data_t )
+static MACHINE_CONFIG_START( twinkle, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", PSXCPU, XTAL_67_7376MHz )
MDRV_CPU_PROGRAM_MAP( main_map )
diff --git a/src/mame/drivers/twins.c b/src/mame/drivers/twins.c
index 6ca5bef0875..a2c1d2f7ec6 100644
--- a/src/mame/drivers/twins.c
+++ b/src/mame/drivers/twins.c
@@ -166,7 +166,7 @@ static const ay8910_interface ay8910_config =
DEVCB_INPUT_PORT("P2")
};
-static MACHINE_CONFIG_START( twins, driver_data_t )
+static MACHINE_CONFIG_START( twins, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", V30, 8000000)
MDRV_CPU_PROGRAM_MAP(twins_map)
@@ -254,7 +254,7 @@ static ADDRESS_MAP_START( twinsa_io, ADDRESS_SPACE_IO, 16 )
ADDRESS_MAP_END
-static MACHINE_CONFIG_START( twinsa, driver_data_t )
+static MACHINE_CONFIG_START( twinsa, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", V30, XTAL_16MHz/2) /* verified on pcb */
MDRV_CPU_PROGRAM_MAP(twins_map)
diff --git a/src/mame/drivers/tx1.c b/src/mame/drivers/tx1.c
index 3e78393e545..7a9f777bc32 100644
--- a/src/mame/drivers/tx1.c
+++ b/src/mame/drivers/tx1.c
@@ -700,7 +700,7 @@ static const ay8910_interface buggybjr_ym2149_interface_2 =
*
*************************************/
-static MACHINE_CONFIG_START( tx1, driver_data_t )
+static MACHINE_CONFIG_START( tx1, driver_device )
MDRV_CPU_ADD("main_cpu", I8086, CPU_MASTER_CLOCK / 3)
MDRV_CPU_PROGRAM_MAP(tx1_main)
// MDRV_WATCHDOG_TIME_INIT(5)
@@ -753,7 +753,7 @@ static MACHINE_CONFIG_START( tx1, driver_data_t )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( buggyboy, driver_data_t )
+static MACHINE_CONFIG_START( buggyboy, driver_device )
MDRV_CPU_ADD("main_cpu", I8086, CPU_MASTER_CLOCK / 3)
MDRV_CPU_PROGRAM_MAP(buggyboy_main)
// MDRV_WATCHDOG_TIME_INIT(5)
@@ -808,7 +808,7 @@ static MACHINE_CONFIG_START( buggyboy, driver_data_t )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( buggybjr, driver_data_t )
+static MACHINE_CONFIG_START( buggybjr, driver_device )
MDRV_CPU_ADD("main_cpu", I8086, CPU_MASTER_CLOCK / 3)
MDRV_CPU_PROGRAM_MAP(buggybjr_main)
// MDRV_WATCHDOG_TIME_INIT(5)
diff --git a/src/mame/drivers/uapce.c b/src/mame/drivers/uapce.c
index 4a78f764eed..9fa8c9e6851 100644
--- a/src/mame/drivers/uapce.c
+++ b/src/mame/drivers/uapce.c
@@ -183,7 +183,7 @@ static const c6280_interface c6280_config =
"maincpu"
};
-static MACHINE_CONFIG_START( uapce, driver_data_t )
+static MACHINE_CONFIG_START( uapce, 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/ultratnk.c b/src/mame/drivers/ultratnk.c
index d2c7261c367..515d49512a6 100644
--- a/src/mame/drivers/ultratnk.c
+++ b/src/mame/drivers/ultratnk.c
@@ -287,7 +287,7 @@ static GFXDECODE_START( ultratnk )
GFXDECODE_END
-static MACHINE_CONFIG_START( ultratnk, driver_data_t )
+static MACHINE_CONFIG_START( ultratnk, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, PIXEL_CLOCK / 8)
diff --git a/src/mame/drivers/ultrsprt.c b/src/mame/drivers/ultrsprt.c
index bec4fd46f3d..d36f0a325e4 100644
--- a/src/mame/drivers/ultrsprt.c
+++ b/src/mame/drivers/ultrsprt.c
@@ -201,7 +201,7 @@ static const k056800_interface ultrsprt_k056800_interface =
};
-static MACHINE_CONFIG_START( ultrsprt, driver_data_t )
+static MACHINE_CONFIG_START( ultrsprt, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", PPC403GA, 25000000) /* PowerPC 403GA 25MHz */
MDRV_CPU_PROGRAM_MAP(ultrsprt_map)
diff --git a/src/mame/drivers/undrfire.c b/src/mame/drivers/undrfire.c
index 46282c9869e..38ad7616352 100644
--- a/src/mame/drivers/undrfire.c
+++ b/src/mame/drivers/undrfire.c
@@ -718,7 +718,7 @@ static const tc0480scp_interface undrfire_tc0480scp_intf =
0 /* col_base */
};
-static MACHINE_CONFIG_START( undrfire, driver_data_t )
+static MACHINE_CONFIG_START( undrfire, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68EC020, 16000000) /* 16 MHz */
@@ -749,7 +749,7 @@ static MACHINE_CONFIG_START( undrfire, driver_data_t )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( cbombers, driver_data_t )
+static MACHINE_CONFIG_START( cbombers, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68EC020, 16000000) /* 16 MHz */
diff --git a/src/mame/drivers/unico.c b/src/mame/drivers/unico.c
index f110c90ce4e..ed97a2e7636 100644
--- a/src/mame/drivers/unico.c
+++ b/src/mame/drivers/unico.c
@@ -601,7 +601,7 @@ static const eeprom_interface zeropnt2_eeprom_interface =
Burglar X
***************************************************************************/
-static MACHINE_CONFIG_START( burglarx, driver_data_t )
+static MACHINE_CONFIG_START( burglarx, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 16000000)
@@ -647,7 +647,7 @@ static MACHINE_RESET( zeropt )
MACHINE_RESET_CALL(unico);
}
-static MACHINE_CONFIG_START( zeropnt, driver_data_t )
+static MACHINE_CONFIG_START( zeropnt, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 16000000)
@@ -688,7 +688,7 @@ MACHINE_CONFIG_END
Zero Point 2
***************************************************************************/
-static MACHINE_CONFIG_START( zeropnt2, driver_data_t )
+static MACHINE_CONFIG_START( zeropnt2, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68EC020, 16000000)
diff --git a/src/mame/drivers/upscope.c b/src/mame/drivers/upscope.c
index 29cd194cc4c..315c716ef2a 100644
--- a/src/mame/drivers/upscope.c
+++ b/src/mame/drivers/upscope.c
@@ -300,7 +300,7 @@ static const mos6526_interface cia_1_intf =
DEVCB_NULL
};
-static MACHINE_CONFIG_START( upscope, driver_data_t )
+static MACHINE_CONFIG_START( upscope, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, AMIGA_68000_NTSC_CLOCK)
diff --git a/src/mame/drivers/usgames.c b/src/mame/drivers/usgames.c
index ce4756730bb..070f24f8a0c 100644
--- a/src/mame/drivers/usgames.c
+++ b/src/mame/drivers/usgames.c
@@ -237,7 +237,7 @@ static const mc6845_interface mc6845_intf =
};
-static MACHINE_CONFIG_START( usg32, driver_data_t )
+static MACHINE_CONFIG_START( usg32, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6809, 2000000) /* ?? */
diff --git a/src/mame/drivers/vamphalf.c b/src/mame/drivers/vamphalf.c
index 895c863844a..bd0de827634 100644
--- a/src/mame/drivers/vamphalf.c
+++ b/src/mame/drivers/vamphalf.c
@@ -673,7 +673,7 @@ static ADDRESS_MAP_START( qs1000_io_map, ADDRESS_SPACE_IO, 8 )
AM_RANGE( 0x0000, 0x007f) AM_RAM // RAM? wavetable registers? not sure.
ADDRESS_MAP_END
-static MACHINE_CONFIG_START( common, driver_data_t )
+static MACHINE_CONFIG_START( common, driver_device )
MDRV_CPU_ADD("maincpu", E116T, 50000000) /* 50 MHz */
MDRV_CPU_PROGRAM_MAP(common_map)
MDRV_CPU_VBLANK_INT("screen", irq1_line_hold)
@@ -803,7 +803,7 @@ static MACHINE_CONFIG_DERIVED( mrkicker, common )
MDRV_FRAGMENT_ADD(sound_ym_oki)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( aoh, driver_data_t )
+static MACHINE_CONFIG_START( aoh, driver_device )
MDRV_CPU_ADD("maincpu", E132XN, 20000000*4) /* 4x internal multiplier */
MDRV_CPU_PROGRAM_MAP(aoh_map)
MDRV_CPU_IO_MAP(aoh_io)
diff --git a/src/mame/drivers/vball.c b/src/mame/drivers/vball.c
index 42866241b80..1a04bc4852a 100644
--- a/src/mame/drivers/vball.c
+++ b/src/mame/drivers/vball.c
@@ -415,7 +415,7 @@ static const ym2151_interface ym2151_config =
};
-static MACHINE_CONFIG_START( vball, driver_data_t )
+static MACHINE_CONFIG_START( vball, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, CPU_CLOCK) /* 2 MHz - measured by guru but it makes the game far far too slow ?! */
diff --git a/src/mame/drivers/vcombat.c b/src/mame/drivers/vcombat.c
index c370ebdb877..008f01163dd 100644
--- a/src/mame/drivers/vcombat.c
+++ b/src/mame/drivers/vcombat.c
@@ -546,7 +546,7 @@ static const mc6845_interface mc6845_intf =
};
-static MACHINE_CONFIG_START( vcombat, driver_data_t )
+static MACHINE_CONFIG_START( vcombat, driver_device )
MDRV_CPU_ADD("maincpu", M68000, XTAL_12MHz)
MDRV_CPU_PROGRAM_MAP(main_map)
MDRV_CPU_VBLANK_INT("screen", irq1_line_assert)
@@ -596,7 +596,7 @@ static MACHINE_CONFIG_START( vcombat, driver_data_t )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( shadfgtr, driver_data_t )
+static MACHINE_CONFIG_START( shadfgtr, driver_device )
MDRV_CPU_ADD("maincpu", M68000, XTAL_12MHz)
MDRV_CPU_PROGRAM_MAP(main_map)
MDRV_CPU_VBLANK_INT("screen", irq1_line_assert)
diff --git a/src/mame/drivers/vega.c b/src/mame/drivers/vega.c
index 88c03a3ee39..06b6e8bcf3b 100644
--- a/src/mame/drivers/vega.c
+++ b/src/mame/drivers/vega.c
@@ -35,7 +35,7 @@ static VIDEO_UPDATE(vega)
return 0;
}
-static MACHINE_CONFIG_START( vega, driver_data_t )
+static MACHINE_CONFIG_START( vega, driver_device )
MDRV_CPU_ADD("maincpu", I8035, 6000000) // what CPU? what speed?
MDRV_CPU_PROGRAM_MAP(vega_map)
diff --git a/src/mame/drivers/vegaeo.c b/src/mame/drivers/vegaeo.c
index f115efd6a39..dafa816e97e 100644
--- a/src/mame/drivers/vegaeo.c
+++ b/src/mame/drivers/vegaeo.c
@@ -162,7 +162,7 @@ static VIDEO_UPDATE( vega )
}
-static MACHINE_CONFIG_START( vega, driver_data_t )
+static MACHINE_CONFIG_START( vega, driver_device )
MDRV_CPU_ADD("maincpu", GMS30C2132, 55000000) /* 55 MHz */
MDRV_CPU_PROGRAM_MAP(vega_map)
MDRV_CPU_VBLANK_INT_HACK(eolith_speedup,262)
diff --git a/src/mame/drivers/vegas.c b/src/mame/drivers/vegas.c
index 2c8a610cebb..1ad3da265b9 100644
--- a/src/mame/drivers/vegas.c
+++ b/src/mame/drivers/vegas.c
@@ -2220,7 +2220,7 @@ static const mips3_config r5000_config =
SYSTEM_CLOCK /* system clock rate */
};
-static MACHINE_CONFIG_START( vegascore, driver_data_t )
+static MACHINE_CONFIG_START( vegascore, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", R5000LE, SYSTEM_CLOCK*2)
diff --git a/src/mame/drivers/vertigo.c b/src/mame/drivers/vertigo.c
index 4a39e81541e..25093c45e13 100644
--- a/src/mame/drivers/vertigo.c
+++ b/src/mame/drivers/vertigo.c
@@ -104,7 +104,7 @@ INPUT_PORTS_END
*
*************************************/
-static MACHINE_CONFIG_START( vertigo, driver_data_t )
+static MACHINE_CONFIG_START( vertigo, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 8000000)
diff --git a/src/mame/drivers/vicdual.c b/src/mame/drivers/vicdual.c
index e5a55b37628..30e86567558 100644
--- a/src/mame/drivers/vicdual.c
+++ b/src/mame/drivers/vicdual.c
@@ -226,7 +226,7 @@ UINT8 vicdual_characterram_r(offs_t offset)
*
*************************************/
-static MACHINE_CONFIG_START( vicdual_root, driver_data_t )
+static MACHINE_CONFIG_START( vicdual_root, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, VICDUAL_MAIN_CPU_CLOCK)
diff --git a/src/mame/drivers/victory.c b/src/mame/drivers/victory.c
index 48b5dda2d16..95b96f20737 100644
--- a/src/mame/drivers/victory.c
+++ b/src/mame/drivers/victory.c
@@ -207,7 +207,7 @@ INPUT_PORTS_END
*
*************************************/
-static MACHINE_CONFIG_START( victory, driver_data_t )
+static MACHINE_CONFIG_START( victory, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, VICTORY_MAIN_CPU_CLOCK)
diff --git a/src/mame/drivers/videopin.c b/src/mame/drivers/videopin.c
index 0affa758020..41da39062dc 100644
--- a/src/mame/drivers/videopin.c
+++ b/src/mame/drivers/videopin.c
@@ -321,7 +321,7 @@ GFXDECODE_END
*
*************************************/
-static MACHINE_CONFIG_START( videopin, driver_data_t )
+static MACHINE_CONFIG_START( videopin, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6502, 12096000 / 16)
diff --git a/src/mame/drivers/videopkr.c b/src/mame/drivers/videopkr.c
index db7f6eeb77b..a30eb37b81c 100644
--- a/src/mame/drivers/videopkr.c
+++ b/src/mame/drivers/videopkr.c
@@ -1208,7 +1208,7 @@ static const ay8910_interface ay8910_config =
* Machine Drivers *
************************/
-static MACHINE_CONFIG_START( videopkr, driver_data_t )
+static MACHINE_CONFIG_START( videopkr, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", I8039, CPU_CLOCK)
diff --git a/src/mame/drivers/vigilant.c b/src/mame/drivers/vigilant.c
index c0bfeec5ce4..bf7c4b7d243 100644
--- a/src/mame/drivers/vigilant.c
+++ b/src/mame/drivers/vigilant.c
@@ -523,7 +523,7 @@ static const ym2203_interface ym2203_config =
};
-static MACHINE_CONFIG_START( vigilant, driver_data_t )
+static MACHINE_CONFIG_START( vigilant, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 3579645) /* 3.579645 MHz */
@@ -567,7 +567,7 @@ static MACHINE_CONFIG_START( vigilant, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( buccanrs, driver_data_t )
+static MACHINE_CONFIG_START( buccanrs, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 5688800) /* 5.688800 MHz */
@@ -627,7 +627,7 @@ static MACHINE_CONFIG_START( buccanrs, driver_data_t )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.35)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( kikcubic, driver_data_t )
+static MACHINE_CONFIG_START( kikcubic, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 3579645) /* 3.579645 MHz */
diff --git a/src/mame/drivers/viper.c b/src/mame/drivers/viper.c
index d1459cd1272..57b2dc19f2b 100644
--- a/src/mame/drivers/viper.c
+++ b/src/mame/drivers/viper.c
@@ -614,7 +614,7 @@ static MACHINE_RESET(viper)
devtag_reset(machine, "ide");
}
-static MACHINE_CONFIG_START( viper, driver_data_t )
+static MACHINE_CONFIG_START( viper, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", MPC8240, 200000000)
diff --git a/src/mame/drivers/vp101.c b/src/mame/drivers/vp101.c
index 5eb587f00c3..3d4e41b7a0d 100644
--- a/src/mame/drivers/vp101.c
+++ b/src/mame/drivers/vp101.c
@@ -55,7 +55,7 @@ static const mips3_config r5000_config =
100000000 /* system (bus) clock */
};
-static MACHINE_CONFIG_START( vp101, driver_data_t )
+static MACHINE_CONFIG_START( vp101, driver_device )
MDRV_CPU_ADD("maincpu", R5000LE, 300000000) /* actually VR5500 with added NEC VR-series custom instructions */
MDRV_CPU_CONFIG(r5000_config)
MDRV_CPU_PROGRAM_MAP(main_map)
diff --git a/src/mame/drivers/vpoker.c b/src/mame/drivers/vpoker.c
index 23b1ce79de5..e67c4523abe 100644
--- a/src/mame/drivers/vpoker.c
+++ b/src/mame/drivers/vpoker.c
@@ -394,7 +394,7 @@ static const ptm6840_interface ptm_intf =
DEVCB_LINE(ptm_irq)
};
-static MACHINE_CONFIG_START( vpoker, driver_data_t )
+static MACHINE_CONFIG_START( vpoker, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu",M6809,XTAL_4MHz)
diff --git a/src/mame/drivers/vroulet.c b/src/mame/drivers/vroulet.c
index de51085a5d0..481832e5728 100644
--- a/src/mame/drivers/vroulet.c
+++ b/src/mame/drivers/vroulet.c
@@ -259,7 +259,7 @@ static const ppi8255_interface ppi8255_intf[2] =
/* Machine Driver */
-static MACHINE_CONFIG_START( vroulet, driver_data_t )
+static MACHINE_CONFIG_START( vroulet, driver_device )
// basic machine hardware
MDRV_CPU_ADD("maincpu", Z80, 4000000) //???
MDRV_CPU_PROGRAM_MAP(vroulet_map)
diff --git a/src/mame/drivers/vsnes.c b/src/mame/drivers/vsnes.c
index e5072291768..f43938d313f 100644
--- a/src/mame/drivers/vsnes.c
+++ b/src/mame/drivers/vsnes.c
@@ -1645,7 +1645,7 @@ static const nes_interface nes_interface_2 =
"sub"
};
-static MACHINE_CONFIG_START( vsnes, driver_data_t )
+static MACHINE_CONFIG_START( vsnes, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", N2A03,N2A03_DEFAULTCLOCK)
@@ -1704,7 +1704,7 @@ static MACHINE_CONFIG_DERIVED( topgun, vsnes )
MDRV_PPU2C05_04_ADD("ppu1", vsnes_ppu_interface_1)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( vsdual, driver_data_t )
+static MACHINE_CONFIG_START( vsdual, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", N2A03,N2A03_DEFAULTCLOCK)
diff --git a/src/mame/drivers/vulgus.c b/src/mame/drivers/vulgus.c
index 76972f9b0bf..58c894f6817 100644
--- a/src/mame/drivers/vulgus.c
+++ b/src/mame/drivers/vulgus.c
@@ -230,7 +230,7 @@ GFXDECODE_END
-static MACHINE_CONFIG_START( vulgus, driver_data_t )
+static MACHINE_CONFIG_START( vulgus, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz (?) */
diff --git a/src/mame/drivers/wallc.c b/src/mame/drivers/wallc.c
index de3cafd3200..a43c19568d0 100644
--- a/src/mame/drivers/wallc.c
+++ b/src/mame/drivers/wallc.c
@@ -275,7 +275,7 @@ static DRIVER_INIT( wallca )
-static MACHINE_CONFIG_START( wallc, driver_data_t )
+static MACHINE_CONFIG_START( wallc, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 12288000 / 4) /* 3.072 MHz ? */
MDRV_CPU_PROGRAM_MAP(wallc_map)
diff --git a/src/mame/drivers/wardner.c b/src/mame/drivers/wardner.c
index 8febb9aa22b..4028f6da910 100644
--- a/src/mame/drivers/wardner.c
+++ b/src/mame/drivers/wardner.c
@@ -392,7 +392,7 @@ GFXDECODE_END
-static MACHINE_CONFIG_START( wardner, driver_data_t )
+static MACHINE_CONFIG_START( wardner, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, XTAL_24MHz/4) /* 6MHz */
diff --git a/src/mame/drivers/warpwarp.c b/src/mame/drivers/warpwarp.c
index 0ea8972c104..88f17fb5cab 100644
--- a/src/mame/drivers/warpwarp.c
+++ b/src/mame/drivers/warpwarp.c
@@ -722,7 +722,7 @@ GFXDECODE_END
-static MACHINE_CONFIG_START( geebee, driver_data_t )
+static MACHINE_CONFIG_START( geebee, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", I8080, MASTER_CLOCK/9) /* verified on pcb */
@@ -761,7 +761,7 @@ static MACHINE_CONFIG_DERIVED( navarone, geebee )
MDRV_VIDEO_UPDATE(navarone)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( bombbee, driver_data_t )
+static MACHINE_CONFIG_START( bombbee, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", I8080, MASTER_CLOCK/9) /* 18.432 MHz / 9 */
diff --git a/src/mame/drivers/wc90.c b/src/mame/drivers/wc90.c
index aeefdcee853..bcb9b61df38 100644
--- a/src/mame/drivers/wc90.c
+++ b/src/mame/drivers/wc90.c
@@ -306,7 +306,7 @@ static const ym2608_interface ym2608_config =
irqhandler
};
-static MACHINE_CONFIG_START( wc90, driver_data_t )
+static MACHINE_CONFIG_START( wc90, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, XTAL_8MHz) /* verified on pcb */
diff --git a/src/mame/drivers/wc90b.c b/src/mame/drivers/wc90b.c
index d8df08dd55b..5fe0b9f14d5 100644
--- a/src/mame/drivers/wc90b.c
+++ b/src/mame/drivers/wc90b.c
@@ -376,7 +376,7 @@ static const msm5205_interface msm5205_config =
MSM5205_S96_4B /* 4KHz 4-bit */
};
-static MACHINE_CONFIG_START( wc90b, driver_data_t )
+static MACHINE_CONFIG_START( wc90b, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK)
diff --git a/src/mame/drivers/wecleman.c b/src/mame/drivers/wecleman.c
index c26dd2eda5f..17f45695807 100644
--- a/src/mame/drivers/wecleman.c
+++ b/src/mame/drivers/wecleman.c
@@ -1052,7 +1052,7 @@ static MACHINE_RESET( wecleman )
k007232_set_bank( machine->device("konami"), 0, 1 );
}
-static MACHINE_CONFIG_START( wecleman, driver_data_t )
+static MACHINE_CONFIG_START( wecleman, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 10000000) /* Schems show 10MHz */
@@ -1123,7 +1123,7 @@ static const k051316_interface hotchase_k051316_intf_1 =
hotchase_zoom_callback_1
};
-static MACHINE_CONFIG_START( hotchase, driver_data_t )
+static MACHINE_CONFIG_START( hotchase, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, 10000000) /* 10 MHz - PCB is drawn in one set's readme */
diff --git a/src/mame/drivers/wheelfir.c b/src/mame/drivers/wheelfir.c
index 8aa82200a0a..63b55b11891 100644
--- a/src/mame/drivers/wheelfir.c
+++ b/src/mame/drivers/wheelfir.c
@@ -225,16 +225,11 @@ struct scroll_info
};
-class wheelfir_state : public driver_data_t
+class wheelfir_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine)
- {
- return auto_alloc_clear(&machine, wheelfir_state(machine));
- }
-
- wheelfir_state(running_machine &machine)
- : driver_data_t(machine) { }
+ wheelfir_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
running_device *maincpu;
running_device *subcpu;
diff --git a/src/mame/drivers/williams.c b/src/mame/drivers/williams.c
index 38bba18a142..8dd4e57635c 100644
--- a/src/mame/drivers/williams.c
+++ b/src/mame/drivers/williams.c
@@ -1426,7 +1426,7 @@ GFXDECODE_END
*
*************************************/
-static MACHINE_CONFIG_START( defender, driver_data_t )
+static MACHINE_CONFIG_START( defender, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6809, MASTER_CLOCK/3/4)
@@ -1603,7 +1603,7 @@ static MACHINE_CONFIG_DERIVED( blastkit, blaster )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( williams2, driver_data_t )
+static MACHINE_CONFIG_START( williams2, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6809, MASTER_CLOCK/3/4)
diff --git a/src/mame/drivers/wink.c b/src/mame/drivers/wink.c
index 739f53afed6..84bee6d6535 100644
--- a/src/mame/drivers/wink.c
+++ b/src/mame/drivers/wink.c
@@ -311,7 +311,7 @@ static MACHINE_RESET( wink )
sound_flag = 0;
}
-static MACHINE_CONFIG_START( wink, driver_data_t )
+static MACHINE_CONFIG_START( wink, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 12000000 / 4)
MDRV_CPU_PROGRAM_MAP(wink_map)
diff --git a/src/mame/drivers/wiping.c b/src/mame/drivers/wiping.c
index 5f8946fb702..2b5f3275afe 100644
--- a/src/mame/drivers/wiping.c
+++ b/src/mame/drivers/wiping.c
@@ -278,7 +278,7 @@ GFXDECODE_END
-static MACHINE_CONFIG_START( wiping, driver_data_t )
+static MACHINE_CONFIG_START( wiping, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80,18432000/6) /* 3.072 MHz */
diff --git a/src/mame/drivers/witch.c b/src/mame/drivers/witch.c
index 22c3829215e..a685552fefb 100644
--- a/src/mame/drivers/witch.c
+++ b/src/mame/drivers/witch.c
@@ -756,7 +756,7 @@ static INTERRUPT_GEN( witch_sub_interrupt )
cpu_set_input_line(device,0,ASSERT_LINE);
}
-static MACHINE_CONFIG_START( witch, driver_data_t )
+static MACHINE_CONFIG_START( witch, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80,8000000) /* ? MHz */
MDRV_CPU_PROGRAM_MAP(map_main)
diff --git a/src/mame/drivers/wiz.c b/src/mame/drivers/wiz.c
index eca9dc5eabd..9bc5f595077 100644
--- a/src/mame/drivers/wiz.c
+++ b/src/mame/drivers/wiz.c
@@ -695,7 +695,7 @@ static MACHINE_RESET( wiz )
dsc0 = dsc1 = 1;
}
-static MACHINE_CONFIG_START( wiz, driver_data_t )
+static MACHINE_CONFIG_START( wiz, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80, 18432000/6) /* 3.072 MHz ??? */
diff --git a/src/mame/drivers/wldarrow.c b/src/mame/drivers/wldarrow.c
index f541618c7ae..7f803270fa2 100644
--- a/src/mame/drivers/wldarrow.c
+++ b/src/mame/drivers/wldarrow.c
@@ -344,7 +344,7 @@ INPUT_PORTS_END
*
*************************************/
-static MACHINE_CONFIG_START( wldarrow, driver_data_t )
+static MACHINE_CONFIG_START( wldarrow, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", I8080, 2000000)
diff --git a/src/mame/drivers/wolfpack.c b/src/mame/drivers/wolfpack.c
index a637d3a8ae4..cdc25a8fd21 100644
--- a/src/mame/drivers/wolfpack.c
+++ b/src/mame/drivers/wolfpack.c
@@ -306,7 +306,7 @@ static GFXDECODE_START( wolfpack )
GFXDECODE_END
-static MACHINE_CONFIG_START( wolfpack, driver_data_t )
+static MACHINE_CONFIG_START( wolfpack, driver_device )
MDRV_SPEAKER_STANDARD_MONO("mono")
/* basic machine hardware */
diff --git a/src/mame/drivers/wrally.c b/src/mame/drivers/wrally.c
index 07d8892ea1a..57bedd047e5 100644
--- a/src/mame/drivers/wrally.c
+++ b/src/mame/drivers/wrally.c
@@ -245,7 +245,7 @@ static GFXDECODE_START( wrally )
GFXDECODE_END
-static MACHINE_CONFIG_START( wrally, driver_data_t )
+static MACHINE_CONFIG_START( wrally, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000,XTAL_24MHz/2) /* verified on pcb */
MDRV_CPU_PROGRAM_MAP(wrally_map)
diff --git a/src/mame/drivers/wwfwfest.c b/src/mame/drivers/wwfwfest.c
index 9ff25031b96..adf373afd16 100644
--- a/src/mame/drivers/wwfwfest.c
+++ b/src/mame/drivers/wwfwfest.c
@@ -390,7 +390,7 @@ static VIDEO_EOF( wwfwfest )
Machine Driver(s)
*******************************************************************************/
-static MACHINE_CONFIG_START( wwfwfest, driver_data_t )
+static MACHINE_CONFIG_START( wwfwfest, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000, CPU_CLOCK) /* 24 crystal, 12 rated chip */
diff --git a/src/mame/drivers/xain.c b/src/mame/drivers/xain.c
index 65361f86fa1..625ccf23d42 100644
--- a/src/mame/drivers/xain.c
+++ b/src/mame/drivers/xain.c
@@ -595,7 +595,7 @@ static MACHINE_START( xsleena )
memory_set_bank(machine, "bank2", 0);
}
-static MACHINE_CONFIG_START( xsleena, driver_data_t )
+static MACHINE_CONFIG_START( xsleena, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M6809, CPU_CLOCK)
diff --git a/src/mame/drivers/xorworld.c b/src/mame/drivers/xorworld.c
index 553503a5e0f..0403586537c 100644
--- a/src/mame/drivers/xorworld.c
+++ b/src/mame/drivers/xorworld.c
@@ -179,7 +179,7 @@ static INTERRUPT_GEN( xorworld_interrupt )
}
-static MACHINE_CONFIG_START( xorworld, driver_data_t )
+static MACHINE_CONFIG_START( xorworld, driver_device )
// basic machine hardware
MDRV_CPU_ADD("maincpu", M68000, 10000000) // 10 MHz
MDRV_CPU_PROGRAM_MAP(xorworld_map)
diff --git a/src/mame/drivers/xtheball.c b/src/mame/drivers/xtheball.c
index 165575655a7..3d923521412 100644
--- a/src/mame/drivers/xtheball.c
+++ b/src/mame/drivers/xtheball.c
@@ -320,7 +320,7 @@ static const tms34010_config tms_config =
*
*************************************/
-static MACHINE_CONFIG_START( xtheball, driver_data_t )
+static MACHINE_CONFIG_START( xtheball, driver_device )
MDRV_CPU_ADD("maincpu", TMS34010, 40000000)
MDRV_CPU_CONFIG(tms_config)
diff --git a/src/mame/drivers/xxmissio.c b/src/mame/drivers/xxmissio.c
index ae03f8574b2..2f5e344c73b 100644
--- a/src/mame/drivers/xxmissio.c
+++ b/src/mame/drivers/xxmissio.c
@@ -303,7 +303,7 @@ static const ym2203_interface ym2203_interface_2 =
NULL
};
-static MACHINE_CONFIG_START( xxmissio, driver_data_t )
+static MACHINE_CONFIG_START( xxmissio, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80,12000000/4) /* 3.0MHz */
diff --git a/src/mame/drivers/zac2650.c b/src/mame/drivers/zac2650.c
index b1bdf2fec1a..6bce75bf2fb 100644
--- a/src/mame/drivers/zac2650.c
+++ b/src/mame/drivers/zac2650.c
@@ -238,7 +238,7 @@ static GFXDECODE_START( tinvader )
GFXDECODE_SCALE( NULL, 0x1F00, s2636_character, 0, 2, 8, 6 ) /* dynamic */
GFXDECODE_END
-static MACHINE_CONFIG_START( tinvader, driver_data_t )
+static MACHINE_CONFIG_START( tinvader, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", S2650, 3800000/4)
diff --git a/src/mame/drivers/zaccaria.c b/src/mame/drivers/zaccaria.c
index 078f56dc466..1c86bf9b54e 100644
--- a/src/mame/drivers/zaccaria.c
+++ b/src/mame/drivers/zaccaria.c
@@ -586,7 +586,7 @@ static const tms5220_interface tms5220_config =
-static MACHINE_CONFIG_START( zaccaria, driver_data_t )
+static MACHINE_CONFIG_START( zaccaria, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", Z80,XTAL_18_432MHz/6) /* verified on pcb */
diff --git a/src/mame/drivers/zn.c b/src/mame/drivers/zn.c
index f0ca5b9c440..0fb894344e4 100644
--- a/src/mame/drivers/zn.c
+++ b/src/mame/drivers/zn.c
@@ -466,7 +466,7 @@ static void zn_machine_init( running_machine *machine )
psx_machine_init(machine);
}
-static MACHINE_CONFIG_START( zn1_1mb_vram, driver_data_t )
+static MACHINE_CONFIG_START( zn1_1mb_vram, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD( "maincpu", PSXCPU, XTAL_67_7376MHz )
MDRV_CPU_PROGRAM_MAP( zn_map)
@@ -503,7 +503,7 @@ static MACHINE_CONFIG_DERIVED( zn1_2mb_vram, zn1_1mb_vram )
MDRV_SCREEN_SIZE( 1024, 1024 )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( zn2, driver_data_t )
+static MACHINE_CONFIG_START( zn2, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD( "maincpu", PSXCPU, XTAL_100MHz )
MDRV_CPU_PROGRAM_MAP( zn_map)
diff --git a/src/mame/drivers/zr107.c b/src/mame/drivers/zr107.c
index 4b457080015..001da971d57 100644
--- a/src/mame/drivers/zr107.c
+++ b/src/mame/drivers/zr107.c
@@ -709,7 +709,7 @@ static MACHINE_RESET( zr107 )
cputag_set_input_line(machine, "dsp", INPUT_LINE_RESET, ASSERT_LINE);
}
-static MACHINE_CONFIG_START( zr107, driver_data_t )
+static MACHINE_CONFIG_START( zr107, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", PPC403GA, 64000000/2) /* PowerPC 403GA 32MHz */
@@ -770,7 +770,7 @@ static const k001604_interface jetwave_k001604_intf =
0 /* slrasslt hack */
};
-static MACHINE_CONFIG_START( jetwave, driver_data_t )
+static MACHINE_CONFIG_START( jetwave, driver_device )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", PPC403GA, 64000000/2) /* PowerPC 403GA 32MHz */
diff --git a/src/mame/includes/1942.h b/src/mame/includes/1942.h
index ab53e2cb696..89718fe2d84 100644
--- a/src/mame/includes/1942.h
+++ b/src/mame/includes/1942.h
@@ -4,13 +4,11 @@
***************************************************************************/
-class _1942_state : public driver_data_t
+class _1942_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, _1942_state(machine)); }
-
- _1942_state(running_machine &machine)
- : driver_data_t(machine) { }
+ _1942_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * fg_videoram;
diff --git a/src/mame/includes/1943.h b/src/mame/includes/1943.h
index 67b72ec130c..babed5918b5 100644
--- a/src/mame/includes/1943.h
+++ b/src/mame/includes/1943.h
@@ -4,13 +4,11 @@
***************************************************************************/
-class _1943_state : public driver_data_t
+class _1943_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, _1943_state(machine)); }
-
- _1943_state(running_machine &machine)
- : driver_data_t(machine) { }
+ _1943_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/20pacgal.h b/src/mame/includes/20pacgal.h
index 81a0a625b59..101c91fe2f5 100644
--- a/src/mame/includes/20pacgal.h
+++ b/src/mame/includes/20pacgal.h
@@ -7,13 +7,11 @@
***************************************************************************/
-class _20pacgal_state : public driver_data_t
+class _20pacgal_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, _20pacgal_state(machine)); }
-
- _20pacgal_state(running_machine &machine)
- : driver_data_t(machine) { }
+ _20pacgal_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 *char_gfx_ram;
diff --git a/src/mame/includes/4enraya.h b/src/mame/includes/4enraya.h
index 3c38f97ee97..8298f063305 100644
--- a/src/mame/includes/4enraya.h
+++ b/src/mame/includes/4enraya.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class _4enraya_state : public driver_data_t
+class _4enraya_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, _4enraya_state(machine)); }
-
- _4enraya_state(running_machine &machine)
- : driver_data_t(machine) { }
+ _4enraya_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/88games.h b/src/mame/includes/88games.h
index cc3b5be8112..797a7194d78 100644
--- a/src/mame/includes/88games.h
+++ b/src/mame/includes/88games.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class _88games_state : public driver_data_t
+class _88games_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, _88games_state(machine)); }
-
- _88games_state(running_machine &machine)
- : driver_data_t(machine) { }
+ _88games_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * ram;
diff --git a/src/mame/includes/actfancr.h b/src/mame/includes/actfancr.h
index 25fa68997be..77edfc67877 100644
--- a/src/mame/includes/actfancr.h
+++ b/src/mame/includes/actfancr.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class actfancr_state : public driver_data_t
+class actfancr_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, actfancr_state(machine)); }
-
- actfancr_state(running_machine &machine)
- : driver_data_t(machine) { }
+ actfancr_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * pf1_data;
diff --git a/src/mame/includes/aeroboto.h b/src/mame/includes/aeroboto.h
index f10a04c2aa0..a9a02ebe522 100644
--- a/src/mame/includes/aeroboto.h
+++ b/src/mame/includes/aeroboto.h
@@ -4,13 +4,11 @@
***************************************************************************/
-class aeroboto_state : public driver_data_t
+class aeroboto_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, aeroboto_state(machine)); }
-
- aeroboto_state(running_machine &machine)
- : driver_data_t(machine) { }
+ aeroboto_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * mainram;
diff --git a/src/mame/includes/aerofgt.h b/src/mame/includes/aerofgt.h
index 9d90c1af122..e3aacfcb812 100644
--- a/src/mame/includes/aerofgt.h
+++ b/src/mame/includes/aerofgt.h
@@ -1,11 +1,9 @@
-class aerofgt_state : public driver_data_t
+class aerofgt_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, aerofgt_state(machine)); }
-
- aerofgt_state(running_machine &machine)
- : driver_data_t(machine) { }
+ aerofgt_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * bg1videoram;
diff --git a/src/mame/includes/airbustr.h b/src/mame/includes/airbustr.h
index d4b97108f4c..898eeaac754 100644
--- a/src/mame/includes/airbustr.h
+++ b/src/mame/includes/airbustr.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class airbustr_state : public driver_data_t
+class airbustr_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, airbustr_state(machine)); }
-
- airbustr_state(running_machine &machine)
- : driver_data_t(machine) { }
+ airbustr_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/ajax.h b/src/mame/includes/ajax.h
index 59f6d428983..a0e34c3d4c8 100644
--- a/src/mame/includes/ajax.h
+++ b/src/mame/includes/ajax.h
@@ -1,11 +1,9 @@
-class ajax_state : public driver_data_t
+class ajax_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ajax_state(machine)); }
-
- ajax_state(running_machine &machine)
- : driver_data_t(machine) { }
+ ajax_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
// UINT8 * paletteram; // currently this uses generic palette handling
diff --git a/src/mame/includes/aliens.h b/src/mame/includes/aliens.h
index 1704ff019d4..4544abd3a27 100644
--- a/src/mame/includes/aliens.h
+++ b/src/mame/includes/aliens.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class aliens_state : public driver_data_t
+class aliens_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, aliens_state(machine)); }
-
- aliens_state(running_machine &machine)
- : driver_data_t(machine) { }
+ aliens_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * ram;
diff --git a/src/mame/includes/alpha68k.h b/src/mame/includes/alpha68k.h
index 2805d763bc8..38bd42bda97 100644
--- a/src/mame/includes/alpha68k.h
+++ b/src/mame/includes/alpha68k.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class alpha68k_state : public driver_data_t
+class alpha68k_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, alpha68k_state(machine)); }
-
- alpha68k_state(running_machine &machine)
- : driver_data_t(machine) { }
+ alpha68k_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * videoram;
diff --git a/src/mame/includes/ambush.h b/src/mame/includes/ambush.h
index a194760bb59..73d06abb092 100644
--- a/src/mame/includes/ambush.h
+++ b/src/mame/includes/ambush.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class ambush_state : public driver_data_t
+class ambush_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ambush_state(machine)); }
-
- ambush_state(running_machine &machine)
- : driver_data_t(machine) { }
+ ambush_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/amspdwy.h b/src/mame/includes/amspdwy.h
index fe3f09d2a0e..f82bd3f0649 100644
--- a/src/mame/includes/amspdwy.h
+++ b/src/mame/includes/amspdwy.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class amspdwy_state : public driver_data_t
+class amspdwy_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, amspdwy_state(machine)); }
-
- amspdwy_state(running_machine &machine)
- : driver_data_t(machine) { }
+ amspdwy_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/angelkds.h b/src/mame/includes/angelkds.h
index 5a536462a58..c4ab2197f85 100644
--- a/src/mame/includes/angelkds.h
+++ b/src/mame/includes/angelkds.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class angelkds_state : public driver_data_t
+class angelkds_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, angelkds_state(machine)); }
-
- angelkds_state(running_machine &machine)
- : driver_data_t(machine) { }
+ angelkds_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * paletteram;
diff --git a/src/mame/includes/appoooh.h b/src/mame/includes/appoooh.h
index 6b80d3c37b4..697b1b612f6 100644
--- a/src/mame/includes/appoooh.h
+++ b/src/mame/includes/appoooh.h
@@ -1,12 +1,10 @@
-class appoooh_state : public driver_data_t
+class appoooh_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, appoooh_state(machine)); }
-
- appoooh_state(running_machine &machine)
- : driver_data_t(machine) { }
+ appoooh_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * bg_videoram;
diff --git a/src/mame/includes/aquarium.h b/src/mame/includes/aquarium.h
index 1d6bbbd666d..3f494d882ff 100644
--- a/src/mame/includes/aquarium.h
+++ b/src/mame/includes/aquarium.h
@@ -1,13 +1,11 @@
-class aquarium_state : public driver_data_t
+class aquarium_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, aquarium_state(machine)); }
-
- aquarium_state(running_machine &machine)
- : driver_data_t(machine) { }
+ aquarium_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * scroll;
diff --git a/src/mame/includes/arabian.h b/src/mame/includes/arabian.h
index 2f220edd207..477d7aab5cf 100644
--- a/src/mame/includes/arabian.h
+++ b/src/mame/includes/arabian.h
@@ -6,13 +6,11 @@
***************************************************************************/
-class arabian_state : public driver_data_t
+class arabian_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, arabian_state(machine)); }
-
- arabian_state(running_machine &machine)
- : driver_data_t(machine) { }
+ arabian_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * blitter;
diff --git a/src/mame/includes/arkanoid.h b/src/mame/includes/arkanoid.h
index 4aac1f3819b..fff98988402 100644
--- a/src/mame/includes/arkanoid.h
+++ b/src/mame/includes/arkanoid.h
@@ -10,13 +10,11 @@ enum {
PADDLE2
};
-class arkanoid_state : public driver_data_t
+class arkanoid_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, arkanoid_state(machine)); }
-
- arkanoid_state(running_machine &machine)
- : driver_data_t(machine) { }
+ arkanoid_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/armedf.h b/src/mame/includes/armedf.h
index 6150d16c06a..945045814a2 100644
--- a/src/mame/includes/armedf.h
+++ b/src/mame/includes/armedf.h
@@ -2,13 +2,11 @@
-class armedf_state : public driver_data_t
+class armedf_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, armedf_state(machine)); }
-
- armedf_state(running_machine &machine)
- : driver_data_t(machine) { }
+ armedf_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * text_videoram;
diff --git a/src/mame/includes/ashnojoe.h b/src/mame/includes/ashnojoe.h
index ed729caac54..3c0bfc425e7 100644
--- a/src/mame/includes/ashnojoe.h
+++ b/src/mame/includes/ashnojoe.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class ashnojoe_state : public driver_data_t
+class ashnojoe_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ashnojoe_state(machine)); }
-
- ashnojoe_state(running_machine &machine)
- : driver_data_t(machine) { }
+ ashnojoe_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * tileram;
diff --git a/src/mame/includes/asterix.h b/src/mame/includes/asterix.h
index 5cbf0fb707d..aac0da640f8 100644
--- a/src/mame/includes/asterix.h
+++ b/src/mame/includes/asterix.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class asterix_state : public driver_data_t
+class asterix_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, asterix_state(machine)); }
-
- asterix_state(running_machine &machine)
- : driver_data_t(machine) { }
+ asterix_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
// UINT16 * paletteram; // currently this uses generic palette handling
diff --git a/src/mame/includes/astrof.h b/src/mame/includes/astrof.h
index 8ea4232b741..83caa604a95 100644
--- a/src/mame/includes/astrof.h
+++ b/src/mame/includes/astrof.h
@@ -4,13 +4,11 @@
****************************************************************************/
-class astrof_state : public driver_data_t
+class astrof_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, astrof_state(machine)); }
-
- astrof_state(running_machine &machine)
- : driver_data_t(machine) { }
+ astrof_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* video-related */
UINT8 * videoram;
diff --git a/src/mame/includes/asuka.h b/src/mame/includes/asuka.h
index 1dc6d0cbd7c..52cb3c8115b 100644
--- a/src/mame/includes/asuka.h
+++ b/src/mame/includes/asuka.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class asuka_state : public driver_data_t
+class asuka_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, asuka_state(machine)); }
-
- asuka_state(running_machine &machine)
- : driver_data_t(machine) { }
+ asuka_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
// UINT16 * paletteram; // this currently uses generic palette handlers
diff --git a/src/mame/includes/atarifb.h b/src/mame/includes/atarifb.h
index 9e37f0d6246..6634336e74b 100644
--- a/src/mame/includes/atarifb.h
+++ b/src/mame/includes/atarifb.h
@@ -15,13 +15,11 @@
#define ATARIFB_HIT_EN NODE_05
-class atarifb_state : public driver_data_t
+class atarifb_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, atarifb_state(machine)); }
-
- atarifb_state(running_machine &machine)
- : driver_data_t(machine) { }
+ atarifb_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* video-related */
UINT8 * alphap1_videoram;
diff --git a/src/mame/includes/atarig1.h b/src/mame/includes/atarig1.h
index caf29315511..d5121c0d0e7 100644
--- a/src/mame/includes/atarig1.h
+++ b/src/mame/includes/atarig1.h
@@ -9,10 +9,8 @@
class atarig1_state : public atarigen_state
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, atarig1_state(machine)); }
-
- atarig1_state(running_machine &machine)
- : atarigen_state(machine) { }
+ atarig1_state(running_machine &machine, const driver_device_config_base &config)
+ : atarigen_state(machine, config) { }
UINT8 is_pitfight;
diff --git a/src/mame/includes/atarig42.h b/src/mame/includes/atarig42.h
index b26277c6a51..409dd1aa2da 100644
--- a/src/mame/includes/atarig42.h
+++ b/src/mame/includes/atarig42.h
@@ -9,10 +9,8 @@
class atarig42_state : public atarigen_state
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, atarig42_state(machine)); }
-
- atarig42_state(running_machine &machine)
- : atarigen_state(machine) { }
+ atarig42_state(running_machine &machine, const driver_device_config_base &config)
+ : atarigen_state(machine, config) { }
UINT16 playfield_base;
UINT16 motion_object_base;
diff --git a/src/mame/includes/atarigt.h b/src/mame/includes/atarigt.h
index a702ef83490..f8258cca90c 100644
--- a/src/mame/includes/atarigt.h
+++ b/src/mame/includes/atarigt.h
@@ -14,10 +14,8 @@
class atarigt_state : public atarigen_state
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, atarigt_state(machine)); }
-
- atarigt_state(running_machine &machine)
- : atarigen_state(machine) { }
+ atarigt_state(running_machine &machine, const driver_device_config_base &config)
+ : atarigen_state(machine, config) { }
UINT8 is_primrage;
UINT16 * colorram;
diff --git a/src/mame/includes/atarigx2.h b/src/mame/includes/atarigx2.h
index 325094c1e01..b796500f585 100644
--- a/src/mame/includes/atarigx2.h
+++ b/src/mame/includes/atarigx2.h
@@ -9,10 +9,8 @@
class atarigx2_state : public atarigen_state
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, atarigx2_state(machine)); }
-
- atarigx2_state(running_machine &machine)
- : atarigen_state(machine) { }
+ atarigx2_state(running_machine &machine, const driver_device_config_base &config)
+ : atarigen_state(machine, config) { }
UINT16 playfield_base;
UINT16 motion_object_base;
diff --git a/src/mame/includes/atarisy1.h b/src/mame/includes/atarisy1.h
index 9af5b52e8c9..c2933757df0 100644
--- a/src/mame/includes/atarisy1.h
+++ b/src/mame/includes/atarisy1.h
@@ -9,10 +9,8 @@
class atarisy1_state : public atarigen_state
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, atarisy1_state(machine)); }
-
- atarisy1_state(running_machine &machine)
- : atarigen_state(machine),
+ atarisy1_state(running_machine &machine, const driver_device_config_base &config)
+ : atarigen_state(machine, config),
joystick_timer(machine.device<timer_device>("joystick_timer")),
yscroll_reset_timer(machine.device<timer_device>("yreset_timer")),
scanline_timer(machine.device<timer_device>("scan_timer")),
diff --git a/src/mame/includes/atarisy2.h b/src/mame/includes/atarisy2.h
index 34ed5d64568..02659298660 100644
--- a/src/mame/includes/atarisy2.h
+++ b/src/mame/includes/atarisy2.h
@@ -9,10 +9,8 @@
class atarisy2_state : public atarigen_state
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, atarisy2_state(machine)); }
-
- atarisy2_state(running_machine &machine)
- : atarigen_state(machine) { }
+ atarisy2_state(running_machine &machine, const driver_device_config_base &config)
+ : atarigen_state(machine, config) { }
UINT16 * slapstic_base;
diff --git a/src/mame/includes/avalnche.h b/src/mame/includes/avalnche.h
index 74453b5265a..b62ca72ef1e 100644
--- a/src/mame/includes/avalnche.h
+++ b/src/mame/includes/avalnche.h
@@ -7,13 +7,11 @@
#include "sound/discrete.h"
-class avalnche_state : public driver_data_t
+class avalnche_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, avalnche_state(machine)); }
-
- avalnche_state(running_machine &machine)
- : driver_data_t(machine) { }
+ avalnche_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* video-related */
UINT8 * videoram;
diff --git a/src/mame/includes/badlands.h b/src/mame/includes/badlands.h
index 61cdff0be45..c311f70cc61 100644
--- a/src/mame/includes/badlands.h
+++ b/src/mame/includes/badlands.h
@@ -9,10 +9,8 @@
class badlands_state : public atarigen_state
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, badlands_state(machine)); }
-
- badlands_state(running_machine &machine)
- : atarigen_state(machine) { }
+ badlands_state(running_machine &machine, const driver_device_config_base &config)
+ : atarigen_state(machine, config) { }
UINT8 pedal_value[2];
diff --git a/src/mame/includes/balsente.h b/src/mame/includes/balsente.h
index 1e56b54769f..95ad446df2c 100644
--- a/src/mame/includes/balsente.h
+++ b/src/mame/includes/balsente.h
@@ -26,13 +26,11 @@
#define POLY17_ADD 0x18000
-class balsente_state : public driver_data_t
+class balsente_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, balsente_state(machine)); }
-
- balsente_state(running_machine &machine)
- : driver_data_t(machine),
+ balsente_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config),
scanline_timer(machine.device<timer_device>("scan_timer")),
counter_0_timer(machine.device<timer_device>("8253_0_timer"))
{
diff --git a/src/mame/includes/bankp.h b/src/mame/includes/bankp.h
index c1777b86599..0f948917d73 100644
--- a/src/mame/includes/bankp.h
+++ b/src/mame/includes/bankp.h
@@ -9,13 +9,11 @@
#define BANKP_CPU_CLOCK (BANKP_MASTER_CLOCK/6)
#define BANKP_SN76496_CLOCK (BANKP_MASTER_CLOCK/6)
-class bankp_state : public driver_data_t
+class bankp_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, bankp_state(machine)); }
-
- bankp_state(running_machine &machine)
- : driver_data_t(machine) { }
+ bankp_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/batman.h b/src/mame/includes/batman.h
index fb54170c1c7..8760463dba9 100644
--- a/src/mame/includes/batman.h
+++ b/src/mame/includes/batman.h
@@ -9,10 +9,8 @@
class batman_state : public atarigen_state
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, batman_state(machine)); }
-
- batman_state(running_machine &machine)
- : atarigen_state(machine) { }
+ batman_state(running_machine &machine, const driver_device_config_base &config)
+ : atarigen_state(machine, config) { }
UINT16 latch_data;
diff --git a/src/mame/includes/battlane.h b/src/mame/includes/battlane.h
index cce9989a2e1..d1541a58af3 100644
--- a/src/mame/includes/battlane.h
+++ b/src/mame/includes/battlane.h
@@ -4,13 +4,11 @@
***************************************************************************/
-class battlane_state : public driver_data_t
+class battlane_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, battlane_state(machine)); }
-
- battlane_state(running_machine &machine)
- : driver_data_t(machine) { }
+ battlane_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * tileram;
diff --git a/src/mame/includes/battlex.h b/src/mame/includes/battlex.h
index 5fa99d823c3..1b8b8d4044a 100644
--- a/src/mame/includes/battlex.h
+++ b/src/mame/includes/battlex.h
@@ -4,13 +4,11 @@
***************************************************************************/
-class battlex_state : public driver_data_t
+class battlex_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, battlex_state(machine)); }
-
- battlex_state(running_machine &machine)
- : driver_data_t(machine) { }
+ battlex_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/battlnts.h b/src/mame/includes/battlnts.h
index 91a8c10b043..2134056529f 100644
--- a/src/mame/includes/battlnts.h
+++ b/src/mame/includes/battlnts.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class battlnts_state : public driver_data_t
+class battlnts_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, battlnts_state(machine)); }
-
- battlnts_state(running_machine &machine)
- : driver_data_t(machine) { }
+ battlnts_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
// UINT8 * paletteram; // this currently uses generic palette handling
diff --git a/src/mame/includes/bbusters.h b/src/mame/includes/bbusters.h
index d629a8bc8b6..addc67ec350 100644
--- a/src/mame/includes/bbusters.h
+++ b/src/mame/includes/bbusters.h
@@ -1,10 +1,8 @@
-class bbusters_state : public driver_data_t
+class bbusters_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, bbusters_state(machine)); }
-
- bbusters_state(running_machine &machine)
- : driver_data_t(machine) { }
+ bbusters_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT16 *videoram;
UINT16 *ram;
diff --git a/src/mame/includes/beathead.h b/src/mame/includes/beathead.h
index bc2fb7add6e..140c8d6444f 100644
--- a/src/mame/includes/beathead.h
+++ b/src/mame/includes/beathead.h
@@ -11,11 +11,13 @@
class beathead_state : public atarigen_state
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, beathead_state(machine)); }
+ beathead_state(running_machine &machine, const driver_device_config_base &config)
+ : atarigen_state(machine, config) { }
- beathead_state(running_machine &machine)
- : atarigen_state(machine),
- m_maincpu(*machine.device<asap_device>("maincpu")) { }
+ virtual void find_devices()
+ {
+ required_device(m_maincpu, "maincpu");
+ }
virtual void machine_start();
virtual void machine_reset();
@@ -23,7 +25,7 @@ public:
virtual void video_start();
virtual bool video_update(screen_device &screen, bitmap_t &bitmap, const rectangle &cliprect);
- asap_device & m_maincpu;
+ asap_device * m_maincpu;
UINT32 * m_videoram;
UINT32 * m_paletteram;
diff --git a/src/mame/includes/bigevglf.h b/src/mame/includes/bigevglf.h
index fa2fe19af46..1ac95496bc2 100644
--- a/src/mame/includes/bigevglf.h
+++ b/src/mame/includes/bigevglf.h
@@ -1,11 +1,9 @@
-class bigevglf_state : public driver_data_t
+class bigevglf_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, bigevglf_state(machine)); }
-
- bigevglf_state(running_machine &machine)
- : driver_data_t(machine) { }
+ bigevglf_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * paletteram;
diff --git a/src/mame/includes/bigstrkb.h b/src/mame/includes/bigstrkb.h
index 73cd4fdb74c..3a0fe14f328 100644
--- a/src/mame/includes/bigstrkb.h
+++ b/src/mame/includes/bigstrkb.h
@@ -1,10 +1,8 @@
-class bigstrkb_state : public driver_data_t
+class bigstrkb_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, bigstrkb_state(machine)); }
-
- bigstrkb_state(running_machine &machine)
- : driver_data_t(machine) { }
+ bigstrkb_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
tilemap_t *tilemap;
tilemap_t *tilemap2;
diff --git a/src/mame/includes/bionicc.h b/src/mame/includes/bionicc.h
index 05da00a2431..88ccb28fc36 100644
--- a/src/mame/includes/bionicc.h
+++ b/src/mame/includes/bionicc.h
@@ -4,13 +4,11 @@
***************************************************************************/
-class bionicc_state : public driver_data_t
+class bionicc_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, bionicc_state(machine)); }
-
- bionicc_state(running_machine &machine)
- : driver_data_t(machine) { }
+ bionicc_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * bgvideoram;
diff --git a/src/mame/includes/bishi.h b/src/mame/includes/bishi.h
index d1a9428a69b..af4ab0bfe9c 100644
--- a/src/mame/includes/bishi.h
+++ b/src/mame/includes/bishi.h
@@ -7,13 +7,11 @@
#define CPU_CLOCK (XTAL_24MHz / 2) /* 68000 clock */
#define SOUND_CLOCK XTAL_16_9344MHz /* YMZ280 clock */
-class bishi_state : public driver_data_t
+class bishi_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, bishi_state(machine)); }
-
- bishi_state(running_machine &machine)
- : driver_data_t(machine) { }
+ bishi_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * ram;
diff --git a/src/mame/includes/bladestl.h b/src/mame/includes/bladestl.h
index 9aece9b324a..353ba35e344 100644
--- a/src/mame/includes/bladestl.h
+++ b/src/mame/includes/bladestl.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class bladestl_state : public driver_data_t
+class bladestl_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, bladestl_state(machine)); }
-
- bladestl_state(running_machine &machine)
- : driver_data_t(machine) { }
+ bladestl_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * paletteram;
diff --git a/src/mame/includes/blktiger.h b/src/mame/includes/blktiger.h
index 46ad02036ec..3d2dc8c1a7a 100644
--- a/src/mame/includes/blktiger.h
+++ b/src/mame/includes/blktiger.h
@@ -4,13 +4,11 @@
***************************************************************************/
-class blktiger_state : public driver_data_t
+class blktiger_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, blktiger_state(machine)); }
-
- blktiger_state(running_machine &machine)
- : driver_data_t(machine) { }
+ blktiger_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * txvideoram;
diff --git a/src/mame/includes/blmbycar.h b/src/mame/includes/blmbycar.h
index 2893bd26e4e..492c157a620 100644
--- a/src/mame/includes/blmbycar.h
+++ b/src/mame/includes/blmbycar.h
@@ -4,13 +4,11 @@
***************************************************************************/
-class blmbycar_state : public driver_data_t
+class blmbycar_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, blmbycar_state(machine)); }
-
- blmbycar_state(running_machine &machine)
- : driver_data_t(machine) { }
+ blmbycar_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * vram_0;
diff --git a/src/mame/includes/blockade.h b/src/mame/includes/blockade.h
index 8301e8d98e2..fbfe05e7130 100644
--- a/src/mame/includes/blockade.h
+++ b/src/mame/includes/blockade.h
@@ -1,13 +1,11 @@
#include "sound/discrete.h"
#include "sound/samples.h"
-class blockade_state : public driver_data_t
+class blockade_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, blockade_state(machine)); }
-
- blockade_state(running_machine &machine)
- : driver_data_t(machine) { }
+ blockade_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT8 * videoram;
diff --git a/src/mame/includes/blockhl.h b/src/mame/includes/blockhl.h
index 7492a647e2e..5ba99dbd819 100644
--- a/src/mame/includes/blockhl.h
+++ b/src/mame/includes/blockhl.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class blockhl_state : public driver_data_t
+class blockhl_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, blockhl_state(machine)); }
-
- blockhl_state(running_machine &machine)
- : driver_data_t(machine) { }
+ blockhl_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * ram;
diff --git a/src/mame/includes/blockout.h b/src/mame/includes/blockout.h
index 01ff3bcf8c0..f2d6d168eb6 100644
--- a/src/mame/includes/blockout.h
+++ b/src/mame/includes/blockout.h
@@ -4,13 +4,11 @@
***************************************************************************/
-class blockout_state : public driver_data_t
+class blockout_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, blockout_state(machine)); }
-
- blockout_state(running_machine &machine)
- : driver_data_t(machine) { }
+ blockout_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * videoram;
diff --git a/src/mame/includes/blstroid.h b/src/mame/includes/blstroid.h
index 1fe51a28810..4afce0645d4 100644
--- a/src/mame/includes/blstroid.h
+++ b/src/mame/includes/blstroid.h
@@ -9,10 +9,8 @@
class blstroid_state : public atarigen_state
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, blstroid_state(machine)); }
-
- blstroid_state(running_machine &machine)
- : atarigen_state(machine) { }
+ blstroid_state(running_machine &machine, const driver_device_config_base &config)
+ : atarigen_state(machine, config) { }
UINT16 * priorityram;
};
diff --git a/src/mame/includes/blueprnt.h b/src/mame/includes/blueprnt.h
index 9812303a2c5..4553d5d3189 100644
--- a/src/mame/includes/blueprnt.h
+++ b/src/mame/includes/blueprnt.h
@@ -4,13 +4,11 @@
***************************************************************************/
-class blueprnt_state : public driver_data_t
+class blueprnt_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, blueprnt_state(machine)); }
-
- blueprnt_state(running_machine &machine)
- : driver_data_t(machine) { }
+ blueprnt_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/bogeyman.h b/src/mame/includes/bogeyman.h
index 66c566aed86..cfdb22a75d1 100644
--- a/src/mame/includes/bogeyman.h
+++ b/src/mame/includes/bogeyman.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class bogeyman_state : public driver_data_t
+class bogeyman_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, bogeyman_state(machine)); }
-
- bogeyman_state(running_machine &machine)
- : driver_data_t(machine) { }
+ bogeyman_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/bombjack.h b/src/mame/includes/bombjack.h
index ae586822ba7..1a30181daf1 100644
--- a/src/mame/includes/bombjack.h
+++ b/src/mame/includes/bombjack.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class bombjack_state : public driver_data_t
+class bombjack_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, bombjack_state(machine)); }
-
- bombjack_state(running_machine &machine)
- : driver_data_t(machine) { }
+ bombjack_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/boogwing.h b/src/mame/includes/boogwing.h
index cca520bbf86..d215dc39f5e 100644
--- a/src/mame/includes/boogwing.h
+++ b/src/mame/includes/boogwing.h
@@ -7,13 +7,11 @@
#include "sound/okim6295.h"
#include "video/deco16ic.h"
-class boogwing_state : public driver_data_t
+class boogwing_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, boogwing_state(machine)); }
-
- boogwing_state(running_machine &machine)
- : driver_data_t(machine),
+ boogwing_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config),
maincpu(machine.device<cpu_device>("maincpu")),
audiocpu(machine.device<cpu_device>("audiocpu")),
deco16ic(machine.device<deco16ic_device>("deco_custom")),
diff --git a/src/mame/includes/bottom9.h b/src/mame/includes/bottom9.h
index faa5d78f119..92b7d5d98c0 100644
--- a/src/mame/includes/bottom9.h
+++ b/src/mame/includes/bottom9.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class bottom9_state : public driver_data_t
+class bottom9_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, bottom9_state(machine)); }
-
- bottom9_state(running_machine &machine)
- : driver_data_t(machine) { }
+ bottom9_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
// UINT8 * paletteram; // currently this uses generic palette handling
diff --git a/src/mame/includes/brkthru.h b/src/mame/includes/brkthru.h
index e5080c1f13f..bb4d1d3680b 100644
--- a/src/mame/includes/brkthru.h
+++ b/src/mame/includes/brkthru.h
@@ -4,13 +4,11 @@
***************************************************************************/
-class brkthru_state : public driver_data_t
+class brkthru_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, brkthru_state(machine)); }
-
- brkthru_state(running_machine &machine)
- : driver_data_t(machine) { }
+ brkthru_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/bsktball.h b/src/mame/includes/bsktball.h
index 4aaaa33bd81..a2646dba2ee 100644
--- a/src/mame/includes/bsktball.h
+++ b/src/mame/includes/bsktball.h
@@ -13,13 +13,11 @@
#define BSKTBALL_BOUNCE_EN NODE_04
-class bsktball_state : public driver_data_t
+class bsktball_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, bsktball_state(machine)); }
-
- bsktball_state(running_machine &machine)
- : driver_data_t(machine) { }
+ bsktball_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/btime.h b/src/mame/includes/btime.h
index d0bd901111a..2c8001726c7 100644
--- a/src/mame/includes/btime.h
+++ b/src/mame/includes/btime.h
@@ -1,11 +1,9 @@
-class btime_state : public driver_data_t
+class btime_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, btime_state(machine)); }
-
- btime_state(running_machine &machine)
- : driver_data_t(machine) { }
+ btime_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/bublbobl.h b/src/mame/includes/bublbobl.h
index f74e72bf6cc..87e3de11c1a 100644
--- a/src/mame/includes/bublbobl.h
+++ b/src/mame/includes/bublbobl.h
@@ -1,11 +1,9 @@
-class bublbobl_state : public driver_data_t
+class bublbobl_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, bublbobl_state(machine)); }
-
- bublbobl_state(running_machine &machine)
- : driver_data_t(machine) { }
+ bublbobl_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * mcu_sharedram;
diff --git a/src/mame/includes/buggychl.h b/src/mame/includes/buggychl.h
index 837a32aff95..9ef9f6b939a 100644
--- a/src/mame/includes/buggychl.h
+++ b/src/mame/includes/buggychl.h
@@ -3,13 +3,11 @@
40love.c, bking.c and msisaac.c
*/
-class buggychl_state : public driver_data_t
+class buggychl_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, buggychl_state(machine)); }
-
- buggychl_state(running_machine &machine)
- : driver_data_t(machine) { }
+ buggychl_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram; // buggychl, 40love, msisaac
diff --git a/src/mame/includes/bwing.h b/src/mame/includes/bwing.h
index d4b608823cd..1c36178c028 100644
--- a/src/mame/includes/bwing.h
+++ b/src/mame/includes/bwing.h
@@ -7,13 +7,11 @@
#define BW_DEBUG 0
#define MAX_SOUNDS 16
-class bwing_state : public driver_data_t
+class bwing_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, bwing_state(machine)); }
-
- bwing_state(running_machine &machine)
- : driver_data_t(machine) { }
+ bwing_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/cabal.h b/src/mame/includes/cabal.h
index 4d24fc72b94..59b43da5040 100644
--- a/src/mame/includes/cabal.h
+++ b/src/mame/includes/cabal.h
@@ -1,10 +1,8 @@
-class cabal_state : public driver_data_t
+class cabal_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, cabal_state(machine)); }
-
- cabal_state(running_machine &machine)
- : driver_data_t(machine) { }
+ cabal_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT16 *spriteram;
UINT16 *colorram;
diff --git a/src/mame/includes/canyon.h b/src/mame/includes/canyon.h
index 43863ee54b0..2b92e8ecef1 100644
--- a/src/mame/includes/canyon.h
+++ b/src/mame/includes/canyon.h
@@ -17,13 +17,11 @@
-class canyon_state : public driver_data_t
+class canyon_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, canyon_state(machine)); }
-
- canyon_state(running_machine &machine)
- : driver_data_t(machine) { }
+ canyon_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/capbowl.h b/src/mame/includes/capbowl.h
index d0ee902f447..669231429a0 100644
--- a/src/mame/includes/capbowl.h
+++ b/src/mame/includes/capbowl.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class capbowl_state : public driver_data_t
+class capbowl_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, capbowl_state(machine)); }
-
- capbowl_state(running_machine &machine)
- : driver_data_t(machine) { }
+ capbowl_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * rowaddress;
diff --git a/src/mame/includes/carjmbre.h b/src/mame/includes/carjmbre.h
index f199441e955..835ad0dba56 100644
--- a/src/mame/includes/carjmbre.h
+++ b/src/mame/includes/carjmbre.h
@@ -4,13 +4,11 @@
***************************************************************************/
-class carjmbre_state : public driver_data_t
+class carjmbre_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, carjmbre_state(machine)); }
-
- carjmbre_state(running_machine &machine)
- : driver_data_t(machine) { }
+ carjmbre_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/cave.h b/src/mame/includes/cave.h
index db637731605..f0868f09aa5 100644
--- a/src/mame/includes/cave.h
+++ b/src/mame/includes/cave.h
@@ -21,13 +21,11 @@ struct sprite_cave
#define MAX_PRIORITY 4
#define MAX_SPRITE_NUM 0x400
-class cave_state : public driver_data_t
+class cave_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, cave_state(machine)); }
-
- cave_state(running_machine &machine)
- : driver_data_t(machine) { }
+ cave_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * videoregs;
diff --git a/src/mame/includes/cbasebal.h b/src/mame/includes/cbasebal.h
index 758cd09b418..3b4c430cb19 100644
--- a/src/mame/includes/cbasebal.h
+++ b/src/mame/includes/cbasebal.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class cbasebal_state : public driver_data_t
+class cbasebal_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, cbasebal_state(machine)); }
-
- cbasebal_state(running_machine &machine)
- : driver_data_t(machine) { }
+ cbasebal_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * spriteram;
diff --git a/src/mame/includes/cbuster.h b/src/mame/includes/cbuster.h
index 8cb7620f02e..79f42a9a624 100644
--- a/src/mame/includes/cbuster.h
+++ b/src/mame/includes/cbuster.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class cbuster_state : public driver_data_t
+class cbuster_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, cbuster_state(machine)); }
-
- cbuster_state(running_machine &machine)
- : driver_data_t(machine) { }
+ cbuster_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * pf1_rowscroll;
diff --git a/src/mame/includes/ccastles.h b/src/mame/includes/ccastles.h
index 320ee4cd42d..a012d2579a4 100644
--- a/src/mame/includes/ccastles.h
+++ b/src/mame/includes/ccastles.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class ccastles_state : public driver_data_t
+class ccastles_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ccastles_state(machine)); }
-
- ccastles_state(running_machine &machine)
- : driver_data_t(machine) { }
+ ccastles_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/chaknpop.h b/src/mame/includes/chaknpop.h
index aeb80d26007..7167293d4ca 100644
--- a/src/mame/includes/chaknpop.h
+++ b/src/mame/includes/chaknpop.h
@@ -3,13 +3,11 @@
#define MCU_INITIAL_SEED 0x81
-class chaknpop_state : public driver_data_t
+class chaknpop_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, chaknpop_state(machine)); }
-
- chaknpop_state(running_machine &machine)
- : driver_data_t(machine) { }
+ chaknpop_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * mcu_ram;
diff --git a/src/mame/includes/champbas.h b/src/mame/includes/champbas.h
index 116d9327d2e..094c2481a03 100644
--- a/src/mame/includes/champbas.h
+++ b/src/mame/includes/champbas.h
@@ -8,13 +8,11 @@
#define CPUTAG_MCU "mcu"
-class champbas_state : public driver_data_t
+class champbas_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, champbas_state(machine)); }
-
- champbas_state(running_machine &machine)
- : driver_data_t(machine) { }
+ champbas_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * bg_videoram;
diff --git a/src/mame/includes/changela.h b/src/mame/includes/changela.h
index 48f6c38faba..2ff3492d474 100644
--- a/src/mame/includes/changela.h
+++ b/src/mame/includes/changela.h
@@ -1,12 +1,10 @@
-class changela_state : public driver_data_t
+class changela_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, changela_state(machine)); }
-
- changela_state(running_machine &machine)
- : driver_data_t(machine) { }
+ changela_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/cheekyms.h b/src/mame/includes/cheekyms.h
index f6d5298af32..98e005fbbfa 100644
--- a/src/mame/includes/cheekyms.h
+++ b/src/mame/includes/cheekyms.h
@@ -5,13 +5,11 @@
*************************************************************************/
-class cheekyms_state : public driver_data_t
+class cheekyms_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, cheekyms_state(machine)); }
-
- cheekyms_state(running_machine &machine)
- : driver_data_t(machine) { }
+ cheekyms_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/chqflag.h b/src/mame/includes/chqflag.h
index 6cecce00998..37a06656492 100644
--- a/src/mame/includes/chqflag.h
+++ b/src/mame/includes/chqflag.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class chqflag_state : public driver_data_t
+class chqflag_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, chqflag_state(machine)); }
-
- chqflag_state(running_machine &machine)
- : driver_data_t(machine) { }
+ chqflag_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * ram;
diff --git a/src/mame/includes/cidelsa.h b/src/mame/includes/cidelsa.h
index 3b11c24e8ee..1d77186a51a 100644
--- a/src/mame/includes/cidelsa.h
+++ b/src/mame/includes/cidelsa.h
@@ -24,13 +24,11 @@
#define DRACO_PAGERAM_MASK 0x7ff
#define CIDELSA_CHARRAM_MASK 0x7ff
-class cidelsa_state : public driver_data_t
+class cidelsa_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, cidelsa_state(machine)); }
-
- cidelsa_state(running_machine &machine)
- : driver_data_t(machine) { }
+ cidelsa_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* cpu state */
cdp1802_control_mode cdp1802_mode;
diff --git a/src/mame/includes/circus.h b/src/mame/includes/circus.h
index 321e59b7d51..edb109a95f7 100644
--- a/src/mame/includes/circus.h
+++ b/src/mame/includes/circus.h
@@ -6,13 +6,11 @@
#define GAME_IS_RIPCORD (state->game_id == 4)
-class circus_state : public driver_data_t
+class circus_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, circus_state(machine)); }
-
- circus_state(running_machine &machine)
- : driver_data_t(machine) { }
+ circus_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/circusc.h b/src/mame/includes/circusc.h
index ab67707ac1a..755ba4f8273 100644
--- a/src/mame/includes/circusc.h
+++ b/src/mame/includes/circusc.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class circusc_state : public driver_data_t
+class circusc_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, circusc_state(machine)); }
-
- circusc_state(running_machine &machine)
- : driver_data_t(machine) { }
+ circusc_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/citycon.h b/src/mame/includes/citycon.h
index 78dcfb6886b..6384ae86494 100644
--- a/src/mame/includes/citycon.h
+++ b/src/mame/includes/citycon.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class citycon_state : public driver_data_t
+class citycon_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, citycon_state(machine)); }
-
- citycon_state(running_machine &machine)
- : driver_data_t(machine) { }
+ citycon_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/cloud9.h b/src/mame/includes/cloud9.h
index 19e69c88a52..652b83a903d 100644
--- a/src/mame/includes/cloud9.h
+++ b/src/mame/includes/cloud9.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class cloud9_state : public driver_data_t
+class cloud9_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, cloud9_state(machine)); }
-
- cloud9_state(running_machine &machine)
- : driver_data_t(machine) { }
+ cloud9_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/cninja.h b/src/mame/includes/cninja.h
index 40a98178284..44e90def272 100644
--- a/src/mame/includes/cninja.h
+++ b/src/mame/includes/cninja.h
@@ -7,13 +7,11 @@
#include "sound/okim6295.h"
#include "video/deco16ic.h"
-class cninja_state : public driver_data_t
+class cninja_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, cninja_state(machine)); }
-
- cninja_state(running_machine &machine)
- : driver_data_t(machine),
+ cninja_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config),
maincpu(machine.device<cpu_device>("maincpu")),
audiocpu(machine.device<cpu_device>("audiocpu")),
deco16ic(machine.device<deco16ic_device>("deco_custom")),
diff --git a/src/mame/includes/combatsc.h b/src/mame/includes/combatsc.h
index eea07faf2d9..3be223ff678 100644
--- a/src/mame/includes/combatsc.h
+++ b/src/mame/includes/combatsc.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class combatsc_state : public driver_data_t
+class combatsc_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, combatsc_state(machine)); }
-
- combatsc_state(running_machine &machine)
- : driver_data_t(machine) { }
+ combatsc_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/commando.h b/src/mame/includes/commando.h
index 61b0de8b8ac..3ae0f1c2782 100644
--- a/src/mame/includes/commando.h
+++ b/src/mame/includes/commando.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class commando_state : public driver_data_t
+class commando_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, commando_state(machine)); }
-
- commando_state(running_machine &machine)
- : driver_data_t(machine) { }
+ commando_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/compgolf.h b/src/mame/includes/compgolf.h
index a18d751aace..8341b5e0d6f 100644
--- a/src/mame/includes/compgolf.h
+++ b/src/mame/includes/compgolf.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class compgolf_state : public driver_data_t
+class compgolf_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, compgolf_state(machine)); }
-
- compgolf_state(running_machine &machine)
- : driver_data_t(machine) { }
+ compgolf_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/contra.h b/src/mame/includes/contra.h
index 3ad74b20222..42a178a97fa 100644
--- a/src/mame/includes/contra.h
+++ b/src/mame/includes/contra.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class contra_state : public driver_data_t
+class contra_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, contra_state(machine)); }
-
- contra_state(running_machine &machine)
- : driver_data_t(machine) { }
+ contra_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * spriteram;
diff --git a/src/mame/includes/coolpool.h b/src/mame/includes/coolpool.h
index 7ab1d42b86a..4b082cdde19 100644
--- a/src/mame/includes/coolpool.h
+++ b/src/mame/includes/coolpool.h
@@ -1,10 +1,8 @@
-class coolpool_state : public driver_data_t
+class coolpool_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, coolpool_state(machine)); }
-
- coolpool_state(running_machine &machine)
- : driver_data_t(machine) { }
+ coolpool_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT16 *vram_base;
diff --git a/src/mame/includes/cop01.h b/src/mame/includes/cop01.h
index d08e4decdc7..489a088db00 100644
--- a/src/mame/includes/cop01.h
+++ b/src/mame/includes/cop01.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class cop01_state : public driver_data_t
+class cop01_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, cop01_state(machine)); }
-
- cop01_state(running_machine &machine)
- : driver_data_t(machine) { }
+ cop01_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * bgvideoram;
diff --git a/src/mame/includes/copsnrob.h b/src/mame/includes/copsnrob.h
index ebd8c44b278..929027c9c0f 100644
--- a/src/mame/includes/copsnrob.h
+++ b/src/mame/includes/copsnrob.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class copsnrob_state : public driver_data_t
+class copsnrob_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, copsnrob_state(machine)); }
-
- copsnrob_state(running_machine &machine)
- : driver_data_t(machine) { }
+ copsnrob_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/cosmic.h b/src/mame/includes/cosmic.h
index 68f3040afb0..8a976d0f0a6 100644
--- a/src/mame/includes/cosmic.h
+++ b/src/mame/includes/cosmic.h
@@ -8,13 +8,11 @@
#define Z80_MASTER_CLOCK XTAL_10_816MHz
-class cosmic_state : public driver_data_t
+class cosmic_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, cosmic_state(machine)); }
-
- cosmic_state(running_machine &machine)
- : driver_data_t(machine) { }
+ cosmic_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/cps1.h b/src/mame/includes/cps1.h
index 8506c127193..f4f99ca5e3b 100644
--- a/src/mame/includes/cps1.h
+++ b/src/mame/includes/cps1.h
@@ -57,13 +57,11 @@ struct CPS1config
};
-class cps_state : public driver_data_t
+class cps_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, cps_state(machine)); }
-
- cps_state(running_machine &machine)
- : driver_data_t(machine) { }
+ cps_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
// cps1
diff --git a/src/mame/includes/crgolf.h b/src/mame/includes/crgolf.h
index fa0281519d1..863b80eefe7 100644
--- a/src/mame/includes/crgolf.h
+++ b/src/mame/includes/crgolf.h
@@ -7,13 +7,11 @@
#define MASTER_CLOCK 18432000
-class crgolf_state : public driver_data_t
+class crgolf_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, crgolf_state(machine)); }
-
- crgolf_state(running_machine &machine)
- : driver_data_t(machine) { }
+ crgolf_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram_a;
diff --git a/src/mame/includes/crimfght.h b/src/mame/includes/crimfght.h
index e9103968f17..9b634fe88a1 100644
--- a/src/mame/includes/crimfght.h
+++ b/src/mame/includes/crimfght.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class crimfght_state : public driver_data_t
+class crimfght_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, crimfght_state(machine)); }
-
- crimfght_state(running_machine &machine)
- : driver_data_t(machine) { }
+ crimfght_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
// UINT8 * paletteram; // currently this uses generic palette handling
diff --git a/src/mame/includes/crospang.h b/src/mame/includes/crospang.h
index f3628e3f3e6..de5a6aff77a 100644
--- a/src/mame/includes/crospang.h
+++ b/src/mame/includes/crospang.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class crospang_state : public driver_data_t
+class crospang_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, crospang_state(machine)); }
-
- crospang_state(running_machine &machine)
- : driver_data_t(machine) { }
+ crospang_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * bg_videoram;
diff --git a/src/mame/includes/crshrace.h b/src/mame/includes/crshrace.h
index a650cb5794f..14170f9eb04 100644
--- a/src/mame/includes/crshrace.h
+++ b/src/mame/includes/crshrace.h
@@ -1,11 +1,9 @@
-class crshrace_state : public driver_data_t
+class crshrace_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, crshrace_state(machine)); }
-
- crshrace_state(running_machine &machine)
- : driver_data_t(machine) { }
+ crshrace_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * videoram1;
diff --git a/src/mame/includes/cvs.h b/src/mame/includes/cvs.h
index b104ab4cbc7..27114d522c3 100644
--- a/src/mame/includes/cvs.h
+++ b/src/mame/includes/cvs.h
@@ -16,13 +16,11 @@ struct cvs_star
int x, y, code;
};
-class cvs_state : public driver_data_t
+class cvs_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, cvs_state(machine)); }
-
- cvs_state(running_machine &machine)
- : driver_data_t(machine) { }
+ cvs_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * video_ram;
diff --git a/src/mame/includes/cyberbal.h b/src/mame/includes/cyberbal.h
index 3ae74826f0f..696dfe997db 100644
--- a/src/mame/includes/cyberbal.h
+++ b/src/mame/includes/cyberbal.h
@@ -9,10 +9,8 @@
class cyberbal_state : public atarigen_state
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, cyberbal_state(machine)); }
-
- cyberbal_state(running_machine &machine)
- : atarigen_state(machine) { }
+ cyberbal_state(running_machine &machine, const driver_device_config_base &config)
+ : atarigen_state(machine, config) { }
UINT16 * paletteram_0;
UINT16 * paletteram_1;
diff --git a/src/mame/includes/darius.h b/src/mame/includes/darius.h
index 60ae8291406..662f708a6e0 100644
--- a/src/mame/includes/darius.h
+++ b/src/mame/includes/darius.h
@@ -7,13 +7,11 @@
#define DARIUS_VOL_MAX (3*2 + 2)
#define DARIUS_PAN_MAX (2 + 2 + 1) /* FM 2port + PSG 2port + DA 1port */
-class darius_state : public driver_data_t
+class darius_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, darius_state(machine)); }
-
- darius_state(running_machine &machine)
- : driver_data_t(machine) { }
+ darius_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * spriteram;
diff --git a/src/mame/includes/dassault.h b/src/mame/includes/dassault.h
index ed65aa53021..75935122e53 100644
--- a/src/mame/includes/dassault.h
+++ b/src/mame/includes/dassault.h
@@ -7,13 +7,11 @@
#include "sound/okim6295.h"
#include "video/deco16ic.h"
-class dassault_state : public driver_data_t
+class dassault_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dassault_state(machine)); }
-
- dassault_state(running_machine &machine)
- : driver_data_t(machine),
+ dassault_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config),
maincpu(machine.device<cpu_device>("maincpu")),
audiocpu(machine.device<cpu_device>("audiocpu")),
subcpu(machine.device<cpu_device>("sub")),
diff --git a/src/mame/includes/dbz.h b/src/mame/includes/dbz.h
index 88c96125cd3..31a78a7900f 100644
--- a/src/mame/includes/dbz.h
+++ b/src/mame/includes/dbz.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class dbz_state : public driver_data_t
+class dbz_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dbz_state(machine)); }
-
- dbz_state(running_machine &machine)
- : driver_data_t(machine) { }
+ dbz_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * bg1_videoram;
diff --git a/src/mame/includes/dcheese.h b/src/mame/includes/dcheese.h
index a3c302fa6d6..c22f4a9a342 100644
--- a/src/mame/includes/dcheese.h
+++ b/src/mame/includes/dcheese.h
@@ -5,13 +5,11 @@
**************************************************************************/
-class dcheese_state : public driver_data_t
+class dcheese_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dcheese_state(machine)); }
-
- dcheese_state(running_machine &machine)
- : driver_data_t(machine) { }
+ dcheese_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* video-related */
UINT16 blitter_color[2];
diff --git a/src/mame/includes/dday.h b/src/mame/includes/dday.h
index 8f47db1cbfa..cf4d652ebd6 100644
--- a/src/mame/includes/dday.h
+++ b/src/mame/includes/dday.h
@@ -5,13 +5,11 @@
*************************************************************************/
-class dday_state : public driver_data_t
+class dday_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dday_state(machine)); }
-
- dday_state(running_machine &machine)
- : driver_data_t(machine) { }
+ dday_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * bgvideoram;
diff --git a/src/mame/includes/ddragon.h b/src/mame/includes/ddragon.h
index 9786c02cf5e..0b44c719b05 100644
--- a/src/mame/includes/ddragon.h
+++ b/src/mame/includes/ddragon.h
@@ -5,13 +5,11 @@
*************************************************************************/
-class ddragon_state : public driver_data_t
+class ddragon_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ddragon_state(machine)); }
-
- ddragon_state(running_machine &machine)
- : driver_data_t(machine) { }
+ ddragon_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * rambase;
diff --git a/src/mame/includes/ddragon3.h b/src/mame/includes/ddragon3.h
index 2c7f1458db5..4cd8cb30e6c 100644
--- a/src/mame/includes/ddragon3.h
+++ b/src/mame/includes/ddragon3.h
@@ -5,13 +5,11 @@
*************************************************************************/
-class ddragon3_state : public driver_data_t
+class ddragon3_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ddragon3_state(machine)); }
-
- ddragon3_state(running_machine &machine)
- : driver_data_t(machine) { }
+ ddragon3_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * bg_videoram;
diff --git a/src/mame/includes/ddribble.h b/src/mame/includes/ddribble.h
index 59508ecdbdd..456c1483c38 100644
--- a/src/mame/includes/ddribble.h
+++ b/src/mame/includes/ddribble.h
@@ -4,13 +4,11 @@
***************************************************************************/
-class ddribble_state : public driver_data_t
+class ddribble_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ddribble_state(machine)); }
-
- ddribble_state(running_machine &machine)
- : driver_data_t(machine) { }
+ ddribble_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * sharedram;
diff --git a/src/mame/includes/dec8.h b/src/mame/includes/dec8.h
index 777ecea112c..d857e2dd217 100644
--- a/src/mame/includes/dec8.h
+++ b/src/mame/includes/dec8.h
@@ -1,11 +1,9 @@
-class dec8_state : public driver_data_t
+class dec8_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dec8_state(machine)); }
-
- dec8_state(running_machine &machine)
- : driver_data_t(machine) { }
+ dec8_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/deniam.h b/src/mame/includes/deniam.h
index ba60fd6e5f1..2c7a0e0afb4 100644
--- a/src/mame/includes/deniam.h
+++ b/src/mame/includes/deniam.h
@@ -5,13 +5,11 @@
*************************************************************************/
-class deniam_state : public driver_data_t
+class deniam_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, deniam_state(machine)); }
-
- deniam_state(running_machine &machine)
- : driver_data_t(machine) { }
+ deniam_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * videoram;
diff --git a/src/mame/includes/dietgo.h b/src/mame/includes/dietgo.h
index 621771204b9..9525b055ecc 100644
--- a/src/mame/includes/dietgo.h
+++ b/src/mame/includes/dietgo.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class dietgo_state : public driver_data_t
+class dietgo_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dietgo_state(machine)); }
-
- dietgo_state(running_machine &machine)
- : driver_data_t(machine) { }
+ dietgo_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * pf1_rowscroll;
diff --git a/src/mame/includes/djboy.h b/src/mame/includes/djboy.h
index 130923dca7c..7b2de4434c6 100644
--- a/src/mame/includes/djboy.h
+++ b/src/mame/includes/djboy.h
@@ -6,13 +6,11 @@
#define PROT_OUTPUT_BUFFER_SIZE 8
-class djboy_state : public driver_data_t
+class djboy_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, djboy_state(machine)); }
-
- djboy_state(running_machine &machine)
- : driver_data_t(machine) { }
+ djboy_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 *videoram;
diff --git a/src/mame/includes/dkong.h b/src/mame/includes/dkong.h
index 7015e25abbc..0eb8a611858 100644
--- a/src/mame/includes/dkong.h
+++ b/src/mame/includes/dkong.h
@@ -69,13 +69,11 @@ enum
#define DK3_PALETTE_LENGTH (256+256+8+1) /* (256) */
#define RS_PALETTE_LENGTH (256+256+8+1)
-class dkong_state : public driver_data_t
+class dkong_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dkong_state(machine)); }
-
- dkong_state(running_machine &machine)
- : driver_data_t(machine) { }
+ dkong_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * video_ram;
diff --git a/src/mame/includes/docastle.h b/src/mame/includes/docastle.h
index 120e3875b93..2620aa5fe0a 100644
--- a/src/mame/includes/docastle.h
+++ b/src/mame/includes/docastle.h
@@ -1,12 +1,10 @@
-class docastle_state : public driver_data_t
+class docastle_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, docastle_state(machine)); }
-
- docastle_state(running_machine &machine)
- : driver_data_t(machine) { }
+ docastle_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/dogfgt.h b/src/mame/includes/dogfgt.h
index bd65fd06f05..63ae137507a 100644
--- a/src/mame/includes/dogfgt.h
+++ b/src/mame/includes/dogfgt.h
@@ -3,13 +3,11 @@
#define BITMAPRAM_SIZE 0x6000
-class dogfgt_state : public driver_data_t
+class dogfgt_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dogfgt_state(machine)); }
-
- dogfgt_state(running_machine &machine)
- : driver_data_t(machine) { }
+ dogfgt_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * bgvideoram;
diff --git a/src/mame/includes/dragrace.h b/src/mame/includes/dragrace.h
index 1275e6ba766..d1af6c4fdda 100644
--- a/src/mame/includes/dragrace.h
+++ b/src/mame/includes/dragrace.h
@@ -22,13 +22,11 @@
#define DRAGRACE_ATTRACT_EN NODE_09
-class dragrace_state : public driver_data_t
+class dragrace_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dragrace_state(machine)); }
-
- dragrace_state(running_machine &machine)
- : driver_data_t(machine) { }
+ dragrace_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * playfield_ram;
diff --git a/src/mame/includes/drgnmst.h b/src/mame/includes/drgnmst.h
index c97d990945d..9b025ca5f33 100644
--- a/src/mame/includes/drgnmst.h
+++ b/src/mame/includes/drgnmst.h
@@ -1,13 +1,11 @@
#include "sound/okim6295.h"
-class drgnmst_state : public driver_data_t
+class drgnmst_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, drgnmst_state(machine)); }
-
- drgnmst_state(running_machine &machine)
- : driver_data_t(machine),
+ drgnmst_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config),
oki_1(machine.device<okim6295_device>("oki1")),
oki_2(machine.device<okim6295_device>("oki2")) { }
diff --git a/src/mame/includes/dribling.h b/src/mame/includes/dribling.h
index ae22370c0a2..530a52c5fad 100644
--- a/src/mame/includes/dribling.h
+++ b/src/mame/includes/dribling.h
@@ -6,13 +6,11 @@
-class dribling_state : public driver_data_t
+class dribling_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dribling_state(machine)); }
-
- dribling_state(running_machine &machine)
- : driver_data_t(machine) { }
+ dribling_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/drmicro.h b/src/mame/includes/drmicro.h
index 050a357b58f..f87b8ec29fd 100644
--- a/src/mame/includes/drmicro.h
+++ b/src/mame/includes/drmicro.h
@@ -5,13 +5,11 @@
*************************************************************************/
-class drmicro_state : public driver_data_t
+class drmicro_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, drmicro_state(machine)); }
-
- drmicro_state(running_machine &machine)
- : driver_data_t(machine) { }
+ drmicro_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/dynax.h b/src/mame/includes/dynax.h
index fb748229cfa..a410097f877 100644
--- a/src/mame/includes/dynax.h
+++ b/src/mame/includes/dynax.h
@@ -6,13 +6,11 @@
#include "sound/okim6295.h"
-class dynax_state : public driver_data_t
+class dynax_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dynax_state(machine)); }
-
- dynax_state(running_machine &machine)
- : driver_data_t(machine) { }
+ dynax_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
// up to 8 layers, 2 images per layer (interleaved on screen)
UINT8 * pixmap[8][2];
diff --git a/src/mame/includes/epos.h b/src/mame/includes/epos.h
index a81ae1329e5..466b5cb37ab 100644
--- a/src/mame/includes/epos.h
+++ b/src/mame/includes/epos.h
@@ -4,13 +4,11 @@
**************************************************************************/
-class epos_state : public driver_data_t
+class epos_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, epos_state(machine)); }
-
- epos_state(running_machine &machine)
- : driver_data_t(machine) { }
+ epos_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/eprom.h b/src/mame/includes/eprom.h
index ed5be51818e..000ddece639 100644
--- a/src/mame/includes/eprom.h
+++ b/src/mame/includes/eprom.h
@@ -9,10 +9,8 @@
class eprom_state : public atarigen_state
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, eprom_state(machine)); }
-
- eprom_state(running_machine &machine)
- : atarigen_state(machine) { }
+ eprom_state(running_machine &machine, const driver_device_config_base &config)
+ : atarigen_state(machine, config) { }
int screen_intensity;
int video_disable;
diff --git a/src/mame/includes/equites.h b/src/mame/includes/equites.h
index db65afaa89d..d7d508bb32e 100644
--- a/src/mame/includes/equites.h
+++ b/src/mame/includes/equites.h
@@ -2,13 +2,11 @@
#define POPDRUMKIT 0
-class equites_state : public driver_data_t
+class equites_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, equites_state(machine)); }
-
- equites_state(running_machine &machine)
- : driver_data_t(machine) { }
+ equites_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * bg_videoram;
diff --git a/src/mame/includes/esd16.h b/src/mame/includes/esd16.h
index 7f92b4e9079..4a147644939 100644
--- a/src/mame/includes/esd16.h
+++ b/src/mame/includes/esd16.h
@@ -4,13 +4,11 @@
***************************************************************************/
-class esd16_state : public driver_data_t
+class esd16_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, esd16_state(machine)); }
-
- esd16_state(running_machine &machine)
- : driver_data_t(machine) { }
+ esd16_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * vram_0;
diff --git a/src/mame/includes/espial.h b/src/mame/includes/espial.h
index 70da71125d7..febc020c591 100644
--- a/src/mame/includes/espial.h
+++ b/src/mame/includes/espial.h
@@ -4,13 +4,11 @@
***************************************************************************/
-class espial_state : public driver_data_t
+class espial_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, espial_state(machine)); }
-
- espial_state(running_machine &machine)
- : driver_data_t(machine) { }
+ espial_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT8 * videoram; // espial, zodiack, marineb
UINT8 * colorram; // espial, marineb
diff --git a/src/mame/includes/exedexes.h b/src/mame/includes/exedexes.h
index 7a5790af20a..d31d3e167d3 100644
--- a/src/mame/includes/exedexes.h
+++ b/src/mame/includes/exedexes.h
@@ -5,13 +5,11 @@
*************************************************************************/
-class exedexes_state : public driver_data_t
+class exedexes_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, exedexes_state(machine)); }
-
- exedexes_state(running_machine &machine)
- : driver_data_t(machine) { }
+ exedexes_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/exerion.h b/src/mame/includes/exerion.h
index 67e0655b8da..fb34df2454e 100644
--- a/src/mame/includes/exerion.h
+++ b/src/mame/includes/exerion.h
@@ -18,13 +18,11 @@
#define EXERION_VBSTART (240)
-class exerion_state : public driver_data_t
+class exerion_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, exerion_state(machine)); }
-
- exerion_state(running_machine &machine)
- : driver_data_t(machine) { }
+ exerion_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * main_ram;
diff --git a/src/mame/includes/exprraid.h b/src/mame/includes/exprraid.h
index 92e84e14d07..8bec3cedbeb 100644
--- a/src/mame/includes/exprraid.h
+++ b/src/mame/includes/exprraid.h
@@ -5,13 +5,11 @@
*************************************************************************/
-class exprraid_state : public driver_data_t
+class exprraid_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, exprraid_state(machine)); }
-
- exprraid_state(running_machine &machine)
- : driver_data_t(machine) { }
+ exprraid_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * main_ram;
diff --git a/src/mame/includes/f1gp.h b/src/mame/includes/f1gp.h
index f0498352327..c0b0dc42a8d 100644
--- a/src/mame/includes/f1gp.h
+++ b/src/mame/includes/f1gp.h
@@ -1,11 +1,9 @@
-class f1gp_state : public driver_data_t
+class f1gp_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, f1gp_state(machine)); }
-
- f1gp_state(running_machine &machine)
- : driver_data_t(machine) { }
+ f1gp_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * sharedram;
diff --git a/src/mame/includes/fantland.h b/src/mame/includes/fantland.h
index 382f11e0156..f567e287b8b 100644
--- a/src/mame/includes/fantland.h
+++ b/src/mame/includes/fantland.h
@@ -1,12 +1,10 @@
-class fantland_state : public driver_data_t
+class fantland_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, fantland_state(machine)); }
-
- fantland_state(running_machine &machine)
- : driver_data_t(machine) { }
+ fantland_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
// UINT8 * spriteram; // currently directly used in a 16bit map...
diff --git a/src/mame/includes/fastlane.h b/src/mame/includes/fastlane.h
index c45f2b62b12..7dac2687110 100644
--- a/src/mame/includes/fastlane.h
+++ b/src/mame/includes/fastlane.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class fastlane_state : public driver_data_t
+class fastlane_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, fastlane_state(machine)); }
-
- fastlane_state(running_machine &machine)
- : driver_data_t(machine) { }
+ fastlane_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram1;
diff --git a/src/mame/includes/fcombat.h b/src/mame/includes/fcombat.h
index 2afed014a00..88d5f66dc02 100644
--- a/src/mame/includes/fcombat.h
+++ b/src/mame/includes/fcombat.h
@@ -22,13 +22,11 @@
#define VISIBLE_Y_MAX (30*8)
-class fcombat_state : public driver_data_t
+class fcombat_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, fcombat_state(machine)); }
-
- fcombat_state(running_machine &machine)
- : driver_data_t(machine) { }
+ fcombat_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/fgoal.h b/src/mame/includes/fgoal.h
index e1b095e6244..bfc77fa1804 100644
--- a/src/mame/includes/fgoal.h
+++ b/src/mame/includes/fgoal.h
@@ -1,12 +1,10 @@
-class fgoal_state : public driver_data_t
+class fgoal_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, fgoal_state(machine)); }
-
- fgoal_state(running_machine &machine)
- : driver_data_t(machine) { }
+ fgoal_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * video_ram;
diff --git a/src/mame/includes/finalizr.h b/src/mame/includes/finalizr.h
index e75d7719032..59565a302de 100644
--- a/src/mame/includes/finalizr.h
+++ b/src/mame/includes/finalizr.h
@@ -4,13 +4,11 @@
***************************************************************************/
-class finalizr_state : public driver_data_t
+class finalizr_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, finalizr_state(machine)); }
-
- finalizr_state(running_machine &machine)
- : driver_data_t(machine) { }
+ finalizr_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/firetrap.h b/src/mame/includes/firetrap.h
index 174133065ce..854e60b64b5 100644
--- a/src/mame/includes/firetrap.h
+++ b/src/mame/includes/firetrap.h
@@ -4,13 +4,11 @@
***************************************************************************/
-class firetrap_state : public driver_data_t
+class firetrap_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, firetrap_state(machine)); }
-
- firetrap_state(running_machine &machine)
- : driver_data_t(machine) { }
+ firetrap_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * bg1videoram;
diff --git a/src/mame/includes/fitfight.h b/src/mame/includes/fitfight.h
index a9062603823..a072cf627df 100644
--- a/src/mame/includes/fitfight.h
+++ b/src/mame/includes/fitfight.h
@@ -1,11 +1,9 @@
-class fitfight_state : public driver_data_t
+class fitfight_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, fitfight_state(machine)); }
-
- fitfight_state(running_machine &machine)
- : driver_data_t(machine) { }
+ fitfight_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * fof_100000;
diff --git a/src/mame/includes/flkatck.h b/src/mame/includes/flkatck.h
index f50914024cd..62709d89115 100644
--- a/src/mame/includes/flkatck.h
+++ b/src/mame/includes/flkatck.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class flkatck_state : public driver_data_t
+class flkatck_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, flkatck_state(machine)); }
-
- flkatck_state(running_machine &machine)
- : driver_data_t(machine) { }
+ flkatck_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * k007121_ram;
diff --git a/src/mame/includes/flstory.h b/src/mame/includes/flstory.h
index 6f528787b7d..39d6d150cf6 100644
--- a/src/mame/includes/flstory.h
+++ b/src/mame/includes/flstory.h
@@ -1,11 +1,9 @@
-class flstory_state : public driver_data_t
+class flstory_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, flstory_state(machine)); }
-
- flstory_state(running_machine &machine)
- : driver_data_t(machine) { }
+ flstory_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/foodf.h b/src/mame/includes/foodf.h
index 2e2db04abb7..cb9c95a5360 100644
--- a/src/mame/includes/foodf.h
+++ b/src/mame/includes/foodf.h
@@ -9,10 +9,8 @@
class foodf_state : public atarigen_state
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, foodf_state(machine)); }
-
- foodf_state(running_machine &machine)
- : atarigen_state(machine) { }
+ foodf_state(running_machine &machine, const driver_device_config_base &config)
+ : atarigen_state(machine, config) { }
double rweights[3];
double gweights[3];
diff --git a/src/mame/includes/freekick.h b/src/mame/includes/freekick.h
index 49c0938e99d..114c7a065e3 100644
--- a/src/mame/includes/freekick.h
+++ b/src/mame/includes/freekick.h
@@ -1,12 +1,10 @@
-class freekick_state : public driver_data_t
+class freekick_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, freekick_state(machine)); }
-
- freekick_state(running_machine &machine)
- : driver_data_t(machine) { }
+ freekick_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/fromanc2.h b/src/mame/includes/fromanc2.h
index 8fe909193b0..5d6257b9fef 100644
--- a/src/mame/includes/fromanc2.h
+++ b/src/mame/includes/fromanc2.h
@@ -1,11 +1,9 @@
-class fromanc2_state : public driver_data_t
+class fromanc2_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, fromanc2_state(machine)); }
-
- fromanc2_state(running_machine &machine)
- : driver_data_t(machine) { }
+ fromanc2_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 *paletteram[2];
diff --git a/src/mame/includes/fromance.h b/src/mame/includes/fromance.h
index 81baf3c6ab9..ea8568ec5ab 100644
--- a/src/mame/includes/fromance.h
+++ b/src/mame/includes/fromance.h
@@ -7,13 +7,11 @@
***************************************************************************/
-class fromance_state : public driver_data_t
+class fromance_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, fromance_state(machine)); }
-
- fromance_state(running_machine &machine)
- : driver_data_t(machine) { }
+ fromance_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers (used by pipedrm) */
UINT8 * videoram;
diff --git a/src/mame/includes/funkybee.h b/src/mame/includes/funkybee.h
index 4e8521124bb..44eda8161c7 100644
--- a/src/mame/includes/funkybee.h
+++ b/src/mame/includes/funkybee.h
@@ -1,12 +1,10 @@
-class funkybee_state : public driver_data_t
+class funkybee_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, funkybee_state(machine)); }
-
- funkybee_state(running_machine &machine)
- : driver_data_t(machine) { }
+ funkybee_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/funkyjet.h b/src/mame/includes/funkyjet.h
index 8656aeda95c..59425373809 100644
--- a/src/mame/includes/funkyjet.h
+++ b/src/mame/includes/funkyjet.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class funkyjet_state : public driver_data_t
+class funkyjet_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, funkyjet_state(machine)); }
-
- funkyjet_state(running_machine &machine)
- : driver_data_t(machine) { }
+ funkyjet_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * pf1_rowscroll;
diff --git a/src/mame/includes/funybubl.h b/src/mame/includes/funybubl.h
index 6092409440d..4980c5a21ba 100644
--- a/src/mame/includes/funybubl.h
+++ b/src/mame/includes/funybubl.h
@@ -1,12 +1,10 @@
-class funybubl_state : public driver_data_t
+class funybubl_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, funybubl_state(machine)); }
-
- funybubl_state(running_machine &machine)
- : driver_data_t(machine) { }
+ funybubl_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * banked_vram;
diff --git a/src/mame/includes/fuukifg2.h b/src/mame/includes/fuukifg2.h
index 0e9a0feb554..a8eeac9b6f5 100644
--- a/src/mame/includes/fuukifg2.h
+++ b/src/mame/includes/fuukifg2.h
@@ -1,12 +1,10 @@
-class fuuki16_state : public driver_data_t
+class fuuki16_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, fuuki16_state(machine)); }
-
- fuuki16_state(running_machine &machine)
- : driver_data_t(machine) { }
+ fuuki16_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * vram_0;
diff --git a/src/mame/includes/fuukifg3.h b/src/mame/includes/fuukifg3.h
index 149edfff5f1..bfa66e55978 100644
--- a/src/mame/includes/fuukifg3.h
+++ b/src/mame/includes/fuukifg3.h
@@ -9,13 +9,11 @@
/* NOTE: YMF278B_STD_CLOCK is defined in /src/emu/sound/ymf278b.h */
-class fuuki32_state : public driver_data_t
+class fuuki32_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, fuuki32_state(machine)); }
-
- fuuki32_state(running_machine &machine)
- : driver_data_t(machine) { }
+ fuuki32_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT32 * vram_0;
diff --git a/src/mame/includes/gaelco.h b/src/mame/includes/gaelco.h
index 1908e2036dd..74c8f326e2d 100644
--- a/src/mame/includes/gaelco.h
+++ b/src/mame/includes/gaelco.h
@@ -4,13 +4,11 @@
***************************************************************************/
-class gaelco_state : public driver_data_t
+class gaelco_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, gaelco_state(machine)); }
-
- gaelco_state(running_machine &machine)
- : driver_data_t(machine) { }
+ gaelco_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * videoram;
diff --git a/src/mame/includes/gaiden.h b/src/mame/includes/gaiden.h
index c92210f0b05..f811639fee7 100644
--- a/src/mame/includes/gaiden.h
+++ b/src/mame/includes/gaiden.h
@@ -4,13 +4,11 @@
***************************************************************************/
-class gaiden_state : public driver_data_t
+class gaiden_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, gaiden_state(machine)); }
-
- gaiden_state(running_machine &machine)
- : driver_data_t(machine) { }
+ gaiden_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * videoram;
diff --git a/src/mame/includes/galaga.h b/src/mame/includes/galaga.h
index 35fb9748921..c0fdd8b0cc9 100644
--- a/src/mame/includes/galaga.h
+++ b/src/mame/includes/galaga.h
@@ -1,12 +1,10 @@
#include "sound/discrete.h"
-class _galaga_state : public driver_data_t
+class _galaga_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, _galaga_state(machine)); }
-
- _galaga_state(running_machine &machine)
- : driver_data_t(machine)
+ _galaga_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config)
{
xevious_bs[0] = 0;
xevious_bs[1] = 0;
diff --git a/src/mame/includes/galivan.h b/src/mame/includes/galivan.h
index cec46aafa41..7b6d503e40d 100644
--- a/src/mame/includes/galivan.h
+++ b/src/mame/includes/galivan.h
@@ -4,13 +4,11 @@
***************************************************************************/
-class galivan_state : public driver_data_t
+class galivan_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, galivan_state(machine)); }
-
- galivan_state(running_machine &machine)
- : driver_data_t(machine) { }
+ galivan_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/galspnbl.h b/src/mame/includes/galspnbl.h
index 6af6fe96c43..b3d2cd73dad 100644
--- a/src/mame/includes/galspnbl.h
+++ b/src/mame/includes/galspnbl.h
@@ -5,13 +5,11 @@
*************************************************************************/
-class galspnbl_state : public driver_data_t
+class galspnbl_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, galspnbl_state(machine)); }
-
- galspnbl_state(running_machine &machine)
- : driver_data_t(machine) { }
+ galspnbl_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * videoram;
diff --git a/src/mame/includes/gameplan.h b/src/mame/includes/gameplan.h
index ab9c583c0fd..31b7ee22586 100644
--- a/src/mame/includes/gameplan.h
+++ b/src/mame/includes/gameplan.h
@@ -21,13 +21,11 @@ driver by Chris Moore
#define LEPRECHAUN_MAIN_CPU_CLOCK (LEPRECHAUN_MAIN_MASTER_CLOCK / 4)
-class gameplan_state : public driver_data_t
+class gameplan_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, gameplan_state(machine)); }
-
- gameplan_state(running_machine &machine)
- : driver_data_t(machine) { }
+ gameplan_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* machine state */
UINT8 current_port;
diff --git a/src/mame/includes/gauntlet.h b/src/mame/includes/gauntlet.h
index 8f28edec63c..96c01ebef9b 100644
--- a/src/mame/includes/gauntlet.h
+++ b/src/mame/includes/gauntlet.h
@@ -9,10 +9,8 @@
class gauntlet_state : public atarigen_state
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, gauntlet_state(machine)); }
-
- gauntlet_state(running_machine &machine)
- : atarigen_state(machine) { }
+ gauntlet_state(running_machine &machine, const driver_device_config_base &config)
+ : atarigen_state(machine, config) { }
UINT16 sound_reset_val;
UINT8 vindctr2_screen_refresh;
diff --git a/src/mame/includes/gberet.h b/src/mame/includes/gberet.h
index ca96b7a1c6f..678cca7bb80 100644
--- a/src/mame/includes/gberet.h
+++ b/src/mame/includes/gberet.h
@@ -4,13 +4,11 @@
***************************************************************************/
-class gberet_state : public driver_data_t
+class gberet_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, gberet_state(machine)); }
-
- gberet_state(running_machine &machine)
- : driver_data_t(machine) { }
+ gberet_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/gbusters.h b/src/mame/includes/gbusters.h
index eff5618b0e2..19c4d50ab6b 100644
--- a/src/mame/includes/gbusters.h
+++ b/src/mame/includes/gbusters.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class gbusters_state : public driver_data_t
+class gbusters_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, gbusters_state(machine)); }
-
- gbusters_state(running_machine &machine)
- : driver_data_t(machine) { }
+ gbusters_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * ram;
diff --git a/src/mame/includes/gcpinbal.h b/src/mame/includes/gcpinbal.h
index b4dbebc1782..d189eb76512 100644
--- a/src/mame/includes/gcpinbal.h
+++ b/src/mame/includes/gcpinbal.h
@@ -2,13 +2,11 @@
#include "sound/okim6295.h"
#include "sound/msm5205.h"
-class gcpinbal_state : public driver_data_t
+class gcpinbal_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, gcpinbal_state(machine)); }
-
- gcpinbal_state(running_machine &machine)
- : driver_data_t(machine),
+ gcpinbal_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config),
maincpu(machine.device<cpu_device>("maincpu")),
oki(machine.device<okim6295_device>("oki")),
msm(machine.device<msm5205_sound_device>("msm")) { }
diff --git a/src/mame/includes/gijoe.h b/src/mame/includes/gijoe.h
index aa1302d3cb0..d366e8de12e 100644
--- a/src/mame/includes/gijoe.h
+++ b/src/mame/includes/gijoe.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class gijoe_state : public driver_data_t
+class gijoe_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, gijoe_state(machine)); }
-
- gijoe_state(running_machine &machine)
- : driver_data_t(machine) { }
+ gijoe_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * workram;
diff --git a/src/mame/includes/ginganin.h b/src/mame/includes/ginganin.h
index b1b5e49bbca..95a349f3e9a 100644
--- a/src/mame/includes/ginganin.h
+++ b/src/mame/includes/ginganin.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class ginganin_state : public driver_data_t
+class ginganin_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ginganin_state(machine)); }
-
- ginganin_state(running_machine &machine)
- : driver_data_t(machine) { }
+ ginganin_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * fgram;
diff --git a/src/mame/includes/glass.h b/src/mame/includes/glass.h
index 7735d86803c..c6a18b7a830 100644
--- a/src/mame/includes/glass.h
+++ b/src/mame/includes/glass.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class glass_state : public driver_data_t
+class glass_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, glass_state(machine)); }
-
- glass_state(running_machine &machine)
- : driver_data_t(machine) { }
+ glass_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * videoram;
diff --git a/src/mame/includes/gng.h b/src/mame/includes/gng.h
index b180948d09f..beba55ac16f 100644
--- a/src/mame/includes/gng.h
+++ b/src/mame/includes/gng.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class gng_state : public driver_data_t
+class gng_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, gng_state(machine)); }
-
- gng_state(running_machine &machine)
- : driver_data_t(machine) { }
+ gng_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * bgvideoram;
diff --git a/src/mame/includes/goal92.h b/src/mame/includes/goal92.h
index cf7fbc60733..12c96f89854 100644
--- a/src/mame/includes/goal92.h
+++ b/src/mame/includes/goal92.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class goal92_state : public driver_data_t
+class goal92_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, goal92_state(machine)); }
-
- goal92_state(running_machine &machine)
- : driver_data_t(machine) { }
+ goal92_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * bg_data;
diff --git a/src/mame/includes/goindol.h b/src/mame/includes/goindol.h
index dcc86fa7b64..95e20f971a5 100644
--- a/src/mame/includes/goindol.h
+++ b/src/mame/includes/goindol.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class goindol_state : public driver_data_t
+class goindol_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, goindol_state(machine)); }
-
- goindol_state(running_machine &machine)
- : driver_data_t(machine) { }
+ goindol_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * bg_videoram;
diff --git a/src/mame/includes/goldstar.h b/src/mame/includes/goldstar.h
index 571169a7c36..537f4911fc7 100644
--- a/src/mame/includes/goldstar.h
+++ b/src/mame/includes/goldstar.h
@@ -1,10 +1,8 @@
-class goldstar_state : public driver_data_t
+class goldstar_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, goldstar_state(machine)); }
-
- goldstar_state(running_machine &machine)
- : driver_data_t(machine) { }
+ goldstar_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
int dataoffset;
diff --git a/src/mame/includes/gotcha.h b/src/mame/includes/gotcha.h
index bd2fa1c4569..7647620a45f 100644
--- a/src/mame/includes/gotcha.h
+++ b/src/mame/includes/gotcha.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class gotcha_state : public driver_data_t
+class gotcha_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, gotcha_state(machine)); }
-
- gotcha_state(running_machine &machine)
- : driver_data_t(machine) { }
+ gotcha_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * fgvideoram;
diff --git a/src/mame/includes/gotya.h b/src/mame/includes/gotya.h
index 61dd5e716f5..c57b1d63671 100644
--- a/src/mame/includes/gotya.h
+++ b/src/mame/includes/gotya.h
@@ -1,11 +1,9 @@
-class gotya_state : public driver_data_t
+class gotya_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, gotya_state(machine)); }
-
- gotya_state(running_machine &machine)
- : driver_data_t(machine) { }
+ gotya_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/gradius3.h b/src/mame/includes/gradius3.h
index d4bc0f40225..3584b40b55c 100644
--- a/src/mame/includes/gradius3.h
+++ b/src/mame/includes/gradius3.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class gradius3_state : public driver_data_t
+class gradius3_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, gradius3_state(machine)); }
-
- gradius3_state(running_machine &machine)
- : driver_data_t(machine) { }
+ gradius3_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * gfxram;
diff --git a/src/mame/includes/grchamp.h b/src/mame/includes/grchamp.h
index b85b9e7ff7f..efa7e33a9a1 100644
--- a/src/mame/includes/grchamp.h
+++ b/src/mame/includes/grchamp.h
@@ -6,13 +6,11 @@
#include "sound/discrete.h"
-class grchamp_state : public driver_data_t
+class grchamp_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, grchamp_state(machine)); }
-
- grchamp_state(running_machine &machine)
- : driver_data_t(machine) { }
+ grchamp_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT8 cpu0_out[16];
UINT8 cpu1_out[16];
diff --git a/src/mame/includes/gumbo.h b/src/mame/includes/gumbo.h
index 8e4d35d80d6..4485f30d677 100644
--- a/src/mame/includes/gumbo.h
+++ b/src/mame/includes/gumbo.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class gumbo_state : public driver_data_t
+class gumbo_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, gumbo_state(machine)); }
-
- gumbo_state(running_machine &machine)
- : driver_data_t(machine) { }
+ gumbo_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * bg_videoram;
diff --git a/src/mame/includes/gundealr.h b/src/mame/includes/gundealr.h
index 79a8208fe83..ced67f57318 100644
--- a/src/mame/includes/gundealr.h
+++ b/src/mame/includes/gundealr.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class gundealr_state : public driver_data_t
+class gundealr_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, gundealr_state(machine)); }
-
- gundealr_state(running_machine &machine)
- : driver_data_t(machine) { }
+ gundealr_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * bg_videoram;
diff --git a/src/mame/includes/gunsmoke.h b/src/mame/includes/gunsmoke.h
index c55fe56626b..3c04345ce62 100644
--- a/src/mame/includes/gunsmoke.h
+++ b/src/mame/includes/gunsmoke.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class gunsmoke_state : public driver_data_t
+class gunsmoke_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, gunsmoke_state(machine)); }
-
- gunsmoke_state(running_machine &machine)
- : driver_data_t(machine) { }
+ gunsmoke_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/gyruss.h b/src/mame/includes/gyruss.h
index 899d46286af..4ef31ffe5ef 100644
--- a/src/mame/includes/gyruss.h
+++ b/src/mame/includes/gyruss.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class gyruss_state : public driver_data_t
+class gyruss_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, gyruss_state(machine)); }
-
- gyruss_state(running_machine &machine)
- : driver_data_t(machine) { }
+ gyruss_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/hanaawas.h b/src/mame/includes/hanaawas.h
index a963d936c25..46ad143c811 100644
--- a/src/mame/includes/hanaawas.h
+++ b/src/mame/includes/hanaawas.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class hanaawas_state : public driver_data_t
+class hanaawas_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, hanaawas_state(machine)); }
-
- hanaawas_state(running_machine &machine)
- : driver_data_t(machine) { }
+ hanaawas_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/harddriv.h b/src/mame/includes/harddriv.h
index 12e5287d311..89dcb7419f2 100644
--- a/src/mame/includes/harddriv.h
+++ b/src/mame/includes/harddriv.h
@@ -10,22 +10,23 @@
class harddriv_state : public atarigen_state
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, harddriv_state(machine)); }
-
- harddriv_state(running_machine &machine)
- : atarigen_state(machine),
- maincpu(machine.device<cpu_device>("maincpu")),
- gsp(machine.device<cpu_device>("gsp")),
- msp(machine.device<cpu_device>("msp")),
- adsp(machine.device<cpu_device>("adsp")),
- soundcpu(machine.device<cpu_device>("soundcpu")),
- sounddsp(machine.device<cpu_device>("sounddsp")),
- jsacpu(machine.device<cpu_device>("jsa")),
- dsp32(machine.device<cpu_device>("dsp32")),
- duart_timer(machine.device<timer_device>("duart_timer")) { }
+ harddriv_state(running_machine &machine, const driver_device_config_base &config)
+ : atarigen_state(machine, config) { }
+
+ virtual void find_devices()
+ {
+ required_device(maincpu, "maincpu");
+ required_device(gsp, "gsp");
+ optional_device(msp, "msp");
+ required_device(adsp, "adsp");
+ optional_device(soundcpu, "soundcpu");
+ optional_device(sounddsp, "sounddsp");
+ optional_device(jsacpu, "jsacpu");
+ optional_device(dsp32, "dsp32");
+ }
cpu_device * maincpu;
- cpu_device * gsp;
+ tms34010_device * gsp;
cpu_device * msp;
cpu_device * adsp;
cpu_device * soundcpu;
diff --git a/src/mame/includes/hcastle.h b/src/mame/includes/hcastle.h
index e3627604281..d02684d3f23 100644
--- a/src/mame/includes/hcastle.h
+++ b/src/mame/includes/hcastle.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class hcastle_state : public driver_data_t
+class hcastle_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, hcastle_state(machine)); }
-
- hcastle_state(running_machine &machine)
- : driver_data_t(machine) { }
+ hcastle_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * pf1_videoram;
diff --git a/src/mame/includes/higemaru.h b/src/mame/includes/higemaru.h
index da14ecf21fb..a42bf0967f8 100644
--- a/src/mame/includes/higemaru.h
+++ b/src/mame/includes/higemaru.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class higemaru_state : public driver_data_t
+class higemaru_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, higemaru_state(machine)); }
-
- higemaru_state(running_machine &machine)
- : driver_data_t(machine) { }
+ higemaru_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/himesiki.h b/src/mame/includes/himesiki.h
index 041ec92ee4e..adeab173b10 100644
--- a/src/mame/includes/himesiki.h
+++ b/src/mame/includes/himesiki.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class himesiki_state : public driver_data_t
+class himesiki_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, himesiki_state(machine)); }
-
- himesiki_state(running_machine &machine)
- : driver_data_t(machine) { }
+ himesiki_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * bg_ram;
diff --git a/src/mame/includes/hitme.h b/src/mame/includes/hitme.h
index 246c750a2da..e99a8af527a 100644
--- a/src/mame/includes/hitme.h
+++ b/src/mame/includes/hitme.h
@@ -12,13 +12,11 @@
#define HITME_ENABLE_VAL NODE_03
#define HITME_OUT1 NODE_04
-class hitme_state : public driver_data_t
+class hitme_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, hitme_state(machine)); }
-
- hitme_state(running_machine &machine)
- : driver_data_t(machine) { }
+ hitme_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/hnayayoi.h b/src/mame/includes/hnayayoi.h
index 05625807cd1..2acf760e080 100644
--- a/src/mame/includes/hnayayoi.h
+++ b/src/mame/includes/hnayayoi.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class hnayayoi_state : public driver_data_t
+class hnayayoi_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, hnayayoi_state(machine)); }
-
- hnayayoi_state(running_machine &machine)
- : driver_data_t(machine) { }
+ hnayayoi_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* video-related */
UINT8 *pixmap[8];
diff --git a/src/mame/includes/hng64.h b/src/mame/includes/hng64.h
index 797a2ff7aa1..b6bc4f7b80d 100644
--- a/src/mame/includes/hng64.h
+++ b/src/mame/includes/hng64.h
@@ -3,13 +3,11 @@
#define RACING_MCU 3
#define SAMSHO_MCU 4
-class hng64_state : public driver_data_t
+class hng64_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, hng64_state(machine)); }
-
- hng64_state(running_machine &machine)
- : driver_data_t(machine) { }
+ hng64_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
int mcu_type;
UINT32 *mainram;
diff --git a/src/mame/includes/holeland.h b/src/mame/includes/holeland.h
index c9ef13bc6bb..34d6918ed29 100644
--- a/src/mame/includes/holeland.h
+++ b/src/mame/includes/holeland.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class holeland_state : public driver_data_t
+class holeland_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, holeland_state(machine)); }
-
- holeland_state(running_machine &machine)
- : driver_data_t(machine) { }
+ holeland_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/homedata.h b/src/mame/includes/homedata.h
index 7e9ae520f92..2164b571e0d 100644
--- a/src/mame/includes/homedata.h
+++ b/src/mame/includes/homedata.h
@@ -1,11 +1,9 @@
-class homedata_state : public driver_data_t
+class homedata_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, homedata_state(machine)); }
-
- homedata_state(running_machine &machine)
- : driver_data_t(machine) { }
+ homedata_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * vreg;
diff --git a/src/mame/includes/homerun.h b/src/mame/includes/homerun.h
index 854783378ef..ffde5470946 100644
--- a/src/mame/includes/homerun.h
+++ b/src/mame/includes/homerun.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class homerun_state : public driver_data_t
+class homerun_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, homerun_state(machine)); }
-
- homerun_state(running_machine &machine)
- : driver_data_t(machine) { }
+ homerun_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/hyprduel.h b/src/mame/includes/hyprduel.h
index 6e378008e73..ccf22ca828d 100644
--- a/src/mame/includes/hyprduel.h
+++ b/src/mame/includes/hyprduel.h
@@ -2,13 +2,11 @@
#define FIRST_VISIBLE_LINE 0
#define LAST_VISIBLE_LINE 223
-class hyprduel_state : public driver_data_t
+class hyprduel_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, hyprduel_state(machine)); }
-
- hyprduel_state(running_machine &machine)
- : driver_data_t(machine) { }
+ hyprduel_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * videoregs;
diff --git a/src/mame/includes/ikki.h b/src/mame/includes/ikki.h
index b1bdbbee545..94c2638d875 100644
--- a/src/mame/includes/ikki.h
+++ b/src/mame/includes/ikki.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class ikki_state : public driver_data_t
+class ikki_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ikki_state(machine)); }
-
- ikki_state(running_machine &machine)
- : driver_data_t(machine) { }
+ ikki_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/inufuku.h b/src/mame/includes/inufuku.h
index ecd6d3622dd..ef2ffd706da 100644
--- a/src/mame/includes/inufuku.h
+++ b/src/mame/includes/inufuku.h
@@ -1,11 +1,9 @@
-class inufuku_state : public driver_data_t
+class inufuku_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, inufuku_state(machine)); }
-
- inufuku_state(running_machine &machine)
- : driver_data_t(machine) { }
+ inufuku_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * bg_videoram;
diff --git a/src/mame/includes/iremz80.h b/src/mame/includes/iremz80.h
index 68763a04e8a..57226a76f4c 100644
--- a/src/mame/includes/iremz80.h
+++ b/src/mame/includes/iremz80.h
@@ -6,13 +6,11 @@
/* These share sound hardware (in audio/irem.h) and hence driver data */
-class irem_z80_state : public driver_data_t
+class irem_z80_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, irem_z80_state(machine)); }
-
- irem_z80_state(running_machine &machine)
- : driver_data_t(machine) { }
+ irem_z80_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram; // m52, m57, m58
diff --git a/src/mame/includes/ironhors.h b/src/mame/includes/ironhors.h
index 70267860a56..f2299ad1fb8 100644
--- a/src/mame/includes/ironhors.h
+++ b/src/mame/includes/ironhors.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class ironhors_state : public driver_data_t
+class ironhors_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ironhors_state(machine)); }
-
- ironhors_state(running_machine &machine)
- : driver_data_t(machine) { }
+ ironhors_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/jack.h b/src/mame/includes/jack.h
index ec4597b92a4..ff93f9cf1e2 100644
--- a/src/mame/includes/jack.h
+++ b/src/mame/includes/jack.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class jack_state : public driver_data_t
+class jack_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, jack_state(machine)); }
-
- jack_state(running_machine &machine)
- : driver_data_t(machine) { }
+ jack_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/jackal.h b/src/mame/includes/jackal.h
index 64e550391b9..7d3525f0160 100644
--- a/src/mame/includes/jackal.h
+++ b/src/mame/includes/jackal.h
@@ -4,13 +4,11 @@
-class jackal_state : public driver_data_t
+class jackal_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, jackal_state(machine)); }
-
- jackal_state(running_machine &machine)
- : driver_data_t(machine) { }
+ jackal_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoctrl;
diff --git a/src/mame/includes/jailbrek.h b/src/mame/includes/jailbrek.h
index c3a59458b0c..94f2ec38435 100644
--- a/src/mame/includes/jailbrek.h
+++ b/src/mame/includes/jailbrek.h
@@ -7,13 +7,11 @@
#define MASTER_CLOCK XTAL_18_432MHz
#define VOICE_CLOCK XTAL_3_579545MHz
-class jailbrek_state : public driver_data_t
+class jailbrek_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, jailbrek_state(machine)); }
-
- jailbrek_state(running_machine &machine)
- : driver_data_t(machine) { }
+ jailbrek_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/jedi.h b/src/mame/includes/jedi.h
index 4e132c4f6ac..60f0545538d 100644
--- a/src/mame/includes/jedi.h
+++ b/src/mame/includes/jedi.h
@@ -14,13 +14,11 @@
#define JEDI_TMS5220_CLOCK (JEDI_AUDIO_CPU_OSC / 2 / 9) /* div by 9 is via a binary counter that counts from 7 to 16 */
-class jedi_state : public driver_data_t
+class jedi_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, jedi_state(machine)); }
-
- jedi_state(running_machine &machine)
- : driver_data_t(machine) { }
+ jedi_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* machine state */
UINT8 a2d_select;
diff --git a/src/mame/includes/kangaroo.h b/src/mame/includes/kangaroo.h
index 414745ded71..f387ee32950 100644
--- a/src/mame/includes/kangaroo.h
+++ b/src/mame/includes/kangaroo.h
@@ -6,13 +6,11 @@
***************************************************************************/
-class kangaroo_state : public driver_data_t
+class kangaroo_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, kangaroo_state(machine)); }
-
- kangaroo_state(running_machine &machine)
- : driver_data_t(machine) { }
+ kangaroo_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * video_control;
diff --git a/src/mame/includes/karnov.h b/src/mame/includes/karnov.h
index 82bf251b8fa..c6af763e074 100644
--- a/src/mame/includes/karnov.h
+++ b/src/mame/includes/karnov.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class karnov_state : public driver_data_t
+class karnov_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, karnov_state(machine)); }
-
- karnov_state(running_machine &machine)
- : driver_data_t(machine) { }
+ karnov_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * videoram;
diff --git a/src/mame/includes/kchamp.h b/src/mame/includes/kchamp.h
index 2fd82b4527f..42f1dc06c33 100644
--- a/src/mame/includes/kchamp.h
+++ b/src/mame/includes/kchamp.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class kchamp_state : public driver_data_t
+class kchamp_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, kchamp_state(machine)); }
-
- kchamp_state(running_machine &machine)
- : driver_data_t(machine) { }
+ kchamp_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/kickgoal.h b/src/mame/includes/kickgoal.h
index 5facf518b2c..365b3d6a01a 100644
--- a/src/mame/includes/kickgoal.h
+++ b/src/mame/includes/kickgoal.h
@@ -7,13 +7,11 @@
#include "sound/okim6295.h"
#include "machine/eeprom.h"
-class kickgoal_state : public driver_data_t
+class kickgoal_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, kickgoal_state(machine)); }
-
- kickgoal_state(running_machine &machine)
- : driver_data_t(machine),
+ kickgoal_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config),
adpcm(machine.device<okim6295_device>("oki")),
eeprom(machine.device<eeprom_device>("eeprom")) { }
diff --git a/src/mame/includes/kingobox.h b/src/mame/includes/kingobox.h
index c0e55e722a4..196e283c0b7 100644
--- a/src/mame/includes/kingobox.h
+++ b/src/mame/includes/kingobox.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class kingofb_state : public driver_data_t
+class kingofb_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, kingofb_state(machine)); }
-
- kingofb_state(running_machine &machine)
- : driver_data_t(machine) { }
+ kingofb_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/klax.h b/src/mame/includes/klax.h
index 44c8d8058ba..2715bc9e493 100644
--- a/src/mame/includes/klax.h
+++ b/src/mame/includes/klax.h
@@ -9,10 +9,8 @@
class klax_state : public atarigen_state
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, klax_state(machine)); }
-
- klax_state(running_machine &machine)
- : atarigen_state(machine) { }
+ klax_state(running_machine &machine, const driver_device_config_base &config)
+ : atarigen_state(machine, config) { }
};
diff --git a/src/mame/includes/kncljoe.h b/src/mame/includes/kncljoe.h
index dcffafc7fab..a4bb00e7e87 100644
--- a/src/mame/includes/kncljoe.h
+++ b/src/mame/includes/kncljoe.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class kncljoe_state : public driver_data_t
+class kncljoe_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, kncljoe_state(machine)); }
-
- kncljoe_state(running_machine &machine)
- : driver_data_t(machine) { }
+ kncljoe_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/kopunch.h b/src/mame/includes/kopunch.h
index 4713f641489..ed8d33f2ac7 100644
--- a/src/mame/includes/kopunch.h
+++ b/src/mame/includes/kopunch.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class kopunch_state : public driver_data_t
+class kopunch_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, kopunch_state(machine)); }
-
- kopunch_state(running_machine &machine)
- : driver_data_t(machine) { }
+ kopunch_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/ksayakyu.h b/src/mame/includes/ksayakyu.h
index 2583793cbe4..041cdfcea97 100644
--- a/src/mame/includes/ksayakyu.h
+++ b/src/mame/includes/ksayakyu.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class ksayakyu_state : public driver_data_t
+class ksayakyu_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ksayakyu_state(machine)); }
-
- ksayakyu_state(running_machine &machine)
- : driver_data_t(machine) { }
+ ksayakyu_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/kyugo.h b/src/mame/includes/kyugo.h
index 9208e906260..07acb4e746d 100644
--- a/src/mame/includes/kyugo.h
+++ b/src/mame/includes/kyugo.h
@@ -4,13 +4,11 @@
***************************************************************************/
-class kyugo_state : public driver_data_t
+class kyugo_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, kyugo_state(machine)); }
-
- kyugo_state(running_machine &machine)
- : driver_data_t(machine) { }
+ kyugo_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * fgvideoram;
diff --git a/src/mame/includes/labyrunr.h b/src/mame/includes/labyrunr.h
index b5001d52c7c..ed157f81678 100644
--- a/src/mame/includes/labyrunr.h
+++ b/src/mame/includes/labyrunr.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class labyrunr_state : public driver_data_t
+class labyrunr_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, labyrunr_state(machine)); }
-
- labyrunr_state(running_machine &machine)
- : driver_data_t(machine) { }
+ labyrunr_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram1;
diff --git a/src/mame/includes/ladybug.h b/src/mame/includes/ladybug.h
index 95bf9f50275..11914e557c1 100644
--- a/src/mame/includes/ladybug.h
+++ b/src/mame/includes/ladybug.h
@@ -6,13 +6,11 @@
*************************************************************************/
-class ladybug_state : public driver_data_t
+class ladybug_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ladybug_state(machine)); }
-
- ladybug_state(running_machine &machine)
- : driver_data_t(machine) { }
+ ladybug_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/ladyfrog.h b/src/mame/includes/ladyfrog.h
index 8938ab304f1..2035164d234 100644
--- a/src/mame/includes/ladyfrog.h
+++ b/src/mame/includes/ladyfrog.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class ladyfrog_state : public driver_data_t
+class ladyfrog_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ladyfrog_state(machine)); }
-
- ladyfrog_state(running_machine &machine)
- : driver_data_t(machine) { }
+ ladyfrog_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/laserbat.h b/src/mame/includes/laserbat.h
index 594256f3a39..4e9e667297a 100644
--- a/src/mame/includes/laserbat.h
+++ b/src/mame/includes/laserbat.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class laserbat_state : public driver_data_t
+class laserbat_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, laserbat_state(machine)); }
-
- laserbat_state(running_machine &machine)
- : driver_data_t(machine) { }
+ laserbat_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* video-related */
tilemap_t *bg_tilemap;
diff --git a/src/mame/includes/lasso.h b/src/mame/includes/lasso.h
index bd293265a6c..1a85ec8d2d6 100644
--- a/src/mame/includes/lasso.h
+++ b/src/mame/includes/lasso.h
@@ -4,13 +4,11 @@
***************************************************************************/
-class lasso_state : public driver_data_t
+class lasso_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, lasso_state(machine)); }
-
- lasso_state(running_machine &machine)
- : driver_data_t(machine) { }
+ lasso_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/lastduel.h b/src/mame/includes/lastduel.h
index 28066029cda..a094c55aa99 100644
--- a/src/mame/includes/lastduel.h
+++ b/src/mame/includes/lastduel.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class lastduel_state : public driver_data_t
+class lastduel_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, lastduel_state(machine)); }
-
- lastduel_state(running_machine &machine)
- : driver_data_t(machine) { }
+ lastduel_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * vram;
diff --git a/src/mame/includes/lazercmd.h b/src/mame/includes/lazercmd.h
index 5066a2ed403..1003314d13c 100644
--- a/src/mame/includes/lazercmd.h
+++ b/src/mame/includes/lazercmd.h
@@ -17,13 +17,11 @@
#define MARKER_HORZ_ADJ -1
#define MARKER_VERT_ADJ -10
-class lazercmd_state : public driver_data_t
+class lazercmd_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, lazercmd_state(machine)); }
-
- lazercmd_state(running_machine &machine)
- : driver_data_t(machine) { }
+ lazercmd_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/lemmings.h b/src/mame/includes/lemmings.h
index a8fd32b17e5..db6f5e8c4ab 100644
--- a/src/mame/includes/lemmings.h
+++ b/src/mame/includes/lemmings.h
@@ -1,11 +1,9 @@
-class lemmings_state : public driver_data_t
+class lemmings_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, lemmings_state(machine)); }
-
- lemmings_state(running_machine &machine)
- : driver_data_t(machine) { }
+ lemmings_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * pixel_0_data;
diff --git a/src/mame/includes/lethal.h b/src/mame/includes/lethal.h
index 377e26db726..888a9bb9527 100644
--- a/src/mame/includes/lethal.h
+++ b/src/mame/includes/lethal.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class lethal_state : public driver_data_t
+class lethal_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, lethal_state(machine)); }
-
- lethal_state(running_machine &machine)
- : driver_data_t(machine) { }
+ lethal_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
// UINT8 * paletteram; // currently this uses generic palette handling
diff --git a/src/mame/includes/liberate.h b/src/mame/includes/liberate.h
index d304eb16dc6..837fb076e75 100644
--- a/src/mame/includes/liberate.h
+++ b/src/mame/includes/liberate.h
@@ -1,10 +1,8 @@
-class liberate_state : public driver_data_t
+class liberate_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, liberate_state(machine)); }
-
- liberate_state(running_machine &machine)
- : driver_data_t(machine) { }
+ liberate_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT8 *videoram;
UINT8 *colorram;
diff --git a/src/mame/includes/lkage.h b/src/mame/includes/lkage.h
index dd041c05870..a2e0618771d 100644
--- a/src/mame/includes/lkage.h
+++ b/src/mame/includes/lkage.h
@@ -1,11 +1,9 @@
-class lkage_state : public driver_data_t
+class lkage_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, lkage_state(machine)); }
-
- lkage_state(running_machine &machine)
- : driver_data_t(machine) { }
+ lkage_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT8 * scroll;
UINT8 * vreg;
diff --git a/src/mame/includes/lockon.h b/src/mame/includes/lockon.h
index b1d2f6202ca..31622ae197f 100644
--- a/src/mame/includes/lockon.h
+++ b/src/mame/includes/lockon.h
@@ -15,13 +15,11 @@
#define VTOTAL 280
-class lockon_state : public driver_data_t
+class lockon_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, lockon_state(machine)); }
-
- lockon_state(running_machine &machine)
- : driver_data_t(machine) { }
+ lockon_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 *char_ram;
diff --git a/src/mame/includes/lsasquad.h b/src/mame/includes/lsasquad.h
index e29402555c4..d78282b2701 100644
--- a/src/mame/includes/lsasquad.h
+++ b/src/mame/includes/lsasquad.h
@@ -1,11 +1,9 @@
-class lsasquad_state : public driver_data_t
+class lsasquad_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, lsasquad_state(machine)); }
-
- lsasquad_state(running_machine &machine)
- : driver_data_t(machine) { }
+ lsasquad_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * scrollram;
diff --git a/src/mame/includes/lwings.h b/src/mame/includes/lwings.h
index ad5fc78c6a0..b6970085b1d 100644
--- a/src/mame/includes/lwings.h
+++ b/src/mame/includes/lwings.h
@@ -1,11 +1,9 @@
-class lwings_state : public driver_data_t
+class lwings_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, lwings_state(machine)); }
-
- lwings_state(running_machine &machine)
- : driver_data_t(machine) { }
+ lwings_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * fgvideoram;
diff --git a/src/mame/includes/m10.h b/src/mame/includes/m10.h
index 14617f2d711..c0fd5d9521f 100644
--- a/src/mame/includes/m10.h
+++ b/src/mame/includes/m10.h
@@ -27,13 +27,11 @@
#define IREMM15_VBSTART (240)
#define IREMM15_VBEND (16)
-class m10_state : public driver_data_t
+class m10_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, m10_state(machine)); }
-
- m10_state(running_machine &machine)
- : driver_data_t(machine) { }
+ m10_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * chargen;
diff --git a/src/mame/includes/macrossp.h b/src/mame/includes/macrossp.h
index 781368e5e34..0f5a611d2ed 100644
--- a/src/mame/includes/macrossp.h
+++ b/src/mame/includes/macrossp.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class macrossp_state : public driver_data_t
+class macrossp_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, macrossp_state(machine)); }
-
- macrossp_state(running_machine &machine)
- : driver_data_t(machine) { }
+ macrossp_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT32 * mainram;
diff --git a/src/mame/includes/madmotor.h b/src/mame/includes/madmotor.h
index 6de2224e06e..6135e5f7a5b 100644
--- a/src/mame/includes/madmotor.h
+++ b/src/mame/includes/madmotor.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class madmotor_state : public driver_data_t
+class madmotor_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, madmotor_state(machine)); }
-
- madmotor_state(running_machine &machine)
- : driver_data_t(machine) { }
+ madmotor_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * pf1_rowscroll;
diff --git a/src/mame/includes/mainevt.h b/src/mame/includes/mainevt.h
index 6bd56e93713..8137c12ff55 100644
--- a/src/mame/includes/mainevt.h
+++ b/src/mame/includes/mainevt.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class mainevt_state : public driver_data_t
+class mainevt_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mainevt_state(machine)); }
-
- mainevt_state(running_machine &machine)
- : driver_data_t(machine) { }
+ mainevt_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
// UINT8 * paletteram; // currently this uses generic palette handling
diff --git a/src/mame/includes/mainsnk.h b/src/mame/includes/mainsnk.h
index 9f6870429c3..a0447f674e8 100644
--- a/src/mame/includes/mainsnk.h
+++ b/src/mame/includes/mainsnk.h
@@ -1,10 +1,8 @@
-class mainsnk_state : public driver_data_t
+class mainsnk_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mainsnk_state(machine)); }
-
- mainsnk_state(running_machine &machine)
- : driver_data_t(machine) { }
+ mainsnk_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
tilemap_t *tx_tilemap;
tilemap_t *bg_tilemap;
diff --git a/src/mame/includes/malzak.h b/src/mame/includes/malzak.h
index 062ff374471..6684a279dda 100644
--- a/src/mame/includes/malzak.h
+++ b/src/mame/includes/malzak.h
@@ -5,13 +5,11 @@
*************************************************************************/
-class malzak_state : public driver_data_t
+class malzak_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, malzak_state(machine)); }
-
- malzak_state(running_machine &machine)
- : driver_data_t(machine) { }
+ malzak_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* misc */
// int playfield_x[256];
diff --git a/src/mame/includes/mappy.h b/src/mame/includes/mappy.h
index 91dbafa772c..451649219f6 100644
--- a/src/mame/includes/mappy.h
+++ b/src/mame/includes/mappy.h
@@ -1,10 +1,8 @@
-class mappy_state : public driver_data_t
+class mappy_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mappy_state(machine)); }
-
- mappy_state(running_machine &machine)
- : driver_data_t(machine) { }
+ mappy_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT8 *videoram;
UINT8 *spriteram;
diff --git a/src/mame/includes/mario.h b/src/mame/includes/mario.h
index d8a630dc6d3..ca5371c5417 100644
--- a/src/mame/includes/mario.h
+++ b/src/mame/includes/mario.h
@@ -30,13 +30,11 @@
#define MARIO_PALETTE_LENGTH (256)
-class mario_state : public driver_data_t
+class mario_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mario_state(machine)); }
-
- mario_state(running_machine &machine)
- : driver_data_t(machine) { }
+ mario_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
diff --git a/src/mame/includes/markham.h b/src/mame/includes/markham.h
index dee28a14e91..3537b253f5b 100644
--- a/src/mame/includes/markham.h
+++ b/src/mame/includes/markham.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class markham_state : public driver_data_t
+class markham_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, markham_state(machine)); }
-
- markham_state(running_machine &machine)
- : driver_data_t(machine) { }
+ markham_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/matmania.h b/src/mame/includes/matmania.h
index 5705c531532..6a8f0aa31fa 100644
--- a/src/mame/includes/matmania.h
+++ b/src/mame/includes/matmania.h
@@ -1,11 +1,9 @@
-class matmania_state : public driver_data_t
+class matmania_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, matmania_state(machine)); }
-
- matmania_state(running_machine &machine)
- : driver_data_t(machine) { }
+ matmania_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/mcatadv.h b/src/mame/includes/mcatadv.h
index 795e191befc..05e6c3b492b 100644
--- a/src/mame/includes/mcatadv.h
+++ b/src/mame/includes/mcatadv.h
@@ -1,11 +1,9 @@
-class mcatadv_state : public driver_data_t
+class mcatadv_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mcatadv_state(machine)); }
-
- mcatadv_state(running_machine &machine)
- : driver_data_t(machine) { }
+ mcatadv_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * videoram1;
diff --git a/src/mame/includes/megazone.h b/src/mame/includes/megazone.h
index 86195d1edcb..03a912aebea 100644
--- a/src/mame/includes/megazone.h
+++ b/src/mame/includes/megazone.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class megazone_state : public driver_data_t
+class megazone_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, megazone_state(machine)); }
-
- megazone_state(running_machine &machine)
- : driver_data_t(machine) { }
+ megazone_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * scrollx;
diff --git a/src/mame/includes/mermaid.h b/src/mame/includes/mermaid.h
index 81622ff3aa1..f1ac64b0bfb 100644
--- a/src/mame/includes/mermaid.h
+++ b/src/mame/includes/mermaid.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class mermaid_state : public driver_data_t
+class mermaid_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mermaid_state(machine)); }
-
- mermaid_state(running_machine &machine)
- : driver_data_t(machine) { }
+ mermaid_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/metalmx.h b/src/mame/includes/metalmx.h
index 89ae88ac393..dfc4959304c 100644
--- a/src/mame/includes/metalmx.h
+++ b/src/mame/includes/metalmx.h
@@ -1,10 +1,8 @@
-class metalmx_state : public driver_data_t
+class metalmx_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, metalmx_state(machine)); }
-
- metalmx_state(running_machine &machine)
- : driver_data_t(machine) { }
+ metalmx_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
running_device *maincpu;
running_device *gsp;
diff --git a/src/mame/includes/metlclsh.h b/src/mame/includes/metlclsh.h
index 9319856dc5b..e09e6a94647 100644
--- a/src/mame/includes/metlclsh.h
+++ b/src/mame/includes/metlclsh.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class metlclsh_state : public driver_data_t
+class metlclsh_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, metlclsh_state(machine)); }
-
- metlclsh_state(running_machine &machine)
- : driver_data_t(machine) { }
+ metlclsh_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * bgram;
diff --git a/src/mame/includes/metro.h b/src/mame/includes/metro.h
index ec323273d8a..059a208ef72 100644
--- a/src/mame/includes/metro.h
+++ b/src/mame/includes/metro.h
@@ -8,13 +8,11 @@
#include "sound/2151intf.h"
#include "video/konicdev.h"
-class metro_state : public driver_data_t
+class metro_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, metro_state(machine)); }
-
- metro_state(running_machine &machine)
- : driver_data_t(machine),
+ metro_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config),
maincpu(machine.device<cpu_device>("maincpu")),
audiocpu(machine.device<cpu_device>("audiocpu")),
oki(machine.device<okim6295_device>("oki")),
diff --git a/src/mame/includes/mexico86.h b/src/mame/includes/mexico86.h
index 075d716a368..de6248790d2 100644
--- a/src/mame/includes/mexico86.h
+++ b/src/mame/includes/mexico86.h
@@ -1,11 +1,9 @@
-class mexico86_state : public driver_data_t
+class mexico86_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mexico86_state(machine)); }
-
- mexico86_state(running_machine &machine)
- : driver_data_t(machine) { }
+ mexico86_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * protection_ram;
diff --git a/src/mame/includes/micro3d.h b/src/mame/includes/micro3d.h
index 9e9cb784bf7..c7bb76eb743 100644
--- a/src/mame/includes/micro3d.h
+++ b/src/mame/includes/micro3d.h
@@ -12,13 +12,11 @@
#define VGB_MONITOR_DISPLAY 0
#define DRMATH_MONITOR_DISPLAY 0
-class micro3d_state : public driver_data_t
+class micro3d_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, micro3d_state(machine)); }
-
- micro3d_state(running_machine &machine)
- : driver_data_t(machine) { }
+ micro3d_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
struct
{
diff --git a/src/mame/includes/mikie.h b/src/mame/includes/mikie.h
index ca0f2aec945..6d99fae93e4 100644
--- a/src/mame/includes/mikie.h
+++ b/src/mame/includes/mikie.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class mikie_state : public driver_data_t
+class mikie_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mikie_state(machine)); }
-
- mikie_state(running_machine &machine)
- : driver_data_t(machine) { }
+ mikie_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/mitchell.h b/src/mame/includes/mitchell.h
index 901ac16c1c3..3128e6d0980 100644
--- a/src/mame/includes/mitchell.h
+++ b/src/mame/includes/mitchell.h
@@ -6,13 +6,11 @@
#include "sound/okim6295.h"
-class mitchell_state : public driver_data_t
+class mitchell_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mitchell_state(machine)); }
-
- mitchell_state(running_machine &machine)
- : driver_data_t(machine),
+ mitchell_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config),
audiocpu(machine.device<cpu_device>("audiocpu")),
oki(machine.device<okim6295_device>("oki")) { }
diff --git a/src/mame/includes/mjkjidai.h b/src/mame/includes/mjkjidai.h
index 0c58b6b6e61..b7ecd22cf31 100644
--- a/src/mame/includes/mjkjidai.h
+++ b/src/mame/includes/mjkjidai.h
@@ -1,10 +1,8 @@
-class mjkjidai_state : public driver_data_t
+class mjkjidai_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mjkjidai_state(machine)); }
-
- mjkjidai_state(running_machine &machine)
- : driver_data_t(machine) { }
+ mjkjidai_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT8 *videoram;
UINT8 *spriteram1;
diff --git a/src/mame/includes/momoko.h b/src/mame/includes/momoko.h
index 12500434f48..fcbeefa9d78 100644
--- a/src/mame/includes/momoko.h
+++ b/src/mame/includes/momoko.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class momoko_state : public driver_data_t
+class momoko_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, momoko_state(machine)); }
-
- momoko_state(running_machine &machine)
- : driver_data_t(machine) { }
+ momoko_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * bg_scrollx;
diff --git a/src/mame/includes/moo.h b/src/mame/includes/moo.h
index fd7272ce628..f30791f7520 100644
--- a/src/mame/includes/moo.h
+++ b/src/mame/includes/moo.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class moo_state : public driver_data_t
+class moo_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, moo_state(machine)); }
-
- moo_state(running_machine &machine)
- : driver_data_t(machine) { }
+ moo_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * workram;
diff --git a/src/mame/includes/mosaic.h b/src/mame/includes/mosaic.h
index 852f280a6ce..4fccd4ccc6d 100644
--- a/src/mame/includes/mosaic.h
+++ b/src/mame/includes/mosaic.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class mosaic_state : public driver_data_t
+class mosaic_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mosaic_state(machine)); }
-
- mosaic_state(running_machine &machine)
- : driver_data_t(machine) { }
+ mosaic_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * fgvideoram;
diff --git a/src/mame/includes/mouser.h b/src/mame/includes/mouser.h
index b9d6f3dfe7a..6b41f29519e 100644
--- a/src/mame/includes/mouser.h
+++ b/src/mame/includes/mouser.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class mouser_state : public driver_data_t
+class mouser_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mouser_state(machine)); }
-
- mouser_state(running_machine &machine)
- : driver_data_t(machine) { }
+ mouser_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/mrdo.h b/src/mame/includes/mrdo.h
index d3e766d371e..c91faee8216 100644
--- a/src/mame/includes/mrdo.h
+++ b/src/mame/includes/mrdo.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class mrdo_state : public driver_data_t
+class mrdo_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mrdo_state(machine)); }
-
- mrdo_state(running_machine &machine)
- : driver_data_t(machine) { }
+ mrdo_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * bgvideoram;
diff --git a/src/mame/includes/mrflea.h b/src/mame/includes/mrflea.h
index 9f69702c8f1..d6b6e0ca0b6 100644
--- a/src/mame/includes/mrflea.h
+++ b/src/mame/includes/mrflea.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class mrflea_state : public driver_data_t
+class mrflea_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mrflea_state(machine)); }
-
- mrflea_state(running_machine &machine)
- : driver_data_t(machine) { }
+ mrflea_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/mrjong.h b/src/mame/includes/mrjong.h
index 3a95b4b7d90..0a8f1940454 100644
--- a/src/mame/includes/mrjong.h
+++ b/src/mame/includes/mrjong.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class mrjong_state : public driver_data_t
+class mrjong_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mrjong_state(machine)); }
-
- mrjong_state(running_machine &machine)
- : driver_data_t(machine) { }
+ mrjong_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/mugsmash.h b/src/mame/includes/mugsmash.h
index b0bf97cbf69..2b6a1c017f1 100644
--- a/src/mame/includes/mugsmash.h
+++ b/src/mame/includes/mugsmash.h
@@ -1,11 +1,9 @@
-class mugsmash_state : public driver_data_t
+class mugsmash_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mugsmash_state(machine)); }
-
- mugsmash_state(running_machine &machine)
- : driver_data_t(machine) { }
+ mugsmash_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT16 *videoram1;
UINT16 *videoram2;
diff --git a/src/mame/includes/munchmo.h b/src/mame/includes/munchmo.h
index 5b5500928ce..5c23ee576a1 100644
--- a/src/mame/includes/munchmo.h
+++ b/src/mame/includes/munchmo.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class munchmo_state : public driver_data_t
+class munchmo_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, munchmo_state(machine)); }
-
- munchmo_state(running_machine &machine)
- : driver_data_t(machine) { }
+ munchmo_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * vreg;
diff --git a/src/mame/includes/mw8080bw.h b/src/mame/includes/mw8080bw.h
index de8179e0ba8..75e55032a9c 100644
--- a/src/mame/includes/mw8080bw.h
+++ b/src/mame/includes/mw8080bw.h
@@ -30,13 +30,11 @@
#define MW8080BW_HPIXCOUNT (MW8080BW_HBSTART + 4)
-class mw8080bw_state : public driver_data_t
+class mw8080bw_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mw8080bw_state(machine)); }
-
- mw8080bw_state(running_machine &machine)
- : driver_data_t(machine) { }
+ mw8080bw_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * main_ram;
diff --git a/src/mame/includes/mystston.h b/src/mame/includes/mystston.h
index 24eb316aa94..037fec5dd13 100644
--- a/src/mame/includes/mystston.h
+++ b/src/mame/includes/mystston.h
@@ -10,13 +10,11 @@
#define MYSTSTON_MASTER_CLOCK (XTAL_12MHz)
-class mystston_state : public driver_data_t
+class mystston_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mystston_state(machine)); }
-
- mystston_state(running_machine &machine)
- : driver_data_t(machine) { }
+ mystston_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* machine state */
UINT8 *ay8910_data;
diff --git a/src/mame/includes/n64.h b/src/mame/includes/n64.h
index ce888f33b7c..baf381fd2e7 100644
--- a/src/mame/includes/n64.h
+++ b/src/mame/includes/n64.h
@@ -6,13 +6,11 @@
/*----------- driver state -----------*/
-class _n64_state : public driver_data_t
+class _n64_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, _n64_state(machine)); }
-
- _n64_state(running_machine &machine)
- : driver_data_t(machine) { }
+ _n64_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* video-related */
N64::RDP::Processor m_rdp;
diff --git a/src/mame/includes/n8080.h b/src/mame/includes/n8080.h
index 8a9eaff9773..81f44365023 100644
--- a/src/mame/includes/n8080.h
+++ b/src/mame/includes/n8080.h
@@ -1,11 +1,9 @@
-class n8080_state : public driver_data_t
+class n8080_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, n8080_state(machine)); }
-
- n8080_state(running_machine &machine)
- : driver_data_t(machine) { }
+ n8080_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/nemesis.h b/src/mame/includes/nemesis.h
index 3f3cda4d6d3..841c69825af 100644
--- a/src/mame/includes/nemesis.h
+++ b/src/mame/includes/nemesis.h
@@ -1,10 +1,8 @@
-class nemesis_state : public driver_data_t
+class nemesis_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, nemesis_state(machine)); }
-
- nemesis_state(running_machine &machine)
- : driver_data_t(machine) { }
+ nemesis_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * videoram1;
diff --git a/src/mame/includes/neogeo.h b/src/mame/includes/neogeo.h
index e14ca4481eb..ec60355b1a4 100644
--- a/src/mame/includes/neogeo.h
+++ b/src/mame/includes/neogeo.h
@@ -28,13 +28,11 @@
-class neogeo_state : public driver_data_t
+class neogeo_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, neogeo_state(machine)); }
-
- neogeo_state(running_machine &machine)
- : driver_data_t(machine) { }
+ neogeo_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
// UINT8 *memcard_data; // this currently uses generic handlers
diff --git a/src/mame/includes/news.h b/src/mame/includes/news.h
index 9455efaa976..ec6913fba60 100644
--- a/src/mame/includes/news.h
+++ b/src/mame/includes/news.h
@@ -1,11 +1,9 @@
-class news_state : public driver_data_t
+class news_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, news_state(machine)); }
-
- news_state(running_machine &machine)
- : driver_data_t(machine) { }
+ news_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * bgram;
diff --git a/src/mame/includes/ninjaw.h b/src/mame/includes/ninjaw.h
index 08cb055e4ed..ce071dc06e2 100644
--- a/src/mame/includes/ninjaw.h
+++ b/src/mame/includes/ninjaw.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class ninjaw_state : public driver_data_t
+class ninjaw_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ninjaw_state(machine)); }
-
- ninjaw_state(running_machine &machine)
- : driver_data_t(machine) { }
+ ninjaw_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * spriteram;
diff --git a/src/mame/includes/nitedrvr.h b/src/mame/includes/nitedrvr.h
index fe685f9c2f9..04e7a92fd93 100644
--- a/src/mame/includes/nitedrvr.h
+++ b/src/mame/includes/nitedrvr.h
@@ -15,13 +15,11 @@
#define NITEDRVR_ATTRACT_EN NODE_06
-class nitedrvr_state : public driver_data_t
+class nitedrvr_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, nitedrvr_state(machine)); }
-
- nitedrvr_state(running_machine &machine)
- : driver_data_t(machine) { }
+ nitedrvr_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * hvc;
diff --git a/src/mame/includes/nycaptor.h b/src/mame/includes/nycaptor.h
index 94f0602109e..c1c4f23cf3f 100644
--- a/src/mame/includes/nycaptor.h
+++ b/src/mame/includes/nycaptor.h
@@ -1,11 +1,9 @@
-class nycaptor_state : public driver_data_t
+class nycaptor_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, nycaptor_state(machine)); }
-
- nycaptor_state(running_machine &machine)
- : driver_data_t(machine) { }
+ nycaptor_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * sharedram;
diff --git a/src/mame/includes/offtwall.h b/src/mame/includes/offtwall.h
index 3ce0b560d53..0b71bd72bb6 100644
--- a/src/mame/includes/offtwall.h
+++ b/src/mame/includes/offtwall.h
@@ -9,10 +9,8 @@
class offtwall_state : public atarigen_state
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, offtwall_state(machine)); }
-
- offtwall_state(running_machine &machine)
- : atarigen_state(machine) { }
+ offtwall_state(running_machine &machine, const driver_device_config_base &config)
+ : atarigen_state(machine, config) { }
UINT16 *bankswitch_base;
UINT16 *bankrom_base;
diff --git a/src/mame/includes/ohmygod.h b/src/mame/includes/ohmygod.h
index edde2a7e840..e61418e3dcd 100644
--- a/src/mame/includes/ohmygod.h
+++ b/src/mame/includes/ohmygod.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class ohmygod_state : public driver_data_t
+class ohmygod_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ohmygod_state(machine)); }
-
- ohmygod_state(running_machine &machine)
- : driver_data_t(machine) { }
+ ohmygod_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
diff --git a/src/mame/includes/ojankohs.h b/src/mame/includes/ojankohs.h
index 9716c5a1573..170d6d9e98f 100644
--- a/src/mame/includes/ojankohs.h
+++ b/src/mame/includes/ojankohs.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class ojankohs_state : public driver_data_t
+class ojankohs_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ojankohs_state(machine)); }
-
- ojankohs_state(running_machine &machine)
- : driver_data_t(machine) { }
+ ojankohs_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/oneshot.h b/src/mame/includes/oneshot.h
index 66193596582..0aa47670316 100644
--- a/src/mame/includes/oneshot.h
+++ b/src/mame/includes/oneshot.h
@@ -1,11 +1,9 @@
-class oneshot_state : public driver_data_t
+class oneshot_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, oneshot_state(machine)); }
-
- oneshot_state(running_machine &machine)
- : driver_data_t(machine) { }
+ oneshot_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * sprites;
diff --git a/src/mame/includes/opwolf.h b/src/mame/includes/opwolf.h
index 3d26cd69183..e48c608b507 100644
--- a/src/mame/includes/opwolf.h
+++ b/src/mame/includes/opwolf.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class opwolf_state : public driver_data_t
+class opwolf_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, opwolf_state(machine)); }
-
- opwolf_state(running_machine &machine)
- : driver_data_t(machine) { }
+ opwolf_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * cchip_ram;
diff --git a/src/mame/includes/orbit.h b/src/mame/includes/orbit.h
index c17cdef72bb..1e4a10dc8db 100644
--- a/src/mame/includes/orbit.h
+++ b/src/mame/includes/orbit.h
@@ -15,13 +15,11 @@
#define ORBIT_WARNING_EN NODE_06
#define ORBIT_NOISE_EN NODE_07
-class orbit_state : public driver_data_t
+class orbit_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, orbit_state(machine)); }
-
- orbit_state(running_machine &machine)
- : driver_data_t(machine) { }
+ orbit_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * playfield_ram;
diff --git a/src/mame/includes/othldrby.h b/src/mame/includes/othldrby.h
index d9a40d2d935..51954ec1bb8 100644
--- a/src/mame/includes/othldrby.h
+++ b/src/mame/includes/othldrby.h
@@ -6,13 +6,11 @@
#define OTHLDRBY_VREG_SIZE 18
-class othldrby_state : public driver_data_t
+class othldrby_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, othldrby_state(machine)); }
-
- othldrby_state(running_machine &machine)
- : driver_data_t(machine) { }
+ othldrby_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * vram;
diff --git a/src/mame/includes/othunder.h b/src/mame/includes/othunder.h
index 4110583705c..1a77acd3d9c 100644
--- a/src/mame/includes/othunder.h
+++ b/src/mame/includes/othunder.h
@@ -15,13 +15,11 @@ struct othunder_tempsprite
};
-class othunder_state : public driver_data_t
+class othunder_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, othunder_state(machine)); }
-
- othunder_state(running_machine &machine)
- : driver_data_t(machine) { }
+ othunder_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * spriteram;
diff --git a/src/mame/includes/overdriv.h b/src/mame/includes/overdriv.h
index a388879b659..21912cd14fd 100644
--- a/src/mame/includes/overdriv.h
+++ b/src/mame/includes/overdriv.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class overdriv_state : public driver_data_t
+class overdriv_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, overdriv_state(machine)); }
-
- overdriv_state(running_machine &machine)
- : driver_data_t(machine) { }
+ overdriv_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
// UINT16 * paletteram; // currently this uses generic palette handling
diff --git a/src/mame/includes/pandoras.h b/src/mame/includes/pandoras.h
index a894566621f..513874d8660 100644
--- a/src/mame/includes/pandoras.h
+++ b/src/mame/includes/pandoras.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class pandoras_state : public driver_data_t
+class pandoras_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, pandoras_state(machine)); }
-
- pandoras_state(running_machine &machine)
- : driver_data_t(machine) { }
+ pandoras_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/paradise.h b/src/mame/includes/paradise.h
index 85f47f40ff6..c9bc56375ed 100644
--- a/src/mame/includes/paradise.h
+++ b/src/mame/includes/paradise.h
@@ -1,11 +1,9 @@
-class paradise_state : public driver_data_t
+class paradise_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, paradise_state(machine)); }
-
- paradise_state(running_machine &machine)
- : driver_data_t(machine) { }
+ paradise_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * vram_0;
diff --git a/src/mame/includes/parodius.h b/src/mame/includes/parodius.h
index 71c071db915..90fc298fa77 100644
--- a/src/mame/includes/parodius.h
+++ b/src/mame/includes/parodius.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class parodius_state : public driver_data_t
+class parodius_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, parodius_state(machine)); }
-
- parodius_state(running_machine &machine)
- : driver_data_t(machine) { }
+ parodius_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * ram;
diff --git a/src/mame/includes/pass.h b/src/mame/includes/pass.h
index fd5ca1882dd..e6e7f72c523 100644
--- a/src/mame/includes/pass.h
+++ b/src/mame/includes/pass.h
@@ -1,10 +1,8 @@
-class pass_state : public driver_data_t
+class pass_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, pass_state(machine)); }
-
- pass_state(running_machine &machine)
- : driver_data_t(machine) { }
+ pass_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
tilemap_t *bg_tilemap;
tilemap_t *fg_tilemap;
diff --git a/src/mame/includes/pbaction.h b/src/mame/includes/pbaction.h
index f0ad59a8b9a..da0736b141f 100644
--- a/src/mame/includes/pbaction.h
+++ b/src/mame/includes/pbaction.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class pbaction_state : public driver_data_t
+class pbaction_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, pbaction_state(machine)); }
-
- pbaction_state(running_machine &machine)
- : driver_data_t(machine) { }
+ pbaction_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/pgm.h b/src/mame/includes/pgm.h
index 77d6a4b903e..fd3502405f9 100644
--- a/src/mame/includes/pgm.h
+++ b/src/mame/includes/pgm.h
@@ -1,11 +1,9 @@
-class pgm_state : public driver_data_t
+class pgm_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, pgm_state(machine)); }
-
- pgm_state(running_machine &machine)
- : driver_data_t(machine) { }
+ pgm_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
// UINT16 * mainram; // currently this is also used by nvram handler
diff --git a/src/mame/includes/pktgaldx.h b/src/mame/includes/pktgaldx.h
index 310ef3fce20..5f9c5a98be4 100644
--- a/src/mame/includes/pktgaldx.h
+++ b/src/mame/includes/pktgaldx.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class pktgaldx_state : public driver_data_t
+class pktgaldx_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, pktgaldx_state(machine)); }
-
- pktgaldx_state(running_machine &machine)
- : driver_data_t(machine) { }
+ pktgaldx_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * pf1_rowscroll;
diff --git a/src/mame/includes/playmark.h b/src/mame/includes/playmark.h
index 0b9696c8d04..eda55e4393f 100644
--- a/src/mame/includes/playmark.h
+++ b/src/mame/includes/playmark.h
@@ -1,11 +1,9 @@
-class playmark_state : public driver_data_t
+class playmark_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, playmark_state(machine)); }
-
- playmark_state(running_machine &machine)
- : driver_data_t(machine) { }
+ playmark_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * bgvideoram;
diff --git a/src/mame/includes/plygonet.h b/src/mame/includes/plygonet.h
index 1463093f7ad..e32321ae09f 100644
--- a/src/mame/includes/plygonet.h
+++ b/src/mame/includes/plygonet.h
@@ -1,10 +1,8 @@
-class polygonet_state : public driver_data_t
+class polygonet_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, polygonet_state(machine)); }
-
- polygonet_state(running_machine &machine)
- : driver_data_t(machine) { }
+ polygonet_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* 68k-side shared ram */
UINT32* shared_ram;
diff --git a/src/mame/includes/popper.h b/src/mame/includes/popper.h
index 964b8a22a1c..03493e3fec1 100644
--- a/src/mame/includes/popper.h
+++ b/src/mame/includes/popper.h
@@ -4,13 +4,11 @@
***************************************************************************/
-class popper_state : public driver_data_t
+class popper_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, popper_state(machine)); }
-
- popper_state(running_machine &machine)
- : driver_data_t(machine) { }
+ popper_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/prehisle.h b/src/mame/includes/prehisle.h
index 352a650883b..c1db8a2aac2 100644
--- a/src/mame/includes/prehisle.h
+++ b/src/mame/includes/prehisle.h
@@ -1,10 +1,8 @@
-class prehisle_state : public driver_data_t
+class prehisle_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, prehisle_state(machine)); }
-
- prehisle_state(running_machine &machine)
- : driver_data_t(machine) { }
+ prehisle_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT16 *spriteram;
diff --git a/src/mame/includes/psikyo.h b/src/mame/includes/psikyo.h
index 409cb5e5100..b486e6c5d30 100644
--- a/src/mame/includes/psikyo.h
+++ b/src/mame/includes/psikyo.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class psikyo_state : public driver_data_t
+class psikyo_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, psikyo_state(machine)); }
-
- psikyo_state(running_machine &machine)
- : driver_data_t(machine) { }
+ psikyo_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT32 * vram_0;
diff --git a/src/mame/includes/psikyo4.h b/src/mame/includes/psikyo4.h
index 173c0251405..4a6a483d4e9 100644
--- a/src/mame/includes/psikyo4.h
+++ b/src/mame/includes/psikyo4.h
@@ -7,13 +7,11 @@
#define MASTER_CLOCK 57272700 // main oscillator frequency
-class psikyo4_state : public driver_data_t
+class psikyo4_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, psikyo4_state(machine)); }
-
- psikyo4_state(running_machine &machine)
- : driver_data_t(machine) { }
+ psikyo4_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT32 * vidregs;
diff --git a/src/mame/includes/psikyosh.h b/src/mame/includes/psikyosh.h
index e6b296e1fd0..2cddf4e315b 100644
--- a/src/mame/includes/psikyosh.h
+++ b/src/mame/includes/psikyosh.h
@@ -16,13 +16,11 @@
#define SPRITE_PRI(n) (((state->vidregs[2] << (4*n)) & 0xf0000000 ) >> 28)
-class psikyosh_state : public driver_data_t
+class psikyosh_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, psikyosh_state(machine)); }
-
- psikyosh_state(running_machine &machine)
- : driver_data_t(machine) { }
+ psikyosh_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT32 * bgram;
diff --git a/src/mame/includes/pushman.h b/src/mame/includes/pushman.h
index 37ad252c7b6..7b1eea7f142 100644
--- a/src/mame/includes/pushman.h
+++ b/src/mame/includes/pushman.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class pushman_state : public driver_data_t
+class pushman_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, pushman_state(machine)); }
-
- pushman_state(running_machine &machine)
- : driver_data_t(machine) { }
+ pushman_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * videoram;
diff --git a/src/mame/includes/qix.h b/src/mame/includes/qix.h
index 1479509bec4..ac1ec91e513 100644
--- a/src/mame/includes/qix.h
+++ b/src/mame/includes/qix.h
@@ -17,13 +17,11 @@
#define QIX_CHARACTER_CLOCK (20000000/2/16)
-class qix_state : public driver_data_t
+class qix_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, qix_state(machine)); }
-
- qix_state(running_machine &machine)
- : driver_data_t(machine) { }
+ qix_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* machine state */
UINT8 *_68705_port_out;
diff --git a/src/mame/includes/rainbow.h b/src/mame/includes/rainbow.h
index b4166792e33..3a93e21c481 100644
--- a/src/mame/includes/rainbow.h
+++ b/src/mame/includes/rainbow.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class rainbow_state : public driver_data_t
+class rainbow_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, rainbow_state(machine)); }
-
- rainbow_state(running_machine &machine)
- : driver_data_t(machine) { }
+ rainbow_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * spriteram;
diff --git a/src/mame/includes/rampart.h b/src/mame/includes/rampart.h
index d60c4241698..dfd1327d60e 100644
--- a/src/mame/includes/rampart.h
+++ b/src/mame/includes/rampart.h
@@ -10,10 +10,8 @@
class rampart_state : public atarigen_state
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, rampart_state(machine)); }
-
- rampart_state(running_machine &machine)
- : atarigen_state(machine) { }
+ rampart_state(running_machine &machine, const driver_device_config_base &config)
+ : atarigen_state(machine, config) { }
UINT16 * bitmap;
UINT8 has_mo;
diff --git a/src/mame/includes/rastan.h b/src/mame/includes/rastan.h
index 330d00fce52..3e468ebafe0 100644
--- a/src/mame/includes/rastan.h
+++ b/src/mame/includes/rastan.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class rastan_state : public driver_data_t
+class rastan_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, rastan_state(machine)); }
-
- rastan_state(running_machine &machine)
- : driver_data_t(machine) { }
+ rastan_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
// UINT16 * paletteram; // this currently uses generic palette handlers
diff --git a/src/mame/includes/relief.h b/src/mame/includes/relief.h
index 34cd8bf9c9f..df9d00682e9 100644
--- a/src/mame/includes/relief.h
+++ b/src/mame/includes/relief.h
@@ -9,10 +9,8 @@
class relief_state : public atarigen_state
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, relief_state(machine)); }
-
- relief_state(running_machine &machine)
- : atarigen_state(machine) { }
+ relief_state(running_machine &machine, const driver_device_config_base &config)
+ : atarigen_state(machine, config) { }
UINT8 ym2413_volume;
UINT8 overall_volume;
diff --git a/src/mame/includes/rockrage.h b/src/mame/includes/rockrage.h
index 8f5e9d9b657..41e163681fa 100644
--- a/src/mame/includes/rockrage.h
+++ b/src/mame/includes/rockrage.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class rockrage_state : public driver_data_t
+class rockrage_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, rockrage_state(machine)); }
-
- rockrage_state(running_machine &machine)
- : driver_data_t(machine) { }
+ rockrage_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * paletteram;
diff --git a/src/mame/includes/rohga.h b/src/mame/includes/rohga.h
index a09d7661e43..705b8cdbba0 100644
--- a/src/mame/includes/rohga.h
+++ b/src/mame/includes/rohga.h
@@ -7,13 +7,11 @@
#include "sound/okim6295.h"
#include "video/deco16ic.h"
-class rohga_state : public driver_data_t
+class rohga_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, rohga_state(machine)); }
-
- rohga_state(running_machine &machine)
- : driver_data_t(machine),
+ rohga_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config),
maincpu(machine.device<cpu_device>("maincpu")),
audiocpu(machine.device<cpu_device>("audiocpu")),
deco16ic(machine.device<deco16ic_device>("deco_custom")),
diff --git a/src/mame/includes/rollerg.h b/src/mame/includes/rollerg.h
index 8da3d1a750b..89bf1c2bd15 100644
--- a/src/mame/includes/rollerg.h
+++ b/src/mame/includes/rollerg.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class rollerg_state : public driver_data_t
+class rollerg_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, rollerg_state(machine)); }
-
- rollerg_state(running_machine &machine)
- : driver_data_t(machine) { }
+ rollerg_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
// UINT8 * paletteram; // currently this uses generic palette handling
diff --git a/src/mame/includes/rungun.h b/src/mame/includes/rungun.h
index cec1ea87266..dd9ab587830 100644
--- a/src/mame/includes/rungun.h
+++ b/src/mame/includes/rungun.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class rungun_state : public driver_data_t
+class rungun_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, rungun_state(machine)); }
-
- rungun_state(running_machine &machine)
- : driver_data_t(machine) { }
+ rungun_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * _936_videoram;
diff --git a/src/mame/includes/sbugger.h b/src/mame/includes/sbugger.h
index f335338577c..9c6287a59ad 100644
--- a/src/mame/includes/sbugger.h
+++ b/src/mame/includes/sbugger.h
@@ -1,10 +1,8 @@
-class sbugger_state : public driver_data_t
+class sbugger_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, sbugger_state(machine)); }
-
- sbugger_state(running_machine &machine)
- : driver_data_t(machine) { }
+ sbugger_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT8 *videoram;
UINT8 *videoram_attr;
diff --git a/src/mame/includes/sderby.h b/src/mame/includes/sderby.h
index 24aec8e4063..de1a57bf4de 100644
--- a/src/mame/includes/sderby.h
+++ b/src/mame/includes/sderby.h
@@ -1,10 +1,8 @@
-class sderby_state : public driver_data_t
+class sderby_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, sderby_state(machine)); }
-
- sderby_state(running_machine &machine)
- : driver_data_t(machine) { }
+ sderby_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT16 *spriteram;
size_t spriteram_size;
diff --git a/src/mame/includes/segas16.h b/src/mame/includes/segas16.h
index dd5fd807950..2faa1fe9127 100644
--- a/src/mame/includes/segas16.h
+++ b/src/mame/includes/segas16.h
@@ -1,11 +1,9 @@
-class segas1x_state : public driver_data_t
+class segas1x_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, segas1x_state(machine)); }
-
- segas1x_state(running_machine &machine)
- : driver_data_t(machine),
+ segas1x_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config),
interrupt_timer(machine.device<timer_device>("int_timer")) { }
/* memory pointers */
diff --git a/src/mame/includes/seta.h b/src/mame/includes/seta.h
index 27d19ac87e2..0c4eb6bd8d2 100644
--- a/src/mame/includes/seta.h
+++ b/src/mame/includes/seta.h
@@ -24,13 +24,11 @@ struct _game_offset
int tilemap_offs[2];
};
-class seta_state : public driver_data_t
+class seta_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, seta_state(machine)); }
-
- seta_state(running_machine &machine)
- : driver_data_t(machine) { }
+ seta_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT8 *sharedram;
UINT16 *workram;
diff --git a/src/mame/includes/seta2.h b/src/mame/includes/seta2.h
index 73e24167df2..9357a95364c 100644
--- a/src/mame/includes/seta2.h
+++ b/src/mame/includes/seta2.h
@@ -1,10 +1,8 @@
-class seta2_state : public driver_data_t
+class seta2_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, seta2_state(machine)); }
-
- seta2_state(running_machine &machine)
- : driver_data_t(machine) { }
+ seta2_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT16 *vregs;
int yoffset;
diff --git a/src/mame/includes/sf.h b/src/mame/includes/sf.h
index 6c26f8fcca2..a8af6a27863 100644
--- a/src/mame/includes/sf.h
+++ b/src/mame/includes/sf.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class sf_state : public driver_data_t
+class sf_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, sf_state(machine)); }
-
- sf_state(running_machine &machine)
- : driver_data_t(machine) { }
+ sf_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * videoram;
diff --git a/src/mame/includes/shadfrce.h b/src/mame/includes/shadfrce.h
index 6fa8fa874f6..4a5c0eaf5e5 100644
--- a/src/mame/includes/shadfrce.h
+++ b/src/mame/includes/shadfrce.h
@@ -1,10 +1,8 @@
-class shadfrce_state : public driver_data_t
+class shadfrce_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, shadfrce_state(machine)); }
-
- shadfrce_state(running_machine &machine)
- : driver_data_t(machine) { }
+ shadfrce_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
tilemap_t *fgtilemap;
tilemap_t *bg0tilemap;
diff --git a/src/mame/includes/shootout.h b/src/mame/includes/shootout.h
index 6ea11468e60..91c3909f845 100644
--- a/src/mame/includes/shootout.h
+++ b/src/mame/includes/shootout.h
@@ -1,10 +1,8 @@
-class shootout_state : public driver_data_t
+class shootout_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, shootout_state(machine)); }
-
- shootout_state(running_machine &machine)
- : driver_data_t(machine) { }
+ shootout_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
tilemap_t *background;
tilemap_t *foreground;
diff --git a/src/mame/includes/shuuz.h b/src/mame/includes/shuuz.h
index 74f875c05fd..1fc7bf3a30f 100644
--- a/src/mame/includes/shuuz.h
+++ b/src/mame/includes/shuuz.h
@@ -9,10 +9,8 @@
class shuuz_state : public atarigen_state
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, shuuz_state(machine)); }
-
- shuuz_state(running_machine &machine)
- : atarigen_state(machine) { }
+ shuuz_state(running_machine &machine, const driver_device_config_base &config)
+ : atarigen_state(machine, config) { }
};
diff --git a/src/mame/includes/sidearms.h b/src/mame/includes/sidearms.h
index d9f3464212f..a173c6c74c7 100644
--- a/src/mame/includes/sidearms.h
+++ b/src/mame/includes/sidearms.h
@@ -1,10 +1,8 @@
-class sidearms_state : public driver_data_t
+class sidearms_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, sidearms_state(machine)); }
-
- sidearms_state(running_machine &machine)
- : driver_data_t(machine) { }
+ sidearms_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
int gameid;
diff --git a/src/mame/includes/sidepckt.h b/src/mame/includes/sidepckt.h
index 1da1f4998e2..a4ef848d1c1 100644
--- a/src/mame/includes/sidepckt.h
+++ b/src/mame/includes/sidepckt.h
@@ -1,10 +1,8 @@
-class sidepckt_state : public driver_data_t
+class sidepckt_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, sidepckt_state(machine)); }
-
- sidepckt_state(running_machine &machine)
- : driver_data_t(machine) { }
+ sidepckt_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
tilemap_t *bg_tilemap;
UINT8 *colorram;
diff --git a/src/mame/includes/silkroad.h b/src/mame/includes/silkroad.h
index 58753c2055f..6c1730e7e9c 100644
--- a/src/mame/includes/silkroad.h
+++ b/src/mame/includes/silkroad.h
@@ -1,10 +1,8 @@
-class silkroad_state : public driver_data_t
+class silkroad_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, silkroad_state(machine)); }
-
- silkroad_state(running_machine &machine)
- : driver_data_t(machine) { }
+ silkroad_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT32 *vidram;
UINT32 *vidram2;
diff --git a/src/mame/includes/simpl156.h b/src/mame/includes/simpl156.h
index 58f1130226d..4dba56f5316 100644
--- a/src/mame/includes/simpl156.h
+++ b/src/mame/includes/simpl156.h
@@ -8,13 +8,11 @@
#include "sound/okim6295.h"
#include "video/deco16ic.h"
-class simpl156_state : public driver_data_t
+class simpl156_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, simpl156_state(machine)); }
-
- simpl156_state(running_machine &machine)
- : driver_data_t(machine),
+ simpl156_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")),
eeprom(machine.device<eeprom_device>("eeprom")),
diff --git a/src/mame/includes/simpsons.h b/src/mame/includes/simpsons.h
index c291be78f71..22e6e0fb930 100644
--- a/src/mame/includes/simpsons.h
+++ b/src/mame/includes/simpsons.h
@@ -1,11 +1,9 @@
-class simpsons_state : public driver_data_t
+class simpsons_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, simpsons_state(machine)); }
-
- simpsons_state(running_machine &machine)
- : driver_data_t(machine) { }
+ simpsons_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * ram;
diff --git a/src/mame/includes/skullxbo.h b/src/mame/includes/skullxbo.h
index 34b18dd777d..d5622b63bf8 100644
--- a/src/mame/includes/skullxbo.h
+++ b/src/mame/includes/skullxbo.h
@@ -9,10 +9,8 @@
class skullxbo_state : public atarigen_state
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, skullxbo_state(machine)); }
-
- skullxbo_state(running_machine &machine)
- : atarigen_state(machine) { }
+ skullxbo_state(running_machine &machine, const driver_device_config_base &config)
+ : atarigen_state(machine, config) { }
};
diff --git a/src/mame/includes/skyfox.h b/src/mame/includes/skyfox.h
index 07d2dda4c16..0bf86f37fb8 100644
--- a/src/mame/includes/skyfox.h
+++ b/src/mame/includes/skyfox.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class skyfox_state : public driver_data_t
+class skyfox_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, skyfox_state(machine)); }
-
- skyfox_state(running_machine &machine)
- : driver_data_t(machine) { }
+ skyfox_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * spriteram;
diff --git a/src/mame/includes/slapshot.h b/src/mame/includes/slapshot.h
index c0c14a45cf0..82e4e3ffee2 100644
--- a/src/mame/includes/slapshot.h
+++ b/src/mame/includes/slapshot.h
@@ -14,13 +14,11 @@ struct slapshot_tempsprite
int primask;
};
-class slapshot_state : public driver_data_t
+class slapshot_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, slapshot_state(machine)); }
-
- slapshot_state(running_machine &machine)
- : driver_data_t(machine) { }
+ slapshot_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * color_ram;
diff --git a/src/mame/includes/snes.h b/src/mame/includes/snes.h
index 77a1d05f439..116efb7a583 100644
--- a/src/mame/includes/snes.h
+++ b/src/mame/includes/snes.h
@@ -395,13 +395,11 @@ struct snes_superscope
typedef void (*snes_io_read)(running_machine *machine);
typedef UINT8 (*snes_oldjoy_read)(running_machine *machine);
-class snes_state : public driver_data_t
+class snes_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, snes_state(machine)); }
-
- snes_state(running_machine &machine)
- : driver_data_t(machine) { }
+ snes_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* misc */
UINT16 htmult; /* in 512 wide, we run HTOTAL double and halve it on latching */
diff --git a/src/mame/includes/snk.h b/src/mame/includes/snk.h
index cc78e618f3c..dd36a89279a 100644
--- a/src/mame/includes/snk.h
+++ b/src/mame/includes/snk.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class snk_state : public driver_data_t
+class snk_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, snk_state(machine)); }
-
- snk_state(running_machine &machine)
- : driver_data_t(machine) { }
+ snk_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
int countryc_trackball;
int last_value[2];
diff --git a/src/mame/includes/snk6502.h b/src/mame/includes/snk6502.h
index be46c82a6e7..35cc704ed30 100644
--- a/src/mame/includes/snk6502.h
+++ b/src/mame/includes/snk6502.h
@@ -10,13 +10,11 @@
#include "sound/sn76477.h"
-class snk6502_state : public driver_data_t
+class snk6502_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, snk6502_state(machine)); }
-
- snk6502_state(running_machine &machine)
- : driver_data_t(machine) { }
+ snk6502_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT8 sasuke_counter;
diff --git a/src/mame/includes/snk68.h b/src/mame/includes/snk68.h
index fcf51a879b9..a2254c072cc 100644
--- a/src/mame/includes/snk68.h
+++ b/src/mame/includes/snk68.h
@@ -1,10 +1,8 @@
-class snk68_state : public driver_data_t
+class snk68_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, snk68_state(machine)); }
-
- snk68_state(running_machine &machine)
- : driver_data_t(machine) { }
+ snk68_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
int invert_controls;
int sound_status;
diff --git a/src/mame/includes/sonson.h b/src/mame/includes/sonson.h
index d3bbcd3aeef..e9efced0bad 100644
--- a/src/mame/includes/sonson.h
+++ b/src/mame/includes/sonson.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class sonson_state : public driver_data_t
+class sonson_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, sonson_state(machine)); }
-
- sonson_state(running_machine &machine)
- : driver_data_t(machine) { }
+ sonson_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/spbactn.h b/src/mame/includes/spbactn.h
index 5ec9d3daa54..52db40e4266 100644
--- a/src/mame/includes/spbactn.h
+++ b/src/mame/includes/spbactn.h
@@ -1,10 +1,8 @@
-class spbactn_state : public driver_data_t
+class spbactn_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, spbactn_state(machine)); }
-
- spbactn_state(running_machine &machine)
- : driver_data_t(machine) { }
+ spbactn_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT16 *bgvideoram;
UINT16 *fgvideoram;
diff --git a/src/mame/includes/spy.h b/src/mame/includes/spy.h
index 0992c4ef61e..bc12d2919c7 100644
--- a/src/mame/includes/spy.h
+++ b/src/mame/includes/spy.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class spy_state : public driver_data_t
+class spy_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, spy_state(machine)); }
-
- spy_state(running_machine &machine)
- : driver_data_t(machine) { }
+ spy_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * ram;
diff --git a/src/mame/includes/srmp2.h b/src/mame/includes/srmp2.h
index c2c0534fc33..cf11c9d3b37 100644
--- a/src/mame/includes/srmp2.h
+++ b/src/mame/includes/srmp2.h
@@ -1,10 +1,8 @@
-class srmp2_state : public driver_data_t
+class srmp2_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, srmp2_state(machine)); }
-
- srmp2_state(running_machine &machine)
- : driver_data_t(machine) { }
+ srmp2_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
int color_bank;
int gfx_bank;
diff --git a/src/mame/includes/sslam.h b/src/mame/includes/sslam.h
index afc34c447c1..b2b9ef553ed 100644
--- a/src/mame/includes/sslam.h
+++ b/src/mame/includes/sslam.h
@@ -1,10 +1,8 @@
-class sslam_state : public driver_data_t
+class sslam_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, sslam_state(machine)); }
-
- sslam_state(running_machine &machine)
- : driver_data_t(machine) { }
+ sslam_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
emu_timer *music_timer;
diff --git a/src/mame/includes/ssv.h b/src/mame/includes/ssv.h
index 4598c2ed80d..ad0a9c4925f 100644
--- a/src/mame/includes/ssv.h
+++ b/src/mame/includes/ssv.h
@@ -1,10 +1,8 @@
-class ssv_state : public driver_data_t
+class ssv_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ssv_state(machine)); }
-
- ssv_state(running_machine &machine)
- : driver_data_t(machine) { }
+ ssv_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT16 *scroll;
UINT16 *paletteram;
diff --git a/src/mame/includes/stactics.h b/src/mame/includes/stactics.h
index 1a030e45196..54627ee6f64 100644
--- a/src/mame/includes/stactics.h
+++ b/src/mame/includes/stactics.h
@@ -7,13 +7,11 @@
****************************************************************************/
-class stactics_state : public driver_data_t
+class stactics_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, stactics_state(machine)); }
-
- stactics_state(running_machine &machine)
- : driver_data_t(machine) { }
+ stactics_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* machine state */
int vert_pos;
diff --git a/src/mame/includes/stlforce.h b/src/mame/includes/stlforce.h
index 119b14c27af..f97e6e1ee5d 100644
--- a/src/mame/includes/stlforce.h
+++ b/src/mame/includes/stlforce.h
@@ -1,10 +1,8 @@
-class stlforce_state : public driver_data_t
+class stlforce_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, stlforce_state(machine)); }
-
- stlforce_state(running_machine &machine)
- : driver_data_t(machine) { }
+ stlforce_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
tilemap_t *bg_tilemap;
tilemap_t *mlow_tilemap;
diff --git a/src/mame/includes/supbtime.h b/src/mame/includes/supbtime.h
index 19825594b84..aec2ba69ef0 100644
--- a/src/mame/includes/supbtime.h
+++ b/src/mame/includes/supbtime.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class supbtime_state : public driver_data_t
+class supbtime_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, supbtime_state(machine)); }
-
- supbtime_state(running_machine &machine)
- : driver_data_t(machine) { }
+ supbtime_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * pf1_rowscroll;
diff --git a/src/mame/includes/suprslam.h b/src/mame/includes/suprslam.h
index bde133d1758..5d7c63bb64e 100644
--- a/src/mame/includes/suprslam.h
+++ b/src/mame/includes/suprslam.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class suprslam_state : public driver_data_t
+class suprslam_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, suprslam_state(machine)); }
-
- suprslam_state(running_machine &machine)
- : driver_data_t(machine) { }
+ suprslam_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * screen_videoram;
diff --git a/src/mame/includes/surpratk.h b/src/mame/includes/surpratk.h
index c5d8e030c48..725c493ac4e 100644
--- a/src/mame/includes/surpratk.h
+++ b/src/mame/includes/surpratk.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class surpratk_state : public driver_data_t
+class surpratk_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, surpratk_state(machine)); }
-
- surpratk_state(running_machine &machine)
- : driver_data_t(machine) { }
+ surpratk_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * ram;
diff --git a/src/mame/includes/system16.h b/src/mame/includes/system16.h
index 9b07e68196d..008f0e742a4 100644
--- a/src/mame/includes/system16.h
+++ b/src/mame/includes/system16.h
@@ -1,13 +1,11 @@
// later, this might be merged with segas1x_state in segas16.h
-class segas1x_bootleg_state : public driver_data_t
+class segas1x_bootleg_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, segas1x_bootleg_state(machine)); }
-
- segas1x_bootleg_state(running_machine &machine)
- : driver_data_t(machine) { }
+ segas1x_bootleg_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT16 * bg0_tileram;
UINT16 * bg1_tileram;
diff --git a/src/mame/includes/tail2nos.h b/src/mame/includes/tail2nos.h
index e18b715b1aa..3f0ade7fb55 100644
--- a/src/mame/includes/tail2nos.h
+++ b/src/mame/includes/tail2nos.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class tail2nos_state : public driver_data_t
+class tail2nos_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, tail2nos_state(machine)); }
-
- tail2nos_state(running_machine &machine)
- : driver_data_t(machine) { }
+ tail2nos_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * bgvideoram;
diff --git a/src/mame/includes/taito_b.h b/src/mame/includes/taito_b.h
index bf15be1dd47..8f58fbd9699 100644
--- a/src/mame/includes/taito_b.h
+++ b/src/mame/includes/taito_b.h
@@ -1,11 +1,9 @@
-class taitob_state : public driver_data_t
+class taitob_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, taitob_state(machine)); }
-
- taitob_state(running_machine &machine)
- : driver_data_t(machine) { }
+ taitob_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * spriteram;
diff --git a/src/mame/includes/taito_f2.h b/src/mame/includes/taito_f2.h
index 06a317c1093..ea6c286dd44 100644
--- a/src/mame/includes/taito_f2.h
+++ b/src/mame/includes/taito_f2.h
@@ -10,13 +10,11 @@ struct f2_tempsprite
int primask;
};
-class taitof2_state : public driver_data_t
+class taitof2_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, taitof2_state(machine)); }
-
- taitof2_state(running_machine &machine)
- : driver_data_t(machine),
+ taitof2_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config),
oki(machine.device<okim6295_device>("oki")) { }
/* memory pointers */
diff --git a/src/mame/includes/taito_h.h b/src/mame/includes/taito_h.h
index 13dc7f5141f..49f33f06524 100644
--- a/src/mame/includes/taito_h.h
+++ b/src/mame/includes/taito_h.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class taitoh_state : public driver_data_t
+class taitoh_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, taitoh_state(machine)); }
-
- taitoh_state(running_machine &machine)
- : driver_data_t(machine) { }
+ taitoh_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * m68000_mainram;
diff --git a/src/mame/includes/taito_l.h b/src/mame/includes/taito_l.h
index 81f8e37e128..8b65bb5022a 100644
--- a/src/mame/includes/taito_l.h
+++ b/src/mame/includes/taito_l.h
@@ -1,13 +1,11 @@
#define TAITOL_SPRITERAM_SIZE 0x400
-class taitol_state : public driver_data_t
+class taitol_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, taitol_state(machine)); }
-
- taitol_state(running_machine &machine)
- : driver_data_t(machine) { }
+ taitol_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * rambanks;
diff --git a/src/mame/includes/taito_o.h b/src/mame/includes/taito_o.h
index a4b20f611f7..9b4dc572dc1 100644
--- a/src/mame/includes/taito_o.h
+++ b/src/mame/includes/taito_o.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class taitoo_state : public driver_data_t
+class taitoo_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, taitoo_state(machine)); }
-
- taitoo_state(running_machine &machine)
- : driver_data_t(machine) { }
+ taitoo_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
// UINT16 * paletteram; // currently this uses generic palette handling
diff --git a/src/mame/includes/taito_z.h b/src/mame/includes/taito_z.h
index 44aeb157c8a..4bd5732045a 100644
--- a/src/mame/includes/taito_z.h
+++ b/src/mame/includes/taito_z.h
@@ -5,13 +5,11 @@
*************************************************************************/
-class taitoz_state : public driver_data_t
+class taitoz_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, taitoz_state(machine)); }
-
- taitoz_state(running_machine &machine)
- : driver_data_t(machine) { }
+ taitoz_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * spriteram;
diff --git a/src/mame/includes/taitoair.h b/src/mame/includes/taitoair.h
index 601f77af088..fe9fcc6dec8 100644
--- a/src/mame/includes/taitoair.h
+++ b/src/mame/includes/taitoair.h
@@ -17,13 +17,11 @@ struct taitoair_poly {
};
-class taitoair_state : public driver_data_t
+class taitoair_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, taitoair_state(machine)); }
-
- taitoair_state(running_machine &machine)
- : driver_data_t(machine) { }
+ taitoair_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * m68000_mainram;
diff --git a/src/mame/includes/taitojc.h b/src/mame/includes/taitojc.h
index f59a9c3c6b4..7f440ba9a5e 100644
--- a/src/mame/includes/taitojc.h
+++ b/src/mame/includes/taitojc.h
@@ -1,12 +1,10 @@
#include "video/poly.h"
-class taitojc_state : public driver_data_t
+class taitojc_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, taitojc_state(machine)); }
-
- taitojc_state(running_machine &machine)
- : driver_data_t(machine) { }
+ taitojc_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
int texture_x;
int texture_y;
diff --git a/src/mame/includes/thunderj.h b/src/mame/includes/thunderj.h
index 356182e20ea..8a45f626cab 100644
--- a/src/mame/includes/thunderj.h
+++ b/src/mame/includes/thunderj.h
@@ -9,10 +9,8 @@
class thunderj_state : public atarigen_state
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, thunderj_state(machine)); }
-
- thunderj_state(running_machine &machine)
- : atarigen_state(machine) { }
+ thunderj_state(running_machine &machine, const driver_device_config_base &config)
+ : atarigen_state(machine, config) { }
UINT8 alpha_tile_bank;
};
diff --git a/src/mame/includes/thunderx.h b/src/mame/includes/thunderx.h
index e49e6d5e311..3e5d86456bb 100644
--- a/src/mame/includes/thunderx.h
+++ b/src/mame/includes/thunderx.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class thunderx_state : public driver_data_t
+class thunderx_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, thunderx_state(machine)); }
-
- thunderx_state(running_machine &machine)
- : driver_data_t(machine) { }
+ thunderx_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * ram;
diff --git a/src/mame/includes/timeplt.h b/src/mame/includes/timeplt.h
index 71eed750fde..24d07a884c5 100644
--- a/src/mame/includes/timeplt.h
+++ b/src/mame/includes/timeplt.h
@@ -19,13 +19,11 @@ struct jungler_star
#define JUNGLER_MAX_STARS 1000
-class timeplt_state : public driver_data_t
+class timeplt_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, timeplt_state(machine)); }
-
- timeplt_state(running_machine &machine)
- : driver_data_t(machine) { }
+ timeplt_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram; // timeplt, tutankham, junofrst, rocnrope, pooyan, rallyx
diff --git a/src/mame/includes/tmnt.h b/src/mame/includes/tmnt.h
index 3fe45c79290..e793073077e 100644
--- a/src/mame/includes/tmnt.h
+++ b/src/mame/includes/tmnt.h
@@ -1,11 +1,9 @@
-class tmnt_state : public driver_data_t
+class tmnt_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, tmnt_state(machine)); }
-
- tmnt_state(running_machine &machine)
- : driver_data_t(machine) { }
+ tmnt_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
INT16 * sampledata;
diff --git a/src/mame/includes/tnzs.h b/src/mame/includes/tnzs.h
index 37463279a1b..4ec7cea93f6 100644
--- a/src/mame/includes/tnzs.h
+++ b/src/mame/includes/tnzs.h
@@ -15,13 +15,11 @@ enum
MCU_TNZS
};
-class tnzs_state : public driver_data_t
+class tnzs_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, tnzs_state(machine)); }
-
- tnzs_state(running_machine &machine)
- : driver_data_t(machine) { }
+ tnzs_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * objram;
diff --git a/src/mame/includes/toaplan1.h b/src/mame/includes/toaplan1.h
index ca4afc855a3..51f910fdf53 100644
--- a/src/mame/includes/toaplan1.h
+++ b/src/mame/includes/toaplan1.h
@@ -4,13 +4,11 @@
****************************************************************************/
-class toaplan1_state : public driver_data_t
+class toaplan1_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, toaplan1_state(machine)); }
-
- toaplan1_state(running_machine &machine)
- : driver_data_t(machine) { }
+ toaplan1_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
int unk_reset_port;
UINT16 *colorram1;
diff --git a/src/mame/includes/toaplan2.h b/src/mame/includes/toaplan2.h
index 9a79538651d..012029666da 100644
--- a/src/mame/includes/toaplan2.h
+++ b/src/mame/includes/toaplan2.h
@@ -16,13 +16,11 @@
#include "video/gp9001.h"
// cache the vdps for faster access
-class toaplan2_state : public driver_data_t
+class toaplan2_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, toaplan2_state(machine)); }
-
- toaplan2_state(running_machine &machine)
- : driver_data_t(machine)
+ toaplan2_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config)
{
vdp0 = NULL;
vdp1 = NULL;
diff --git a/src/mame/includes/toobin.h b/src/mame/includes/toobin.h
index fe8c000909f..8b296d24192 100644
--- a/src/mame/includes/toobin.h
+++ b/src/mame/includes/toobin.h
@@ -9,10 +9,8 @@
class toobin_state : public atarigen_state
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, toobin_state(machine)); }
-
- toobin_state(running_machine &machine)
- : atarigen_state(machine) { }
+ toobin_state(running_machine &machine, const driver_device_config_base &config)
+ : atarigen_state(machine, config) { }
UINT16 * interrupt_scan;
diff --git a/src/mame/includes/topspeed.h b/src/mame/includes/topspeed.h
index ebe6ed17bb0..2e97cbe915d 100644
--- a/src/mame/includes/topspeed.h
+++ b/src/mame/includes/topspeed.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class topspeed_state : public driver_data_t
+class topspeed_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, topspeed_state(machine)); }
-
- topspeed_state(running_machine &machine)
- : driver_data_t(machine) { }
+ topspeed_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * spritemap;
diff --git a/src/mame/includes/toypop.h b/src/mame/includes/toypop.h
index 879904d56f6..764d0f49ffd 100644
--- a/src/mame/includes/toypop.h
+++ b/src/mame/includes/toypop.h
@@ -1,10 +1,8 @@
-class toypop_state : public driver_data_t
+class toypop_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, toypop_state(machine)); }
-
- toypop_state(running_machine &machine)
- : driver_data_t(machine) { }
+ toypop_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT8 *videoram;
UINT8 *spriteram;
diff --git a/src/mame/includes/trackfld.h b/src/mame/includes/trackfld.h
index c2390065833..46f545bb29b 100644
--- a/src/mame/includes/trackfld.h
+++ b/src/mame/includes/trackfld.h
@@ -8,13 +8,11 @@
#include "sound/msm5205.h"
-class trackfld_state : public driver_data_t
+class trackfld_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, trackfld_state(machine)); }
-
- trackfld_state(running_machine &machine)
- : driver_data_t(machine) { }
+ trackfld_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram; // trackfld, hyperspt, yiear, sbasketb
diff --git a/src/mame/includes/tumbleb.h b/src/mame/includes/tumbleb.h
index 69a36bd704d..4828d26f3e8 100644
--- a/src/mame/includes/tumbleb.h
+++ b/src/mame/includes/tumbleb.h
@@ -1,11 +1,9 @@
-class tumbleb_state : public driver_data_t
+class tumbleb_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, tumbleb_state(machine)); }
-
- tumbleb_state(running_machine &machine)
- : driver_data_t(machine) { }
+ tumbleb_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * pf1_data;
diff --git a/src/mame/includes/tumblep.h b/src/mame/includes/tumblep.h
index f43008fbbde..71bb8ef8728 100644
--- a/src/mame/includes/tumblep.h
+++ b/src/mame/includes/tumblep.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class tumblep_state : public driver_data_t
+class tumblep_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, tumblep_state(machine)); }
-
- tumblep_state(running_machine &machine)
- : driver_data_t(machine) { }
+ tumblep_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * pf1_rowscroll;
diff --git a/src/mame/includes/tunhunt.h b/src/mame/includes/tunhunt.h
index e50f16b27ea..cc87e4d58ec 100644
--- a/src/mame/includes/tunhunt.h
+++ b/src/mame/includes/tunhunt.h
@@ -1,10 +1,8 @@
-class tunhunt_state : public driver_data_t
+class tunhunt_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, tunhunt_state(machine)); }
-
- tunhunt_state(running_machine &machine)
- : driver_data_t(machine) { }
+ tunhunt_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT8 control;
UINT8 *workram;
diff --git a/src/mame/includes/turbo.h b/src/mame/includes/turbo.h
index 2f14b45bc51..7348f33ac61 100644
--- a/src/mame/includes/turbo.h
+++ b/src/mame/includes/turbo.h
@@ -22,13 +22,11 @@ struct i8279_state
};
-class turbo_state : public driver_data_t
+class turbo_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, turbo_state(machine)); }
-
- turbo_state(running_machine &machine)
- : driver_data_t(machine) { }
+ turbo_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/ultraman.h b/src/mame/includes/ultraman.h
index 8920115453e..c330fe0ee19 100644
--- a/src/mame/includes/ultraman.h
+++ b/src/mame/includes/ultraman.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class ultraman_state : public driver_data_t
+class ultraman_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ultraman_state(machine)); }
-
- ultraman_state(running_machine &machine)
- : driver_data_t(machine) { }
+ ultraman_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
// UINT16 * paletteram; // currently this uses generic palette handling
diff --git a/src/mame/includes/vaportra.h b/src/mame/includes/vaportra.h
index 599f4f5b58a..3517725b2c4 100644
--- a/src/mame/includes/vaportra.h
+++ b/src/mame/includes/vaportra.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class vaportra_state : public driver_data_t
+class vaportra_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, vaportra_state(machine)); }
-
- vaportra_state(running_machine &machine)
- : driver_data_t(machine) { }
+ vaportra_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * pf1_rowscroll;
diff --git a/src/mame/includes/vastar.h b/src/mame/includes/vastar.h
index 5f942cef97f..d6273e2e22e 100644
--- a/src/mame/includes/vastar.h
+++ b/src/mame/includes/vastar.h
@@ -1,10 +1,8 @@
-class vastar_state : public driver_data_t
+class vastar_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, vastar_state(machine)); }
-
- vastar_state(running_machine &machine)
- : driver_data_t(machine) { }
+ vastar_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT8 *spriteram1;
UINT8 *spriteram2;
diff --git a/src/mame/includes/vendetta.h b/src/mame/includes/vendetta.h
index 436ce1bb7cf..98da65b1a00 100644
--- a/src/mame/includes/vendetta.h
+++ b/src/mame/includes/vendetta.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class vendetta_state : public driver_data_t
+class vendetta_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, vendetta_state(machine)); }
-
- vendetta_state(running_machine &machine)
- : driver_data_t(machine) { }
+ vendetta_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * ram;
diff --git a/src/mame/includes/vindictr.h b/src/mame/includes/vindictr.h
index 1588edd01cf..936446665b5 100644
--- a/src/mame/includes/vindictr.h
+++ b/src/mame/includes/vindictr.h
@@ -9,10 +9,8 @@
class vindictr_state : public atarigen_state
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, vindictr_state(machine)); }
-
- vindictr_state(running_machine &machine)
- : atarigen_state(machine) { }
+ vindictr_state(running_machine &machine, const driver_device_config_base &config)
+ : atarigen_state(machine, config) { }
UINT8 playfield_tile_bank;
UINT16 playfield_xscroll;
diff --git a/src/mame/includes/volfied.h b/src/mame/includes/volfied.h
index 1aba266d86e..86b3d061f1a 100644
--- a/src/mame/includes/volfied.h
+++ b/src/mame/includes/volfied.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class volfied_state : public driver_data_t
+class volfied_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, volfied_state(machine)); }
-
- volfied_state(running_machine &machine)
- : driver_data_t(machine) { }
+ volfied_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * video_ram;
diff --git a/src/mame/includes/warriorb.h b/src/mame/includes/warriorb.h
index 7cb49633b73..e794d11b202 100644
--- a/src/mame/includes/warriorb.h
+++ b/src/mame/includes/warriorb.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class warriorb_state : public driver_data_t
+class warriorb_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, warriorb_state(machine)); }
-
- warriorb_state(running_machine &machine)
- : driver_data_t(machine) { }
+ warriorb_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * spriteram;
diff --git a/src/mame/includes/welltris.h b/src/mame/includes/welltris.h
index 46636478c2c..f80f1cc6bf7 100644
--- a/src/mame/includes/welltris.h
+++ b/src/mame/includes/welltris.h
@@ -1,10 +1,8 @@
-class welltris_state : public driver_data_t
+class welltris_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, welltris_state(machine)); }
-
- welltris_state(running_machine &machine)
- : driver_data_t(machine) { }
+ welltris_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
int pending_command;
diff --git a/src/mame/includes/wgp.h b/src/mame/includes/wgp.h
index eb41696b3dd..7c048f8f178 100644
--- a/src/mame/includes/wgp.h
+++ b/src/mame/includes/wgp.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class wgp_state : public driver_data_t
+class wgp_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, wgp_state(machine)); }
-
- wgp_state(running_machine &machine)
- : driver_data_t(machine) { }
+ wgp_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * spritemap;
diff --git a/src/mame/includes/wwfsstar.h b/src/mame/includes/wwfsstar.h
index b06dfe672c2..d95588173b1 100644
--- a/src/mame/includes/wwfsstar.h
+++ b/src/mame/includes/wwfsstar.h
@@ -1,10 +1,8 @@
-class wwfsstar_state : public driver_data_t
+class wwfsstar_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, wwfsstar_state(machine)); }
-
- wwfsstar_state(running_machine &machine)
- : driver_data_t(machine) { }
+ wwfsstar_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
int vblank;
int scrollx;
diff --git a/src/mame/includes/xexex.h b/src/mame/includes/xexex.h
index 238e5d4249c..8faf340483b 100644
--- a/src/mame/includes/xexex.h
+++ b/src/mame/includes/xexex.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class xexex_state : public driver_data_t
+class xexex_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, xexex_state(machine)); }
-
- xexex_state(running_machine &machine)
- : driver_data_t(machine) { }
+ xexex_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * workram;
diff --git a/src/mame/includes/xmen.h b/src/mame/includes/xmen.h
index 2cdaa5c0f45..a9b8849e75a 100644
--- a/src/mame/includes/xmen.h
+++ b/src/mame/includes/xmen.h
@@ -1,11 +1,9 @@
-class xmen_state : public driver_data_t
+class xmen_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, xmen_state(machine)); }
-
- xmen_state(running_machine &machine)
- : driver_data_t(machine) { }
+ xmen_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
// UINT16 * paletteram; // currently this uses generic palette handling
diff --git a/src/mame/includes/xybots.h b/src/mame/includes/xybots.h
index c8e0c3d975c..d7b4ab0e822 100644
--- a/src/mame/includes/xybots.h
+++ b/src/mame/includes/xybots.h
@@ -9,10 +9,8 @@
class xybots_state : public atarigen_state
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, xybots_state(machine)); }
-
- xybots_state(running_machine &machine)
- : atarigen_state(machine) { }
+ xybots_state(running_machine &machine, const driver_device_config_base &config)
+ : atarigen_state(machine, config) { }
UINT16 h256;
};
diff --git a/src/mame/includes/xyonix.h b/src/mame/includes/xyonix.h
index 3431e2671aa..7379a32731a 100644
--- a/src/mame/includes/xyonix.h
+++ b/src/mame/includes/xyonix.h
@@ -1,10 +1,8 @@
-class xyonix_state : public driver_data_t
+class xyonix_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, xyonix_state(machine)); }
-
- xyonix_state(running_machine &machine)
- : driver_data_t(machine) { }
+ xyonix_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT8 *vidram;
tilemap_t *tilemap;
diff --git a/src/mame/includes/yunsun16.h b/src/mame/includes/yunsun16.h
index 92c6c305d32..b0fdadcc19e 100644
--- a/src/mame/includes/yunsun16.h
+++ b/src/mame/includes/yunsun16.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class yunsun16_state : public driver_data_t
+class yunsun16_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, yunsun16_state(machine)); }
-
- yunsun16_state(running_machine &machine)
- : driver_data_t(machine) { }
+ yunsun16_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * vram_0;
diff --git a/src/mame/includes/yunsung8.h b/src/mame/includes/yunsung8.h
index 43352ae49b9..7d74bcae67a 100644
--- a/src/mame/includes/yunsung8.h
+++ b/src/mame/includes/yunsung8.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class yunsung8_state : public driver_data_t
+class yunsung8_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, yunsung8_state(machine)); }
-
- yunsung8_state(running_machine &machine)
- : driver_data_t(machine) { }
+ yunsung8_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * videoram;
diff --git a/src/mame/includes/zaxxon.h b/src/mame/includes/zaxxon.h
index ccb9c83c11c..9aec20de189 100644
--- a/src/mame/includes/zaxxon.h
+++ b/src/mame/includes/zaxxon.h
@@ -4,13 +4,11 @@
***************************************************************************/
-class zaxxon_state : public driver_data_t
+class zaxxon_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, zaxxon_state(machine)); }
-
- zaxxon_state(running_machine &machine)
- : driver_data_t(machine) { }
+ zaxxon_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT8 *colorram;
UINT8 *videoram;
diff --git a/src/mame/includes/zerozone.h b/src/mame/includes/zerozone.h
index 78c9fab6510..80635816f72 100644
--- a/src/mame/includes/zerozone.h
+++ b/src/mame/includes/zerozone.h
@@ -4,13 +4,11 @@
*************************************************************************/
-class zerozone_state : public driver_data_t
+class zerozone_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, zerozone_state(machine)); }
-
- zerozone_state(running_machine &machine)
- : driver_data_t(machine) { }
+ zerozone_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT16 * videoram;
diff --git a/src/mame/machine/atarigen.h b/src/mame/machine/atarigen.h
index 3ed1d3994ac..8cec5ee571c 100644
--- a/src/mame/machine/atarigen.h
+++ b/src/mame/machine/atarigen.h
@@ -60,11 +60,11 @@ struct _atarigen_screen_timer
};
-class atarigen_state : public driver_data_t
+class atarigen_state : public driver_device
{
public:
- atarigen_state(running_machine &machine)
- : driver_data_t(machine) { }
+ atarigen_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
UINT8 scanline_int_state;
UINT8 sound_int_state;
diff --git a/src/mame/machine/decocass.h b/src/mame/machine/decocass.h
index d462ae7cb09..9a48fc6f9f6 100644
--- a/src/mame/machine/decocass.h
+++ b/src/mame/machine/decocass.h
@@ -16,13 +16,11 @@ DECLARE_LEGACY_DEVICE(DECOCASS_TAPE, decocass_tape);
-class decocass_state : public driver_data_t
+class decocass_state : public driver_device
{
public:
- static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, decocass_state(machine)); }
-
- decocass_state(running_machine &machine)
- : driver_data_t(machine) { }
+ decocass_state(running_machine &machine, const driver_device_config_base &config)
+ : driver_device(machine, config) { }
/* memory pointers */
UINT8 * rambase;